EWBON4 ;E'WMS Opmaken leveringsbon [ 02/18/2003 12:37 PM ] ;Quit ; ; Expediteur verwittigen MAILEXP(KLNr,CONSNr,LevAdr) New Land,Lnk,Tekst,MailId Set Land=$P(LevAdr,D,8) Set:Land="" Land=$P(^KKL(^KK1(KLNr),0),D,8) Set Land=$$LAND^vhRtn1(Land) Quit:Land="BE" Quit:Land="NL" Quit:Land="LU" Set Tekst(1)="De goederen voor deze NIET BENELUX klant staan klaar, gelieve expeditie aan te vragen." Set Lnk(1)="KL\"_KLNr_"\R" #dim KlantID As DOM.VKP.VanHoeckeKlantID = ##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantPartijID(KLNr) Set Bestemmelingen = ##class(DOM.DomeinContext).Instance().GeefVerkoopAPI().GeefKlant(KlantID).GeefInterneVerantwoordelijkeEnBackups() Do ##class(BL.Legacy.vhMAIL).VerstuurViaSmtpIpvSystemMail("KL",KLNr,"Expeditie voor : "_CONSNr,Bestemmelingen,.Tekst,.Lnk,"U","A") ;Set MailId=$$SYSTEM^vhMAIL("KL",KLNr,"Expeditie voor : "_CONSNr,Bestemmelingen,.Tekst,.Lnk,"U","A") Quit ; ; ; Order verwijderen indien geen produkt- en/of manuele lijnen meer in het order DELORD(KLNr,CONSNr,ORDNr) New R,OLNr,GbRek Set OLNr=100,GbRek="" For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do Quit:$L(GbRek) .Set R=^KOD(KLNr,"F",ORDNr,OLNr) .Quit:$P($P(R,D,17),"#",1,2)="KF1925#CK" .Set GbRek=$P(R,D) If 'OLNr Do .Set ^KO1(ORDNr,"F",CONSNr)="",$P(^KO1(ORDNr,"F"),D,2)=CONSNr .Do:$P($P(^KOD(KLNr,"F",ORDNr,1),D,12),";") ..Set:'$D(^KU1(CONSNr,"F")) ^KU1(CONSNr,"F")=KLNr_D ..Do ##class(BL.Flow.Cons.TransportData).Change2Bon(ORDNr,CONSNr) .Do KillOrderLink^KFO(ORDNr) .Kill ^KO2("F",KLNr,ORDNr),^KOB(ORDNr,"F"),^KOD(KLNr,"F",ORDNr) .Do ##class(DOM.VKP.event.OrderEventRaiser).RaiseOrderVerwijderdEvent(ORDNr) Quit ; CALCVERP(KLNr,CONSNr) New R,Verpak,ORDNr,OLUNr,SOLUNr,PalId,ColTyp,Count Set ORDNr="" For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Do .Set OLUNr="" .For Set OLUNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr)) Quit:OLUNr="" Do ..Set SOLUNr="" ..For Set SOLUNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr,SOLUNr)) Quit:SOLUNr="" Do ...Set R=^ORDW("D",CONSNr,"D",ORDNr,OLUNr,SOLUNr),PalId=$P(R,D,5),ColTyp=$P(R,D,8) ...Quit:PalId="" ...Quit:$D(PalId(PalId)) ...Set:$L(ColTyp) PalId(PalId)="",Count(ColTyp)=$G(Count(ColTyp))+1 Set Verpak=$G(Count("E"))_"#"_$G(Count("C"))_"#"_$G(Count("K"))_"#"_$G(Count("L")) Quit Verpak ; CALCGEW(MPRNr) New R,PrGew,MGewicht,KGewicht,KPRNr,Aantal Set (MGewicht,KGewicht)=0 Set R=$G(^KPR(MPRNr,1)),PrGew=$P(R,D,13),MGewicht=MGewicht+(PrGew/1000) If $D(^PRLINK("D",MPRNr)) Do .Set KPRNr=0 .For Set KPRNr=$O(^PRLINK("D",MPRNr,KPRNr)) Quit:KPRNr="" Do ..Set Aantal=$P(^PRLINK("D",MPRNr,KPRNr),D) ..Set KGewicht=KGewicht+($$CALCGEW(KPRNr)*Aantal) Quit $S(MGewicht>KGewicht:MGewicht,1:KGewicht) ; RPLKL New R,KLNr Set R=^HULP(%J,1),KLNr=$P(R,D,6) Do STORE^vhTERMINA() Set R=$$RAADPL^KLANT(KLNr,"O",1) Do REFRESH^vhTERMINA() Quit ; RPLPR New R,PRNr Set R=^HULP(%J,LD("SELECT")),PRNr=+$P(R,D,6) Do STORE^vhTERMINA() Set R=$$RAADPL^PRODUKT(PRNr,"O",1) Do REFRESH^vhTERMINA() Quit ; MODORD New R,Locals,ORDNr Set R=^HULP(%J,LD("SELECT")),ORDNr=$P(R,D,3) Do STORE^vhTERMINA() Set Locals("ORDNr")=ORDNr,Locals("Extern")=1,Locals("EwmsLink")=0 Do DO^vhPROGRAM("ExternVerwerkOrder^Flow.VerwerkDoc") Do REFRESH^vhTERMINA() Quit ; LEVPERF(CONSNr) Quit ; Niet meer gebruikt. ; Quit + code in commentaar gezet door WV op 23/11/2011 i.o.v. PV /* New R,KLNr,ORDNr,OLUNr,OLNr,PRNr,AantWMS,Update,Krediet,LevWk,TOENr,RefDate Set R=^ORDW("D",CONSNr),KLNr=$P(R,D),ORDNr="" Set Krediet=$$KREDIET^LEVPERF(KLNr) For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Do .Set OLUNr="" .For Set OLUNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr)) Quit:OLUNr="" Do ..Set R=^ORDW("D",CONSNr,"D",ORDNr,OLUNr),AantWMS=$P(R,D,5) ..Set OLNr=^ORD("IU",ORDNr,OLUNr) ..Do STORE^LEVPERF(KLNr,CONSNr,ORDNr,OLNr,AantWMS,Krediet) Set ORDNr="",RefDate=$$CALCDATE^vhLib.DataTypes(,"W") For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Do .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),OLUNr=$P(R,D,15) ..Set LevWk=$P(R,D,25),TOENr=$P(R,D,27),Update=$P(R,D,39) ..Quit:'PRNr Quit:Update+7'<$H Quit:$D(^ORDW("D",CONSNr,"D",ORDNr,OLUNr)) ..Set:LevWk'?5N LevWk=$$INTDATE^vhLib.DataTypes(LevWk,"DW") ..If TOENr,LevWk>RefDate Quit ..Do STORE^LEVPERF(KLNr,CONSNr,ORDNr,OLNr,0,Krediet) Quit */ ; ; Automatisch beloven de eerste vijf leveringen van een nieuwe klant AUTOBEL(KLNr) New R,AutoBel,BONNr,Date Set AutoBel=0,Date="" For Set Date=$O(^KFA1("F",KLNr,Date)) Quit:Date="" Set AutoBel=AutoBel+1 Quit:AutoBel>5 If AutoBel'>6 For Set Date=$O(^KFAP1("F",KLNr,Date)) Quit:Date="" Set AutoBel=AutoBel+1 Quit:AutoBel>5 Do:AutoBel'>6 .Set BONNr="" .For Set BONNr=$O(^KUL(KLNr,"F",BONNr)) Quit:BONNr="" Do Quit:AutoBel>5 ..Set R=^KUL(KLNr,"F",BONNr,1),Date=$P(R,D,2) ..Set Date=$$INTDATE^vhLib.DataTypes(Date) ..Do:(""=Date) ##class(vhLib.Logger).%New("EWBON4").ErrorMail("AUTOBEL", "Datum (node 1, piece 2) is leeg in bon '"_BONNr_"'. Vul die in op basis van piece 16. En vervang ook de ^KU3('0'-node door één met de negatieve $h-datum als eerste subscript") ..Quit:(""=Date) ..Quit:$D(BONNr(Date)) ..Set BONNr(Date)="",AutoBel=AutoBel+1 Set:AutoBel>5 AutoBel=0 Quit AutoBel ; ; Automatisch beloven de eerste vijf leveringen van een nieuwe klant via het BONNr AutoBelViaBon(BONNr) New R,KLNr Set R=$G(^KU1(BONNr,"F")),KLNr=$P(R,D) Set:'KLNr R=$G(^ORDW("D",BONNr)),KLNr=$P(R,D) ; De bon is nog niet opgemaakt maar wel doorgestuurd naar het WMS Quit $$AUTOBEL(KLNr) ;