VERSLAG ;Verslagen [ 01/13/2003 1:43 PM ] ; Do INIT Set:'CUserId CUserId=3 Quit:'CUserId For Set VerslId=$$SELECT() Quit:VerslId="-" Do .Do LDINIT .If $D(^VERSLAG("D",VerslId)) Do WIJZIG^VERSLAG5(VerslId) Quit .Do NIEUW^VERSLAG5 .Kill ^HULP(%J) Quit ; ; Raadplegen van een verslag RAADPL(VerslId,Buttons) New I,R,Input,Rec,Ref,Datum,LDME,LDTD Quit:'VerslId "" Quit:'$D(^VERSLAG("D",VerslId)) "" Set Buttons=";"_$G(Buttons)_";" Do STORE^vhTERMINA(),LDINIT Do WRAP(76,VerslId,.DispLoc) Set Rec=^VERSLAG("D",VerslId,0) Set Ref=$E($P(Rec,D,5))_";"_$P(Rec,D,6),Datum=$P(Rec,D) Do INIT^vhLIST("VERSLAG","RAADPL",.DTL) For I=1:1 Quit:'$D(DTL("B",I)) Do .Set R=DTL("B",I) .Quit:Buttons'[(";"_$P(R,"`",6)_";") .Set $P(R,"`",3)="",DTL("B",I)=R Do WRITE^vhLIST(.DTL) Set Input=$$SCROLL^vhLIST(.DTL) Do:Input="W" WIJZIG^VERSLAG5(VerslId) Do REFRESH^vhTERMINA() Quit Input ; ; Ingave verslag vanuit een ander programma ; "" of 0 geen controle, 1 = wel controle ; Optie("EDIT") = EditScrn ("" of 0 = nieuw, 1 = edit, -1 = niet editeerbaar) EXTERN(Date,FTime,TTime,Betreft,BezSoort,IntPers,Motivat,Optie) Set Date=$G(Date),FTime=$G(FTime),TTime=$G(TTime),Betreft=$G(Betreft) Set BezSoort=$G(BezSoort),IntPers=$G(IntPers) Quit $$EXTERN^VERSLAG5(Date,FTime,TTime,Betreft,BezSoort,IntPers,.Motivat,.Optie) ; ; Herstellen scherm REFRESH If sRT<2 Do DISPLAY^vhScherm("VERSLAG","","","H") If sRB>1 Do DISPLAY^vhScherm("VERSLAGD","","","H") Do RESET^vhScherm Quit ; ; Wegschrijven van een verslag SAVE(VerslId,Date,FTime,TTime,R,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,Auteur,IntPers,ExtPers,MotEva,TeDoen,Tekst,Adres,MailRef) Set MailRef=$G(MailRef) If 'VerslId Quit $$SAVE^VERSLAG5(VerslId,Date,FTime,TTime,R,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,Auteur,IntPers,ExtPers,.MotEva,.TeDoen,.Tekst,Adres,MailRef) Do SAVE^VERSLAG5(VerslId,Date,FTime,TTime,R,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,Auteur,IntPers,ExtPers,.Evamot,.TeDoen,.Tekst,Adres,MailRef) Quit ; ; Opbouwen van de indexen van een verslag BLDIND(VerslId) Do BLDIND^VERSLAG5(VerslId) Quit ; ; Verwijderen van een verslag DELOBJ(VerslId) Do DELOBJ^VERSLAG5(VerslId) Quit ; ; Nieuw VerslId NEXTID() Quit $$NEXTID^VERSLAG5() ; MAILING(VerslId) New I,R,MailId,UserId,TUser,TUserId,RUserId,MaxLen If ";"_$$USERDEV^vhUSER($$USERID^vhUSER("NS"))_";"[(";"_$I_";"),'$D(^VERSLAG("D",VerslId,"P")) Quit Set R=$G(^VERSLAG("D",VerslId,"P")),MailId=$P(R,D) If $L(R) Do .Set MaxLen=35 .If MailId,$D(^vhMAIL("D",MailId)) Do ..Set TUser=$$SENDTO^vhMAIL(MailId,1,MaxLen),TUserId=$$TUSERID^vhMAIL(MailId) ..Set R=$$^vhTXTPOP("VERSLAG","MAILING","",TUser) ..If R'="J" Do Quit ...Quit:'$G(sScr("VTW")) Quit:'$D(^VERSLAG("D",VerslId,"P")) ...Set $P(^VERSLAG("D",VerslId,"P"),D)=0 ..Set R=$$MAILUSER(VerslId,TUserId) ..Quit:$TR(R,";","")="" ..Set UserId="" ..For Set UserId=$O(^vhMAIL("D",MailId,"N",UserId)) Quit:UserId="" Do ...Kill ^vhMAIL("D",MailId,"N",UserId),^vhMAIL("IN",UserId,MailId),^vhMAIL("IR",UserId,MailId) ..For I=1:1:$L(R,";") Do ...Set UserId=$P(R,";",I),^vhMAIL("D",MailId,"N",UserId)=$S(UserId=CUserId:$H_"\\G\\",1:"") ...Set ^vhMAIL($S(UserId=CUserId:"IR",1:"IN"),UserId,MailId)="" ..For I=$L(R,";"):-1:1 Set $P(R,";",I)=$P(R,";",I)_";" ..Set R=MailId_";"_R,^VERSLAG("D",VerslId,"P")=$TR(R,";",D) .Else Do ..Set R=^VERSLAG("D",VerslId,"P") ..For I=1:1 Quit:$P(R,D,I+1)="" Set $P(R,D,I,I+1)=$P(R,D,I+1) ..Set:$E(R,$L(R))=D $E(R,$L(R))="" Set TUserId=R ..If $L(R,D)=1 Set R=$P(^vhUSER("D",R),D,2) ..Else For I=1:1 Quit:$P(R,D,I)="" Set $P(R,D,I)=$P(^vhUSER("D",$P(R,D,I)),D,4) ..Set TUser=$TR(R,D,";") ..If $L(TUser)>MaxLen Do ...For Set TUser=$P(TUser,";",1,$L(TUser,";")-1) Quit:$L(TUser)<(MaxLen-2) ...Set TUser=TUser_"..." ..Set R=$$^vhTXTPOP("VERSLAG","MAILING","",TUser) ..If R'="J" Do Quit ...Quit:'$G(sScr("VTW")) Quit:'$D(^VERSLAG("D",VerslId,"P")) ...Set $P(^VERSLAG("D",VerslId,"P"),D)=0 ..Set R=$$MAILUSER(VerslId,TUserId) ..Quit:$TR(R,";","")="" ..For I=$L(R,";"):-1:1 Set $P(R,";",I)=$P(R,";",I)_";" ..Set R=";"_R,^VERSLAG("D",VerslId,"P")=$TR(R,";",D) ..Do:'$G(sScr("VTW")) SENDMAIL(VerslId) Else Do .Set R=$$MAILUSER(VerslId) .Quit:$TR(R,";","")="" .For I=$L(R,";"):-1:1 Set $P(R,";",I)=$P(R,";",I)_";" .Set R=";"_R,^VERSLAG("D",VerslId,"P")=$TR(R,";",D) .Do:'$G(sScr("VTW")) SENDMAIL(VerslId) Quit ; ; Verzenden van mail SENDMAIL(VerslId) New I,R,FUserId,TUserId,MailId,CUserId,RefType,RefNr,Link Set R=^VERSLAG("D",VerslId,0),RefType=$P(R,D,5),RefNr=$P(R,D,6),(FUserId,CUserId)=$P(R,D,14) Set TUserId="",R=$G(^VERSLAG("D",VerslId,"P")) If $P(R,D)'=0 Do .For I=2:2 Quit:$P(R,D,I)="" Set TUserId=TUserId_";"_$P(R,D,I) .Set $E(TUserId)="" .Quit:$TR(TUserId,";","")="" .Set:RefType="KL" Link(1)="KL\"_RefNr_"\R\N" .Set MailId=$$SAVE^vhMAIL5("","",.Link,FUserId,TUserId,"V","P","G","","","","","","","",VerslId) .Set R=^VERSLAG("D",VerslId,"P"),$P(R,D)=MailId,^VERSLAG("D",VerslId,"P")=R .Set TUserId=$$OVUSER^vhUSER(FUserId,TUserId) .If $L(TUserId) Do MESSAGE^vhMAIL3(CUserId,TUserId) Quit ; ; Selekteren van de gebruikers voor het verzenden van mail MAILUSER(VerslId,TUserId) New I,R,FUserId,FUserIni Set R=^VERSLAG("D",VerslId,0),FUserId=$P(R,D,14) Set FUserIni="" Set:FUserId FUserIni=$P($G(^vhUSER("D",FUserId)),D,4) If $L(FUserIni),'$D(^vhUSER("S","VERSLML"_FUserIni)) Set FUserIni="" Set TUserId=$G(TUserId) Set R=$$USELECT^vhUSER("","","","VERSLML"_FUserIni,"","","","",1,"") For I=1:1 Quit:$P(TUserId,";",I)="" If (";"_R_";")'[(";"_$P(TUserId,";",I)_";") Set TUserId=TUserId_";?" Quit If TUserId'["?" Do .Set:$L(TUserId) R=TUserId .Set TUserId=$$USELECT^vhUSER("","Doorgeven aan","","VERSLML"_FUserIni,"","",1,R,1,"1;10;30","","",1) If TUserId["?" Set TUserId=$$USELECT^vhUSER("","Doorgeven aan","","","K","",1,TUserId,1,"1;10;30") Quit TUserId ; FBETREFT(BetrTyp,Betreft,VerslId,NoPref) New R Set BetrTyp=$G(BetrTyp),Betreft=$G(Betreft),VerslId=$G(VerslId),NoPref=$G(NoPref) If VerslId Do .Set R=$G(^VERSLAG("D",VerslId,0)),BetrTyp=$P(R,D,5),Betreft=$P(R,D,6) 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 VerslId,BetrTyp="PP" Do .Set R=$S(NoPref:"",1:"Prospect ") .If $D(^VERSLAG("D",VerslId,"A")) Set R=R_$P(^VERSLAG("D",VerslId,"A"),D) .Else Set R=R_" (is verwijderd)" Quit R ; ONDERW(VerslId) Quit $$MOTEVA(VerslId,"O",1) ; MOTEVA(VerslId,MotEva,Vertaald) Set VolgNr=$O(^VERSLAG("D",VerslId,"EM","")) If VolgNr Do .Set R=^VERSLAG("D",VerslId,"EM",VolgNr) .If MotEva="B" Do ..Set MotEva=$P(R,D,1) ..If $G(Vertaald) Set MotEva=$$DISPMEIT^VERSLAG2("BEZTYP",MotEva) .Else If MotEva="O" Do ..Set MotEva=$P(R,D,2) ..If $G(Vertaald) Set MotEva=$$DISPMEIT^VERSLAG2("SUBJECT",MotEva) .Else If MotEva="A" Do ..Set MotEva=$P(R,D,8) ..If $G(Vertaald) Set MotEva=$$DISPMEIT^VERSLAG2("AKTBUITEN",MotEva) .Else Set MotEva="" Else Set MotEva="" Quit MotEva ; XRUBRIEK If sScrn="VERSLAGA" Do .If X="W" Set $P(sFL(1),D,1,9)="\\\\\\\\" Do DISPLAY^vhScherm(sScrn) Else Do .If X'=".",'%SC Set %SC=$G(%SCTemp) .If $G(EditMode),X="." Set Annuleer=1 .Kill PopRead .If X="P" Do ..Set PopRead=1,X="-" .If X="PRINT" Do ..Set Print=1,X="-" Quit ; ; Tonen van een verslag vanuit mail DISPMAIL(Length,MailId,Verslag) ;Verslag via .Local New VerslId,Count Set VerslId=$G(^vhMAIL("D",MailId,"P")) Goto WRAP2 WRAP(Length,VerslId,Verslag) ;Verslag via .Local New Count WRAP2 Quit:'VerslId Quit:'$D(^VERSLAG("D",VerslId)) Do DREFS(VerslId,.Verslag,.Count) Set Count=Count+1,Verslag(Count)="ŠU"_$J("",76)_"Šu",Count=Count+1,Verslag(Count)="" Do DTEKST(Length,VerslId,.Verslag,.Count) Do .If Verslag(Count)="",Verslag(Count-1)=("ŠU"_$J("",76)_"Šu") Quit .Set Count=Count+1,Verslag(Count)="ŠU"_$J("",76)_"Šu",Count=Count+1,Verslag(Count)="" Do DPERS(VerslId,.Verslag,.Count) Do .If Verslag(Count)="" Kill Verslag(Count) Set Count=Count-1 .If Verslag(Count)=("ŠU"_$J("",76)_"Šu") Kill Verslag(Count) Set Count=Count-1 Set Verslag=Count Quit ; ; Tonen derde (Mail) DREFS(VerslId,Verslag,Count) New I,L,R,Derde,Date,FTime,TTime,RefType,RefNr,BezSoort,Bestel,Geldig Set R=^VERSLAG("D",VerslId,0) Set Date=$P(R,D),FTime=$P(R,D,2),TTime=$P(R,D,3),RefType=$P(R,D,5),RefNr=$P(R,D,6),BezSoort=$P(R,D,7) Set Bestel=$P(R,D,8),Geldig=$P(R,D,9) Set Count=$G(Count),R=$$DAKTIV^VERSLAG2(VerslId) If $L(Date) Do .Set:$L(R) R=R_" op " Set R=R_$$EXTDATE^vhDTyp(Date) .Set R=R_$S('FTime&'TTime:"",'TTime:" om ",1:" van ")_$$EXTTIME^vhDTyp(FTime) .If FTime,TTime Set R=R_" tot "_$$EXTTIME^vhDTyp(TTime) Set Count=Count+1,Verslag(Count)=R_"." Set Derde=$$GDERDE^VERSLAG2(RefType,$S(RefNr:RefNr,1:$G(^VERSLAG("D",VerslId,"A")))) If $L(Derde) Do .Set Count=Count+1,Verslag(Count)="" .Set R="ŠU"_$S(RefType="LE":"Leverancier",RefType="KL":"Klant",1:"Prospect")_"Šu"_" ",L=$L(R)-4 .Set R=R_$P(Derde,D) Set:$L($P(Derde,D)) R=R_" " Set R=R_$P(Derde,D,2) .Set Count=Count+1,Verslag(Count)=R .For I=5,7 If $L($P(Derde,D,I)) Set R=$J("",L)_$P(Derde,D,I),Count=Count+1,Verslag(Count)=R Quit ; ; Tonen interne personen (Mail) DPERS(VerslId,Verslag,Count) New I,L,R,IntPers,ExtPers Set IntPers=$G(^VERSLAG("D",VerslId,"I")) Set ExtPers=$G(^VERSLAG("D",VerslId,"C")) Set Count=$G(Count) If $L(IntPers)!$L(ExtPers) Do .Set IntPers=$$USERNAME^vhUSER($TR(IntPers,D,";")),ExtPers=$TR(ExtPers,D,";") .Set R="",L=0 Set:$L(IntPers) R="ŠUInterne personenŠu"_$J("",25),L=$L(R)-4 .Set:$L(ExtPers) R=R_"ŠUContaktpersonenŠu" .Set Count=Count+1,Verslag(Count)=R .For I=1:1 Quit:$P(IntPers,";",I)=""&($P(ExtPers,";",I)="") Do ..Set R="" ..If $L($P(IntPers,";",I)) Do ...Set:I=1 R=R_"ŠB" Set R=R_$P(IntPers,";",I) Set:I=1 R=R_"Šb" ..If $L($P(ExtPers,";",I)) Do ...Set R=R_$J("",L-$L(R)) ...Set:I=1 R=R_$J("",L'=0*4) Set R=R_$P(ExtPers,";",I) ..Set Count=Count+1,Verslag(Count)=R Set Verslag=Count Quit ; ; Tonen tekst (Mail) DTEKST(Length,VerslId,Verslag,Count) New R,AddLine,EvaMot If '$D(LDME) New LDME,LDTD Do LDINIT Set AddLine=0,Count=$G(Count),EvaMot="" If $O(^VERSLAG("D",VerslId,"EM",EvaMot)) Do .New FL .Set FL(1)=$TR(LDME("FMT","R",1),"§`","\;"),FL(2)="" .Set Count=Count+1,Verslag(Count)="ŠUAktiviteit |Bezoektype |Onderw |Concur |OHNiv |V|Slaag|ActiedatŠu" .For Set EvaMot=$O(^VERSLAG("D",VerslId,"EM",EvaMot)) Quit:'EvaMot Do ..Set FL(3)=^VERSLAG("D",VerslId,"EM",EvaMot) ..Do FL^PROC ..Set Count=Count+1,Verslag(Count)=R .Set AddLine=1 Do GETWRAP^vhBIGEDIT("^VERSLAG(""D"",VerslId,""T"")",Length,.R,"G","~","","") If R Do .If AddLine Set Count=Count+1,Verslag(Count)="" .If $E($P(R(1),"`",5))'="Š" Set Count=Count+1,Verslag(Count)="ŠUVerslagŠu" .For I=1:1:R Set Count=Count+1,Verslag(Count)=$J("",$P(R(I),"`",4))_$P(R(I),"`",5) Set Verslag=Count Quit ; SELECT(Volgens,VRef) Quit $$SELECT^VERSLAG4($G(Volgens),$G(VRef)) ; PRINT(VerslId) Set VerslId=$G(VerslId) Do PRINT^VERSLAG3(VerslId) Quit ; INIT If '$D(Q) Do INIT^vhTERMINA Do ADD^vhScherm(1,1),REFRESH If '$G(CUserId) Do .Do INIT^vhUSER("Auteur") .Set CUserId=$P($G(sUser),D) .Do ADD^vhScherm(1,1),REFRESH Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Quit ; LDINIT Do INIT^vhLIST("VERSLAG","MOTEVA",.LDME) Do INIT^vhLIST("VERSLAG","TEDOEN",.LDTD) Quit ; ; Lock verslag VLOCK(VerslId) New %TC Do ADD^vhLock("^VERSLAG(""D"",VerslId)") If '%TC Do LDISP^vhLock("^VERSLAG(""D"",VerslId)","Verslag") Quit %TC ; ; Unlock verslag VUNLOCK(VerslId) Do REMOVE^vhLock("^VERSLAG(""D"",VerslId)") Quit ; EMAIL(Vol,VerslId,Length,Job) New (Vol,VerslId,Length,Job) Do .New Vol,VerslId,Length,Job .Set Q="K" .Do ^cA604 Set R=$G(^VERSLAG("D",VerslId,0)),RefType=$P(R,D,5),RefNr=$P(R,D,6) If RefType="KL",$L(RefNr),$D(^KK1(RefNr)) Set Onderw="Klant "_RefNr_" "_$P(^KKL(^KK1(RefNr),0),D,2) Else If RefType="LE",$L(RefNr),$D(^KL1(RefNr)) Set Onderw="Lev. "_RefNr_" "_$P(^KLE(^KL1(RefNr),0),D,2) Else If RefType="PP",$L(RefNr) Set Onderw="Prospect "_RefNr Else Set Onderw="Onbekend" Set ^|Vol|HULP(Job,"O")=Onderw Do WRAP(Length,VerslId,.Txt) For Txt=1:1:Txt Set ^|Vol|HULP(Job,"T",Txt)=Txt(Txt) Set ^|Vol|HULP(Job,"T")=Txt Set ^|Vol|HULP(Job)=1 Quit ;