w ;Verslagen [ 10/12/2001 4:09 PM ] ; Do INIT Quit:'CUserId For Set VerslId=$$SELECT() Quit:VerslId="-" Do .If $D(^VERSLAG("D",VerslId)) Do WIJZIG(VerslId) Quit .Do NIEUW Quit ; ; Ingave nieuw verslag NIEUW New R,Date,FTime,TTime,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm New Auteur,IntPers,ExtPers,Motivat,Evaluat,Tekst,Adres,VerslId Set Date=+$H Set (FTime,TTime,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm)="" Set (Auteur,IntPers,ExtPers,Motivat,Evaluat,Tekst,Adres)="" Do NIEUW^vhScherm("VERSLAGD") Quit:'%SC Do COMPRES(.Tekst) Do COMPRES(.Motivat) Do COMPRES(.Evaluat) Set VerslId=$$SAVE("",Date,FTime,TTime,"",RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,CUserId,IntPers,ExtPers,.Motivat,.Evaluat,.Tekst,Adres) If "\65\138\"'[(D_$I_D) Do .Set R=$$MAILUSER() .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) Do DISPLAY^vhScherm("VERSLAGD","","","","VERSLID") Quit ; ; Wijzigen bestaand verslag WIJZIG(VerslId) New R,Date,FTime,TTime,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm New Auteur,IntPers,ExtPers,Motivat,Evaluat,Tekst,Adres Quit:'$$VLOCK(VerslId) 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),BeginKm=$P(R,D,10),EindKm=$P(R,D,11),DagKm=$P(R,D,12),Auteur=$P(R,D,14) Set IntPers=$G(^VERSLAG("D",VerslId,"I")) Set ExtPers=$G(^VERSLAG("D",VerslId,"C")) Set Adres=$G(^VERSLAG("D",VerslId,"A")) For I=1:1 Quit:'$D(^VERSLAG("D",VerslId,"T",I)) Set Tekst(I)=^VERSLAG("D",VerslId,"T",I) Do EXPAND(.Tekst) For I=1:1 Quit:'$D(^VERSLAG("D",VerslId,"M",I)) Set Motivat(I)=^VERSLAG("D",VerslId,"M",I) Do EXPAND(.Motivat) For I=1:1 Quit:'$D(^VERSLAG("D",VerslId,"E",I)) Set Evaluat(I)=^VERSLAG("D",VerslId,"E",I) Do EXPAND(.Evaluat) Do EDIT^vhScherm("VERSLAGD") If %SC Do .Do DELOBJ(VerslId) .Do COMPRES(.Tekst) .Do COMPRES(.Motivat) .Do COMPRES(.Evaluat) .Do SAVE(VerslId,Date,FTime,TTime,"",RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,Auteur,IntPers,ExtPers,.Motivat,.Evaluat,.Tekst,Adres) Do VUNLOCK(VerslId) Quit ; ; Raadplegen van een verslag RAADPL(VerslId,Buttons) New Input,Rec,Ref,Datum Quit:'VerslId "" Quit:'$D(^VERSLAG("D",VerslId)) "" Do STORE^vhTERMINA() 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) Do WRITE^vhLIST(.DTL) Set Input=$$SCROLL^vhLIST(.DTL) Do REFRESH^vhTERMINA() Quit Input ; ; Ingave verslag vanuit een ander programma EXTERN(Optie,Date,FTime,TTime,Betreft,BezSoort,IntPers,Motivat) ; Optie = "C" : Controle of er reeds een verslag bestaat voor die datum New I,R,RefType,RefNr,Bestel,Geldig,BeginKm,EindKm,DagKm New Auteur,ExtPers,Evaluat,Tekst,Adres,VerslId,Extern Do STORE^vhTERMINA(),INIT Set Extern=1,Date=$G(Date),FTime=$G(FTime),TTime=$G(TTime) Set Betreft=$G(Betreft),RefType=$P(Betreft,";"),RefNr=$P(Betreft,";",2) Set RefType=$S(RefType="K":"KL",RefType="L":"LE",1:"PP") Set BezSoort=$G(BezSoort) Set:BezSoort="" BezSoort="OB" Set IntPers=$G(IntPers),IntPers=$$USERID^vhUSER(IntPers) Set Motivat=$G(Motivat) If $D(Motivat(1)) Do .Set Motivat=Motivat(1) .For I=2:1 Quit:'$D(Motivat(I)) Set Motivat=Motivat_"~"_Motivat(I) Set (Bestel,Geldig,BeginKm,EindKm,DagKm)="" Set (Auteur,ExtPers,Evaluat,Tekst,Adres)="" Do EDIT^vhScherm("VERSLAGD"),REFRESH^vhTERMINA() Quit:'%SC "" Do COMPRES(.Tekst) Do COMPRES(.Motivat) Do COMPRES(.Evaluat) Set VerslId=$$SAVE("",Date,FTime,TTime,"",RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,CUserId,IntPers,ExtPers,.Motivat,.Evaluat,.Tekst,Adres) Quit VerslId ; ; 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,Motivat,Evaluat,Tekst,Adres) New I,R,DateMod,Nieuw If VerslId Set DateMod=$H Else Set VerslId=$$NEXTID(),DateMod="",Nieuw=1 If RefType="PP" Set ^VERSLAG("D",VerslId,"A")=RefNr,RefNr="" Set R=Date_D_FTime_D_TTime_D_""_D_RefType_D_RefNr_D_BezSoort_D_Bestel Set R=R_D_Geldig_D_BeginKm_D_EindKm_D_DagKm_D_DateMod_D_Auteur Set ^VERSLAG("D",VerslId,0)=R For I=1:1 Quit:'$D(Tekst(I)) Set ^VERSLAG("D",VerslId,"T",I)=Tekst(I) For I=1:1 Quit:'$D(Motivat(I)) Set ^VERSLAG("D",VerslId,"M",I)=Motivat(I) For I=1:1 Quit:'$D(Evaluat(I)) Set ^VERSLAG("D",VerslId,"E",I)=Evaluat(I) If $L(IntPers) Set ^VERSLAG("D",VerslId,"I")=IntPers If $L(ExtPers) Set ^VERSLAG("D",VerslId,"C")=ExtPers If $L(Adres) Set ^VERSLAG("D",VerslId,"A")=Adres Do BLDIND(VerslId) If $G(Nieuw) Quit VerslId Quit ; ; Opbouwen van de indexen van een verslag BLDIND(VerslId) New I,R,Date,RefType,RefNr,IntPers Set R=^VERSLAG("D",VerslId,0),Date=$P(R,D),RefType=$P(R,D,5),RefNr=$P(R,D,6) Set IntPers=$G(^VERSLAG("D",VerslId,"I")) If $L(IntPers) Do .For I=1:1:$L(IntPers,D) Do ..Quit:'$P(IntPers,D,I) ..Quit:'$D(^vhUSER("D",$P(IntPers,D,I))) ..Set ^VERSLAG("II",$P(IntPers,D,I),+Date,VerslId)=I If RefType="LE",RefNr Set ^VERSLAG("IL",RefNr,+Date,VerslId)="" If RefType="KL",RefNr Set ^VERSLAG("IK",RefNr,+Date,VerslId)="" Quit ; ; Verwijderen van een verslag DELOBJ(VerslId) New I,R,Date,RefType,RefNr,IntPers,MailId Set R=^VERSLAG("D",VerslId,0),Date=$P(R,D),RefType=$P(R,D,5),RefNr=$P(R,D,6) Set IntPers=$G(^VERSLAG("D",VerslId,"I")) If $L(IntPers) For I=1:1:$L(IntPers,D) Kill ^VERSLAG("II",$P(IntPers,D,I),+Date,VerslId) If RefType="LE",RefNr Kill ^VERSLAG("IL",RefNr,+Date,VerslId) If RefType="KL",RefNr Kill ^VERSLAG("IK",RefNr,+Date,VerslId) Set MailId=$P($G(^VERSLAG("D",VerslId,"P")),D) Do:MailId DELOBJ^vhMAIL(MailId) Kill ^VERSLAG("D",VerslId) Quit ; ; Nieuw VerslId NEXTID() New VerslId Lock +^VERSLAG("N") Set VerslId=$G(^VERSLAG("N"))+1,^VERSLAG("N")=VerslId Lock -^VERSLAG("N") Quit VerslId ; ; Verzenden van mail SENDMAIL(VerslId) New I,R,FUserId,TUserId,Later,MailId Set R=^VERSLAG("D",VerslId,0),FUserId=$P(R,D,14) Set TUserId="",R=$G(^VERSLAG("D",VerslId,"P")) For I=2:2 Quit:$P(R,D,I)="" Set TUserId=TUserId_";"_$P(R,D,I) Set $E(TUserId)="" Quit:$TR(TUserId,";","")="" Set Later=$H+1_",1" Set MailId=$$SAVE^vhMAIL5("","","",FUserId,TUserId,"V","","G","","","","","",Later,"",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(CUserId,TUserId) Quit ; ; Selekteren van de gebruikers voor het verzenden van mail MAILUSER() New TUserId Set TUserId=$$USELECT^vhUSER("","","","VERSLML","","","","",1,"") Set TUserId=$$USELECT^vhUSER("","Doorgeven aan","","VERSLML","","",1,TUserId,1,"1;10;30","","",1) If TUserId["?" Set TUserId=$$USELECT^vhUSER("","Doorgeven aan","","","K","",1,TUserId,1,"1;10;30") Quit TUserId ; ; Expand tekst voor ^SD EXPAND(Tekst) New I Set Tekst="" For I=1:1 Quit:'$D(Tekst(I)) Set Tekst=Tekst_Tekst(I) Kill Tekst(I) Quit ; ; Compres tekst voor save COMPRES(Tekst) New I For I=1:1 Set Tekst(I)=$E(Tekst,1,511),$E(Tekst,1,511)="" Quit:Tekst="" Quit ; 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) New R,Onderw,Date,BezSoort Set R=^VERSLAG("D",VerslId,0),Date=$P(R,D),BezSoort=$P(R,D,7),Date=$$EXTDATE^vhDTyp(Date) Set BezSoort=$P(^RES("VERSLAG","PI","BEZOEKSOORT","D",BezSoort),"`",2) Set Onderw=BezSoort_" op "_Date Quit Onderw ; ; 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) Set R=$$DBEZOEK^VERSLAG2(BezSoort) Set:$L(R) R="@B"_R_"@b" Set:$L(Date) R=R_" op "_$$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,RefNr) 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 Set AddLine=0,Count=$G(Count) Do GETWRAP^vhBIGEDIT("^VERSLAG(""D"",VerslId,""M"")",Length,.R,"G","~","","") If R Do .Set Count=Count+1,Verslag(Count)="@UMotivatie@u" .For I=1:1:R Set Count=Count+1,Verslag(Count)=$J("",$P(R(I),"`",4))_$P(R(I),"`",5) .Set AddLine=1 Do GETWRAP^vhBIGEDIT("^VERSLAG(""D"",VerslId,""E"")",Length,.R,"G","~","","") If R Do .If AddLine Set Count=Count+1,Verslag(Count)="" .Set Count=Count+1,Verslag(Count)="@UEvaluatie@u" .For I=1:1:R Set Count=Count+1,Verslag(Count)=$J("",$P(R(I),"`",4))_$P(R(I),"`",5) .Set AddLine=1 Do GETWRAP^vhBIGEDIT("^VERSLAG(""D"",VerslId,""T"")",Length,.R,"G","~","","") If R Do .If AddLine Set Count=Count+1,Verslag(Count)="" .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() Quit $$SELECT^VERSLAG4() ; 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 Quit ; ; Lock verslag VLOCK(VerslId) 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 ;