FLOWORD3 ;Order [ 09/25/2003 10:44 AM ] ; DELLINE(ORDNr,OLNr,Extern,CheckHaluxOrder) New %TC,R,KLNr,PRNr,TOENr,TLLNr,OLUNr,IsActiefHaluxOrder Set CheckHaluxOrder=$G(CheckHaluxOrder,1) Set Extern=$G(Extern),KLNr=$P(^KO1(ORDNr,"F"),D),R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15) If CheckHaluxOrder,PRNr Set IsActiefHaluxOrder=$$IsActiefOrder^HADOPV(ORDNr,OLUNr) For Do ADD^vhLock("^KOD(KLNr,""F"",ORDNr,OLNr)") Quit:%TC Do LDISP^vhLock("^KOD(KLNr,""F"",ORDNr,OLNr)","Order "_ORDNr) If PRNr Do .Do STOREDEL^LEVPERF(ORDNr,OLUNr,"D") .For Do ADD^vhLock("^KPR(PRNr)",,,,,3) Quit:%TC Do LDISP^vhLock("^KPR(PRNr)","Produkt "_$P(^KPR(PRNr,0),D)) .Set TOENr=$P(R,D,27),TLLNr=$P($P(R,D,28),";") .Do KWNODE^FLOWORD(KLNr,ORDNr,OLNr) .Do REMOVE^vhLock("^KPR(PRNr)") .If 'Extern,TOENr Do ..If (##class(DOM.PM.impl.ProductTypeAPIimpl).%New().IsSpaceTowerProduct(PRNr)) Do ...Set LEVNr=$P(^KTO1(TOENr),D),TLLNr=100 ...For Set TLLNr=$O(^KTO(LEVNr,TOENr,TLLNr)) Quit:TLLNr="" Do DELLINE^FLOWTOE3(TOENr,TLLNr,1) ...Do CHKDEL^FLOWTOE3(TOENr) ..Else Do ...Do DELLINE^FLOWTOE3(TOENr,TLLNr,1),CHKDEL^FLOWTOE3(TOENr) .Kill AkpVkpVerlies(OLUNr) Do ProductOrderLijnAnnulatie^FLOWORD2(KLNr,ORDNr,OLNr) Kill ^KOD(KLNr,"F",ORDNr,OLNr) Do:PRNr .Set:$L($G(FBRef)) $P(@FBRef@(PRNr),D,2)="" .Do:Extern KSTBXKWK^FLOWORD4(KLNr,ORDNr) If Extern,$O(^KOD(KLNr,"F",ORDNr,100))="" Do .Do KillOrderLink^KFO(ORDNr) .Kill ^KO1(ORDNr,"F"),^KOB(ORDNr,"F"),^KO2("F",KLNr,ORDNr),^KOD(KLNr,"F",ORDNr) .Do DelOrd^KLACHT4(ORDNr),DelVRIJGAVE^FLOW2(KLNr,"O",ORDNr) .Do ##class(DOM.VKP.event.OrderEventRaiser).RaiseOrderVerwijderdEvent(ORDNr) Do REMOVE^vhLock("^KOD(KLNr,""F"",ORDNr,OLNr)") Do:$G(IsActiefHaluxOrder) ModOrderMailToHalux("DL",KLNr,ORDNr,TOENr,PRNr) Quit ; DELOBJ(ORDNr) New %TC,R,KLNr,OLNr,TOENr,IsActiefHaluxOrder Set IsActiefHaluxOrder=$$IsActiefOrder^HADOPV(ORDNr) Set KLNr=$P(^KO1(ORDNr,"F"),D),OLNr=100,TOENr="" For Do ADD^vhLock("^KOD(KLNr,""F"",ORDNr)") Quit:%TC Do LDISP^vhLock("^KOD(KLNr,""F"",ORDNr)","Order "_ORDNr) For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do .Set:'TOENr R=^KOD(KLNr,"F",ORDNr,OLNr),TOENr=$P(R,D,27) .Do DELLINE(ORDNr,OLNr,,0) ; Controle Haluxorder = 0 (moet slechts een keer gebeuren) Do KillOrderLink^KFO(ORDNr) Kill ^KO1(ORDNr,"F"),^KOB(ORDNr,"F"),^KO2("F",KLNr,ORDNr),^KOD(KLNr,"F",ORDNr) Do DelOrd^KLACHT4(ORDNr),DelVRIJGAVE^FLOW2(KLNr,"O",ORDNr) Do ##class(DOM.VKP.event.OrderEventRaiser).RaiseOrderVerwijderdEvent(ORDNr) Do REMOVE^vhLock("^KOD(KLNr,""F"",ORDNr)") Do:IsActiefHaluxOrder ModOrderMailToHalux("DO",KLNr,ORDNr,TOENr) Quit ; BUILDOBJ(KLNr,AutoMb,OrdRef,PRNr,EDIORDNr,BackGrnd,OrdTyp,FBRef,Offerte) New R,LogNr Set KLNr=$G(KLNr),AutoMb=$G(AutoMb) If AutoMb Set LogNr=AutoMb Quit:'$D(^MBLOG("T",KLNr,LogNr)) Set OrdRef=$G(OrdRef),EDIORDNr=$G(EDIORDNr),BackGrnd=$G(BackGrnd),OrdTyp=$G(OrdTyp) Do:BackGrnd BUILDBGR^FLOWORD7(KLNr,AutoMb,OrdRef,.PRNr,EDIORDNr,OrdTyp,$G(FBRef)) Do:'BackGrnd AutoVerwerkOrder^Flow.VerwerkDoc(KLNr,AutoMb,OrdRef,.PRNr,EDIORDNr,OrdTyp,$G(FBRef),.Offerte) Quit ; ;Herzetten van het OLUNr naar stappen van 10 ipv 100 RESETOLUNR(KLNr,ORDNr) New OLNr,Cnt,Rec,OLUNr,OldOLULink,NewOLULink,OldOLUNr,NewOLUNr,TmpOLNr,BlockId ; Eerst alles verwijderen, anders worden nieuw gecreerde indexen verwijderd door volgende lijnen Set OLNr=100 For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do . Set Rec=^KOD(KLNr,"F",ORDNr,OLNr) . Set OLUNr=$P(Rec,D,15) . Do:OLUNr . . Set OldOLULink(OLUNr)=OLNr . . Do DELORD(KLNr,ORDNr,OLNr) Set OLNr=100 Set Cnt=0 For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do . Set Rec=^KOD(KLNr,"F",ORDNr,OLNr) . Set $P(Rec,D,15)=$I(Cnt)*10+100 . Set ^KOD(KLNr,"F",ORDNr,OLNr)=Rec,NewOLULink(OLNr)=$P(Rec,D,15) . Do BUILDORD(KLNr,ORDNr,OLNr) ; De link tussen product- en tekstlijnen terug instellen Set OLNr=100 For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do . Set Rec=^KOD(KLNr,"F",ORDNr,OLNr) . Quit:$P($P(Rec,D,17),"#")'="KF11" . Set BlockId=$P(Rec,D,18) . Quit:$P(BlockId,";",2)'="P" . Set OldOLUNr=$P(BlockId,";",3) . Quit:'OldOLUNr . Set TmpOLNr=$G(OldOLULink(OldOLUNr)) . Quit:'TmpOLNr . Set NewOLUNr=$G(NewOLULink(TmpOLNr)) . Quit:'NewOLUNr . Set $P(BlockId,";",3)=NewOLUNr,$P(Rec,D,18)=BlockId . Set ^KOD(KLNr,"F",ORDNr,OLNr)=Rec Quit BUILDORD(KLNr,ORDNr,OLNr) Set KLNr=$G(KLNr,0),ORDNr=$G(ORDNr),OLNr=$G(OLNr) Do BUILDIU(KLNr,ORDNr,OLNr) Do BUILDIP(KLNr,ORDNr,OLNr) Quit ; BUILDIU(KLNr,ORDNr,OLNr) New R,OneCust,OneOrd,OneLine,PRNr,OLUNr Set KLNr=$G(KLNr,0),ORDNr=$G(ORDNr),OLNr=$G(OLNr) Set (OneCust,OneOrd,OneLine)=0 Set:KLNr OneCust=1 Set:ORDNr OneOrd=1 Set:OLNr OneLine=1 For Set:'OneCust KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do Quit:OneCust .Set:'OneOrd ORDNr=0 .For Set:'OneOrd ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do Quit:OneOrd ..Set:'OneLine OLNr=100 ..For Set:'OneLine OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do Quit:OneLine ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15) ...If 'OLUNr Set OLUNr=$$UNIEKLNR^FLOWORD(KLNr,ORDNr),$P(R,D,15)=OLUNr,^KOD(KLNr,"F",ORDNr,OLNr)=R ...Quit:'PRNr ...Set ^ORD("IU",ORDNr,OLUNr)=OLNr Quit ; BUILDIP(KLNr,ORDNr,OLNr) New R,OneCust,OneOrd,OneLine,OLUNr,PRNr Set KLNr=$G(KLNr,0),ORDNr=$G(ORDNr),OLNr=$G(OLNr) Set (OneCust,OneOrd,OneLine)=0 Set:KLNr OneCust=1 Set:ORDNr OneOrd=1 Set:OLNr OneLine=1 For Set:'OneCust KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do Quit:OneCust .Set:'OneOrd ORDNr=0 .For Set:'OneOrd ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do Quit:OneOrd ..Set:'OneLine OLNr=100 ..For Set:'OneLine OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do Quit:OneLine ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15) ...If 'OLUNr Set OLUNr=$$UNIEKLNR^FLOWORD(KLNr,ORDNr),$P(R,D,15)=OLUNr,^KOD(KLNr,"F",ORDNr,OLNr)=R ...Quit:'PRNr ...Set ^ORD("IP",PRNr,ORDNr,OLUNr)=OLNr Quit ; DELORD(KLNr,ORDNr,OLNr) Set KLNr=$G(KLNr,0),ORDNr=$G(ORDNr),OLNr=$G(OLNr) Do DELIU(KLNr,ORDNr,OLNr) Do DELIP(KLNr,ORDNr,OLNr) Quit ; DELIU(KLNr,ORDNr,OLNr) New R,OneCust,OneOrd,OneLine,OLUNr Set KLNr=$G(KLNr,0),ORDNr=$G(ORDNr),OLNr=$G(OLNr) Set (OneCust,OneOrd,OneLine)=0 Set:KLNr OneCust=1 Set:ORDNr OneOrd=1 Set:OLNr OneLine=1 For Set:'OneCust KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do Quit:OneCust .Set:'OneOrd ORDNr=0 .For Set:'OneOrd ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do Quit:OneOrd ..Set:'OneLine OLNr=100 ..For Set:'OneLine OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do Quit:OneLine ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15) ...If 'OLUNr Set OLUNr=$$UNIEKLNR^FLOWORD(KLNr,ORDNr),$P(R,D,15)=OLUNr,^KOD(KLNr,"F",ORDNr,OLNr)=R ...Quit:'PRNr ...Kill ^ORD("IU",ORDNr,OLUNr) Quit ; DELIP(KLNr,ORDNr,OLNr) New R,OneCust,OneOrd,OneLine,OLUNr,PRNr Set KLNr=$G(KLNr,0),ORDNr=$G(ORDNr),OLNr=$G(OLNr) Set (OneCust,OneOrd,OneLine)=0 Set:KLNr OneCust=1 Set:ORDNr OneOrd=1 Set:OLNr OneLine=1 For Set:'OneCust KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do Quit:OneCust .Set:'OneOrd ORDNr=0 .For Set:'OneOrd ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do Quit:OneOrd ..Set:'OneLine OLNr=100 ..For Set:'OneLine OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do Quit:OneLine ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15) ...If 'OLUNr Set OLUNr=$$UNIEKLNR^FLOWORD(KLNr,ORDNr),$P(R,D,15)=OLUNr,^KOD(KLNr,"F",ORDNr,OLNr)=R ...Quit:'PRNr ...Kill ^ORD("IP",PRNr,ORDNr,OLUNr) Quit ; CHECKORD Do .New Check .Set Q="K" .Do ^cA604 Write !!,"*** WMS ord ***" 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 OLUNr ..Set OLNr=100 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:'OLNr Do ...Set R=^KOD(KLNr,"F",ORDNr,OLNr),ZR=$ZR,PRNr=$P(R,D,2),OLUNr=$P(R,D,15) ...If 'OLUNr Do Quit ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Orderlijn ",ZR," OLUNr onbekend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"Lijn = ",OLNr ...Set OLUNr(OLUNr)="" ...Quit:'PRNr ...If '$D(^ORD("IU",ORDNr,OLUNr)) Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",$ZR," onbekend",!?8,"Order = ",ORDNr,?29,"OLUNr = ",OLUNr,?50,"Lijn = ",OLNr ...If $D(^ORD("IU",ORDNr,OLUNr)),^ORD("IU",ORDNr,OLUNr)'=OLNr Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",$ZR," lijnnummer verschillend",!?8,"Order = ",ORDNr,?29,"OLUNr = ",OLUNr,?50,"Lijn ",OLNr," <> ",^ORD("IU",ORDNr,OLUNr) ...If '$D(^ORD("IP",PRNr,ORDNr,OLUNr)) Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",$ZR," onbekend",!?8,"Order = ",ORDNr,?29,"OLUNr = ",OLUNr,?50,"Lijn = ",OLNr ...If $D(^ORD("IP",PRNr,ORDNr,OLUNr)),^ORD("IP",PRNr,ORDNr,OLUNr)'=OLNr Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",$ZR," lijnnummer verschillend",!?8,"Order = ",ORDNr,?29,"OLUNr = ",OLUNr,?50,"Lijn ",OLNr," <> ",^ORD("IP",PRNr,ORDNr,OLUNr) ..If 90+($G(^KOD(KLNr,"F",ORDNr,4))*10)'>$O(OLUNr(""),-1) Do ...Set Check=0 ...Do wKLANT^zbcheck ...Write !!,"Teller OLUNr ",$ZR," foutief",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"Teller ",$G(^KOD(KLNr,"F",ORDNr,4)),"*10+90"," '> ",$O(OLUNr(""),-1) Set ORDNr="" For Set ORDNr=$O(^ORD("IU",ORDNr)) Quit:'ORDNr Do .Set OLUNr="" .For Set OLUNr=$O(^ORD("IU",ORDNr,OLUNr)) Quit:'OLUNr Do ..Set R=^ORD("IU",ORDNr,OLUNr),ZR=$ZR,OLNr=$P(R,D) ..Set KLNr=$P($G(^KO1(ORDNr,"F")),D) ..If 'KLNr Do Quit ...Set Check=0 ...Write !!,"Index ",ZR," order onbekend",!,?8,"Order = ",ORDNr ..Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ..If '$D(^KOD(KLNr,"F",ORDNr)) Do Quit ...Set Check=0 ...Do wKLANT^zbcheck ...Write !!,"Index ",ZR," order onbekend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr ..Set R=$G(^KOD(KLNr,"F",ORDNr,OLNr)) ..If R="" Do Quit ...Set Check=0 ...Do wKLANT^zbcheck ...Write !!,"Index ",ZR," orderlijn onbekend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"Lijn ",OLNr ..If $P(R,D,15)'=OLUNr Do ...Set Check=0 ...Do wKLANT^zbcheck ...Write !!,"Index ",ZR," OLUNr verschillend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"OLUNr ",OLUNr," <> ",$P(R,D,15) Set PRNr="" For Set PRNr=$O(^ORD("IP",PRNr)) Quit:'PRNr Do .Set ORDNr="" .For Set ORDNr=$O(^ORD("IP",PRNr,ORDNr)) Quit:'ORDNr Do ..Set OLUNr="" ..For Set OLUNr=$O(^ORD("IP",PRNr,ORDNr,OLUNr)) Quit:'OLUNr Do ...Set R=^ORD("IP",PRNr,ORDNr,OLUNr),ZR=$ZR,OLNr=$P(R,D) ...Set KLNr=$P($G(^KO1(ORDNr,"F")),D) ...If 'KLNr Do Quit ....Set Check=0 ....Write !!,"Index ",ZR," Order onbekend",!?8,"Order = ",ORDNr ...Set Klant=KLNr_" "_$P(^KKL(^KK1(KLNr),0),D,2) ...If '$D(^KOD(KLNr,"F",ORDNr)) Do Quit ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",ZR," order onbekend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr ...Set R=$G(^KOD(KLNr,"F",ORDNr,OLNr)) ...If R="" Do Quit ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",ZR," orderlijn onbekend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"Lijn ",OLNr ...If $P(R,D,2)'=PRNr Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",ZR," product verschillend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"Product ",PRNr," <> ",$P(R,D,2) ...If $P(R,D,15)'=OLUNr Do ....Set Check=0 ....Do wKLANT^zbcheck ....Write !!,"Index ",ZR," OLUNr verschillend",!,?8,"Klant = ",KLNr,?29,"Order = ",ORDNr,?50,"OLUNr ",OLUNr," <> ",$P(R,D,15) Quit ; CHECK() New Set Check=1 Do CHECKORD Quit Check ; BUILDKOP New Do INIT^vhTERMINA Kill ^KOP 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 OLNr=100 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:'OLNr Do ...Set PRNr=$P(^KOD(KLNr,"F",ORDNr,OLNr),D,2) ...Quit:'PRNr Quit:'$D(^KPR(PRNr)) ...Set ^KOP(PRNr,ORDNr,OLNr)=KLNr Quit ; CHECKKOP New Do INIT^vhTERMINA 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 OLNr=100 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:'OLNr Quit:OLNr'?.N Do ...Set PRNr=$P(^KOD(KLNr,"F",ORDNr,OLNr),D,2) ...Quit:'PRNr ...If '$D(^KPR(PRNr)) Write:$D(^KOP(PRNr,ORDNr,OLNr)) !,$ZR,!,"Produkt onbekend" ...Else If '$D(^KOP(PRNr,ORDNr,OLNr)) Write !,$ZR,!,"Onbekend" ...Else If ^KOP(PRNr,ORDNr,OLNr)'=KLNr Write !,$ZR,!,"Klant verschillend" Set PRNr="" For Set PRNr=$O(^KOP(PRNr)) Quit:'PRNr Do .Set ORDNr="" .For Set ORDNr=$O(^KOP(PRNr,ORDNr)) Quit:'ORDNr Do ..Set OLNr="" ..For Set OLNr=$O(^KOP(PRNr,ORDNr,OLNr)) Quit:'OLNr Do ...Set KLNr=^KOP(PRNr,ORDNr,OLNr) ...If '$D(^KOD(KLNr,"F",ORDNr,OLNr)) Write !,$ZR,!,"Onbekend" ...Else If PRNr'=$P(^KOD(KLNr,"F",ORDNr,OLNr),D,2) Write !,$ZR,!,"Produkt verschillend" Quit ; KopieerAanbrengersInformatie(FANr,ORDNr) new Factuur , Order , Aanbrenger #dim Factuur As DOM.OV.Factuur = ##class(DOM.DomeinContext).Instance().GeefOrderAPI().GeefFactuur(FANr) #dim Order As DOM.OV.Order = ##class(DOM.DomeinContext).Instance().GeefOrderAPI().GeefOrder(ORDNr) do Order.ZetAanbrengers(Factuur.GeefAanbrengers()) new itAanbrengers set itAanbrengers = ##class(TECH.ListIterator).%New(Factuur.GeefAanbrengers()) while itAanbrengers.HasNext() { set Aanbrenger = itAanbrengers.Next() do Order.ZetAanbrengerCommissiePercentage(Aanbrenger,Factuur.GeefAanbrengerCommissiePercentage(Aanbrenger)) } Do Order.Save() quit AUTOORD New I,R,Next,Aantal,LevTerm,Prijs,Text,BlockId,AfdrFakt,NoRecalc,LDefault if $g(^||FactuurNrVanuitOpmakenIncident) do KopieerAanbrengersInformatie(^||FactuurNrVanuitOpmakenIncident,ORDNr) Set Next="" For Set Next=$O(PRNr(Next)) Quit:Next="" Do .Set ScrolOrd=1 .Set R=PRNr(Next) .If $P(R,D)="T" Do ..Set Text=$P(R,D,2),BlockId=$P(R,D,3),AfdrFakt=$P(R,D,4) ..Do TINSERT^FLOWORD(,,Text,,BlockId,AfdrFakt) .Else Do ..Kill LDefault ..Set PRNr=$P(R,D),Aantal=$P(R,D,2),LevTerm=$P(R,D,3),Prijs=$P(R,D,4) ..If $L($G(PRNr(Next,"Default"))) For I=1:1:$L(PRNr(Next,"Default"),D) Set:$L($P(PRNr(Next,"Default"),D,I)) LDefault(I)=$P(PRNr(Next,"Default"),D,I) ; De default waarden instellen ..Set NoRecalc=''$L(Prijs) Set:'NoRecalc NoRecalc="" ..Set WordtKlantBarcodeAutomatischIngevuld = 1 ..Do PINSERT^FLOWORD(,,PRNr,Aantal,Prijs,,,LevTerm,,,NoRecalc,,,.LDefault) ..Set HeeftKlantBarcode = $$HEEFTKLANTBARCODE^FLOW("O",ORDNr) Kill PRNr Quit ; EXTERN(ORDNr) New Locals,UR Set (Locals("ORDNr"),UR)=ORDNr,Locals("Extern")=1 Do DO^vhPROGRAM("ExternVerwerkOrder^Flow.VerwerkDoc","","",$G(NoMod)) Quit ; ; Versturen van een mail naar persoon bij het wijzigen van een haluxorder ModOrderMailToHalux(Actie,Param1,Param2,Param3,Param4,Param5,Param6) New TUserId,TUser,FUserId,FUser,MailId,Text Set TUserId=$$USERID^vhUSER(##class(TECH.Config.ConfigMgr).Instance().GetString("FLOWORD3_ModOrderMailToHalux_TUser")) Set FUserId=$G(CUserId,$G(QU(1),$P($$DEVUSER^vhUSER(),";"))),FUser=$$USERNAME^vhUSER(FUserId) Set Text(1)="Order "_$$EXTNUM^vhLib.DataTypes(Param2,0,".",0)_" (toelevering "_Param3_")" Set Text(1)=Text(1)_" van "_$P(^KKL(^KK1(Param1),0),D,2)_"~gewijzigd door "_FUser_".~" If Actie="DL" Do ; Orderlijn verwijderen . ; Param1=KLNr, Param2=ORDNr, Param4=PRNr . Set Text(2)="~Het product "_$P(^KPR(Param4,0),D)_" is verwijderd!" If Actie="DO" Do ; Order verwijderen . ; Param1=KLNr, Param2=ORDNr . Set Text(2)="~Het order is volledig verwijderd!" If Actie="MA" Do ; Aantal wijzigen . ; Param1=KLNr, Param2=ORDNr, Param4=PRNr, Param5=Oude aantal, Param6=Nieuwe aantal . Set Text(2)="~Wijziging aantal product "_$P(^KPR(Param4,0),D) . Set Text(3)="~van "_Param5_" naar "_Param6_"." If Actie="MP" Do ; Product wijzigen . ; Param1=KLNr, Param2=ORDNr, Param4=Oude PRNr, Param5=Nieuwe PRNr . Set Text(2)="~Wijzigen product "_$P(^KPR(Param4,0),D) . Set Text(3)="~ naar "_$P(^KPR(Param5,0),D) Set MailId=$$SYSTEM^vhMAIL("","","Wijziging order",TUserId,.Text,"","U","A") Set TUser=$$USERNAME^vhUSER(TUserId) Do:$L(TUser,";")>1 . For Quit:$L(TUser,";")=2 Set TUser=$P(TUser,";")_", "_$P(TUser,";",2,99) . Set TUser=$P(TUser,";")_" en "_$P(TUser,";",2) Try { Do TXTPOP^FLOW("MODHALUX","",TUser,$S($L(TUserId,";")=1:"is",1:"zijn")) } Catch { #dim Exception As TECH.IException = ##class(TECH.ExceptionHandler).Catch() Do ##class(vhLib.Logger).%New().Debug("TXTPOP^FLOW gefaald", "Normaal indien verwerking niet in interactieve sessie. " _ Exception.GeefOmschrijving()) } Quit ; ; Lijnnummer via uniek lijnnummer OLNR(ORDNr,OLUNr) Quit ^ORD("IU",ORDNr,OLUNr) ;