OFFOPV ;Offerte opvolging [ 11/07/2001 1:50 PM ] If '$D(Q) Kill S Q="K" Do ^cA604,INIT^vhTERMINA Do INIT,FETCH(),REFRESH(1),COMMAND Quit COMMAND For Do Quit:Input="-"!(Input=".") .Set Input=$$SCROLL^vhLIST(.LD,,1) .If Input="" Do DETAIL Quit .Do ..Set Lijn=LD("SELECT") ..Set (KLNr,OFFNr)="" ..Quit:'Lijn Quit:'$D(^HULP(%J,Lijn)) ..Set KLNr=$P(^HULP(%J,Lijn),D) ..Set OFFNr=$P(^HULP(%J,Lijn),D,2) ..Set:'$D(^KOFKL(KLNr,"F",OFFNr)) (KLNr,OFFNr)="" .If Input="COM" Do CALL^vhMenu("OFFOPV") .If Input="SPEC" Do CALL^vhMenu("OFFOPV") .If Input'="SPEC"!(Input'="COM") Do EXEC^vhMenu("OFFOPV",Input) Quit DETAIL New R,Lijn,Rec,KLNr,OFFNr,OFFLNr,Count Set Lijn=LD("SELECT") Set Rec=$G(^HULP(%J,Lijn)) If $L(Rec),Rec'=$G(Detail) Do . Kill Detail . Set KLNr=$P(Rec,D),OFFNr=$P(Rec,D,2),OFFLNr=100,Count=0 . Set R=^KOFKL(KLNr,"F",OFFNr,1),IsBruto=$P(R,D,27) . For Set OFFLNr=$O(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Quit:OFFLNr'?3.4N Do . . Set R=^KOFKL(KLNr,"F",OFFNr,OFFLNr),Count=Count+1,Detail(Count)=R . Set Detail=Rec . Do WRITE^vhLIST(.DET) Quit INIT Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Do INIT^vhLIST("OFFOPV","LIJST",.LD) Do INIT^vhLIST("OFFOPV","DETAIL",.DET) Set IsBruto="" Do REFRESH() Quit ; FETCH(Regios) Set Regios=$G(Regios),(KLNr,Cnt)=0 For Set KLNr=$O(^KOFKL(KLNr)) Quit:KLNr="" Do .Set OFFNr=0 .For Set OFFNr=$O(^KOFKL(KLNr,"F",OFFNr)) Quit:OFFNr="" Do ..Set Rec=$G(^KOFKL(KLNr,"F",OFFNr,1)) ..Quit:'$L(Rec) ..Quit:$P(Rec,D,28)="Z"!($P(Rec,D,28)="B")!($P(Rec,D,28)="P") ..Quit:'$$CHKREGIO(KLNr,OFFNr,Regios) ..Set Cnt=Cnt+1,^HULP(%J,^KK1(KLNr)_D_OFFNr_D_Cnt)=KLNr_D_OFFNr Do RENUMBER^vhLIST(.LD) Quit CHKREGIO(KLNr,OFFNr,Regios) New R,KlantId,Regio,Aantal,Deuren,Halux,Ok Set Ok=$D(^KK1(KLNr)) If Ok,$L(Regios),Regios'="A" Do .Set Deuren=";"_Regios_";"[";D;",Halux=";"_Regios_";"[";H;" .Set Aantal=$L(Regios,";")-Deuren-Halux .Set:Aantal KlantId=^KK1(KLNr),R=^KKL(KlantId,0),Regio=+$P(R,D,20),Ok=";"_Regios_";"[(";"_Regio_";") .Do:Ok ..If Deuren!Halux Do ...If Deuren Set Ok=$$CHKDEUR(KLNr,OFFNr) Quit:Ok ...If Halux Set Ok=$$CHKHALUX(KLNr,OFFNr) ..Else Do ...Set Ok='$$CHKDEUR(KLNr,OFFNr) ...Quit:'Ok ...Set Ok='$$CHKHALUX(KLNr,OFFNr) Quit Ok CHKDEUR(KLNr,OFFNr) New R,Ok,OFFLNr,PRNr Set Ok=0,OFFLNr=100 For Set OFFLNr=$O(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Quit:OFFLNr="" Do Quit:Ok .If OFFLNr'?.N Set Ok=$E(OFFLNr,3,4)="DE" Quit .Set R=^KOFKL(KLNr,"F",OFFNr,OFFLNr),PRNr=$P(R,D,2) .Quit:'PRNr .Set R=$O(^KPR(PRNr,"I")) .Quit:$E(R)'="I" .Set R=^KPR(PRNr,R),Ok=$E(R,3,4)="DE" Quit Ok CHKHALUX(KLNr,OFFNr) New R,Ok,OFFLNr,PRNr Set Ok=0,OFFLNr=100 For Set OFFLNr=$O(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Quit:OFFLNr="" Do Quit:Ok .Quit:OFFLNr'?.N .Set R=^KOFKL(KLNr,"F",OFFNr,OFFLNr),PRNr=$P(R,D,2) .Quit:'PRNr .Set Ok=$D(^KPR(PRNr,"J6332")) Quit Ok REFRESH(List) Write @F11,@F1 Write @FMTI,"Opvolging offertes - "_QN,@FMTi Do:$D(Regios) .New I,Aantal,Deuren,Halux .Set FP=201 Write @F,"Regio : " .If Regios="A" Write "Alles" Quit .Set Deuren=";"_Regios_";"[";D;",Halux=";"_Regios_";"[";H;" .Set Aantal=$L(Regios,";")-Deuren-Halux .Write $TR($P(Regios,";",1,Aantal),";",",") .If Aantal=1 Write " - ",$P(^RES("KLANT","PI","REGIO","D",$P(Regios,";")),"`",2) .Do:Deuren!Halux ..Write:Aantal " (" ..Write $S(Deuren&Halux:"Deuren + Halux",Deuren:"Deuren",Halux:"Halux",1:"") ..Write:Aantal ")" Do:$G(List) WRITE^vhLIST(.LD),WRITE^vhLIST(.DET) Quit CLEAN Kill ^HULP(%J) Quit REGIO New UserId,Regios Do INIT Set UserId=$G(CUserId,$$DEVUSER^vhUSER($$IO^cQ5)) Set Regios=$$REGIO^KLOPV(UserId,"Opvolgen offertes") Do:$L(Regios) FETCH(Regios),REFRESH(1),COMMAND,CLEAN Quit READMAIL ; Lezen van een oud mail gelinkt met een offerte New MailId,TUserId,Tekst,Lnk Set MailId=$P($G(^KOFKL(KLNr,"F",OFFNr,1)),D,31) Quit:'MailId If '$D(^vhMAIL("D",MailId)) Write *7 Quit Set Input=$$POPREAD^vhMAIL4(MailId,"O;-L;-P","Detail Mail") Quit NEWMAIL ; Ingave MAIL New MailId,TUserId,Tekst,Lnk,Optie Set Lijn=LD("SELECT") Quit:'Lijn Set KLNr=$P(^HULP(%J,Lijn),D) Set OFFNr=$P(^HULP(%J,Lijn),D,2) Quit:'$D(^KOFKL(KLNr,"F",OFFNr)) Lock +^KOFKL(KLNr,"F",OFFNr):1 Else Do LDISP^vhLock($NA(^KOFKL(KLNr,"F",OFFNr)),"Offerte "_OFFNr) Quit Set TUserId="R0"_$P(^KKL(^KK1(KLNr),0),D,20) Set Tekst=1,Tekst(1)="" Set Lnk=2,Lnk(1)="OFF\"_OFFNr_"\W",Lnk(2)="KL\"_KLNr_"\R" Set (Optie("D"),Optie("E"))=1 Set MailId=$$EXTERN^vhMAIL("KL",KLNr,"Opvolging offerte "_$E(OFFNr,1,3)_"."_$E(OFFNr,4,6),TUserId,.Tekst,.Lnk,.Optie) If MailId Do .Set $P(^KOFKL(KLNr,"F",OFFNr,1),D,31)=MailId .Do LINE^vhLIST(.LD,LD("SELECT")) Lock -^KOFKL(KLNr,"F",OFFNr) Quit MEMO ; Ingave MEMO (Offertestatus - $p(..,D,28)) Set Lijn=LD("SELECT") Quit:'Lijn Set KLNr=$P(^HULP(%J,Lijn),D) Set OFFNr=$P(^HULP(%J,Lijn),D,2) Quit:'$D(^KOFKL(KLNr,"F",OFFNr)) Lock +^KOFKL(KLNr,"F",OFFNr):1 Else Do LDISP^vhLock($NA(^KOFKL(KLNr,"F",OFFNr)),"Offerte "_OFFNr) Quit Do NIEUW^vhScherm("OFFOPVMEMO","","","","","",3) Lock -^KOFKL(KLNr,"F",OFFNr) Do LINE^vhLIST(.LD,LD("SELECT")) Quit PRINT Quit ; Raadplegen klant RPLKL Set Lijn=LD("SELECT") Quit:'Lijn Set KLNr=$P(^HULP(%J,Lijn),D) Set OFFNr=$P(^HULP(%J,Lijn),D,2) Quit:'$D(^KK1(KLNr)) Set SchermKL=$$RAADPL^KLANT(KLNr,$P($G(SchermKL),D)) Do REFRESH(1) Quit ; Raadplegen offerte RPLOFF Set Lijn=LD("SELECT") Quit:'Lijn Set KLNr=$P(^HULP(%J,Lijn),D) Set OFFNr=$P(^HULP(%J,Lijn),D,2) Quit:'$D(^KOFKL(KLNr,"F",OFFNr)) Set Locals("OFFNr")=OFFNr,Locals("Extern")=1 Do DO^vhPROGRAM("ExternVerwerkOfferte^Flow.VerwerkDoc","","",$G(NoMod)) Do REFRESH(1) Quit SENDMAIL Do INIT^vhTERMINA Quit ; Mail voorlopig niet meer versturen CW 25.03.05 Quit:$$CALCDATE^vhLib.DataTypes($H,"A","+0")'=+$H ; Alleen op werkdagen Set KLNr=0 For Set KLNr=$O(^KOFKL(KLNr)) Quit:KLNr="" Do .Quit:'$D(^KK1(KLNr)) .Quit:$P(^KKL(^KK1(KLNr),2),D,10) ; Commercieel niet actief .Set OFFNr=0 .For Set OFFNr=$O(^KOFKL(KLNr,"F",OFFNr)) Quit:OFFNr="" Do ..Set Rec=$G(^KOFKL(KLNr,"F",OFFNr,1)) ..Quit:'$L(Rec) ..Quit:'$P(Rec,D,30) ; Geen opvolg datum ..Quit:+$P(Rec,D,30)>+$H ; Opvolg datum niet verstreken ..Quit:$P(Rec,D,28)="Z" ; Zonder gevolg ..Quit:$P(Rec,D,28)="B" ; Bestelling ..Quit:$P(Rec,D,28)="P" ; Prijslijst ..Set OpvVw="" Set:'$$IsKSKlant(KLNr) OpvVw=$$EXTVW^KLOPV(KLNr) Set:'OpvVw OpvVw="OFFOPVKS" ..Set OffOpv(OpvVw,KLNr,OFFNr)="" Set OpvVw="" For Set OpvVw=$O(OffOpv(OpvVw)) Quit:OpvVw="" Do .Kill Txt,Lnk .Set Lnk=0,Txt=1,Txt(1)="Volgende offertes moeten vandaag opgevolgd worden~",KLNr="" .For Set KLNr=$O(OffOpv(OpvVw,KLNr)) Quit:KLNr="" Do ..Set KlNaam=$E($P(^KKL(^KK1(KLNr),0),D,2),1,20),OFFNr="" ..For Set OFFNr=$O(OffOpv(OpvVw,KLNr,OFFNr)) Quit:OFFNr="" Do ...Set Txt=Txt+1,Txt(Txt)="~ " ...Set Txt(Txt)=Txt(Txt)_$S($L(KlNaam):KLNr_" "_KlNaam_$J("",25-$L(KlNaam)),1:$J("",30)) ...Set Txt(Txt)=Txt(Txt)_$$EXTNUM^vhLib.DataTypes(OFFNr,0,".",0)_" "_$P(Rec,D,2) ...Set Lnk=Lnk+1,Lnk(Lnk)="OFF\"_OFFNr_"\W" ...Set KlNaam="" .Quit:Txt=1 .Set MailId=$$SYSTEM^vhMAIL("","","Opvolging offertes",OpvVw,.Txt,.Lnk,"","A") Quit IsKSKlant(KLNr) New KlantID #dim KlantID As DOM.VKP.VanHoeckeKlantID = ##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantPartijID(KLNr) Quit '(##class(DOM.DomeinContext).Instance().GeefKlantTypeAPI().IsIndustriePoolKlant(KlantID))