Index: vhMAIL.mac.rou =================================================================== diff -u -r734 -r1610 --- vhMAIL.mac.rou (.../vhMAIL.mac.rou) (revision 734) +++ vhMAIL.mac.rou (.../vhMAIL.mac.rou) (revision 1610) @@ -11,9 +11,9 @@ For Quit:Input="-"!(Input=".") Do .Set MailId=$G(^HULP(%J,MAIL("SELECT"))) .Do REFRESH - .Set R=$$AUTOREAD() + .Set R=$S(MailTyp="U":"",1:$$AUTOREAD()) .If $L(R) - .Else Set R=$$SCROLL^vhLIST(.MAIL,"",60),MailId=$G(^HULP(%J,MAIL("SELECT"))) + .Else Set R=$$SCROLL^vhLIST(.MAIL,"",60),MailId=$P($G(^HULP(%J,MAIL("SELECT"))),D) .If R="",$D(^vhMAIL("IN",CUserId)) Do WAKEUSER^vhMAIL3(CUserId,1) If $$UNSLEEP^vhMAIL3(CUserId,"",1) Set R="O" .Set Input=R .Do CHKMENU(MailId,MailTyp) @@ -22,8 +22,19 @@ .If Input="S" Do SCREEN .Do EXEC^vhMenu("MAIL",.Input) .If $P(Input,";")="A" Quit:Input="A" Set ArchTyp=$P(Input,";",2),Input="A" - .If "AOV"[Input,$L(Input) Do MAILTYP(CUserId,Input) + .If "AOUV"[Input,$L(Input) Do MAILTYP(CUserId,Input) .If "\SG\SB\SO\SD\SZ\"[(D_Input_D) Do SORTED(Input) + .If MailTyp="U" Do + ..Do:"\ENTER\"[(D_Input_D) + ...New Uitgesteld,UUserId + ...Set Uitgesteld="",UUserId=$O(^vhMAIL("D",MailId,"N","")) + ...Set:UUserId Uitgesteld=$P(^vhMAIL("D",MailId,"N",UUserId),D,5) + ...Do GETCIRCMAIL^vhMAIL5(MailId) + ...Set $P(^vhMAIL("D",MailId,"N",CUserId),D,5)=Uitgesteld + ...Do BLDIND^vhMAIL5(MailId) + ...Do LREAD^vhMAIL5(MailId,Input) + ...Do CLEAN,FMAIL(CUserId,MailTyp),ADD^vhScherm(1,24) + .Quit:MailTyp="U" .If Input="LN" Do LNIEUW^vhMAIL5 .If Input="LK" Do LKOPIE^vhMAIL5(MailId) .If MailTyp="A" Do @@ -181,21 +192,23 @@ DISPTYP() New R Set R="Mail\" - Set R=R_$S(MailTyp="V":"Verzonden",MailTyp="O":"Ontvangen",MailTyp="A":"Archief"_$S($G(ArchTyp)="":"",1:" - "_ArchTyp),1:"") + Set R=R_$S(MailTyp="V":"Verzonden",MailTyp="U":"Uitgesteld boekhouding",MailTyp="O":"Ontvangen",MailTyp="A":"Archief"_$S($G(ArchTyp)="":"",1:" - "_ArchTyp),1:"") Set R=R_$S("G"[$G(SortTyp):"",1:" ("_$S(SortTyp="B":"Betreft",SortTyp="O":"Onderwerp",SortTyp="Z":"Zender",1:"Datum")_")") Quit R ; ; Initialisatie MAIL MAILLIST(MailTyp) If MailTyp="A" Do INIT^vhLIST("MAIL","FLD",.MAIL) If MailTyp="O" Do INIT^vhLIST("MAIL","RCV",.MAIL) + If MailTyp="U" Do INIT^vhLIST("MAIL","DLY",.MAIL) If MailTyp="V" Do INIT^vhLIST("MAIL","SND",.MAIL) Quit ; ; Ophalen ontvangen-, Verzonden- of filed mail FMAIL(CUserId,MailTyp,Sort) New I,R,MailId,Count,Dir,FArchTyp,LArchTyp,IndexTyp Set Sort=$G(Sort) + If MailTyp="U" Do FUMAIL(CUserId,MailTyp,Sort) Quit If '$L(Sort) Do .Set IndexTyp=$S(MailTyp="V":"Z",MailTyp="O":"N",MailTyp="A":"F",1:"") .Set Sort=$G(@("^vhMAIL(""I"_IndexTyp_""",CUserId)")) @@ -237,15 +250,43 @@ Do:"G"'[Sort SORT(Sort) Do ADD^vhScherm(5,24) Quit ; + ; Ophalen uitgestelde mail voor de boekhouding +FUMAIL(CUserId,MailTyp,Sort) + New I,R,MailId,Count,FArchTyp,LArchTyp,IndexTyp,UserIds + Set Sort=$G(Sort) + Quit:'$$IsGroep^vhUSER(CUserId,"BOEKH;3") + Do CLEAN + Set Count=0 + Set UserIds=$$USERID^vhUSER("BOEKH;3") + For Set CUserId=$P(UserIds,";") Quit:'CUserId Do + .Set UserIds=$P(UserIds,";",2,99) + .If '$L(Sort) Do + ..Set Sort=$G(^vhMAIL("IN",CUserId)) + ..Set:$L(Sort) Sort=$G(@("^vhMAIL(""IR"",CUserId)")) + .Set SortTyp=Sort + .Set IndexTyp="N" + .Set:'$D(^vhMAIL("IN",CUserId)) IndexTyp="" + .If $L(Sort),$L(IndexTyp) For I=1:1:$L(IndexTyp) Set @("^vhMAIL(""I"_$E(IndexTyp,I)_""",CUserId)")=$S(Sort="G":"",1:Sort) + .Set MailTyp="N" + .Set MailId="" + .For Set MailId=$O(^vhMAIL("IN",CUserId,MailId)) Quit:MailId="" Do + ..If MailTyp="N",'$D(^vhMAIL("D",MailId,"N",CUserId)) Quit + ..If MailTyp="N",$P(^vhMAIL("D",MailId,"N",CUserId),D,3)="S" Quit + ..Quit:'$P(^vhMAIL("D",MailId,"N",CUserId),D,5) + ..Quit:$$MANUL^vhMAIL3(MailId,CUserId) + ..Set Count=Count+1,^HULP(%J,Count)=MailId_D_CUserId + Do:"G"'[Sort SORT(Sort) Do ADD^vhScherm(5,24) + Quit + ; SORT(Sort) - New R,Count,MailId,SortId,Next,Label + New R,Count,MailId,SortId,Next,Label,UserId Kill ^HULP(%J,"S") Set Next=1 For Count=1:1 Do Quit:MailId="" - .Set MailId=$G(^HULP(%J,Count)) + .Set R=$G(^HULP(%J,Count)),MailId=$P(R,D),UserId=$P(R,D,2) .Kill ^HULP(%J,Count) .If 'MailId Do Quit - ..If $P(MailId,D)="S" Set Label=$P(MailId,D,2) + ..If $P(MailId,D)="S" Set Label=UserId ..Set Next=Next+1 .If Sort'="B" Do ..Set R=^vhMAIL("D",MailId) @@ -254,15 +295,16 @@ .Else Set SortId=$$FBETREFT^vhMAIL4("","",MailId,1) .Set SortId=$$UPTRIMAN^vhRtn1(SortId) Set:Sort="D" SortId=-SortId .If $D(Label) Set ^HULP(%J,"S",Next,-9999999999)=Label - .Set:SortId="" SortId=" " Set ^HULP(%J,"S",Next,SortId,MailId)="" + .Set:SortId="" SortId=" " Set ^HULP(%J,"S",Next,SortId,MailId)=UserId Set (Count,Next)=0 For Set Next=$O(^HULP(%J,"S",Next)) Quit:Next="" Do .Set SortId="" .For Set SortId=$O(^HULP(%J,"S",Next,SortId)) Quit:SortId="" Do ..If SortId=-9999999999 Set Label=^HULP(%J,"S",Next,SortId),Count=Count+1,^HULP(%J,Count)="S\"_Label ..Set MailId="" ..For Set MailId=$O(^HULP(%J,"S",Next,SortId,MailId)) Quit:MailId="" Do - ...Set Count=Count+1,^HULP(%J,Count)=MailId + ...Set UserId=^HULP(%J,"S",Next,SortId,MailId) + ...Set Count=Count+1,^HULP(%J,Count)=MailId_D_UserId Kill ^HULP(%J,"S") Quit ; @@ -549,6 +591,7 @@ ; CHKMENU(MailId,MailTyp) New R,MenuItem,UserId,Type,ArchTyp,Urgentie + Set MailId=$P(MailId,D),MailTyp=$S(MailTyp="U":"O",1:MailTyp) Set MenuItem="" Set:MailId MenuItem="P" If '$G(Proxy),$L($P($G(^vhUSER("D",CUserId,"M")),D,10)) Set MenuItem=MenuItem_";X" Do SET^vhMenu("MAILFILE",MenuItem)