VERSLAG5 ;Verslagen [ 01/28/98 1:38 PM ] ; ; Ingave nieuw verslag NIEUW New R,Date,FTime,TTime,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,Print New Auteur,IntPers,ExtPers,MotEva,TeDoen,Tekst,Adres,VerslId Set Date=+$H Set (FTime,TTime,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm)="" Set (Auteur,IntPers,ExtPers,MotEva,TeDoen,Tekst,Adres)="" Do NIEUW^vhScherm("VERSLAGD") Set:$G(PopRead) %SC=$$EDIT(%SC) Do:'%SC CLEAN If %SC Do .Do GETHULP(.Tekst) .Set VerslId=$$SAVE("",Date,FTime,TTime,"",RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,CUserId,IntPers,ExtPers,.MotEva,.TeDoen,.Tekst,Adres) .Do DISPLAY^vhScherm("VERSLAGD","","","","VERSLID") .If $G(Print) Do PRINT^VERSLAG(VerslId) .Do MAILING^VERSLAG(VerslId) Quit ; ; Wijzigen bestaand verslag WIJZIG(VerslId) New R,Date,FTime,TTime,RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,Print New Auteur,IntPers,ExtPers,MotEva,TeDoen,Tekst,Adres,MailRef Quit:'$$VLOCK^VERSLAG(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")),ExtPers=$G(^VERSLAG("D",VerslId,"C")) Set Adres=$G(^VERSLAG("D",VerslId,"A")),MailRef=$G(^VERSLAG("D",VerslId,"P")) For I=1:1 Quit:'$D(^VERSLAG("D",VerslId,"T",I)) Set Tekst(I)=^VERSLAG("D",VerslId,"T",I) Do PUTHULP(.Tekst) For I=1:1 Quit:'$D(^VERSLAG("D",VerslId,"EM",I)) Set MotEva(I)=^VERSLAG("D",VerslId,"EM",I) Set TeDoen=$G(^VERSLAG("D",VerslId,"TD")) If $L(TeDoen) For I=1:1:$L(TeDoen,D) Set TeDoen(I)=$P(TeDoen,D,I) Do EDIT^vhScherm("VERSLAGD") Set:$G(PopRead) %SC=$$EDIT(%SC) Do:'%SC CLEAN If %SC Do .Kill ^VERSLAG("D",VerslId,"P") .Do DELOBJ(VerslId) .Do GETHULP(.Tekst) .Do SAVE(VerslId,Date,FTime,TTime,"",RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,Auteur,IntPers,ExtPers,.MotEva,.TeDoen,.Tekst,Adres,MailRef) .If $G(Print) Do PRINT^VERSLAG(VerslId) .Quit:'$D(^VERSLAG("D",VerslId,"P")) .Do MAILING^VERSLAG(VerslId) Else If $G(Print) Do PRINT^VERSLAG(VerslId) Do VUNLOCK^VERSLAG(VerslId) Quit ; ; Ingave verslag vanuit een ander programma EXTERN(Date,FTime,TTime,Betreft,BezSoort,IntPers,MotEva,Optie) New MotEva ;??? voor Agenda New I,R,RefType,RefNr,Bestel,Geldig,BeginKm,EindKm,DagKm New Auteur,ExtPers,TeDoen,Tekst,Adres,VerslId,Extern,LDME,LDTD,EditScrn Do STORE^vhTERMINA(),INIT^VERSLAG,LDINIT^VERSLAG 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 IntPers=$G(IntPers),IntPers=$$USERID^vhUSER(IntPers) Set (BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm)="" Set (Auteur,ExtPers,TeDoen,Tekst,Adres)="" Set EditScrn=$G(Optie("EDIT")) If EditScrn=-1 Set %SC=1 Else Do @($S(EditScrn:"EDIT",1:"NIEUW")_"^vhScherm(""VERSLAGD"")") Do:'%SC CLEAN If %SC Do .Do GETHULP(.Tekst) .Set VerslId=$$SAVE("",Date,FTime,TTime,"",RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,CUserId,IntPers,ExtPers,.MotEva,.TeDoen,.Tekst,Adres) .If $G(Print) Do PRINT^VERSLAG(VerslId) .Do MAILING^VERSLAG(VerslId) Do REFRESH^vhTERMINA() Quit $G(VerslId) ; ; 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) New I,R,DateMod,Nieuw Set MailRef=$G(MailRef) 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(MotEva(I)) Set ^VERSLAG("D",VerslId,"EM",I)=MotEva(I) Set TeDoen="" For I=1:1 Quit:'$D(TeDoen(I)) Set TeDoen=TeDoen_D_TeDoen(I) Set $E(TeDoen)="" Set:$L(TeDoen) ^VERSLAG("D",VerslId,"TD")=TeDoen Set:$L(IntPers) ^VERSLAG("D",VerslId,"I")=IntPers Set:$L(ExtPers) ^VERSLAG("D",VerslId,"C")=ExtPers Set:$L(Adres) ^VERSLAG("D",VerslId,"A")=Adres Set:$L(MailRef) ^VERSLAG("D",VerslId,"P")=MailRef 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,MotEva,AktDate 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)="" If RefType="PP" Do .Set R=$$UPCASE^vhRtn1($P($G(^VERSLAG("D",VerslId,"A")),D)) .If $L(R) Set ^VERSLAG("IP",R,+Date,VerslId)="" Set ^VERSLAG("ID",+Date,VerslId)="",MotEva=0 For Set MotEva=$O(^VERSLAG("D",VerslId,"EM",MotEva)) Quit:'MotEva Do .Set R=^VERSLAG("D",VerslId,"EM",MotEva),AktDate=$P(R,D,7) .Set:AktDate ^VERSLAG("IAD",AktDate,VerslId)="" Set:$P($ZU(5),",")="VTW" ^VERSLAG("UPD",VerslId)="" Quit ; ; Verwijderen van een verslag DELOBJ(VerslId) New I,R,Date,RefType,RefNr,IntPers,MailId,MotEva,AktDate 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) If RefType="PP" Do .Set R=$$UPCASE^vhRtn1($P($G(^VERSLAG("D",VerslId,"A")),D)) .If $L(R) Kill ^VERSLAG("IP",R,+Date,VerslId) Kill ^VERSLAG("ID",+Date,VerslId) Set MotEva=0 For Set MotEva=$O(^VERSLAG("D",VerslId,"EM",MotEva)) Quit:'MotEva Do .Set R=^VERSLAG("D",VerslId,"EM",MotEva),AktDate=$P(R,D,7) .Kill:AktDate ^VERSLAG("IAD",AktDate,VerslId) Kill:$P($ZU(5),",")="VTW" ^VERSLAG("UPD",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 ; ; Tekst in ^HULP voor vhBIGEDIT PUTHULP(Tekst) Kill ^HULP(%J,"T") Merge ^HULP(%J,"T")=Tekst Kill Tekst Quit ; ; ^HULP in Tekst voor save GETHULP(Tekst) Kill Tekst Merge Tekst=^HULP(%J,"T") Do CLEAN Quit ; CLEAN Kill ^HULP(%J,"T") Quit ; EDIT(%SC) New R,%SCTemp,Annuleer,EditMode Set EditMode=1,%SCTemp=$G(%SC) For Quit:'$G(PopRead) Set R=$$PREVIEW() Quit:R'="A" Do .New %SCTemp .Do EDIT^vhScherm("VERSLAGD") Quit $S($G(Annuleer):0,%SC:%SC,1:%SCTemp) ; PREVIEW() New %JJ,VerslId,PopRead,Verslag,Preview Set %JJ=$$%J^vhRtn1(),VerslId=%JJ*1000 Do GETHULP(.Tekst) Do SAVE(VerslId,Date,FTime,TTime,"",RefType,RefNr,BezSoort,Bestel,Geldig,BeginKm,EindKm,DagKm,Auteur,IntPers,ExtPers,.MotEva,.TeDoen,.Tekst,Adres) Do PUTHULP(.Tekst) Do STORE^vhTERMINA() Do WRAP^VERSLAG(76,VerslId,.Verslag) Do INIT^vhLIST("VERSLAG","PREVIEW",.Preview) Do WRITE^vhLIST(.Preview) Set PopRead=$$SCROLL^vhLIST(.Preview) Do REFRESH^vhTERMINA() Do DELOBJ(VerslId) Quit PopRead ;