ORDSTAT ;Berekenen van orderstatieken. [ 11/08/2003 8:40 PM ] Kill Do INIT^vhTERMINA Set From=$$CALCDATE^vhLib.DataTypes($H,"M",-2,"FD") Set To=$H Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set FP="2301" Do PRIO^vhINITML("L") Write @F,@F1,"Statistiek reconstructie vanuit fakturen" Do FAKT(From,To) Write @F,@F1,"Statistiek reconstructie vanuit Leveringsbons" Do BON(From,To) Write @F,@F1,"Statistiek vanuit Orders" Do ORD(From,To) Write @F,@F1,"Sommatie statistiek" Do STAT(From,To) Do PRIO^vhINITML() Write ! Do TRANS Quit ; Definitie ^HULP(%J,"O",OrdNr)=OrderTyp\BeloofdeDatum ; Definitie ^HULP(%J,"O",OrdNr,LijnNr)=PRNr\LijnType\Aantal\Waarde\GevraagdeLW\BevestigedeLW\LeverDatum STAT(From,To) Set OrdNr="" For Set OrdNr=$O(^HULP(%J,"O",OrdNr)) Quit:OrdNr="" Do .Set LijnNr=1 .Set RefOrd=$O(^MBLOG("OD",OrdNr),-1) .Quit:'RefOrd .Set Datum=^MBLOG("OD",RefOrd) .Set Datum=$$CALCDATE^vhLib.DataTypes(Datum,"A","-0") ; eerst vorige arbeidsdag .Set OrdCnt=$O(^MBLOG("OD",RefOrd)) .Set:'OrdCnt OrdCnt=^KOD(0,"F","UR") .Set OrdCnt=OrdCnt-RefOrd .Quit:DatumTo .Set Burbidge=0,Andere=1 .For Set LijnNr=$O(^HULP(%J,"O",OrdNr,LijnNr)) Quit:LijnNr="" Do ..Set Lijn=^(LijnNr) ..Set Rec=$G(^HULP(%J,"S",Datum),OrdCnt) ..Set I=$F("SKB",$P(Lijn,D,2))-1*5 ..Set:$P(Lijn,D,2)="B" Burbidge=1,Andere=0 ..Set $P(Rec,D,I)=$P(Rec,D,I)+1 ..Set $P(Rec,D,I+1)=$P(Rec,D,I+1)+$P(Lijn,D,4) ..Set ^HULP(%J,"S",Datum)=Rec .Quit:'$D(^HULP(%J,"S",Datum)) .Set $P(^HULP(%J,"S",Datum),D,2)=$P(^HULP(%J,"S",Datum),D,2)+Burbidge .Set $P(^HULP(%J,"S",Datum),D,3)=$P(^HULP(%J,"S",Datum),D,3)+Andere Quit TRANS Read "Transfert",K Set Dat="" For Set Dat=$O(^HULP(%J,"S",Dat)) Quit:Dat="" Do .Set Rec=^(Dat) .Write $$EXTDATE^vhLib.DataTypes(Dat) .For I=1,2,3,5,6,10,11,15,16 Write $C(9),$TR($J($P(Rec,D,I),0,0),".",",") .Write ! Write "~~~" Quit FAKT(From,To) ; Terug opbouwen een sumier orderbestand vertrekkend van ^KFA Set KLNr="" Set FromDate=-(From-100) For Set KLNr=$O(^KFA1("F",KLNr)) Quit:KLNr="" Do .Set Dat="" .For Set Dat=$O(^KFA1("F",KLNr,Dat)) Quit:Dat="" Quit:Dat>FromDate Do ..Set FAKNr="" ..For Set FAKNr=$O(^KFA1("F",KLNr,Dat,FAKNr)) Quit:FAKNr="" Do ...Set ULNr="U" ...For Set ULNr=$O(^KFA("F",FAKNr,ULNr)) Quit:ULNr="" Do ....Set LevDat=$$INTDATE^vhLib.DataTypes($P(^KFA("F",FAKNr,ULNr,1),D,2),"DK") ....Set LevWK=$$CALCDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes($P(^KFA("F",FAKNr,ULNr,1),D,2),"DK"),"W","MD") ....Set BelDat=$$INTDATE^vhLib.DataTypes($P(^KFA("F",FAKNr,ULNr,1),D,16),"DK") ....Set LNr=99 ....For Set LNr=$O(^KFA("F",FAKNr,ULNr,LNr)) Quit:LNr="" Do .....Set Rec=^(LNr) .....If $P(Rec,D,17)="KF5" Do ; Orderverwijzing ......Set OrdNr=$E($P(Rec,D,5),1,6) ......Set ^HULP(%J,"O",OrdNr)=D_BelDat .....Else If $P(Rec,D,17)="KF6"!($P($P(Rec,D,17),"#")="KF1925") Do ; Produkt ......Set LijnNr=$G(^HULP(%J,"O",OrdNr,0),100)+1 Set ^HULP(%J,"O",OrdNr,0)=LijnNr ......Set PRNr=$P(Rec,D,2) ......Set Type=$S($L($P($P(Rec,D,28),";")):"K",1:"S") ; Kom of Stock ......Set ^HULP(%J,"O",OrdNr,LijnNr)=PRNr_D_Type_D_$P(Rec,D,3)_D_$P(Rec,D,34)_D_$S($P(Rec,D,25)?5N:$P(Rec,D,25),1:$$INTDATE^vhLib.DataTypes($P(Rec,D,25),"DW"))_D_$S($P(Rec,D,29)?5N:$P(Rec,D,29),1:$$INTDATE^vhLib.DataTypes($P(Rec,D,29),"DW"))_D_LevDat Quit BON(From,To) ; Terug opbouwen een sumier orderbestand vertrekkend van ^KUL Set KLNr=0 For Set KLNr=$O(^KUL(KLNr)) Quit:KLNr="" Do .Set ULNr="" .For Set ULNr=$O(^KUL(KLNr,"F",ULNr)) Quit:ULNr="" Do ..Set Rec=^KUL(KLNr,"F",ULNr,1) ..Set LevDat=$$INTDATE^vhLib.DataTypes($P(Rec,D,2),"DK") ..Set LevWK=$$CALCDATE^vhLib.DataTypes(LevDat,"W","MD") ..Set BelDat=$$INTDATE^vhLib.DataTypes($P(Rec,D,16),"DK") ..Set LNr=99 ..For Set LNr=$O(^KUL(KLNr,"F",ULNr,LNr)) Quit:'LNr Do ...Set Rec=^(LNr) ...If $P(Rec,D,17)="KF5" Do ; Orderverwijzing ....Set OrdNr=$E($P(Rec,D,5),1,6) ....Set ^HULP(%J,"O",OrdNr)=D_BelDat ...Else If $P(Rec,D,17)="KF6"!($P($P(Rec,D,17),"#")="KF1925") Do ; Produkt ....Set LijnNr=$G(^HULP(%J,"O",OrdNr,0),100)+1 Set ^HULP(%J,"O",OrdNr,0)=LijnNr ....Set PRNr=$P(Rec,D,2) ....Set Type=$S($L($P($P(Rec,D,28),";")):"K",1:"S") ; Kom of Stock ....Set Prijs=$P(Rec,D,9)*$$MUNTPAR^vhRtn1($P(Rec,D,22)) ....Set ^HULP(%J,"O",OrdNr,LijnNr)=PRNr_D_Type_D_$P(Rec,D,3)_D_Prijs_D_$S($P(Rec,D,25)?5N:$P(Rec,D,25),1:$$INTDATE^vhLib.DataTypes($P(Rec,D,25),"DW"))_D_$S($P(Rec,D,29)?5N:$P(Rec,D,29),1:$$INTDATE^vhLib.DataTypes($P(Rec,D,29),"DW"))_D_LevDat Quit ORD(From,To) ; Terug opbouwen een sumier orderbestand vertrekkend van ^KUL Set KLNr=0 For Set KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do .Set OrdNr="" .For Set OrdNr=$O(^KOD(KLNr,"F",OrdNr)) Quit:OrdNr="" Do ..Set Rec=^KOD(KLNr,"F",OrdNr,1) ..Quit:$P(Rec,D,25)="C"!($P(Rec,D,25)="A") ; Contract of Afroep ..Quit:$P(Rec,D,25)="P"!($P(Rec,D,25)="M") ; Proforma & Monster ..Set LevDat="" ..Set LevWK="" ..Set BelDat=$$INTDATE^vhLib.DataTypes($P(Rec,D,16),"DK") ..Set ^HULP(%J,"O",OrdNr)=D_BelDat ..Set LNr=99 ..For Set LNr=$O(^KOD(KLNr,"F",OrdNr,LNr)) Quit:LNr="" Do ...Set Rec=^(LNr) ...If $P(Rec,D,17)="KF0"!($P($P(Rec,D,17),"#")="KF1925") Do ; Produkt ....Set LijnNr=$G(^HULP(%J,"O",OrdNr,0),100)+1 Set ^HULP(%J,"O",OrdNr,0)=LijnNr ....Set PRNr=$P(Rec,D,2) ....Set Type=$S($L($P($P(Rec,D,28),";")):"K",1:"S") ; Kom of Stock ....Set Prijs=$P(Rec,D,9)*$$MUNTPAR^vhRtn1($P(Rec,D,22)) ....Set ^HULP(%J,"O",OrdNr,LijnNr)=PRNr_D_Type_D_$P(Rec,D,3)_D_Prijs_D_$S($P(Rec,D,25)?5N:$P(Rec,D,25),1:$$INTDATE^vhLib.DataTypes($P(Rec,D,25),"DW"))_D_$S($P(Rec,D,29)?5N:$P(Rec,D,29),1:$$INTDATE^vhLib.DataTypes($P(Rec,D,29),"DW"))_D_LevDat Quit