DCSELUIT ;AFDRUKKEN DOKUMENTEN (selektie uitgaande) [ 08/06/2002 9:55 AM ] ; ; Markeer of verwijder markering in "KLANT" en "VANTOT" KLNTVANT(KLNr,Sessie,Ref) New Next If '$D(Ref) Set Ref="" If Ref'="^HULP($J,""K"",KLNr,KLANT(6))",$D(^HULP($J,"K",KLNr)) Do .Set Next=0 .For Set Next=$O(^HULP($J,"K",KLNr,Next)) Quit:Next="" Do ..Set R=^HULP($J,"K",KLNr,Next) Quit:$P(R,D)'=@DOCNr ..Set $P(R,D,5)=Sessie,^HULP($J,"K",KLNr,Next)=R,Next=999999 If Ref'="^HULP($J,""V"",VANTOT(6))",$D(^HULP($J,"V")) Do .Set Next=0 .For Set Next=$O(^HULP($J,"V",Next)) Quit:Next="" Do ..Set R=^HULP($J,"V",Next) Quit:$P(R,D)'=@DOCNr ..Set $P(R,D,5)=Sessie,^HULP($J,"V",Next)=R,Next=999999 Quit ; NEXT(K,Delete) If '$G(Delete),$D(^HULP($J,"T",K)) Quit 0 If Document="F" Set:'$D(^KFA("F",K)) K=0 Quit K If Document="V" Set:'$D(^KFAP("F",K)) K=0 Quit K If Document="L" Do Quit K .If '$D(^KU1(K,"F")) Set K=0 Quit .IF $L($P(^KU1(K,"F"),D,2)) Set K=0 If Document="O" Do Quit K .If '$D(^KO1(K,"F")) Set K=0 Quit .IF $L($P(^KO1(K,"F"),D,2)) Set K=0 If Document="A" Set:'$D(^KOFKL1(K,"F")) K=0 Quit K Quit 0 ; ; Markeer als geselekteerd MARK(Ref) New @DOCNr,SessieNr,Next Set @DOCNr=$P($G(@Ref),D) Quit:@DOCNr="" MRK1 If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") Else If Document'="F",Document'="V" Set Sessie="K" Else Do Quit:Sessie="-" .Do FETCHBAK .If $P(R,D,2)!$P(R,D,3) Set SessieNr=$S($P(R,D,2):3,1:2),Sessie=$P("\K\I",D,SessieNr) Quit .Else Do ASKSESS^DCSELECT("KI"_$S($D(@Bakje):"",1:$S(Document'="F":"C",$D(^KFBP("F",@DOCNr)):"",1:"C"))) Set SessieNr=$F("KI",Sessie) If 'SessieNr,$D(@Bakje) Quit If SessieNr Do FETCHBAK If $P(R,D,SessieNr) Goto MRK1:'$D(^HULP($J,"T")) Quit If '$D(^HULP($J,"T")) Do .Set ^HULP($J,"T")=Sessie .If Document'="F",Document'="V" Quit .Set FP=412 Write @F,$P("Copie\\Klant\Intern",D,SessieNr+1) Quit:Sessie'=^HULP($J,"T") Set R=@Ref,$P(R,D,5)=Sessie,@Ref=R,^HULP($J,"T",@DOCNr)=Sessie_D_$$PROFORMA(R) New KLNr Set KLNr=$P(R,D,2) Do EL^PROC Set DL(2)="DO" Do ML^PROC Kill DL(2) Do KLNTVANT(KLNr,Sessie,Ref) Quit ; FETCHBAK Set R="" If $D(@Bakje) Set R=@Bakje Quit If Document'="F" Quit New Bakje Set Bakje="^KFBP(""F"",@DOCNr)" If $D(@Bakje) Set R=@Bakje Quit ; ; Verwijder markering DELETE(Ref) New @DOCNr,SessieNr,Next Set @DOCNr=$P($G(@Ref),D) Quit:@DOCNr="" Quit:'$D(^HULP($J,"T",@DOCNr)) Set R=@Ref,$P(R,D,5)="",@Ref=R New KLNr Set KLNr=$P(R,D,2) Kill ^HULP($J,"T",@DOCNr) Do EL^PROC Set DL(2)="DO" Do ML^PROC Kill DL(2) Do KLNTVANT(KLNr,"",Ref) Quit ; ; Haal faktuurinfo FAKTINFO New KlantNm,WoonPl,FaktTyp,Datum If Document="F" Set R=^KFA("F",@DOCNr,0,0) Else Set R=^KFAP("F",@DOCNr,0,0) Set KLNr=$P(R,D),FaktTyp=$P(R,D,2),Datum=$P(R,D,6) Set:Document="V" FaktTyp="P" Set R=^KKL(^KK1(KLNr),0),KlantNm=$P(R,D,2),WoonPl=$P(R,D,7) Set R=@DOCNr_D_KLNr_D_SessieK_D_SessieI_D_Sessie_D_FaktTyp_D_Datum_D_KlantNm_D_WoonPl Quit ; ; Haal info leveringsbon BONINFO New KlantNm,WoonPl,VerzWijz,Datum,Status Set KLNr=$P(^KU1(@DOCNr,"F"),D) Set R=^KUL(KLNr,"F",@DOCNr,1) Set Datum=$P(R,D,2),VerzWijz=$P($P(R,D,7),"#",2),Status=$P(R,D,28) If Status="",$P(R,D,25)="M" Set Status="m" Set R=^KKL(^KK1(KLNr),0),KlantNm=$P(R,D,2),WoonPl=$P(R,D,7) Set R=@DOCNr_D_KLNr_D_D_D_Sessie_D_VerzWijz_D_Datum_D_KlantNm_D_WoonPl_D_Status Quit ; ; Haal info order ORDINFO New KlantNm,WoonPl,OrdRef,Datum,OrdTyp Set KLNr=$P(^KO1(@DOCNr,"F"),D) Set R=^KOD(KLNr,"F",@DOCNr,1) Set Datum=$P(R,D,2),OrdRef=$P(R,D,3),OrdTyp=$$LOCASE^vhRtn1($P(R,D,25)) Set R=^KKL(^KK1(KLNr),0),KlantNm=$P(R,D,2),WoonPl=$P(R,D,7) Set R=@DOCNr_D_KLNr_D_D_D_Sessie_D_OrdRef_D_Datum_D_KlantNm_D_WoonPl_D_OrdTyp Quit ; ; Haal info offerte OFFINFO New KlantNm,WoonPl,OffRef,Datum,OffTyp Set KLNr=$P(^KOFKL1(@DOCNr,"F"),D) Set R=^KOFKL(KLNr,"F",@DOCNr,1) Set Datum=$P(R,D,2),OffRef=$P(R,D,3),OffTyp=$$LOCASE^vhRtn1($P(R,D,25)) Set R=^KKL(^KK1(KLNr),0),KlantNm=$P(R,D,2),WoonPl=$P(R,D,7) Set R=@DOCNr_D_KLNr_D_D_D_Sessie_D_OffRef_D_Datum_D_KlantNm_D_WoonPl_D_OffTyp Quit ; ; Is proforma faktuur PROFORMA(R) Set R=$P(R,D,6) If "FV"'[Document!(R'="P") Set R="" Quit R ; ; Put in ^HULP PUTHULP(Routine,Index,PutSes) Do @Routine Set:$L($G(Index)) Count=Count+1,^HULP($J,Index,Count)=R If $G(PutSes) Set ^HULP($J,"T",@DOCNr)=Sessie_D_$$PROFORMA(R) Quit ; ; Write list WL(Ref) Do WL^PROC If $D(Ref) Do SA^DCSELECT(Ref) Quit ; ; Scroll list SL(Ref) SL1 Do SL^PROC If R="ENTER" Do Goto SL1 .Quit:'$D(@Ref) .Set @DOCNr=$P(@Ref,D) .If '$D(^HULP($J,"T",@DOCNr)) Do MARK(Ref) Quit .Do DELETE(Ref) Quit ; ; Toon de geselekteerde SELECTED New KLNr,@DOCNr,Date,Count,Sessie,Ref New SessieK,SessieI Kill ^HULP($J,"S") Set DL(1)="SELECTED",SELECTED(1)="^HULP("_$J_",""S""" Set (SELECTED(6),SELECTED(7))=1 Set @DOCNr="",Count=0 Do SA1^DCSELECT Set Sessie="" If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") For Set @DOCNr=$O(^HULP($J,"T",@DOCNr),-1) Quit:@DOCNr="" Do .If Document="F"!(Document="V") Do Quit ..Set R=^HULP($J,"T",@DOCNr),(SessieK,SessieI)="" ..If $P(R,D,2)="P" Do PROFSEL Quit ..If $D(@Bakje) Set R=@Bakje,SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) ..Do PUTHULP("FAKTINFO","S") .If Document="L" Do PUTHULP("BONINFO","S") Quit .If Document="O" Do PUTHULP("ORDINFO","S") Quit .If Document="A" Do PUTHULP("OFFINFO","S") Quit Set FP=400+$P(FPKlLev,D) Write @F,@F2 Do WL(5) SEL1 Do SL("^HULP($J,""S"",SELECTED(6))") If R'="HELP",R'="COM" Goto SEL1:Keys'[R,SEL1:R="S"&$D(^HULP($J,"S")) Kill ^HULP($J,"S") Quit ; ; Toon geselekteerde proforma bij geselekteerde normale PROFSEL New Document,Bakje Set Document="V",Bakje="^KFBP(""F"",@DOCNr)" If $D(@Bakje) Set R=@Bakje,SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) Do PUTHULP("FAKTINFO","S") Quit ; ; Toon het printbakje BAKJE New KLNr,@DOCNr,Date,Count,Sessie,Next,Ref New SessieK,SessieI Kill ^HULP($J,"B") Set DL(1)="BAKJE",BAKJE(1)="^HULP("_$J_",""B""" Set (BAKJE(6),BAKJE(7))=1 Set Next=$P(Bakje,"@DOCNr")_"@DOCNr)",@DOCNr="",Count=0 Do SA1^DCSELECT For Set @DOCNr=$O(@Next,-1) Quit:@DOCNr="" Do .Set Sessie="" If $D(^HULP($J,"T",@DOCNr)) Set Sessie=^HULP($J,"T") .If Document="F"!(Document="V") Do Quit ..Set R=@Bakje,SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) ..Do PUTHULP("FAKTINFO","B") .If Document="L" Do PUTHULP("BONINFO","B") Quit .If Document="O" Do PUTHULP("ORDINFO","B") Quit .If Document="A" Do PUTHULP("OFFINFO","B") Quit If Document="F" Do PROFBAK Set FP=400+$P(FPKlLev,D) Write @F,@F2 Do WL(3) BAK1 Do SL("^HULP($J,""B"",BAKJE(6))") If R'="HELP",R'="COM" Goto BAK1:Keys'[R,BAK1:R="B"&$D(^HULP($J,"B")) Kill ^HULP($J,"B") Quit ; ; Selekteer bakje proforma bij bakje normale PROFBAK New Document,Bakje,Next,@DOCNr Set Document="V",Bakje="^KFBP(""F"",@DOCNr)",Next=$P(Bakje,"@DOCNr")_"@DOCNr)",@DOCNr="" For Set @DOCNr=$O(@Next,-1) Quit:@DOCNr="" Do .Set Sessie="" If $D(^HULP($J,"T",@DOCNr)) Set Sessie=^HULP($J,"T") .Set R=@Bakje,SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) .Do PUTHULP("FAKTINFO","B") Quit ; ; Selekteer alle uit het printbakje voor een bepaalde sessie SESSIE New KLNr,@DOCNr,Date,Count,Sessie,Next,Ref New SessieK,SessieI New SessieNr Kill ^HULP($J,"A") Do SA^DCSELECT(2) Set FP=400+$P(FPKlLev,D) Write @F,@F1 If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") Else If Document'="F",Document'="V" Set Sessie="K" Else Do ASKSESS^DCSELECT("KI") Set SessieNr=$F("KI",Sessie) If 'SessieNr Set R="" Quit Set DL(1)="SESSIE",SESSIE(1)="^HULP("_$J_",""A""" Set (SESSIE(6),SESSIE(7))=1 Set Next=$P(Bakje,"@DOCNr")_"@DOCNr)",@DOCNr="",Count=0 Do SA1^DCSELECT For Set @DOCNr=$O(@Next,-1) Quit:@DOCNr="" Do .If Document="F"!(Document="V") Do Quit ..Set R=@Bakje Quit:$P(R,D,SessieNr) ..Set SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) ..Do PUTHULP("FAKTINFO","A",1),KLNTVANT(KLNr,Sessie) .If Document="L" Do PUTHULP("BONINFO","A",1),KLNTVANT(KLNr,Sessie) Quit .If Document="O" Do PUTHULP("ORDINFO","A",1),KLNTVANT(KLNr,Sessie) Quit .If Document="A" Do PUTHULP("OFFINFO","A",1),KLNTVANT(KLNr,Sessie) Quit If Document="F" Do PROFSES If $D(^HULP($J,"T")) Do .If $G(^HULP($J,"T"))="" Do ..Set ^HULP($J,"T")=Sessie ..If Document'="F",Document'="V" Quit ..Set FP=412 Write @F,$P("Copie\\Klant\Intern",D,SessieNr+1) Do WL(2) SES1 Do SL("^HULP($J,""A"",SESSIE(6))") If R'="HELP",R'="COM" Goto SES1:Keys'[R,SES1:R="A"&$D(^HULP($J,"A")) Kill ^HULP($J,"A") Quit ; ; Selekteer sessie proforma bij sessie normale PROFSES New Document,Bakje,Next,@DOCNr Set Document="V",Bakje="^KFBP(""F"",@DOCNr)",Next=$P(Bakje,"@DOCNr")_"@DOCNr)",@DOCNr="" For Set @DOCNr=$O(@Next,-1) Quit:@DOCNr="" Do .Set R=@Bakje Quit:$P(R,D,SessieNr) .Set SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) .Do PUTHULP("FAKTINFO","A",1),KLNTVANT(KLNr,Sessie) Quit ; ; Selekteer van ... tot ... VANTOT New KLNr,@DOCNr,Date,Count,Sessie New SessieK,SessieI New SessieNr,Next Do SA^DCSELECT(6) Set FP=400+$P(FPKlLev,D) Write @F,@F1 Set DL(1)="VANTOT",VANTOT(1)="^HULP("_$J_",""V""" Set Count=$G(^HULP($J,"V")) If Count Do WL() Else Set (VANTOT(6),VANTOT(7))=1 If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") Else If Document'="F",Document'="V" Set Sessie="K" Else Do ASKSESS^DCSELECT("KIC") If R="-" Set R="" Quit Set SessieNr=$F("KI",Sessie) VAN1 Do VANTOT^DCSELECT If K="-" Set:Count ^HULP($J,"V")=Count Quit If K="" Quit:'$D(^HULP($J,"V")) Set FP=2203 Write @F,@F1 Goto VAN2 Set K=$$REPLACE^vhRtn1(K,"-",":1:"),FP=2203 Write @F,@F1 Kill Next Set Next=0 Xecute "For K="_K_" If $$NEXT(K) Set Next=Next+1,Next(Next)=K" Do SA1^DCSELECT For Next=1:1:Next Set @DOCNr=Next(Next) Do .If Document="F"!(Document="V") Do Quit ..Set (SessieK,SessieI)="" ..If $D(@Bakje) Quit:'SessieNr Set R=@Bakje Quit:$P(R,D,SessieNr) Do ...Set SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) ..Do PUTHULP("FAKTINFO","V",1),KLNTVANT(KLNr,Sessie,"^HULP($J,""V"",VANTOT(6))") .If Document="L" Do PUTHULP("BONINFO","V",1),KLNTVANT(KLNr,Sessie,"^HULP($J,""V"",VANTOT(6))") Quit .If Document="O" Do PUTHULP("ORDINFO","V",1),KLNTVANT(KLNr,Sessie,"^HULP($J,""V"",VANTOT(6))") Quit .If Document="A" Do PUTHULP("OFFINFO","V",1),KLNTVANT(KLNr,Sessie,"^HULP($J,""V"",VANTOT(6))") Quit If $D(^HULP($J,"T")) Do .If $G(^HULP($J,"T"))="" Do ..Set ^HULP($J,"T")=Sessie ..If Document'="F",Document'="V" Quit ..Set FP=412 Write @F,$P("Copie\\Klant\Intern",D,SessieNr+1) If $D(VANTOT(9)),VANTOT(9)'=Count Do .Set VANTOT(6)=VANTOT(9)+1 .If VANTOT(6)-VANTOT(7)'VANTOT(6) Set VANTOT(7)=VANTOT(6) Set VANTOT(9)=Count Do WL(6) VAN2 Do SL("^HULP($J,""V"",VANTOT(6))") If R'="HELP",R'="COM" Goto VAN2:Keys'[R,VAN1:R="V"&$D(^HULP($J,"V")) Set ^HULP($J,"V")=Count Quit ; ; Bepaalde batch terug afdrukken BATCH New I,KLNr,@DOCNr,Date,Count,Sessie New SessieK,SessieI New SessieNr,Next New Date,Time,Batch,Delete Do SA^DCSELECT(8) Set DL(1)="BATCH",BATCH(1)="^HULP("_$J_",""h""" If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") Else If Document'="F",Document'="V" Set Sessie="K" Else Do ASKSESS^DCSELECT("KIC") If R="-" Set R="" Quit Set SessieNr=$F("KI",Sessie) Do:'$D(^HULP($J,"h")) .Do SA1^DCSELECT .Set Date="",Count=0 .For Set Date=$O(^PRINTB(Document,Date),-1) Quit:Date="" Do ..Set Time="" ..For Set Time=$O(^PRINTB(Document,Date,Time),-1) Quit:Time="" Do ...Set Batch=^PRINTB(Document,Date,Time) ...Set Count=Count+1,^HULP($J,"h",Count)=Batch Do WL(8) BAT1 Do SL^PROC If R="ENTER" Do Goto BAT1 .Set R=^HULP($J,"h",BATCH(6)) .Set Delete=$L($P(R,D,10)),$P(R,D,10)=$S($P(R,D,10)="*":"",1:"*"),^HULP($J,"h",BATCH(6))=R .Set R=$P(R,D,6),R=$$REPLACE^vhRtn1(R,"-",":1:") .Kill Next Set Next=0,K=R .If Document="F" Xecute "New Document Set Document=""V"" For K="_K_" If $$NEXT(K,Delete) Set Next=Next+1,Next(Next)=K_D_Document" .Do:Document'="H" ; Geen herinneringen ..Set K=R Xecute "For K="_K_" If $$NEXT(K,Delete) Set Next=Next+1,Next(Next)=K_D_Document" ..Do SA1^DCSELECT .For Next=1:1:Next Do ..New Document ..Set R=Next(Next) ..Set @DOCNr=$P(R,D),Document=$P(R,D,2) ..If Delete Do ...Kill ^HULP($J,"T",@DOCNr) ...If Document="F"!(Document="V") Do FAKTINFO ...If Document="L" Do BONINFO ...If Document="O" Do ORDINFO ...If Document="A" Do OFFINFO ...Do KLNTVANT(KLNr,"") ..Else Do ...If Document="F"!(Document="V") Do Quit ....Set (SessieK,SessieI)="" ....If $D(@Bakje) Quit:'SessieNr Set R=@Bakje Quit:$P(R,D,SessieNr) Do .....Set SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) ....Do PUTHULP("FAKTINFO",,1),KLNTVANT(KLNr,Sessie) ...If Document="L" Do PUTHULP("BONINFO",,1),KLNTVANT(KLNr,Sessie) Quit ...If Document="O" Do PUTHULP("ORDINFO",,1),KLNTVANT(KLNr,Sessie) Quit ...If Document="A" Do PUTHULP("OFFINFO",,1),KLNTVANT(KLNr,Sessie) Quit .If $D(^HULP($J,"T")) Do ..If $G(^HULP($J,"T"))="" Do ...Set ^HULP($J,"T")=Sessie ...If Document'="F",Document'="V" Quit ...Set FP=412 Write @F,$P("Copie\\Klant\Intern",D,SessieNr+1) .Do WL(8) If R'="HELP",R'="COM" Goto BAT1:Keys'[R,BAT1:R="H"&$D(^HULP($J,"h")) Quit ; ; Toon alle van een bepaalde klant KLANT New KLNr,@DOCNr,Date,Count,Sessie New FaktTyp,Datum,SessieK,SessieI,VerzWijz,OrdRef,OrdTyp,OffTyp,Status KLT1 Set (K,R)=$$SELECT^KLANT6() If K="-" Goto KLT3:$G(DL(1))="KLANT" Quit Set R=^KKL(^KK1(K),0),FP=2101 Write @F,@F1 If $G(DL(1))="KLANT",$G(KLANT)=$P(R,D) Set KLNr=KLANT Goto KLT3 Set KLNr=$P(R,D),FP=400+$P(FPKlLev,D) Write @F,$P(R,D,2),@F2 Set FP=400+$P(FPKlLev,D,2) Write @F,$E($P(R,D,7),1,18) Set DL(1)="KLANT",KLANT(1)="^HULP("_$J_",""K"","_KLNr Set (KLANT(6),KLANT(7))=1 If $D(^HULP($J,"K",KLNr)) Do Goto KLT3 .Set R=^HULP($J,"K",KLNr),KLANT(6)=$P(R,D),KLANT(7)=$P(R,D,2) .Set Count=$O(^HULP($J,"K",KLNr,""),-1),KLANT(9)=Count .Do WL(4) Do SA1^DCSELECT If Document="F"!(Document="V") Do Goto KLT2 .Set Date="",Count=0 .For Set Date=$O(@("^KFA"_$S(Document="F":"",1:"P")_"1(""F"",KLNr,Date)")) Quit:Date="" Do ..Set @DOCNr="" ..For Set @DOCNr=$O(@("^KFA"_$S(Document="F":"",1:"P")_"1(""F"",KLNr,Date,@DOCNr)"),-1) Quit:@DOCNr="" Do ...Set (SessieK,SessieI,Sessie)="" ...If $D(@Bakje) Set R=@Bakje,SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) ...If $D(^HULP($J,"T",@DOCNr)) Set Sessie=^HULP($J,"T") ...Set R=@("^KFA"_$S(Document="F":"",1:"P")_"(""F"",@DOCNr,0,0)") ...Set FaktTyp=$P(R,D,2),Datum=$P(R,D,6) Set:Document="V" FaktTyp="P" ...Set R=@DOCNr_D_KLNr_D_SessieK_D_SessieI_D_Sessie_D_FaktTyp_D_Datum ...Set Count=Count+1,^HULP($J,"K",KLNr,Count)=R ...If Count=20 Do WL() If Document="L" Do Goto KLT2 .Set @DOCNr="",Count=0 .For Set @DOCNr=$O(^KUL(KLNr,"F",@DOCNr),-1) Quit:@DOCNr="" Do ..Set Sessie="" If $D(^HULP($J,"T",@DOCNr)) Set Sessie=^HULP($J,"T") ..Set R=^KUL(KLNr,"F",@DOCNr,1) ..Set Datum=$P(R,D,2),VerzWijz=$P($P(R,D,7),"#",2),Status=$P(R,D,28) ..If Status="",$P(R,D,25)="M" Set Status="m" ..Set R=@DOCNr_D_KLNr_D_D_D_Sessie_D_VerzWijz_D_Datum_"\\\"_Status ..Set Count=Count+1,^HULP($J,"K",KLNr,Count)=R ..If Count=20 Do WL() If Document="O" Do Goto KLT2 .Set @DOCNr="",Count=0 .For Set @DOCNr=$O(^KOD(KLNr,"F",@DOCNr),-1) Quit:@DOCNr="" Do ..Set Sessie="" If $D(^HULP($J,"T",@DOCNr)) Set Sessie=^HULP($J,"T") ..Set R=^KOD(KLNr,"F",@DOCNr,1) ..Set Datum=$P(R,D,2),OrdRef=$P(R,D,3),OrdTyp=$$LOCASE^vhRtn1($P(R,D,25)) ..Set R=@DOCNr_D_KLNr_D_D_D_Sessie_D_OrdRef_D_Datum_"\\\"_OrdTyp ..Set Count=Count+1,^HULP($J,"K",KLNr,Count)=R ..If Count=20 Do WL() If Document="A" Do Goto KLT2 .Set @DOCNr="",Count=0 .For Set @DOCNr=$O(^KOFKL(KLNr,"F",@DOCNr),-1) Quit:@DOCNr="" Do ..Set Sessie="" If $D(^HULP($J,"T",@DOCNr)) Set Sessie=^HULP($J,"T") ..Set R=^KOFKL(KLNr,"F",@DOCNr,1) ..Set Datum=$P(R,D,2),OffRef=$P(R,D,3),OffTyp=$$LOCASE^vhRtn1($P(R,D,25)) ..Set R=@DOCNr_D_KLNr_D_D_D_Sessie_D_OffRef_D_Datum_"\\\"_OffTyp ..Set Count=Count+1,^HULP($J,"K",KLNr,Count)=R ..If Count=20 Do WL() KLT2 Do SA^DCSELECT(4) Set KLANT(9)=Count If Count<20 Do WL() KLT3 Do SL("^HULP($J,""K"",KLNr,KLANT(6))") If R'="HELP",R'="COM" Goto KLT3:Keys'[R Set ^HULP($J,"K",KLNr)=KLANT(6)_D_KLANT(7),KLANT=KLNr Goto KLT1:R="K" Quit ; ; Selekteer alle uit het printbakje voor een bepaalde verzendwijze VERZWIJZ(Zending) New KLNr,@DOCNr,Date,Count,Sessie,Next New SessieK,SessieI New BonInd,VerzWijz,SessieNr Kill ^HULP($J,"X") Do SA^DCSELECT(^RES("KLANT","PI","VERZENDWIJZE","D",Zending,"N")) Set FP=400+$P(FPKlLev,D) Write @F,@F1 If $D(^HULP($J,"T")) Set Sessie=^HULP($J,"T") Else If Document'="F",Document'="V" Set Sessie="K" Else Do ASKSESS^DCSELECT("KI") Set SessieNr=$F("KI",Sessie) If 'SessieNr Set R="" Quit Set DL(1)="VERZWIJZ",VERZWIJZ(1)="^HULP("_$J_",""X""" Set (VERZWIJZ(6),VERZWIJZ(7))=1 Set Next=$P(Bakje,"@DOCNr")_"@DOCNr)",@DOCNr="",Count=0 Do SA1^DCSELECT For Set @DOCNr=$O(@Next,-1) Quit:@DOCNr="" Do .If Document="F"!(Document="V") Do Quit ..Set BonInd="U",VerzWijz="" ..For Set BonInd=$O(@("^KFA"_$S(Document="F":"",1:"P")_"(""F"",@DOCNr,BonInd)")) Quit:BonInd=""!(VerzWijz=Zending) Do ...Set R=@("^KFA"_$S(Document="F":"",1:"P")_"(""F"",@DOCNr,BonInd,1)"),VerzWijz=$E($P($P(R,D,7),"#"),1,2) ..Quit:VerzWijz'=Zending ..Set R=@Bakje Quit:$P(R,D,SessieNr) ..Set SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) ..Do PUTHULP("FAKTINFO","X",1),KLNTVANT(KLNr,Sessie) .If Document="L" Do Quit ..Set KLNr=$P(^KU1(@DOCNr,"F"),D) ..Set R=^KUL(KLNr,"F",@DOCNr,1),VerzWijz=$E($P($P(R,D,7),"#"),1,2) ..Quit:VerzWijz'=Zending ..Do PUTHULP("BONINFO","X",1),KLNTVANT(KLNr,Sessie) If Document="F" Do PROFVZW If $D(^HULP($J,"T")) Do .If $G(^HULP($J,"T"))="" Do ..Set ^HULP($J,"T")=Sessie ..If Document="F",Document="V" Quit ..Set FP=412 Write @F,$P("Copie\\Klant\Intern",D,SessieNr+1) Do WL(^RES("KLANT","PI","VERZENDWIJZE","D",Zending,"N")) VZW1 Do SL("^HULP($J,""X"",VERZWIJZ(6))") If R'="HELP",R'="COM" Goto VZW1:Keys'[R,VZW1:R="X"&$D(^HULP($J,"X")) Kill ^HULP($J,"X") Quit ; ; Selekteer alle uit het printbakje proforma voor een bepaalde verzendwijze bij normale PROFVZW New Document,Bakje,Next,@DOCNr Set Document="V",Bakje="^KFBP(""F"",@DOCNr)",Next=$P(Bakje,"@DOCNr")_"@DOCNr)",@DOCNr="" For Set @DOCNr=$O(@Next,-1) Quit:@DOCNr="" Do .Set BonInd="U",VerzWijz="" .For Set BonInd=$O(@("^KFA"_$S(Document="F":"",1:"P")_"(""F"",@DOCNr,BonInd)")) Quit:BonInd=""!(VerzWijz=Zending) Do ..Set R=@("^KFA"_$S(Document="F":"",1:"P")_"(""F"",@DOCNr,BonInd,1)"),VerzWijz=$E($P($P(R,D,7),"#"),1,2) .Quit:VerzWijz'=Zending .Set R=@Bakje Quit:$P(R,D,SessieNr) .Set SessieK=$P("*",D,$P(R,D,2)+1),SessieI=$P("*",D,$P(R,D,3)+1) .Do PUTHULP("FAKTINFO","X",1),KLNTVANT(KLNr,Sessie) Quit ;