MOEDERB ; COPIEREN VAN MOEDERBON IN ORDER; [ 05/28/2003 10:52 AM ] ; New %TC,K,R,Rec,Next,PRNr,Aantal,Prijs,Korting1,Korting2,LevTerm,Text,TransDat,TransTim,OrgalRef New OrdRef,BelDat,IsStock,Weeks,NewLevT,MBLevT,MoederB,IntPers,ExtPers,FaxNr,DevNr,IsHalux,VerpTyp,LDefault,PakRef If '$G(AutoMb) New LogNr Else If '$D(^MBLOG("T",KLNr,LogNr)) Quit Set MoederB=1 Set:'$G(AutoMb)!'$G(LogNr) LogNr=$$SELECT^RPLMBON(KLNr) Quit:'LogNr Quit:'$$CHKLEVAD() Quit:$$INGEBRUIK(KLNr,LogNr) Set ^MBLOG("OI",KLNr,LogNr)=io Set Rec=^MBLOG("T",KLNr,LogNr),TransDat=$P($P(Rec,D),","),TransTim=$P($P(Rec,D),",",2) Set:TransDat="" TransDat=$P($H,",") Set:TransTim="" TransTim=$P($H,",",2) Set IsHalux=$P(Rec,D,2)="HALUX" Set DevNr=$P(Rec,D,5) Set:'DevNr DevNr=$$IO^cQ5 Set IntPers=$$USERID^vhUSER($P(Rec,D,2)) Set:'IntPers IntPers=$P($$DEVUSER^vhUSER(DevNr),";") Set OrdRef=$P(Rec,D,3),BelDat=$P(Rec,D,4),MBLevT=$P(Rec,D,7),ExtPers=$P(Rec,D,8) Set FaxNr=$P(Rec,D,9),OrgalRef=$P(Rec,D,11),VerpTyp=$P(Rec,D,12) If '$G(HalTOENr),$P(Rec,D,10) Set HalTOENr=$P(Rec,D,10) Do .Set Rec=^KOD(KLNr,"F",ORDNr,1),$P(Rec,D,8)=IntPers_"#"_DevNr_"#"_$H .If $L(OrdRef)!$L(BelDat)!$L(FaxNr) Set $P(Rec,D,9)=ExtPers .Set:$L(FaxNr) $P(Rec,D,10)=FaxNr .Set $P(Rec,D,19)=OrgalRef,$P(Rec,D,30)=VerpTyp,^KOD(KLNr,"F",ORDNr,1)=Rec .If '$L(OrdRef),'$L(BelDat),'$L(OrgalRef),'$L(VerpTyp) Quit .If $L($P(Rec,D,3)) Kill OrdRef .Else Set $P(Rec,D,3)=OrdRef .If $L(BelDat),$P(Rec,D,16)="" Set $P(Rec,D,16)=BelDat .Else If $L(BelDat),$$INTDATE^vhDTyp(BelDat)<$$INTDATE^vhDTyp($P(Rec,D,16)) Set $P(Rec,D,16)=BelDat .Else Kill BelDat .If '$D(OrdRef),'$D(BelDat),OrgalRef="",VerpTyp="" Quit .Set ^KOD(KLNr,"F",ORDNr,1)=Rec,R=100 .For Set R=$O(^KOD(0,"F",R)) Quit:R'?.N Do ..Set Rec=^KOD(0,"F",R) ..If $P(Rec,U,16)'=103,$P(Rec,U,16)'=116,$P(Rec,U,16)'=130 Quit ..Set FP=$P(Rec,U,5)*100+$P(Rec,U,6) ..If $P(Rec,U,16)=103 Do ...If '$D(OrdRef),OrgalRef="" Quit ...Write @F,$J("",$P(Rec,U,9)+$P(Rec,U,13)),@F ...Write $E($G(OrdRef)_$S($L(OrgalRef):"/",1:"")_OrgalRef,1,$P(Rec,U,9)+$P(Rec,U,13)) ..Else If $P(Rec,U,16)=116 Do ...Quit:'$D(BelDat) ...Write @F,$J("",$P(Rec,U,9)+$P(Rec,U,13)),@F,BelDat ..Else If $P(Rec,U,16)=130 Do ...Quit:VerpTyp="" ...Set K=VerpTyp ...Xecute "Set VerpTyp="_$P(Rec,U,8) ...Write @F,$J("",$P(Rec,U,9)+$P(Rec,U,13)),@F,VerpTyp Do:IsHalux .Set Next="" .For Set Next=$O(^MBLOG("T",KLNr,LogNr,Next)) Quit:'Next Do ..Set R=^MBLOG("T",KLNr,LogNr,Next) ..Quit:$P(R,D)'="P" ..Set PRNr=$P(R,D,2) ..Do DELIND^PRODUKT2(PRNr),BLDIND^PRODUKT2(PRNr),RECALC^PRODUKT2(PRNr) Set Next="" For Set Next=$O(^MBLOG("T",KLNr,LogNr,Next)) Quit:'Next Do .Set R=^MBLOG("T",KLNr,LogNr,Next) .If $P(R,D)="T" Do Quit ..Set Text="",$P(Text,D,36)="" ..Set $P(Text,D,5)=$P(R,D,2),$P(Text,D,17)="KF11#1",$P(Text,D,18)=$P($H,",",2)_";T;;OBFT",$P(Text,D,31)=$P(R,D,7) ..Do TINSERT^FLOWORD("","",Text) .If $P(R,D)="P" Do Quit ..Kill LDefault ..Set PRNr=$P(R,D,2),Aantal=$P(R,D,3),Prijs=$P(R,D,4),Korting1=$P(R,D,5),Korting2=$P(R,D,6),PakRef=$P(R,D,7) ..Set LevTerm=MBLevT ..If PRNr,'$D(^KPR(PRNr)) Quit ..For Do ADD^vhLock("^KPR(PRNr)") Quit:%TC Do LDISP^vhLock("^KPR(PRNr)","Produkt "_$P(^KPR(PRNr,0),D)) ..Do REMOVE^vhLock("^KPR(PRNr)") ..Set IsStock=$P(^KPR(PRNr,1),D,20) ..Set NewLevT=0 ..If 'IsStock Do If NewLevT New DefLevT Set LevTerm="" ...Set R=$O(^KPR(PRNr,"J")) ...Quit:$E(R)'="J" ...Set R=^KPR(PRNr,R),Weeks=$P(R,D,7)+1 ...Set R=LevTerm Set:$L(R) R=$$INTDATE^vhDTyp(R,"DW") ...If R<($H+(Weeks*7)) Set LevTerm=$$EXTDATE^vhDTyp($H+(Weeks*7),"DW"),NewLevT=1 ..Set:$L(PakRef) LDefault(31)=PakRef ..Set LevTerm=MBLevT ..If $L(Prijs) Set R="PINSERT^FLOWORD("""","""",PRNr,Aantal,Prijs,Korting1,Korting2,LevTerm,1,""?"",1,,,.LDefault)" ..Else Do ...Set R=$$KLANTPR^KPRIJS(KLNr,PRNr),Prijs=$P(R,D),Korting1=$P(R,D,5),Korting2=$P(R,D,6) ...Set R="PINSERT^FLOWORD("""","""",PRNr,Aantal,Prijs,Korting1,Korting2,LevTerm,,,,,,.LDefault)" ..Do @R Set ^MBLOG("VL",TransDat,TransTim,ORDNr)="" Kill ^MBLOG("T",KLNr,LogNr),^MBLOG("OI",KLNr,LogNr) Quit ; CHKLEVAD() New A,B,I,K,R,X,Check,U1,U2,U3,U4 If '$D(^MBLOG("T",KLNr,LogNr,"LEVADR")) Set Check=1 Else Do .Set Check=$P(^KOD(KLNr,"F",ORDNr,3),D,2,25)=$P(^MBLOG("T",KLNr,LogNr,"LEVADR"),D,2,25) .Quit:Check .If $TR($G(^KOD(KLNr,"F",ORDNr,3)),D,"")="" Do ..Set R=^MBLOG("T",KLNr,LogNr,"LEVADR"),$P(R,D)=1,^KOD(KLNr,"F",ORDNr,3)=R,Check=1 ..Do ^KF12 .Else Do TXTL^vhINP("MOEDERB","CHKLEVAD") Quit Check ; INGEBRUIK(KLNr,LogNr) New R,InGebruik,KlNaam,User Set InGebruik=$G(^MBLOG("OI",KLNr,LogNr)) Do:InGebruik . Set KLNaam=$P(^KKL(^KK1(KLNr),0),D,2),User=$$USERNAME^vhUSER($$DEVUSER^vhUSER(InGebruik)) . Set R=$$^vhTXTPOP("MOEDERB","INGEBRUIK","",LogNr,KLNaam,User) Quit InGebruik ;