ZBCHKFLO ; klanten [ 12/19/2002 8:57 AM ] ; Do .New Check .Set Q="K" .Do ^cA604 New ProductTypeAPI #dim ProductTypeAPI As DOM.PM.ProductTypeAPI = ##class(DOM.DomeinContext).Instance().GeefProductTypeAPI() Write !!,"*** Flow - Orders ***" Set KLNr=0 For Set KLNr=$O(^KOD(KLNr)) Quit:'KLNr Do .Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),ORDNr=0 .For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:'ORDNr Do ..If '$D(^KO1(ORDNr)) Do ...Set Check=0 ...Do wKLANT^zbcheck ...Write !!,"Index ^KO1(",ORDNr,",""F"") onbekend",!,?8,"Klant = ",KLNr ..Set OLNr=100 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:'OLNr Do ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),LevTerm=$P(R,D,25),TOENr=$P(R,D,27),TLNr=$P($P(R,D,28),";"),ZR=$ZR ...If TOENr Do ....If '$D(^KTO1(TOENr)) Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Kom link ",ZR," toelevering onbekend",!,?8,"Toelev = ",TOENr ....Set LEVNr=$P(^KTO1(TOENr),D) ....If 'TLNr Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Kom link ",ZR," lijnnummer toelevering onbekend",!,?8,"Leveranc = ",LEVNr,?29,"Toelev = ",TOENr,?50,"Lijn = ",TLNr ....If '$D(^KTO(LEVNr,TOENr,TLNr)) Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Kom link ",ZR," toelevering lijn onbekend",!,?8,"Leveranc = ",LEVNr,?29,"Toelev = ",TOENr,?50,"Lijn = ",TLNr ....Set R=^KTO(LEVNr,TOENr,TLNr) ....If ($P(R,D,27)'=ORDNr) || ($P($P(R,D,28),";")'=OLNr) Do .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Kom link ",ZR," foutief",!,?8,"Order = ",ORDNr,?29,"Toelev = ",TOENr,?50,"Lijn = ",TLNr,!,?8,"Toelev = ",TOENr,?29,"Order = ",$P(R,D,27),?50,"Lijn = ",$P(R,D,28) ...If PRNr,LevTerm'?5N Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Levertermijn ",ZR," foutief",!,?8,"Levert = ",LevTerm If $G(Check)'=0 Do .Set ORDNr="" .For Set ORDNr=$O(^KO1(ORDNr)) Quit:ORDNr="" Do ..Set R=^KO1(ORDNr,"F"),KLNr=$P(R,D),BONNr=$P(R,D,2),ZR=$ZR ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ..If BONNr Do ...Quit:$D(^KU1(BONNr)) ...Set Check=0 ...Do wKLANT^zbcheck ...Write !!,"Index ",ZR," order reeds op bon",!,?8,"Klant = ",$P(R,D),?29,"Bon = ",$P(R,D,2) ..Else Do ...Quit:$D(^KOD(KLNr,"F",ORDNr)) ...Set Check=0 ...Do wKLANT^zbcheck ...Write !!,"Index ",ZR," order onbekend",!,?8,"Klant = ",$P(R,D) Write !!,"*** Flow - Toeleveringen ***" New RapporteerSptMeldingen,IsMeldingNodig Set RapporteerSptMeldingen = $Get(^||RapporteerSptMeldingen, "EERSTE-WARNING") ; Andere mogelijke defaults : "ALLE", "ALLEEN-ERRORS", "NIETS" If $G(Check)'=0 Do .Set LEVNr=0 .For Set LEVNr=$O(^KTO(LEVNr)) Quit:'LEVNr Do ..Set Leverancier=LEVNr_" "_$P(^KLE(^KL1(LEVNr),0),D,2),TOENr=0 ..For Set TOENr=$O(^KTO(LEVNr,TOENr)) Quit:'TOENr Do ...Set R=^KTO(LEVNr,TOENr,1),ABNr=$$UPTRIMAN^vhRtn1($P(R,D,10)) ;Quit:ABNr="" ...If '$D(^KTO1(TOENr)) Do ....Set Check=0 ....Do wLEVERANCIER^zbcheck ....Write !!,"Index ^KTO1(",TOENr,") onbekend",!,?8,"Leveranc = ",LEVNr ...If $L(ABNr),'$D(^KTO4(LEVNr,ABNr_D_TOENr)),'$$ISDIRORD^FLOWTOE(TOENr) Do ....Set Check=0 ....Do wLEVERANCIER^zbcheck ....Write !!,"Index ^KTO4(",LEVNr,",""",ABNr_D_TOENr,""") onbekend" ...Set TLNr=100 ...For Set TLNr=$O(^KTO(LEVNr,TOENr,TLNr)) Quit:'TLNr Do ....Set R=^KTO(LEVNr,TOENr,TLNr),ORDNr=$P(R,D,27),OLNr=$P($P(R,D,28),";"),PRNr=$P(R,D,2),ABLNr=$P(R,D,13,14),ZR=$ZR ....If PRNr,'$D(^KTO3(TOENr,ABLNr_D_TLNr)) Do .....Set Check=0 .....Do wLEVERANCIER^zbcheck .....Write !!,"Index ",$ZR," onbekend" ....If ORDNr Do .....If '$D(^KO1(ORDNr,"F")) Do Quit ......Set Check=0 ......Do wLEVERANCIER^zbcheck ......Write !!,"Kom link ",ZR," order onbekend",!,?8,"Order = ",ORDNr .....Set KLNr=$P(^KO1(ORDNr,"F"),D) .....If 'OLNr Do Quit ......Set Check=0 ......Do wLEVERANCIER^zbcheck ......Write !!,"Kom link ",ZR," lijnnummer order onbekend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"Lijn = ",OLNr .....If '$D(^KOD(KLNr,"F",ORDNr,OLNr)) Do Quit ......Set Check=0 ......Do wLEVERANCIER^zbcheck ......Write !!,"Kom link ",ZR," order lijn onbekend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"Lijn = ",OLNr .....Set R=^KOD(KLNr,"F",ORDNr,OLNr) .....If ($P(R,D,27)'=TOENr) || (($P($P(R,D,28),";")'=TLNr)) Do ......Set Check=0 ......New ExtraMelding Set ExtraMelding="" ......New OrderLijnIsSpaceTower Set OrderLijnIsSpaceTower = ProductTypeAPI.IsSpaceTowerProduct($P(R,D,2)) ......// Indien SpaceTower, dan enkel vermelding maken, zbcheck niet als "Gefaald" markeren. Opmerking: TOENr moet wel correct zijn, m.a.w. alleen ToeveringLijn verschillend. ......If (OrderLijnIsSpaceTower) && ($P(R,D,27)=TOENr) Do ...... . Set Check=1 ...... . Set ExtraMelding=", maar mag genegeerd worden want is SPACETOWER." ......Else If (OrderLijnIsSpaceTower) && ($P(R,D,27)="KOM") Do ...... . Set Check=0 ...... . Set ExtraMelding=", vermoedelijk is dit een niet-volledig ingeboekte toelevering voor SPACETOWER." ...... ...... Set IsMeldingNodig = 1 ...... Set:(OrderLijnIsSpaceTower) IsMeldingNodig = $CASE(RapporteerSptMeldingen, "ALLE":1, "NIETS":0, "ALLEEN-ERRORS":Check=0, "EERSTE-WARNING":1, "TWEEDE-WARNING":0, :1) ...... ......Do wLEVERANCIER^zbcheck ......Write:(IsMeldingNodig) !!,"Kom link ",ZR," foutief"_ExtraMelding,!,?8,"Toelev = ",TOENr,?29,"Order = ",ORDNr,?50,"Lijn = ",OLNr,!,?8,"Order = ",ORDNr,?29,"Toelev = ",$P(R,D,27),?50,"Lijn = ",$P(R,D,28) ...... ...... If OrderLijnIsSpaceTower && (Check=1) Do ; in dit geval is het een WARNING (voor SPT) ...... . If (RapporteerSptMeldingen = "EERSTE-WARNING") Do ...... . . Set RapporteerSptMeldingen = "TWEEDE-WARNING" ...... . Else If (RapporteerSptMeldingen = "TWEEDE-WARNING") Do ...... . . Set RapporteerSptMeldingen = "ALLEEN-ERRORS" ...... . . Write !!,"Er zijn nog meer SPACETOWER meldingen, die mogen genegeerd worden. ",!,"Gebruik deze code : Set ^||RapporteerSptMeldingen = ""ALLE"" om alle Spacetower-meldingen te tonen." ...... If $G(Check)'=0 Do .Set LEVNr="" .For Set LEVNr=$O(^KTO2(LEVNr)) Quit:LEVNr="" Do ..Set Leverancier=LEVNr_" "_$P(^KLE(^KL1(LEVNr),0),D,2),TOENr="" ..For Set TOENr=$O(^KTO2(LEVNr,TOENr)) Quit:TOENr="" Do ...Set ZR=$ZR ...If '$D(^KTO(LEVNr,TOENr)) Do ....Set Check=0 ....Do wLEVERANCIER^zbcheck ....Write !!,"Index ",ZR," toelevering onbekend",!,?8,"Leveranc = ",LEVNr,?29,"Toelev = ",TOENr If $G(Check)'=0 Do .Set TOENr="" .For Set TOENr=$O(^KTO3(TOENr)) Quit:TOENr="" Do ..Set ZR=$ZR ..Set LEVNr=$P($G(^KTO1(TOENr)),D) ..If 'LEVNr Do Quit ...Set Check=0 ...Write !!,"Index ",ZR," onbekend",!,?8,"Toelev = ",TOENr ..Set Leverancier=LEVNr_" "_$P(^KLE(^KL1(LEVNr),0),D,2),ABLTLNr="" ..For Set ABLTLNr=$O(^KTO3(TOENr,ABLTLNr)) Quit:ABLTLNr="" Do ...Set ZR=$ZR ...Set TLNr=$P(ABLTLNr,D,3),R=$G(^KTO(LEVNr,TOENr,TLNr)) ...If R="" Do Quit ....Set Check=0 ....Do wLEVERANCIER^zbcheck ....Write !!,"Index ",ZR," toelevering lijn onbekend",!,?8,"Leveranc = ",LEVNr,?29,"Toelev = ",TOENr,?50,"Lijn = ",TLNr ...If $P(ABLTLNr,D,1,2)'=$P(R,D,13,14) Do ....Set Check=0 ....Do wLEVERANCIER^zbcheck ....Write !!,"Index ",ZR," toelevering ABlijnnr verschillend",!,?8,"Toelev = ",TOENr,?29,"Lijn = ",TLNr,?50,"ABlijn = ",$P(ABLTLNr,D,1,2)," <> ",$P(R,D,13,14) If $G(Check)'=0 Do .Set TOENr="" .For Set TOENr=$O(^KTO1(TOENr)) Quit:TOENr="" Do ..Set LEVNr=$P(^KTO1(TOENr),D),ZR=$ZR,Leverancier=LEVNr_" "_$P(^KLE(^KL1(LEVNr),0),D,2) ..If '$D(^KTO(LEVNr,TOENr)) Do ...Set Check=0 ...Do wLEVERANCIER^zbcheck ...Write !!,"Index ",ZR," toelevering onbekend",!,?8,"Leveranc = ",LEVNr,?29,"Toelev = ",TOENr If $G(Check)'=0 Do .Set LEVNr="" .For Set LEVNr=$O(^KTO4(LEVNr)) Quit:LEVNr="" Do ..Set Leverancier=LEVNr_" "_$P(^KLE(^KL1(LEVNr),0),D,2),ABTOENr="" ..For Set ABTOENr=$O(^KTO4(LEVNr,ABTOENr)) Quit:ABTOENr="" Do ...Set ZR=$ZR,ABNr=$P(ABTOENr,D),TOENr=$P(ABTOENr,D,2) ...If '$D(^KTO(LEVNr,TOENr)) Do Quit ....Set Check=0 ....Do wLEVERANCIER^zbcheck ....Write !!,"Index ",ZR," toelevering onbekend",!,?8,"Leveranc = ",LEVNr,?29,"Toelev = ",TOENr ...Set R=^KTO(LEVNr,TOENr,1),ABNr=$$UPTRIMAN^vhRtn1($P(R,D,10)) Quit:ABNr="" ...If ABNr'=$P(ABTOENr,D) Do ....Set Check=0 ....Do wLEVERANCIER^zbcheck ....Write !!,"Index ",ZR," toelevering ABnr verschillend",!,?8,"Toelev = ",TOENr,?29,"ABtoelev = ",$P(ABTOENr,D)," <> ",ABNr Write !!,"*** Flow - Uitleveringen ***" If $G(Check)'=0 Do .Set KLNr=0 .For Set KLNr=$O(^KUL(KLNr)) Quit:KLNr="" Do ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),Soort="" ..For Set Soort=$O(^KUL(KLNr,Soort)) Quit:Soort="" Do:Soort'="T" ...Set BONNr="" ...For Set BONNr=$O(^KUL(KLNr,Soort,BONNr)) Quit:BONNr="" Do ....Set R=^KUL(KLNr,Soort,BONNr,1),Date=$$INTDATE^vhLib.DataTypes($P(R,D,2)),VerzW=$P($P(R,D,7)," ")_" " ....If '$D(^KU1(BONNr,"F")) Do Quit .....S ZR=$ZR .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",ZR," onbekend",!,?8,"Klant = ",KLNr ....Set R=^KU1(BONNr,"F") ....If $P(R,D)'=KLNr Do .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",$ZR," klant verschillend",!?8,"Klant ",KLNr," <> ",$P(R,D) ....If '$D(^KU3(-Date,VerzW,BONNr)) Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",$ZR," onbekend",!,?8,"Klant = ",KLNr,?29,"Soort = ",Soort ....Set R=^KU3(-Date,VerzW,BONNr) ....If R'=(KLNr_D_Soort) Do .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",$ZR," verschillend",!,?8,"Klant = ",KLNr," <> ",$P(R,D),?29,"Soort = ",Soort If $G(Check)'=0 Do .Set Date="" .For Set Date=$O(^KU3(Date)) Quit:Date="" Do ..Set VerzW="" ..For Set VerzW=$O(^KU3(Date,VerzW)) Quit:VerzW="" Do ...Set BONNr="" ...For Set BONNr=$O(^KU3(Date,VerzW,BONNr)) Quit:BONNr="" Do ....Set R=^KU3(Date,VerzW,BONNr),KLNr=$P(R,D),Soort=$P(R,D,2),ZR=$ZR ....Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ....If '$D(^KUL(KLNr,Soort,BONNr)) Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",ZR," bon onbekend",!,?8,"Klant = ",KLNr,?29,"Soort = ",Soort ....Set R=^KUL(KLNr,Soort,BONNr,1) ....If $P($P(R,D,7)," ")_" "'=VerzW Do .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",ZR," verzendwijze verschillend",!,?8,"Klant = ",KLNr,?29,"Verzendw ",$P(VerzW," ")," <> ",$P($P(R,D,7)," ") ....If -$$INTDATE^vhLib.DataTypes($P(R,D,2))'=Date Do .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",ZR," datum verschillend",!,?8,"Klant = ",KLNr,?29,"Soort = ",Soort,?50,"Datum ",Date," <> ",-$$INTDATE^vhLib.DataTypes($P(R,D,2)) Write !!,"*** Flow - Offertes ***" If $G(Check)'=0 Do .Set KLNr=0 .For Set KLNr=$O(^KOFKL(KLNr)) Quit:'KLNr Do ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),OFFNr=0 ..For Set OFFNr=$O(^KOFKL(KLNr,"F",OFFNr)) Quit:'OFFNr Do ...If '$D(^KOFKL1(OFFNr,"F")) Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",$ZR," onbekend",!,?8,"Klant = ",KLNr ...Else If $P(^KOFKL1(OFFNr,"F"),D)'=KLNr Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",$ZR," klant verschillend",!?8,"Klant ",KLNr," <> ",$P(^KOFKL1(OFFNr,"F"),D) ...If '$D(^KOFKL2("F",KLNr,OFFNr)) Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",$ZR," onbekend" ...Set OFFLNr=100 ...For Set OFFLNr=$O(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Quit:OFFLNr'?3.4N Do ....Set R=^KOFKL(KLNr,"F",OFFNr,OFFLNr),PRNr=$P(R,D,2),OFFLUNr=$P(R,D,15) ....If PRNr,$D(^KPR(PRNr)) Do .....If $G(^KOFKLP(PRNr,OFFNr,OFFLNr))'=KLNr Do ......Set Check=0 ......Do wKLANT^zbcheck ......If '$D(^KOFKLP(PRNr,OFFNr,OFFLNr)) Write !!,"Index ",$ZR," onbekend",!,?8,"Klant = ",KLNr ......Else Write !!,"Index ",$ZR," klant verschillend",!?8,"Klant ",KLNr," <> ",^KOFKLP(PRNr,OFFNr,OFFLNr) .....If OFFLUNr Do ......If $G(^OFF("IP",PRNr,OFFNr,OFFLUNr))'=OFFLNr Do .......Set Check=0 .......Do wKLANT^zbcheck .......If '$D(^OFF("IP",PRNr,OFFNr,OFFLUNr)) Write !!,"Index ",$ZR," onbekend",!?8,"Lijn = ",OFFLNr .......Else Write !!,"Index ",$ZR," lijnnummer verschillend",!?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr,?50,"Lijn ",OFFLNr," <> ",^OFF("IP",PRNr,OFFNr,OFFLUNr) ......If $G(^OFF("IU",OFFNr,OFFLUNr))'=OFFLNr Do .......Set Check=0 .......Do wKLANT^zbcheck .......If '$D(^OFF("IU",OFFNr,OFFLUNr)) Write !!,"Index ",$ZR," onbekend",!?8,"Lijn = ",OFFLNr .......Else Write !!,"Index ",$ZR," lijnnummer verschillend",!?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr,?50,"Lijn ",OFFLNr," <> ",^OFF("IU",OFFNr,OFFLUNr) If $G(Check)'=0 Do .Set OFFNr="" .For Set OFFNr=$O(^KOFKL1(OFFNr)) Quit:OFFNr="" Do ..Set R=^KOFKL1(OFFNr,"F"),KLNr=$P(R,D) ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ..If '$D(^KOFKL(KLNr,"F",OFFNr)) Do Quit ...Set Check=0 ...Do wKLANT^zbcheck ...Write !!,"Index ",$ZR," offerte onbekend",!,?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr If $G(Check)'=0 Do .Set KLNr=0 .For Set KLNr=$O(^KOFKL2("F",KLNr)) Quit:'KLNr Do ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),OFFNr=0 ..For Set OFFNr=$O(^KOFKL2("F",KLNr,OFFNr)) Quit:'OFFNr Do ...If '$D(^KOFKL(KLNr,"F",OFFNr)) Do Quit ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",$ZR," offerte onbekend",!,?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr If $G(Check)'=0 Do .Set PRNr=0 .For Set PRNr=$O(^KOFKLP(PRNr)) Quit:'PRNr Do ..Set OFFNr=0 ..For Set OFFNr=$O(^KOFKLP(PRNr,OFFNr)) Quit:'OFFNr Do ...Set OFFLNr="" ...For Set OFFLNr=$O(^KOFKLP(PRNr,OFFNr,OFFLNr)) Quit:'OFFLNr Do ....Set KLNr=^KOFKLP(PRNr,OFFNr,OFFLNr),ZR=$ZR ....Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ....If '$D(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",ZR," offerte onbekend",!,?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr ....If $P(^KOFKL(KLNr,"F",OFFNr,OFFLNr),D,2)'=PRNr Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Index ",$ZR," product verschillend",!,?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr,?50,"Product ",PRNr," <> ",$P(^KOFKL(KLNr,"F",OFFNr,OFFLNr),D,2) If $G(Check)'=0 Do .Set PRNr=0 .For Set PRNr=$O(^OFF("IP",PRNr)) Quit:'PRNr Do ..Set OFFNr=0 ..For Set OFFNr=$O(^OFF("IP",PRNr,OFFNr)) Quit:'OFFNr Do ...Set ZR=$ZR ...If '$D(^KOFKL1(OFFNr,"F")) Do Quit ....Set Check=0 ....Write !!,"Index ",ZR," offerte onbekend",!,?8,"Offerte = ",OFFNr ...Set KLNr=$P(^KOFKL1(OFFNr,"F"),D) ...Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),OFFLUNr="" ...For Set OFFLUNr=$O(^OFF("IP",PRNr,OFFNr,OFFLUNr)) Quit:'OFFLUNr Do ....Set OFFLNr=^OFF("IP",PRNr,OFFNr,OFFLUNr) ....If '$D(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Offerte ",$ZR," lijn onbekend",!,?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr,?50,"Lijn = ",OFFLNr ....If $P(^KOFKL(KLNr,"F",OFFNr,OFFLNr),D,2)'=PRNr Do Quit .....Set Check=0 .....Do wKLANT^zbcheck .....Write !!,"Offerte ",$ZR," product verschillend",!,?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr,?50,"Product ",PRNr," <> ",$P(^KOFKL(KLNr,"F",OFFNr,OFFLNr),D,2) If $G(Check)'=0 Do .Set OFFNr=0 .For Set OFFNr=$O(^OFF("IU",OFFNr)) Quit:'OFFNr Do ..Set KLNr=$P(^KOFKL1(OFFNr,"F"),D) ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),OFFLUNr="" ..For Set OFFLUNr=$O(^OFF("IU",OFFNr,OFFLUNr)) Quit:'OFFLUNr Do ...Set OFFLNr=^OFF("IU",OFFNr,OFFLUNr) ...If '$D(^KOFKL(KLNr,"F",OFFNr,OFFLNr)) Do Quit ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Offerte ",$ZR," lijn onbekend",!,?8,"Klant = ",KLNr,?29,"Offerte = ",OFFNr,?50,"Lijn = ",OFFLNr Quit ; CHECK(What) New (What) Set What=$G(What),Check=1 Do @$S(What="O":"DUBLORD",What="B":"DUBLBON",What="F":"CHKFAKT",What="V":"CHKPROF",1:"ZBCHKFLO") Quit Check ; DUBLORD Do .New Check .Set Q="K" .Do ^cA604 Write !!,"*** Dubbels orders ***" Set KLNr=0 For Set KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do .Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),ORDNr="" .For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do ..Kill Enkel,Dubbel ..Set OLNr=100 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),Omschr=$P(R,D,5),Netto=$P(R,D,9),LijnTyp=$P($P(R,D,17),"#") ...Quit:LijnTyp="KF11" ...If PRNr ...Else If $L(Omschr) Do ....Quit:$TR(Omschr," -","")="" ....Set:$D(Enkel(LijnTyp,R)) Dubbel(LijnTyp,Omschr)=$G(Dubbel(LijnTyp,Omschr),1)+1 ....Set Enkel(LijnTyp,R,OLNr)="" ...Else If $L(Netto) Set:$D(Enkel("Netto",Netto)) Dubbel("Netto",Netto)=$G(Dubbel("Netto",Netto),1)+1 Set Enkel("Netto",Netto,OLNr)="" ..Quit:'$D(Dubbel) ..Set Check=0 ..Do wKLANT^zbcheck ..Write !!,"Order ",ORDNr," van klant ",KLNr ..Set LijnTyp="" ..For Set LijnTyp=$O(Dubbel(LijnTyp)) Quit:LijnTyp="" Do ...Write !,?8,"Type = ",LijnTyp ...Set Omschr="" ...For Set Omschr=$O(Dubbel(LijnTyp,Omschr)) Quit:Omschr="" Do ....Write ?29,$E(Omschr,1,33)," = ",Dubbel(LijnTyp,Omschr)," (" ....Set R="" ....For Set R=$O(Enkel(LijnTyp,R)) Quit:R="" I $P(R,D,5)=Omschr!(R=Omschr) Do .....Set OLNr="" .....For Set OLNr=$O(Enkel(LijnTyp,R,OLNr)) Quit:OLNr="" Write OLNr Write:$O(Enkel(LijnTyp,R,OLNr)) "," ....Write ")",! Quit ; DUBLBON Do .New Check .Set Q="K" .Do ^cA604 Write !!,"*** Dubbels leveringsbons ***" Set KLNr=0 For Set KLNr=$O(^KUL(KLNr)) Quit:KLNr="" Do .Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),BONNr="" .For Set BONNr=$O(^KUL(KLNr,"F",BONNr)) Quit:BONNr="" Do ..Kill Enkel,Dubbel ..Set OLNr=100 ..For Set OLNr=$O(^KUL(KLNr,"F",BONNr,OLNr)) Quit:'OLNr Do ...Set R=^KUL(KLNr,"F",BONNr,OLNr),PRNr=$P(R,D,2),Omschr=$P(R,D,5),Netto=$P(R,D,9),LijnTyp=$P($P(R,D,17),"#") ...Quit:LijnTyp="KF11" ...If PRNr ...Else If $L(Omschr) Do ....Quit:$TR(Omschr," -","")="" ....Set:$D(Enkel(LijnTyp,R)) Dubbel(LijnTyp,Omschr)=$G(Dubbel(LijnTyp,Omschr),1)+1 ....Set Enkel(LijnTyp,R,OLNr)="" ...Else If $L(Netto) Set:$D(Enkel("Netto",Netto)) Dubbel("Netto",Netto)=$G(Dubbel("Netto",Netto),1)+1 Set Enkel("Netto",Netto,OLNr)="" ..Quit:'$D(Dubbel) ..Set Check=0 ..Do wKLANT^zbcheck ..Write !!,"Bon ",BONNr," van klant ",KLNr ..Set LijnTyp="" ..For Set LijnTyp=$O(Dubbel(LijnTyp)) Quit:LijnTyp="" Do ...Write !,?8,"Type = ",LijnTyp ...Set Omschr="" ...For Set Omschr=$O(Dubbel(LijnTyp,Omschr)) Quit:Omschr="" Do ....Write ?29,$E(Omschr,1,33)," = ",Dubbel(LijnTyp,Omschr)," (" ....Set R="" ....For Set R=$O(Enkel(LijnTyp,R)) Quit:R="" I $P(R,D,5)=Omschr!(R=Omschr) Do .....Set OLNr="" .....For Set OLNr=$O(Enkel(LijnTyp,R,OLNr)) Quit:OLNr="" Write OLNr Write:$O(Enkel(LijnTyp,R,OLNr)) "," ....Write ")",! Quit ; DUBLFAK Do .New Check .Set Q="K" .Do ^cA604 Write !!,"*** Dubbels facturen ***" Set FANr="" For Set FANr=$O(^KFA("F",FANr)) Quit:FANr="" Do .Set R=^KFA("F",FANr,0,0),KLNr=$P(R,D),FaktDate=$P(R,D,6) .Set BONNr="U" .For Set BONNr=$O(^KFA("F",FANr,BONNr)) Quit:BONNr="" Do ..Kill Enkel,Dubbel ..Set ULNr=100 ..For Set ULNr=$O(^KFA("F",FANr,BONNr,ULNr)) Quit:ULNr="" Do ...Set R=^KFA("F",FANr,BONNr,ULNr),PRNr=$P(R,D,2),Omschr=$P(R,D,5),Netto=$P(R,D,9),LijnTyp=$P($P(R,D,17),"#") ...Quit:LijnTyp="KF11" ...If PRNr ...Else If $L(Omschr) Do ....Quit:$TR(Omschr," -","")="" ....Set:$D(Enkel(LijnTyp,R)) Dubbel(LijnTyp,Omschr)=$G(Dubbel(LijnTyp,Omschr),1)+1 ....Set Enkel(LijnTyp,R,ULNr)="" ...Else If $L(Netto) Set:$D(Enkel("Netto",Netto)) Dubbel("Netto",Netto)=$G(Dubbel("Netto",Netto),1)+1 Set Enkel("Netto",Netto,ULNr)="" ..Quit:'$D(Dubbel) ..Set Check=0 ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ..Do wKLANT^zbcheck ..Write !!,"Factuur ",FANr," van klant ",KLNr," op datum ",FaktDate," bonnummer ",BONNr ..Set LijnTyp="" ..For Set LijnTyp=$O(Dubbel(LijnTyp)) Quit:LijnTyp="" Do ...Write !,?8,"Type = ",LijnTyp ...Set Omschr="" ...For Set Omschr=$O(Dubbel(LijnTyp,Omschr)) Quit:Omschr="" Do ....Write ?29,$E(Omschr,1,33)," = ",Dubbel(LijnTyp,Omschr)," (" ....Set R="" ....For Set R=$O(Enkel(LijnTyp,R)) Quit:R="" I $P(R,D,5)=Omschr!(R=Omschr) Do .....Set OLNr="" .....For Set OLNr=$O(Enkel(LijnTyp,R,OLNr)) Quit:OLNr="" Write OLNr Write:$O(Enkel(LijnTyp,R,OLNr)) "," ....Write ")",! Quit ; DUBLPRF Do .New Check .Set Q="K" .Do ^cA604 Write !!,"*** Dubbels proformas ***" Set PROFNr="" For Set PROFNr=$O(^KFAP("F",PROFNr)) Quit:PROFNr="" Do .Set R=^KFAP("F",PROFNr,0,0),KLNr=$P(R,D),ProfDate=$P(R,D,6) .Set BONNr="U" .For Set BONNr=$O(^KFAP("F",PROFNr,BONNr)) Quit:BONNr="" Do ..Kill Enkel,Dubbel ..Set ULNr=100 ..For Set ULNr=$O(^KFAP("F",PROFNr,BONNr,ULNr)) Quit:ULNr="" Do ...Set R=^KFAP("F",PROFNr,BONNr,ULNr),PRNr=$P(R,D,2),Omschr=$P(R,D,5),Netto=$P(R,D,9),LijnTyp=$P($P(R,D,17),"#") ...Quit:LijnTyp="KF11" ...If PRNr ...Else If $L(Omschr) Do ....Quit:$TR(Omschr," -","")="" ....Set:$D(Enkel(LijnTyp,R)) Dubbel(LijnTyp,Omschr)=$G(Dubbel(LijnTyp,Omschr),1)+1 ....Set Enkel(LijnTyp,R,ULNr)="" ...Else If $L(Netto) Set:$D(Enkel("Netto",Netto)) Dubbel("Netto",Netto)=$G(Dubbel("Netto",Netto),1)+1 Set Enkel("Netto",Netto,ULNr)="" ..Quit:'$D(Dubbel) ..Set Check=0 ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ..Do wKLANT^zbcheck ..Write !!,"Proforma ",PROFNr," van klant ",KLNr," op datum ",ProfDate," bonnummer ",BONNr ..Set LijnTyp="" ..For Set LijnTyp=$O(Dubbel(LijnTyp)) Quit:LijnTyp="" Do ...Write !,?8,"Type = ",LijnTyp ...Set Omschr="" ...For Set Omschr=$O(Dubbel(LijnTyp,Omschr)) Quit:Omschr="" Do ....Write ?29,$E(Omschr,1,33)," = ",Dubbel(LijnTyp,Omschr)," (" ....Set R="" ....For Set R=$O(Enkel(LijnTyp,R)) Quit:R="" I $P(R,D,5)=Omschr!(R=Omschr) Do .....Set OLNr="" .....For Set OLNr=$O(Enkel(LijnTyp,R,OLNr)) Quit:OLNr="" Write OLNr Write:$O(Enkel(LijnTyp,R,OLNr)) "," ....Write ")",! Quit ; CHKFAKT Do .New Check .Set Q="K" .Do ^cA604 Write !!,"*** Facturen ***" Set FANr="" For Set FANr=$O(^KFA("F",FANr)) Quit:FANr="" Do .Set R=^KFA("F",FANr,0,0),KLNr=$P(R,D),FaktDate=$P(R,D,6),IntDate=-$$INTDATE^vhLib.DataTypes(FaktDate) .If '$D(^KFA1("F",KLNr,IntDate,FANr)) Do ..Set Check=0 ..Set ZR=$ZR ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ..Do wKLANT^zbcheck ..Write !!,"Index ",ZR," onbekend",!,?8,"Klant = ",KLNr,?29,"Factuur = ",FANr,?50,"Datum = ",FaktDate Set KLNr="" For Set KLNr=$O(^KFA1("F",KLNr)) Quit:KLNr="" Do .Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),IntDate="" .For Set IntDate=$O(^KFA1("F",KLNr,IntDate)) Quit:IntDate="" Do ..Set FANr="" ..For Set FANr=$O(^KFA1("F",KLNr,IntDate,FANr)) Quit:FANr="" Do ...If '$D(^KFA("F",FANr)) Do Quit ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Factuur ",$ZR," onbekend",!,?8,"Klant = ",KLNr,?29,"Factuur = ",FANr,?50,"Datum = ",$$EXTDATE^vhLib.DataTypes(-IntDate,"DKP") ...Set R=^KFA("F",FANr,0,0),FaktDate=$P(R,D,6) ...If $P(R,D)'=KLNr Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Factuur ",$ZR," klant verschillend",!,?8,"Factuur = ",FANr,?29,"Datum = ",$$EXTDATE^vhLib.DataTypes(-IntDate,"DKP"),?50,"Klant ",KLNr," <> ",$P(R,D) ...If $$EXTDATE^vhLib.DataTypes(-IntDate,"DKP")'=$P(R,D,6) Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Factuur ",$ZR," datum verschillend",!,?8,"Factuur = ",FANr,?29,"Klant = ",KLNr,?50,"Datum ",$$EXTDATE^vhLib.DataTypes(-IntDate,"DKP")," <> ",$P(R,D,6) Quit ; CHKPROF Do .New Check .Set Q="K" .Do ^cA604 Write !!,"*** Proformas ***" Set PROFNr="" For Set PROFNr=$O(^KFAP("F",PROFNr)) Quit:PROFNr="" Do .Set R=^KFAP("F",PROFNr,0,0),KLNr=$P(R,D),ProfDate=$P(R,D,6),IntDate=-$$INTDATE^vhLib.DataTypes(ProfDate) .If '$D(^KFAP1("F",KLNr,IntDate,PROFNr)) Do ..Set Check=0 ..Set ZR=$ZR ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ..Do wKLANT^zbcheck ..Write !!,"Index ",ZR," onbekend",!,?8,"Klant = ",KLNr,?29,"Proforma = ",PROFNr,?50,"Datum = ",ProfDate Set KLNr="" For Set KLNr=$O(^KFAP1("F",KLNr)) Quit:KLNr="" Do .Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2),IntDate="" .For Set IntDate=$O(^KFAP1("F",KLNr,IntDate)) Quit:IntDate="" Do ..Set PROFNr="" ..For Set PROFNr=$O(^KFAP1("F",KLNr,IntDate,PROFNr)) Quit:PROFNr="" Do ...If '$D(^KFAP("F",PROFNr)) Do Quit ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Proforma ",$ZR," onbekend",!,?8,"Klant = ",KLNr,?29,"Proforma = ",PROFNr,?50,"Datum = ",$$EXTDATE^vhLib.DataTypes(-IntDate,"DKP") ...Set R=^KFAP("F",PROFNr,0,0),ProfDate=$P(R,D,6) ...If $P(R,D)'=KLNr Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Proforma ",$ZR," klant verschillend",!,?8,"Proforma = ",PROFNr,?29,"Datum = ",$$EXTDATE^vhLib.DataTypes(-IntDate,"DKP"),?50,"Klant ",KLNr," <> ",$P(R,D) ...If $$EXTDATE^vhLib.DataTypes(-IntDate,"DKP")'=$P(R,D,6) Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Proforma ",$ZR," datum verschillend",!,?8,"Proforma = ",PROFNr,?29,"Klant = ",KLNr,?50,"Datum ",$$EXTDATE^vhLib.DataTypes(-IntDate,"DKP")," <> ",$P(R,D,6) Quit ;