vhMAIL4 ;Mail [ 11/22/2003 4:06 PM ] ; KEY(Input,Titel) Set Titel=$G(Titel) If Input="PRINT" Do PRINT^vhMAIL(MailId,$S($D(LineTyp):"V",1:MailTyp),Titel) Quit "" ; ; Verwerken van een verzonden mail LSEND(MailId) New R,Onderw,RUserId,Buttons,Send,Type,Count Quit:'MailId Set R=^vhMAIL("D",MailId),Type=$P(R,D),Onderw=$$ONDERW(MailId) Set RUserId=$$RUSERID^vhMAIL(MailId,CUserId) Set Buttons="Buttons",Count=0 If Type'="V" Set Count=Count+1,Buttons(Count)="Wijzigen&W" Set Count=Count+1,Buttons(Count)="Raadplegen&R" Set Count=Count+1,Buttons(Count)="Geadresseerden&G" Set Count=Count+1,Buttons(Count)="Annuleer&A*" Set Send(1)="Onderwerp : "_Onderw If $L(RUserId) Set Send(2)="",Send(3)="Deze mail werd reeds gelezen door : "_$$TUSER^vhMAIL(RUserId) Set Send=$$WILD^vhTXTPOP("5","","Send",Buttons,4) If Send="W" Do LWIJZIG^vhMAIL5(MailId) If Send="R" Set R=$$POPREAD(MailId) If Send="G" Do LVIEW(MailId) Quit ; ; Tonen van een mail POPREAD(MailId,Buttons,Titel,CheckLink) New I,R,X,Mail,Type,Urgentie,Onderw,Kreatie,FUserId,ReplyId,Link,Key,Count,LD,Filed,Read,CircMail New BetrTyp,Betreft,TUserId,Later,FromUci,ToUci,DeadLine Set CheckLink=$G(CheckLink,1) If '$D(MailTyp) New MailTyp Set MailTyp="" Set (FromUci,ToUci)=$ZU(5) Set Buttons=$G(Buttons) Set:Buttons="" Buttons="O*" Set:$E(Buttons)'=";" Buttons=";"_Buttons Set:$E(Buttons,$L(Buttons))'=";" Buttons=Buttons_";" Set Titel=$G(Titel) Do INIT^vhLIST("MAIL","READ",.LD) Set R=^vhMAIL("D",MailId),Type=$P(R,D),Urgentie=$P(R,D,2),Kreatie=$P(R,D,5),FUserId=$P(R,D,6),ToUci=$P(R,D,10),CircMail=Urgentie["C" Set Onderw=$$ONDERW(MailId) Set BetrTyp=$P(R,D,7),Betreft=$P(R,D,8),(TUserId,Later)="" If MailTyp="V" For Set TUserId=$O(^vhMAIL("D",MailId,"N",TUserId)) Quit:TUserId="" Do .Set R=^vhMAIL("D",MailId,"N",TUserId) .Set:$P(R,D,3)="S" Later=$P(R,D,5) Set Count=0 Set Count=Count+1,LD("HO",Count)="T`I`Van : "_$S(FUserId["@":FUserId,1:$P(^vhUSER("D",FUserId),D,2)) Set X=LD("POS"),X=$J("Datum : ",$P(X,";",4)-$P(X,";",2)-$L(LD("HO",Count))-10)_$$FMTDT^vhLib.DataTypes(Kreatie) Set LD("HO",Count)=LD("HO",Count)_X Set Count=Count+1,LD("HO",Count)="T`I`" If MailTyp'="A" Set LD("HO",Count)=LD("HO",Count)_"Aan : "_$$SENDTO^vhMAIL(MailId,1,34) Set R=$G(^vhMAIL("D",MailId,"N",CUserId)),(Read,Filed)=$P(R,D),ReplyId=$P(R,D,2) Set:MailTyp'="V" Later=$P(R,D,5) If MailTyp="O",Later,'$$MANUL^vhMAIL3(MailId,CUserId) Do .Set LD("HO",Count)=LD("HO",Count)_$J("Uitgesteld : ",61-$L($P(LD("HO",Count),"`",3))) .Set LD("HO",Count)=LD("HO",Count)_$$FMTDT^vhLib.DataTypes(Later) If Urgentie="F" Do .Set X=LD("POS") .Set X=$J("Archief : ",$P(X,";",4)-$P(X,";",2)-$L(LD("HO",Count))-10)_$$FMTDT^vhLib.DataTypes(Filed) .Set LD("HO",Count)=LD("HO",Count)_X If ReplyId,Urgentie'="F" Do .Set R=$G(^vhMAIL("D",ReplyId)) Quit:R="" .Set Kreatie=$P(R,D,5) .Set X=LD("POS") .Set X=$J("Beantwoord : ",$P(X,";",4)-$P(X,";",2)-$L(LD("HO",Count))-10)_$$FMTDT^vhLib.DataTypes(Kreatie) .Set LD("HO",Count)=LD("HO",Count)_X If MailTyp="V",$L(Later) Do .Set X=LD("POS") .Set X=$J("Aktief : ",$P(X,";",4)-$P(X,";",2)-$L(LD("HO",Count))-10)_$$FMTDT^vhLib.DataTypes(Later) .Set LD("HO",Count)=LD("HO",Count)_X Set Count=Count+1,LD("HO",Count)="T`I`Betreft : ªB"_$$FBETREFT("","",MailId)_"ªb" If ReplyId,Urgentie="F" Do .Set R=$G(^vhMAIL("D",ReplyId)) Quit:R="" .Set Kreatie=$P(R,D,5) .Set X=LD("POS") .Set X=$J("Afgewerkt : ",$P(X,";",4)-$P(X,";",2)-$L(LD("HO",Count))-6)_$$FMTDT^vhLib.DataTypes(Kreatie) .Set LD("HO",Count)=LD("HO",Count)_X Set Count=Count+1,LD("HO",Count)="T`I`Onderwerp : ªB"_Onderw_"ªb" Set R=^vhMAIL("D",MailId),ReplyId=$P(R,D,9) If ReplyId,$E(Onderw,1,8)'="Antwoord" Do .Set R=$G(^vhMAIL("D",ReplyId)) Quit:R="" .Set Count=Count+1,LD("HO",Count)="T`I`"_$J("Antwoord ",21)_$P(R,D,4) Set Count=Count+1,LD("HO",Count)="T`I`&S" Set R=LD("POS"),$P(R,";")=$P(R,";")+Count+1,LD("POS")=R,$P(LD("SET"),"`")=R If Type="V" Do .If $ZV["MSM",FromUci'=ToUci Do IN^cQMSMSW(ToUci) .Do DISPMAIL^VERSLAG(76,MailId,.Mail) .If $ZV["MSM",FromUci'=ToUci Do IN^cQMSMSW(FromUci) Else Do WRAP("^vhMAIL(""D"",MailId,""T"")",76,.Mail,"G","~") If Buttons'[";-P;",Buttons'[";P-;" Set Buttons=Buttons_"P;" For I=1:1 Quit:'$D(LD("B",I)) Do .Set R=LD("B",I) .If Buttons[(";"_$P(R,"`",6)_"*;") Set $P(LD("B"),"`",5)=I Quit .Quit:Buttons[(";"_$P(R,"`",6)_";") .Set $P(R,"`",3)="HD",LD("B",I)=R If $O(^vhMAIL("D",MailId,"R","")),Buttons'[";-L;",Buttons'[";L-;" Do .If FUserId,ToUci'=$ZU(5) Quit .For I=1:1 Quit:'$D(LD("B",I)) Do ..Set R=LD("B",I) ..Quit:$P(R,"`",6)'="L" ..Set $P(R,"`",3)="",LD("B",I)=R ..If Buttons'[";A;",Buttons'[";A*;" Set $P(LD("B"),"`",5)=I If $L(Titel) Set LD("TI",1)="T``&C"_Titel Else Do .Set Titel=$$TYPE(Type,1,1) .If Type="T" Do ..Set DeadLine=$P($G(^vhMAIL("D",MailId,"P")),D),R=$$EXTDATE^vhLib.DataTypes(DeadLine) ..If $L(R) Set Titel="ªBªK"_Titel_" voor "_R_"ªbªk" .Set:$L(Titel) LD("TI",1)="T``&L"_Titel Do WRITE^vhLIST(.LD) For Set Key=$$SCROLL^vhLIST(.LD,"F`KEY^vhMAIL4") Quit:"\P\O\L\S\"'[(D_Key_D) Do Quit:Key="O" Quit:Key="S" .If Key="O" Set:CheckLink Key=$$CHKLINK^vhMAILLNK(MailId) Quit .If Key="P" Set Key=$$KEY("PRINT",Titel) Quit .If Key="L",CircMail Do GETCIRCMAIL^vhMAIL5(MailId) .If Key="S",CircMail Do GETCIRCMAIL^vhMAIL5(MailId) Quit .Set Link=$G(Link),Link=$$LINK^vhMAILLNK(MailId,Link) .If Link'[0 Do ..Set $P(LD("B"),"`",5)=1 ..For I=1:1 Quit:'$D(LD("B",I)) Do ;Quit:$P(LD("B"),"`",5)'=1 ...Set R=LD("B",I) ...If $P(R,"`",6)'="A",Buttons[(";"_$P(R,"`",6)_"*;") Set $P(LD("B"),"`",5)=I Quit ...Quit:$P(R,"`",6)'="L" ...Set $P(R,"`",3)="HD",LD("B",I)=R ..If $P(LD("B"),"`",5)=1,$L($P(LD("B",1),"`",3)) Do ...For I=1:1 Quit:'$D(LD("B",I)) Do Quit:$P(LD("B"),"`",5)'=1 ....Set R=LD("B",I) ....If '$L($P(R,"`",3)),Buttons[(";"_$P(R,"`",6)_"*;") Set $P(LD("B"),"`",5)=I Quit ...If $P(LD("B"),"`",5)=1 Do ....For I=1:1 Quit:'$D(LD("B",I)) Do Quit:$P(LD("B"),"`",5)'=1 .....Set R=LD("B",I) .....If '$L($P(R,"`",3)),Buttons[(";"_$P(R,"`",6)_";") Set $P(LD("B"),"`",5)=I ..Do WRITE^vhLIST(.LD) Do:$D(MAIL) .Do:'$D(^vhMAIL("D",MailId)) CLEAN^vhMAIL,MAILLIST^vhMAIL(MailTyp),FMAIL^vhMAIL(CUserId,MailTyp) .Do DISPLAY^vhScherm("MAIL","","","H") .Do WRITE^vhLIST(.MAIL) .Do RESET^vhScherm Quit Key ; ; Overzicht geadresseerden van een verzonden mail LVIEW(MailId) New I,R,Type,Mail,Onderw,Respons,Kreatie,TUserId,ReplyId,LAktie,UserId,LD,BetrTyp,Betreft,Later,DeadLine Quit:'MailId Set R=^vhMAIL("D",MailId),Type=$P(R,D),Respons=$P(R,D,3),Kreatie=$P(R,D,5),BetrTyp=$P(R,D,7),Betreft=$P(R,D,8) Set Onderw=$$ONDERW(MailId) Set TUserId=$$TUSERID^vhMAIL(MailId) Set:$L(TUserId) TUserId=TUserId_";" Set TUserId=TUserId_$$TUSERID^vhMAIL(MailId,,,2),Later="" For I=1:1 Quit:$P(TUserId,";",I)="" Do .Set UserId=$P(TUserId,";",I),R=^vhMAIL("D",MailId,"N",UserId),ReplyId=$P(R,D,2),LAktie=$P(R,D,3) .Set Mail(I)=UserId_D_$S(ReplyId:ReplyId,1:LAktie) .Set:$P(R,D,3)="S" Later=$P(R,D,5) Set:Type="T" DeadLine=$P($G(^vhMAIL("D",MailId,"P")),D) Do INIT^vhLIST("MAIL","CHKSND",.LD) Set R="Betreft : ªB"_$$FBETREFT("","",MailId)_"ªb" Set R=R_$J("Datum : ",65-$L(R)) Set R=R_$$FMTDT^vhLib.DataTypes(Kreatie) Set LD("HO",1)="T`I`"_R Set R="Onderwerp : ªB"_Onderw_"ªb" If $L(Later) Do .Set R=R_$J("Aktief : ",65-$L(R)) .Set R=R_$$FMTDT^vhLib.DataTypes(Later) Set LD("HO",2)="T`I`"_R Set R=$$RESPONS(Respons,1,1) Set:Respons'="G" R="ªB"_R_"ªb" Set:Respons="V" R="ªK"_R_"ªk" Set LD("HO",3)="T`I`Antwoord : "_R Set LD("HO",4)="T`I`&S" Set LD("HO",5)="X``W @FMTi,""Gebruiker | Gelezen | Beantwoord "",@FMTI" Set LD("NL",1)="T`BK`Geen gebruikers" Do STORE^vhTERMINA(),WRITE^vhLIST(.LD) Set R=$$SCROLL^vhLIST(.LD) Do REFRESH^vhTERMINA() Quit ; ; rubriek xecute XRUBRIEK If $G(EditMode),X="." Set Annuleer=1 Kill PopRead If X="S" Do Quit .Quit:Urgentie="F" .Set Later=$$LATER^vhMAIL5($G(MailId)) If X="-",Type="T",LineTyp="N" Do .Set X=$$^vhTXTPOP("MAIL","OPDRACHT") .Quit:X="A" .Set:X="J" ArchTyp="Opdrachten" Set X="-" If X="-" Do Quit:X="" .If TUserId="",TUserId("EM")="" Do FIELDI^vhScherm($$FLDLIST^vhScherm("NAAR")) If 'TUserId,TUserId'="F" Set X="" If X="-",Urgentie="F" Do Quit .Quit:'%SC .Set ArchTyp="" .If $G(MailId) Do ..For Set ArchTyp=$O(^vhMAIL("IF",CUserId,ArchTyp)) Quit:ArchTyp="" Quit:$D(^vhMAIL("IF",CUserId,ArchTyp,MailId)) .Else Set ArchTyp=$$ARCHTYP(CUserId) .Set:ArchTyp="" X="" If X="P" Do .Set PopRead=1,X="-" Quit ; ; archiefgroep ARCHTYP(UserId,ReArch) New R,ArchTyp,Count,Display Set ReArch=$G(ReArch),ArchTyp="",Count=0,Display=11,R="",FP=2201 Write @F,@F1 For Set ArchTyp=$O(^vhMAIL("IF",UserId,ArchTyp)) Quit:ArchTyp="" Do .Set Count=Count+1,ArchTyp(Count)=ArchTyp_"`"_ArchTyp .Set:$L(ArchTyp)>Display Display=$L(ArchTyp) If $O(ArchTyp(""))'="" Do .Set Count=Count+1,ArchTyp(Count)="&S",Count=Count+1,ArchTyp(Count)="?`Andere ..." .Set Count=Count+1,ArchTyp(Count)="&S",Count=Count+1,ArchTyp(Count)="`Annuleer" Set ArchTyp="?",Display="10;"_(40-(Display\2)) For Quit:ArchTyp'="?" Do .If $O(ArchTyp(""))'="" Set ArchTyp=$$WILD^vhPOPUP(Display,"O1-",$S(ReArch:"Hera",1:"A")_"rchiveer in",.ArchTyp) .If ArchTyp="?" Do ..Set ArchTyp=$$ASKL^vhINP("MAIL","ARCHTYP") Set:ArchTyp="" ArchTyp="Diverse" Set:".,()"[ArchTyp ArchTyp="" ..If ArchTyp="-" Set ArchTyp=$S($O(ArchTyp(""))'="":"?",1:"") ..If $O(ArchTyp(""))'="",ArchTyp="-" Set ArchTyp="?" ..Set FP=2201 ..Write @F,@F1 Quit ArchTyp ; ; rubriek betreft BETREFT() New R,X Set FP=2201,R=$G(BetrTyp)_";"_$G(Betreft) Write @F,@F1 Set R=$$SELECT^KONTAKT("KLD","VZ",R) If R'="-" Do .Set BetrTyp=$S($P(R,";")="L":"LE",$P(R,";")="K":"KL",1:""),R=$P(R,";",2) .Set:R'=Betreft %SC=1 Set FP=2101 Write @F,@F1 Quit R ; ; rubriek betreft (Fetch (@)) FBETREFT(BetrTyp,Betreft,MailId,NoPref) New R,FromUci,ToUci,Type,VerslId Set (FromUci,ToUci)=$ZU(5),BetrTyp=$G(BetrTyp),Betreft=$G(Betreft),MailId=$G(MailId),NoPref=$G(NoPref) If MailId Do Quit:Type="V" R .Set R=^vhMAIL("D",MailId),Type=$P(R,D),BetrTyp=$P(R,D,7),Betreft=$P(R,D,8),ToUci=$P(R,D,10) .If $ZV["MSM",FromUci'=ToUci Do IN^cQMSMSW(ToUci) .If Type="V" Do ..Set VerslId=^vhMAIL("D",MailId,"P"),R=$$FBETREFT^VERSLAG("","",VerslId,NoPref) ..If $ZV["MSM",FromUci'=ToUci Do IN^cQMSMSW(FromUci) Set R=Betreft If $L(Betreft) Do .If BetrTyp="LE" Do ..New LEVNr ..Set LEVNr=Betreft,R=$S(NoPref:"",1:"Leverancier ") ..If $D(^KL1(LEVNr)) Set R=R_$P(^KLE(^KL1(LEVNr),0),D,2) ..Else Set R=R_LEVNr_" (is verwijderd)" .If BetrTyp="KL" Do ..New KLNr ..Set KLNr=Betreft,R=$S(NoPref:"",1:"Klant ") ..If $D(^KK1(KLNr)) Set R=R_$P(^KKL(^KK1(KLNr),0),D,2) ..Else Set R=R_KLNr_" (is verwijderd)" .If BetrTyp="PR" Do ..New PRNr ..Set PRNr=Betreft,R=$S(NoPref:"",1:"Produkt ") ..If $D(^KPR(PRNr)) Set R=R_$P(^KPR(PRNr,0),D)_" ("_PRNr_")" ..Else Set R=R_PRNr_" (is verwijderd)" .If BetrTyp="ORD" Do ..New ORDNr,KLNr ..Set ORDNr=Betreft,R="Order "_ORDNr ..If '$D(^KO1(ORDNr,"F")) Set R=R_" (is verwijderd)" Quit ..Set KLNr=$P(^KO1(ORDNr,"F"),D) ..Set R=R_" van "_$P(^KKL(^KK1(KLNr),0),D,2) ..If '$D(^KOD(KLNr,"F",ORDNr)) Set R=R_" (op bon)" ..Quit If $ZV["MSM",FromUci'=ToUci Do IN^cQMSMSW(FromUci) Quit R ; ; Type TYPE(X,Vertaald,NoPop) New I,R,Count,MailTyp Set Vertaald=$G(Vertaald),NoPop=$G(NoPop) Set:X="" X="I" Do COUNT(.MailTyp,"I`Info"),COUNT(.MailTyp,"T`Te doen") ;,COUNT(.MailTyp,"K`Klacht") If NoPop Set R=X Do COUNT(.MailTyp,"V`Verslag"),COUNT(.MailTyp,"E`E-Mail") Else Do .If $G(TUserId)="F" Set R=X .Else Set R=$$WILD^vhPOPUP("C;C","BO1-","Mailtype",.MailTyp,X) .Set:R'=X&$L(R) %SC=1 If Vertaald Do .Set Count=$O(MailTyp(""),-1) .For Count=1:1:Count If $P(MailTyp(Count),"`")=R Set R=$P(MailTyp(Count),"`",2) Quit Quit R ; ; Respons RESPONS(X,Vertaald,NoPop) New R,Count,Respons Set Vertaald=$G(Vertaald),NoPop=$G(NoPop) Set:X="" X="G" Do COUNT(.Respons,"G`Geen") If Type="T" Do .Do COUNT(.Respons,"O`Meldt indien ok") .Quit:'DeadLine .Do COUNT(.Respons,"OE`Meldt indien ok of einddatum verstreken of mail verwijderd") Do COUNT(.Respons,"R`Gewenst") If Type="T" Do .Do COUNT(.Respons,"RO`Gewenst en meldt indien ok") .Quit:'DeadLine .Do COUNT(.Respons,"ROE`Gewenst en meldt indien ok of einddatum verstreken") Do COUNT(.Respons,"V`Verplicht") If Type="T",DeadLine Do COUNT(.Respons,"VE`Verplicht en meldt indien einddatum verstreken") If NoPop Set R=X Else Do .If $G(TUserId)="F" Set R="G" .Else Do ..For R=1:1 Quit:'$D(Respons(R)) Quit:$P(Respons(R),"`")=X ..Set:'$D(Respons(R)) R=1 ..Set R=$$WILD^vhPOPUP($P(sFR,"`",5)-R+2_";"_($P(sFR,"`",6)-1),"BO1-","Antwoord",.Respons,X) .Set:R'=X&$L(R) %SC=1 If Vertaald Do .Set Count=$O(Respons(""),-1) .For Count=1:1:Count If $P(Respons(Count),"`")=R Set R=$P(Respons(Count),"`",2) Quit Quit R ; ; Urgentie URGENTIE(X,Vertaald,NoPop) New R,Count,Urgentie Set Vertaald=$G(Vertaald),NoPop=$G(NoPop) Do COUNT(.Urgentie,"`Neen"),COUNT(.Urgentie,"U`Ja"),COUNT(.Urgentie,"P`Sluimer") If NoPop Set R=X Else Do .If $G(TUserId)="F" Set R="F" .Else Do ..Set:X="F" X="",%SC=1 ..Set R=$$WILD^vhPOPUP($P(sFR,"`",5)-$F("UPF",X)+2_";"_($P(sFR,"`",6)-1),"BO1-","Dringend",.Urgentie,X) .Set:R'=X %SC=1 If Vertaald Do .Set Count=$O(Urgentie(""),-1) .For Count=1:1:Count If $P(Urgentie(Count),"`")=R Set R=$P(Urgentie(Count),"`",2) Quit Quit R ; COUNT(Local,Text) New Count Set Count=$O(Local(""),-1)+1,Local(Count)=Text Quit ; INITEXEC(Scherm) New Fields If Scherm="MAILD" Do .If $L($G(Optie("INITEXEC"))) Do EXEC^vhRES($P(Optie("INITEXEC"),"`"),$P(Optie("INITEXEC"),"`",2),,"()") Quit .If LineTyp="N","\3\17\"[(D_CUserId_D) Do ..Set Fields=$$FLDLIST^vhScherm("?") ..If $D(GetType) Do ATTRIB("P",Fields,"HD","HD") Kill GetType ..Else If Type="",'$D(GetType) Do ...Set GetType=1 ...Do DISPLAY^vhScherm("MAILD") ...Do FIELDI^vhScherm($$FLDLIST^vhScherm("TYPE")) .If LineTyp="R" Do ..Set Fields="BETREFT;EM;ANTWOORD" Set:'$G(ToDo) Fields=Fields_";NAAR" ..Do ATTRIB("P",Fields,"D","D"),ATTRIB("R",Fields,"U","U") .If LineTyp="D" Do ..Set Fields="BETREFT;ONDERWERP;CC;EM;ANTWOORD;DRINGEND;TEKST" ..Do ATTRIB("P",Fields,"D","D"),ATTRIB("R",Fields,"U","U") .If $G(LExtern) Do ..Set Fields="BETREFT" ..Do ATTRIB("P",Fields,"D","D"),ATTRIB("R",Fields,"U","U") .If Type="T" Do ..Set Fields="EM" ..Do ATTRIB("P",Fields,"HD","HD") ..Set Fields="RP;STREEFDAT" ..Do ATTRIB("R",Fields,"HD","HD") .If MailTyp="A",LineTyp'="N" Do ..Set Fields="BETREFT;ONDERWERP;CC;EM;STREEFDAT;ANTWOORD;RP" ..If $G(ToDo) Set Fields=Fields_";TEKST" ..Else Set Fields=Fields_";NAAR" ..Do ATTRIB("P",Fields,"D","D"),ATTRIB("R",Fields,"U","U") ..Set Fields="DRINGEND" ..Do ATTRIB("P",Fields,"HD","HD"),ATTRIB("R",Fields,"U","U") .If "I"[Type Do ..Do POSRUBR("ANTWOORD",-1,50,-1,"") ..Do POSRUBR("DRINGEND",-2,50,-2,"") If Scherm="MAILHF" Do .If 'DeadLine Set Fields="STREEFDAT" Do ATTRIB^vhMAIL4("P",Fields,"HD","HD") If Scherm="MAILPZ" Do .If MailTyp="A" Do ATTRIB("P",3,"H",""),ATTRIB("R",4,"H","") .If MailTyp="V",$G(Later) Do ATTRIB("R",5,"H","") .If MailTyp="O",$G(Later),'$$MANUL^vhMAIL3(MailId,CUserId) Do ATTRIB("R",6,"H","") Quit ; POSRUBR(Fields,LPrompt,CPrompt,LValue,CValue) New I,R,Field,Piece Set LPrompt=$G(LPrompt),CPrompt=$G(CPrompt),LValue=$G(LValue),CValue=$G(CValue) For Do Quit:Fields="" .Set Field=$P(Fields,";"),Fields=$P(Fields,";",2,99) Set:Field'?1.N Field=$$NAME^vhScherm(Field) .Quit:Field'?1.N .Set R=sScrnDef(Field) .For I="LPrompt","CPrompt","LValue","CValue" Do ..Quit:@I="" ..Set Piece=$S(I="LPrompt":1,I="CPrompt":2,I="LValue":5,1:6) ..Quit:$P(R,"`",Piece)="" ..If @I'["-",@I'["+" Set $P(R,"`",Piece)=@I ..Else Xecute "Set $P(R,""`"",Piece)=$P(R,""`"",Piece)"_@I .Set sScrnDef(Field)=R Quit ; ATTRIB(Aktie,Field,Prompt,Value) New Xecute Set Field=$TR(Field,",""",";"),Field=$$FLDLIST^vhScherm(Field),Field=$TR(Field,";",",") Set Xecute="For Field="_Field_" Do "_$S(Aktie="R":"REM",1:"PUT")_"ATTR^vhScherm(Field,Prompt,Value)" Xecute Xecute Quit ; FMTHER(Dagen,VanAf,DeadLine) New R Set R="" If VanAf Set R=$S('Dagen:"op ",1:"vanaf ") Set R=R_$$EXTDATE^vhLib.DataTypes(VanAf) Set:Dagen R=R_$S($L(R):" ",1:"")_"om de "_$S(Dagen>1:Dagen_" dagen",1:"dag") Quit R ; PRINT(MailId,MailTyp,Titel) New I,R,Type,Urgentie,Respons,Onderw,Kreatie,Refer,FUserId,TUserId,RUserId,ReplyId,Filed,Later,DeadLine New Print,Gelezen,Beantw,BetrTyp,Betreft,VerslId,ArchTyp New %Fax,%FaxNr,FromFax,Subject,ExtPers,ToFax,ToName,Fax Set MailId=$G(MailId),MailTyp=$G(MailTyp),Titel=$G(Titel) Quit:'MailId Set R=^vhMAIL("D",MailId),Type=$P(R,D) Set:Titel="" Titel=$$TYPE(Type,1,1) If Type="V" Set VerslId=^vhMAIL("D",MailId,"P") Do PRINT^VERSLAG(VerslId) Quit Do INIT^vhPRINTER("","") If '$D(Print) Quit Set Print("TITEL",1)="Mail" Set Print("TITEL",2)=$P(^vhUSER("D",CUserId),D,2) Set Print("TITEL",3)=$S(MailTyp="O":"Ontvangen",MailTyp="V":"Verzonden",MailTyp="A":"Archief",1:"") Set R=^vhMAIL("D",MailId) Set Type=$P(R,D),Urgentie=$P(R,D,2),Respons=$P(R,D,3),Kreatie=$P(R,D,5),FUserId=$P(R,D,6) Set Onderw=$$ONDERW(MailId) Set BetrTyp=$P(R,D,7),Betreft=$P(R,D,8),(TUserId,Later)="" Set:Type="T" DeadLine=$P($G(^vhMAIL("D",MailId,"P")),D) If MailTyp="V" For Set TUserId=$O(^vhMAIL("D",MailId,"N",TUserId)) Quit:TUserId="" Do .Set R=^vhMAIL("D",MailId,"N",TUserId) .Set:$P(R,D,3)="S" Later=$P(R,D,5) If MailTyp="A" Do .Set Filed=$P(^vhMAIL("D",MailId,"N",CUserId),D),ArchTyp="" .For Set ArchTyp=$O(^vhMAIL("IF",CUserId,ArchTyp)) Quit:ArchTyp="" Quit:$D(^vhMAIL("IF",CUserId,ArchTyp,MailId)) .If $L(ArchTyp) Set Print("TITEL",3)=Print("TITEL",3)_" - "_ArchTyp If $L(Titel) Do .If MailTyp="A",$L(ArchTyp) Set Print("TITEL",3)=Print("TITEL",3)_"." .Set Print("TITEL",3)=Print("TITEL",3)_" "_Titel .If MailTyp="A",$L(ArchTyp) Set Print("TITEL",3)=Print("TITEL",3)_"." Set Refer="" For I=1:1:10 Quit:'$D(^vhMAIL("D",MailId,"R",I)) Set Refer(I)=^vhMAIL("D",MailId,"R",I),Refer=1 If MailTyp="O" Do .Set R=^vhMAIL("D",MailId,"N",CUserId),Gelezen=$P(R,D),ReplyId=$P(R,D,2),Later=$P(R,D,5) .Set Beantw="" Set:ReplyId R=$G(^vhMAIL("D",ReplyId)),Beantw=$P(R,D,6) If $G(%Fax),$G(%FaxNr) Set Print("LMARG")=Print("LMARG")+6 Do PRINT^vhScherm3("MAILPZ","","H",1) Do PRINT^vhScherm3("MAILPT","","C") If MailTyp="O" Do PRINT^vhScherm3("MAILPO","","C",1) If MailTyp="V" Do .Do PRINT^vhScherm3("MAILPV","","C",1) .Do PRINT^vhScherm3("MAILPG","","C") If $G(%Fax),$G(%FaxNr) Do .Set FromFax="(32-3) 778.04.36",Subject=Onderw .Set ExtPers=Fax("EXTPERS"),ToName=Fax("TONAME"),ToFax=Print("FAX","NR") .Do VERWERK^vhFAX(%FaxNr,QN,FromFax,CUserId,Subject,ExtPers,ToFax,ToName,$G(Print("FAX","COPYINT")),$G(Print("FAX","MAIL")),$G(Print("FAX","PRINT"))) Else Write # Do CLOSE^vhPRINTER Set Input="" Quit ; TEKST(MailId) New I,R,L Quit:'MailId "" Do WRAP("^vhMAIL(""D"",MailId,""T"")",sScrnW,.R,"G","~") Set L=$$LINE^vhRtn1("B",sScrnW+4,"1;"_(sScrnW+4)) Set L=$$LINE^vhRtn1("B",1,1) Do LCOUNT(1,sTit) Do OUTPUT^vhScherm3($$LINE^vhRtn1("F",sScrnW+4,"1;"_(sScrnW+4)),Print("LMARG"),1) For I=1:1:$O(R(""),-1) Do .Do LCOUNT(1,sTit) .Do OUTPUT^vhScherm3(L_" ",Print("LMARG"),1) .Do WTXT^vhScherm3(R(I)) .If '$G(%Fax),'$G(%FaxNr) Write $C(13) .Do OUTPUT^vhScherm3(L,Print("LMARG")+sScrnW+3,0) Do LCOUNT(1,sTit) Do OUTPUT^vhScherm3($$LINE^vhRtn1("L",sScrnW+4,"1;"_(sScrnW+4)),Print("LMARG"),1) Quit "" ; PVIEW(MailId) New I,R,L,Mail,TUserId,ReplyId,LAktie,UserId,LD,FL Quit:'MailId Set TUserId=$$TUSERID^vhMAIL(MailId) For I=1:1 Quit:$P(TUserId,";",I)="" Do .Set UserId=$P(TUserId,";",I),R=^vhMAIL("D",MailId,"N",UserId),ReplyId=$P(R,D,2),LAktie=$P(R,D,3) .Set Mail(I)=UserId_D_$S(ReplyId:ReplyId,1:LAktie) Do INIT^vhLIST("MAIL","CHKSND",.LD) Do LCOUNT($O(Mail(""),-1)+4,sTit,0) Do OUTPUT^vhScherm3($$LINE^vhRtn1("F",sScrnW+4,"1;"_(sScrnW+4)),Print("LMARG"),1) Set L=$$LINE^vhRtn1("B",sScrnW+4,"1;"_(sScrnW+4)) Set I="Gebruiker | Gelezen | Beantwoord" Set R=L,$E(R,3,$L(I)+2)=I Do OUTPUT^vhScherm3(R,Print("LMARG"),1) Set I="-----------------------------------------|-----------------|----------------" Set R=L,$E(R,3,$L(I)+2)=I Do OUTPUT^vhScherm3(R,Print("LMARG"),1) Set Mail="" For Set Mail=$O(Mail(Mail)) Quit:Mail="" Do .Set sFL(1)=Mail(Mail) .Set I=$$LIJN^vhFMT("LD(""FMT"",""S"")") .Set R=L,$E(R,3,$L(I)+2)=I .Do OUTPUT^vhScherm3(R,Print("LMARG"),1) Do OUTPUT^vhScherm3($$LINE^vhRtn1("L",sScrnW+4,"1;"_(sScrnW+4)),Print("LMARG"),1) Quit "" ; LCOUNT(Lines,sTit,sRect) Set:'Lines Lines=1 Set sRect=$G(sRect,1) LCOUNT1 Set Print("LIJN")=Print("LIJN")+Lines If Print("LIJN")>(Print("MAXLIJN")-1-Print("FOOT")) Do Goto LCOUNT1 .If Print("BLZ") Write:sRect !,$$LINE^vhRtn1("L",sScrnW+4,"1;"_(sScrnW+4)) Write # .Set Print("BLZ")=Print("BLZ")+1,Print("LIJN")=0 .Set Print("LIJN")=Print("LIJN")+Print("TITEL") .Quit:sTit .Do FTITEL^OUTPUT2(Print("KOL"),$G(Print("TITEL",1)),$G(Print("TITEL",2)),$G(Print("TITEL",3))) .Write !,$$LINE^vhRtn1("F",sScrnW+4,"1;"_(sScrnW+4)) .Set Print("LIJN")=Print("LIJN")+1 Quit ; ONDERW(MailId) New R,FromUci,ToUci,Type,Onderw,VerslId Set (FromUci,ToUci)=$ZU(5) Set R=^vhMAIL("D",MailId),Type=$P(R,D),Onderw=$P(R,D,4) If Type="V" Do .Set ToUci=$P(R,D,10) .If $ZV["MSM",FromUci'=ToUci Do IN^cQMSMSW(ToUci) .Set VerslId=^vhMAIL("D",MailId,"P"),Onderw=$$ONDERW^VERSLAG(VerslId) .If $ZV["MSM",FromUci'=ToUci Do IN^cQMSMSW(FromUci) If $E(Onderw)="$" Xecute "Set Onderw="_Onderw Quit Onderw ; WRAP(Ref,Length,Local,StOpt,EdOpt) New I,R,WrapLocal,Exec,OpenBr,CloseBr Merge WrapLocal=@Ref For I=1:1 Quit:'$D(WrapLocal(I)) Do .Set R=WrapLocal(I),Exec="EXEC^vhRES" .For Quit:R'[Exec Do ..Set R(1)=$P(R,Exec),R(2)=$P(R,Exec,2),R(3)=Exec,(OpenBr,CloseBr)=0 ..For Do Quit:OpenBr=CloseBr ...Set:$E(R(2))="(" OpenBr=OpenBr+1 Set:$E(R(2))=")" CloseBr=CloseBr+1 ...Set R(3)=R(3)_$E(R(2)),R(2)=$E(R(2),2,999) ..Set R(3)=$E(R(3),1,$L(R(3))-1)_",""R(3)"")" ..Xecute "Do "_R(3) ..Set R=R(1)_R(3)_R(2) .Set WrapLocal(I)=R Do GETWRAP^vhBIGEDIT("WrapLocal",Length,.Local,$G(StOpt),$G(EdOpt),"","") For Local=1:1:Local Do .Set R=$P(Local(Local),"`",5) .If $E(R,1,2)="&C" Set R=$J("",Length-$L(R)-2\2)_$E(R,3,99) .Set Local(Local)=$J("",$P(Local(Local),"`",4))_R Quit ; LPRINT(MailTyp) New DL,LD Do LDCONV Do ^OUTPUT("P","","S") Quit ; LDCONV Set DL(1)="LD" Set LD(1)=MAIL("F") If MailTyp="O" Set LD(2)=$$TR(MAIL("FMT","G",1)),LD(2,1)=$$TR(MAIL("FMT","N",1)) Else Set LD(2)=$$TR(MAIL("FMT","S",1)) Set LD(5)=80 Set LD(8)=$P(^RES("MAIL","LD",$P(MAIL("ID"),"`",2),"HO",1),"`",3),LD(8)=LD(8)_$J("",80-$L(LD(8))) Set:MailTyp'="V" LD(10)="CB^"_$ZN Set LD(11)="Mail\"_$P(^vhUSER("D",CUserId),D,2)_D Set LD(11)=LD(11)_$S(MailTyp="O":"Ontvangen",MailTyp="V":"Verzonden",MailTyp="A":"Archief",1:"") If MailTyp="A",$L($G(ArchTyp)) Set LD(11)=LD(11)_" - "_ArchTyp If $L($G(SortTyp)) Set LD(11)=LD(11)_" ("_$S(SortTyp="B":"Betreft",SortTyp="O":"Onderwerp",1:"Datum")_")" Quit ; TR(R) New I,X For I=1:1:$L(R,"§") Do .Set X=$P(R,"§",I) .If $P(X,"`",2)="DK" Set $P(X,"`",8)="$$EXTDATE^vhLib.DataTypes("_$P(X,"`",8)_",""DK"")",$P(X,"`",2)="C" .If $P(X,"`",2)="T" Set $P(X,"`",8)="$$EXTTIME^vhLib.DataTypes("_$P(X,"`",8)_")",$P(X,"`",2)="C" .Set $P(R,"§",I)=X Set R=$TR(R,"`§",";\") Quit R ; CB(Ref) New R,sRec If $E(Ref)'="^" Quit "" Set sRec=@Ref Xecute "Set R="_$P(MAIL("CF"),"`",2) Quit $S(R="&S":"BR",R="N":";1",1:"") ; HELPTXT(Scherm,Rubriek) New R Set R="" If Scherm="MAILHF" Do .If Rubriek="VANAF" Do ..Set R="Niet kleiner dan "_$$EXTDATE^vhLib.DataTypes($H) ..Set:DeadLine R=R_" en niet groter dan "_$$EXTDATE^vhLib.DataTypes(DeadLine) ..Set R=R_" [] = vanaf heden" Quit R ; PREDEXEC(Scherm,Rubriek) If Scherm="MAILD" Do .If Rubriek="ANTWOORD" Do ..Set sEr=-1,X=$$RESPONS^vhMAIL4(X) ..Quit:X=Respons ..Set Respons=X ..If $TR(Respons,"GOE","")="" Set TUserId("RP")="" Do REPAINT^vhScherm("RP") .If Rubriek="RP" Do ..Set sEr=-1 ..If $D(sDir),$TR(Respons,"GOE","")="" Quit ..Set:X="" X=CUserId Set R=$$SELUSER^vhMAIL(CUserId,X,"Antwoord aan") ..Quit:R=TUserId("RP") ..Set TUserId("RP")=R ..If R="" Set Respons=$TR(Respons,"RV","") ..Else Set:Respons="G" Respons="" Set:$TR(Respons,"OE","")="" Respons="R"_Respons ..Set:Respons="" Respons="G" Set:Respons="E" Respons="OE" ..Do REPAINT^vhScherm("ANTWOORD") Quit ;