TRANSP ;Verwerking ABX [ 04/14/2003 11:42 AM ] ; GLS-transport CHUI en DB-toegang. ; VERWERK(BONNr) New R,Key,VervRef,GroepNr,Bons,Ophalen,Transfer Do STORE^vhTERMINA() Set Key=$$GETGRP(BONNr) If $L(Key) Do .Set VervRef=$P(Key,";"),GroepNr=$P(Key,";",2) .Set Bons("VERVREF")=VervRef,Bons("GRPNR")=GroepNr .Set R=$G(^TRANSP("D",VervRef)),Ophalen=$P(R,D,11),Transfer=$P(R,D,12) .If $D(^TRANSP("IO",VervRef)),'Ophalen,'Transfer Do ..Do MODGRP(VervRef,GroepNr) .Else If $D(^TRANSP("D",VervRef)) Do ..Do RPLGRP(VervRef,GroepNr) .Else Set R=$$^vhTXTPOP("TRANSP","DELETED","",VervRef) Else Do .Set Bons("BON",BONNr)="" .Do SELBON($NAME(Bons)) .Quit:$D(Bons("ANUL")) .Set VervRef=$G(Bons("VERVREF")),GroepNr=$G(Bons("GRPNR")) .If $L(VervRef) Do ..If $D(^TRANSP("IO",VervRef)),'Ophalen,'Transfer Do ...Do MODGRP(VervRef,GroepNr,$NAME(Bons("BON"))) ..Else Do RPLGRP(VervRef,GroepNr) .Else Do NEWGRP(,$NAME(Bons("BON"))) Do REFRESH^vhTERMINA() Quit ; NEWGRP(VervRef,BONNrs) New %SC,R,sFL,TranspNr,KLNr,GroepNr,Collie,ColList,Labels,OBCount,IsTerugname,BONNr Do INIT^vhLIST("TRANSP","COLLIE",.Collie) If $L($G(VervRef)) Set R=^TRANSP("D",VervRef),TranspNr=$P(R,D) Else Set R=$$SELVERV(,"N"),TranspNr=$P(R,";"),VervRef=$P(R,";",2) Do:$L($G(VervRef)) .Do:##class(DOM.TRANSP.impl.DataM.DataMTransportAPI).%New().IsGLS(TranspNr) CHKVERZW(.BONNrs) .Set Labels=0 .Set GroepNr=$O(@BONNrs@("")) .Quit:'$$LOCK(VervRef,GroepNr) .Do INITGRP .If $P(sFL(1),D,2)>0,'##class(CHUI.Flow.Cons.Transport).CheckMaximumRembours(VervRef,GroepNr,$P(sFL(1),D,2),1) Quit .Set IsTerugname=$P(sFL("V"),D,5)="T" .Merge ColList=sFL("Q") .Do NIEUW^vhScherm("TRANSP") .Do:%SC ..Kill sFL("Q") ..Merge sFL("Q")=ColList ..Do SAVEGRP(VervRef,GroepNr,BONNrs,.sFL) ..Do ##class(DOM.TRANSP.event.EventRaiser).LeveringGemaaktEvent(VervRef,GroepNr) ..if ##class(TECH.Config.ConfigMgr).Instance().GeefString("APPS.TRANSP.GLS.CommunicatieVersie")="ABX" do ...Set:IsTerugname Labels=0 ...Do:Labels ##class(APPS.TRANSP.ToerLijstService).%New().PrintVerpakkingLabelsIndienNodig(VervRef, GroepNr, ##class(APPS.TRANSP.enu.AbxLinkLabelAfdrukModus).DrukMetNieuweBarcode()) ...If 'Labels Set R=^TRANSP("D",VervRef) Set:$P(R,D,2)="P" $P(R,D,2)="",^TRANSP("D",VervRef)=R ..Set BONNr="" ..For Set BONNr=$O(@BONNrs@(BONNr)) Quit:BONNr="" Do:BONNr'=GroepNr OPEN^LOG("TRP",VervRef,"B"_BONNr) ..Do OPEN^LOG("TRP",VervRef,"B"_GroepNr) .Do UNLOCK(VervRef,GroepNr) Quit ; MODGRP(VervRef,GroepNr,BONNrs) New %SC,R,sFL,TranspNr,KLNr,BONNr,Collie,ColList,Labels,OBCount,NBCount,ColTyp,IsTerugname Do:$$LOCK(VervRef,GroepNr) .Set Labels=0 .If '$D(BONNrs),$D(Bons("VERVREF")),$D(Bons("GRPNR")) Merge R=Bons New Bons Set Bons("VERVREF")=R("VERVREF"),Bons("GRPNR")=R("GRPNR") .Do INIT^vhLIST("TRANSP","COLLIE",.Collie) .Do:'$D(BONNrs) ..Set BONNrs="Bons(""BON"")",BONNr="" ..For Set BONNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"B",BONNr)) Quit:BONNr="" Set @BONNrs@(BONNr)="" .Do INITGRP .Set IsTerugname=$P(sFL("V"),D,5)="T" .Merge ColList=sFL("Q") .Do EDIT^vhScherm("TRANSP") .Do:%SC ..Kill sFL("Q") ..Merge sFL("Q")=ColList ..Do SAVEGRP(VervRef,GroepNr,BONNrs,.sFL) ..Do ##class(DOM.TRANSP.event.EventRaiser).LeveringGewijzigdEvent(VervRef, GroepNr) ..if ##class(TECH.Config.ConfigMgr).Instance().GeefString("APPS.TRANSP.GLS.CommunicatieVersie")="ABX" do ...Set:IsTerugname Labels=0 ...Do:Labels ....Set ColTyp="",NBCount=0 ....For Set ColTyp=$O(^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp)) Quit:ColTyp="" Do .....Set R=^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp) .....Set NBCount=NBCount+$P(R,D) ....If $G(OBCount),NBCount'=OBCount Kill ^TRANSP("D",VervRef,"D",GroepNr,"C") ....Do ##class(APPS.TRANSP.ToerLijstService).%New().PrintVerpakkingLabelsIndienNodig(VervRef, GroepNr, ##class(APPS.TRANSP.enu.AbxLinkLabelAfdrukModus).HerdrukMetNieuweBarcode()) .Do UNLOCK(VervRef,GroepNr) Quit ; RPLGRP(VervRef,GroepNr,Dummy) New %SC,R,sFL,TranspNr,KLNr,Collie,ColList,Labels,OBCount,BONNr,Count,Ophalen,Transfer Do INIT^vhLIST("TRANSP","COLLIE",.Collie) Do INITGRP Merge ColList=sFL("Q") Set BONNr="",Count=0 For Set BONNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"B",BONNr)) Quit:BONNr="" Do .Set Count=Count+1,$P(ColList(Count),D)=BONNr Set R=^TRANSP("D",VervRef),Ophalen=$P(R,D,11),Transfer=$P(R,D,12) Do STORE^vhTERMINA() Do DISPLAY^vhScherm("TRANSP"),FIELD^vhScherm("TRANSP","OK") Do REFRESH^vhTERMINA() Quit ; INITGRP New R,Rembours,Gewicht,ColTyp,Omschr,Count,BONNr,Node,BarCode,OphVoorz,RemboursVoorBon, LegacyTRANSP Set R=^KU1(GroepNr,"F"),KLNr=$P(R,D),Node=$$NODE(GroepNr) Set R=$G(^KUL(KLNr,Node,GroepNr,3)) If $$IsBonMetEnkelVerwijzingNaarLeveradres(R) Set R = ^KKL(^KK1(KLNr),"L"_##class(TECH.StringUtils).AlignRight($P(R,D)," ",3)) ELSE If '$$IsBonMetEigenLeveradres(R) Set R=^KKL(^KK1(KLNr),0) Set sFL("L")=R Set sFL(1)=$G(^TRANSP("D",VervRef,"D",GroepNr)) Do:sFL(1)="" .Set (BONNr,Rembours,Gewicht)="" .For Set BONNr=$O(Bons("BON",BONNr)) Quit:BONNr="" Do ..Set Node=$$NODE(BONNr) ..If ($$ISREMB^REMBOURS(KLNr,BONNr)) Do ...Set LegacyTRANSP = ##class(BL.Legacy.TRANSP).%New() ...Do LegacyTRANSP.ZetRemboursBedragVoorBon(BONNr,KLNr,"") ...Set RemboursVoorBon = LegacyTRANSP.GeefRemboursBedragVoorBon(BONNr,KLNr) ...Do:(RemboursVoorBon>0) LegacyTRANSP.ZetRemboursBedragVoorBon(BONNr,KLNr,RemboursVoorBon) ...Set Rembours=Rembours+RemboursVoorBon ..Set R=^KUL(KLNr,Node,BONNr,1),Gewicht=Gewicht+$J($P($P(R,D,13),"#",3),0,1) .Set sFL(1)=KLNr_D_Rembours_D_Gewicht,$P(sFL(1),D,9)=$$DEVUSER^vhUSER(),$P(sFL(1),D,10)=$H Set sFL("V")=$G(^TRANSP("D",VervRef)) If $L(sFL("V")) Set TranspNr=$P(sFL("V"),D),$P(sFL("V"),D,3)=$P(sFL("V"),D,3)+$G(Gewicht) Else Do .Set OphVoorz=$$INTTIME^vhLib.DataTypes("16:00"),OphVoorz=($S(OphVoorz<$P($H,",",2):$$CALCDATE^vhLib.DataTypes(,"A",1),1:+$H))_","_OphVoorz .Set sFL("V")=TranspNr_D_D_Gewicht,$P(sFL("V"),D,8)=OphVoorz,$P(sFL("V"),D,9)=$$DEVUSER^vhUSER(),$P(sFL("V"),D,10)=$P(sFL(1),D,10) Set ColTyp="" For Set ColTyp=$O(^RES("EWBON","PI","COLLIETYPE","D",ColTyp)) Quit:ColTyp="" Do .Set R=^RES("EWBON","PI","COLLIETYPE","D",ColTyp) .Quit:'$P(R,"`",3) .Set Count=$P(R,"`"),Omschr=$P(R,"`",2) .Set R=$G(^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp)) .Set sFL("Q",0,Count)=D_ColTyp_D_Omschr_D_$P(R,D,1,2) Set ColTyp="",Count=0 For Set ColTyp=$O(sFL("Q",0,ColTyp)) Quit:ColTyp="" Set R=sFL("Q",0,ColTyp),Count=Count+1,sFL("Q",Count)=R Kill sFL("Q",0) Set (Count,BONNr)=0 For Set BONNr=$O(Bons("BON",BONNr)) Quit:BONNr="" Set Count=Count+1,$P(sFL("Q",Count),D)=BONNr Set BarCode="",Count=0 If (##class(TECH.Config.ConfigMgr).Instance().GeefString("APPS.TRANSP.GLS.CommunicatieVersie")="ABX") { Set BarCode=$O(^TRANSP("D",VervRef,"D",GroepNr,"C",BarCode)) While BarCode'="" { Set (Count,OBCount)=Count+1,$P(sFL("Q",Count),D,11)=BarCode Set BarCode=$O(^TRANSP("D",VervRef,"D",GroepNr,"C",BarCode)) } }Else{ New Levering,DistributeurDataIDIt,DistributeurDataIDs,DistributeurData #dim Levering As DOM.TRANSP.Levering = ##class(DOM.DomeinContext).Instance().GeefTransportAPI().GeefLevering(VervRef,GroepNr) #dim DistrubuteurDataIDs As %ListOfObjects = Levering.GeefDistributeurDataIDs() Set DistributeurDataIDIt = ##class(TECH.ListIterator).%New(DistrubuteurDataIDs) While DistributeurDataIDIt.HasNext(){ #dim DistributeurDataID As %String = DistributeurDataIDIt.Next() #dim DistributeurData As APPS.TRANSP.GLS.GLSv1.data.VerzendData = ##class(DOM.DomeinContext).Instance().GeefTransportAPI().GeefDistributeurData(DistributeurDataID) Set (Count,OBCount) = Count+1 Set $P(sFL("Q",Count),D,11) = DistributeurData.UnitID } } Merge sFL("C")=^TRANSP("D",VervRef,"D",GroepNr,"C") Quit ; DELGRP(VervRef,GroepNr) ; Haal een leveringsbon terug van transport af. Werkt ook als het transport reeds gesloten is. New R,BONNr,KLNr,Gewicht,Node Do ##class(DOM.TRANSP.event.EventRaiser).VoorLeveringVerwijderingEvent(VervRef,GroepNr) Set BONNr="",Gewicht=0 For Set BONNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"B",BONNr)) Quit:BONNr="" Do .Set KLNr=$P(^KU1(BONNr,"F"),D),Node=$$NODE(BONNr) .Set R=^KUL(KLNr,Node,BONNr,1),$P(R,D,8)="",^KUL(KLNr,Node,BONNr,1)=R .Do ##class(BL.Legacy.TRANSP).%New().ZetRemboursBedragVoorBon(BONNr,KLNr,"") .Set Gewicht=Gewicht+$J($P($P(R,D,13),"#",3),0,1) .Do:BONNr'=GroepNr VERW^LOG("TRP",VervRef,"B"_BONNr) Kill ^TRANSP("D",VervRef,"D",GroepNr) Do VERW^LOG("TRP",VervRef,"B"_GroepNr) Do ##class(DOM.TRANSP.event.EventRaiser).LeveringVerwijderdEvent(VervRef,GroepNr) If $O(^TRANSP("D",VervRef,"D",""))="" Do .Kill ^TRANSP("IO",VervRef),^TRANSP("D",VervRef) .Do VERW^LOG("TRP",VervRef) .Do ##class(DOM.TRANSP.event.EventRaiser).RitVerwijderdEvent(VervRef) Else Do CUMVERV(VervRef) Quit ; SAVEGRP(VervRef,GroepNr,BONNrs,Nodes) New R,BONNr,KLNr,Next,ColTyp,Node,TranspNr If $D(BONNrs) Do .Set BONNr="" .For Set BONNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"B",BONNr)) Quit:BONNr="" Do ..Quit:$D(@BONNrs@(BONNr)) ..Set KLNr=$P(^KU1(BONNr,"F"),D),Node=$$NODE(BONNr) ..Set R=^KUL(KLNr,Node,BONNr,1),$P(R,D,8)="",^KUL(KLNr,Node,BONNr,1)=R ..Kill ^TRANSP("D",VervRef,"D",GroepNr,"B",BONNr) .Set R=Nodes("V"),TranspNr=$P(R,D),^TRANSP("D",VervRef)=R .Set ^TRANSP("D",VervRef,"D",GroepNr)=Nodes(1),BONNr="" .For Set BONNr=$O(@BONNrs@(BONNr)) Quit:BONNr="" Do ..Set KLNr=$P(^KU1(BONNr,"F"),D),Node=$$NODE(BONNr) ..Set R=^KUL(KLNr,Node,BONNr,1),$P(R,D,8)=VervRef_";"_GroepNr_";"_TranspNr,^KUL(KLNr,Node,BONNr,1)=R ..Set ^TRANSP("D",VervRef,"D",GroepNr,"B",BONNr)="" .Kill ^TRANSP("D",VervRef,"D",GroepNr,"Q") .Set Next="" .For Set Next=$O(Nodes("Q",Next)) Quit:Next="" Do ..Set R=Nodes("Q",Next),ColTyp=$P(R,D,2),R=$P(Nodes("Q",Next),D,4,10) ..Quit:$TR(R,D,"")="" ..Set ^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp)=R .Merge ^TRANSP("D",VervRef,"D",GroepNr,"C")=sFL("C") .Set ^TRANSP("IO",VervRef)="" .Do CUMVERV(VervRef) Else Do DELGRP(VervRef,GroepNr) Quit ; GETGRP(BONNr) New R,KLNr,VervRef,GroepNr Set KLNr=$P(^KU1(BONNr,"F"),D),R=^KUL(KLNr,"F",BONNr,1),R=$P(R,D,8),VervRef=$P(R,";"),GroepNr=$P(R,";",2) Set R=$S($L(VervRef):VervRef_";"_GroepNr,1:"") Quit R ; SELBON(VarRef) New R,RefBonNr,KLNr,BONNr,SelBon,BonList,OldSel,Selected,VervRef,GroepNr,Input,Count,TempVar Set RefBonNr=$G(@VarRef@("GRPNR")) Set:'RefBonNr RefBonNr=$O(@VarRef@("BON","")) Set KLNr=$P(^KU1(RefBonNr,"F"),D) Merge TempVar=@VarRef Do FETCHBON(RefBonNr,VarRef,.BonList) Do:$O(BonList(""),-1)>1 .Do STORE^vhTERMINA() .Do INIT^vhLIST("TRANSP","SELBON",.SelBon) .Set:$D(@VarRef@("ALL")) $P(SelBon("B",4),"`",3)="H" .Do WRITE^vhLIST(.SelBon) .For Set Input=$$SCROLL^vhLIST(.SelBon) Quit:Input="O" Quit:Input="A" Do ..If Input="S" Do ...Set R=BonList(SelBon("SELECT")),BONNr=$P(R,D) ...If BONNr'=RefBonNr Do ....Set $P(R,D,2)='$P(R,D,2),BonList(SelBon("SELECT"))=R ....If $P(R,D,2) Set @VarRef@("BON",BONNr)="" ....Else Kill @VarRef@("BON",BONNr) ...Do REFRESH^vhLIST(.SelBon,"L",SelBon("SELECT")) ...Do MOVE^vhLIST(.SelBon,"DO","") ..If Input="V" Do ...Set OldSel=BonList(SelBon("SELECT")),@VarRef@("ALL")=1 ...Do FETCHBON(RefBonNr,VarRef,.BonList) ...Do INIT^vhLIST("TRANSP","SELBON",.SelBon) ...Set $P(SelBon("B",4),"`",3)="H" ...For SelBon("SELECT")=1:1 Quit:BonList(SelBon("SELECT"))=OldSel ...Do WRITE^vhLIST(.SelBon) .Do REFRESH^vhTERMINA() If $G(Input)="A" Kill @VarRef Merge @VarRef=TempVar Set @VarRef@("ANUL")=1 Else For Count=1:1 Quit:'$D(BonList(Count)) Do .Set R=BonList(Count),BONNr=$P(R,D),Selected=$P(R,D,2) .If 'Selected Kill @VarRef@("BON",BONNr) Quit .Set VervRef=$P(R,D,3),GroepNr=$P(R,D,4) .Set @VarRef@("BON",BONNr)="" .Set:$L(VervRef) @VarRef@("VERVREF")=VervRef Set:$L(GroepNr) @VarRef@("GRPNR")=GroepNr Quit ; FETCHBON(RefBonNr,VarRef,BonList) New R,BONNr,KLNr,BonDat,MinDat,MaxDat,LevAdr,Count,Selected,VervRef,GroepNr,VerzW,BonStat,IsHalux,Node,Beperk,RefMunt,RefBonNrType Set RefBonNrType=$$ISTERUGN^FLOWBON5(RefBonNr) Set Beperk='$D(@VarRef@("ALL")) Set KLNr=$P(^KU1(RefBonNr,"F"),D),Node=$$NODE(RefBonNr) Set R=^KUL(KLNr,Node,RefBonNr,1),BonDat=$P(R,D,2),RefMunt=$P(R,D,18),LevAdr=^KUL(KLNr,Node,RefBonNr,3) Set MaxDat=$$INTDATE^vhLib.DataTypes(BonDat),MinDat=MaxDat-1 Set BONNr="" For Set BONNr=$O(@VarRef@("BON",BONNr)) Quit:BONNr="" Do Quit:'Beperk .Set Node=$$NODE(BONNr),R=^KUL(KLNr,Node,BONNr,1),BonDat=$$INTDATE^vhLib.DataTypes($P(R,D,2)) .If BonDat'MaxDat Quit .Set @VarRef@("ALL")=1,Beperk=0 Set:'Beperk MinDat=$$CALCDATE^vhLib.DataTypes(MaxDat,"W",-1,"FD"),MaxDat=$$CALCDATE^vhLib.DataTypes(MaxDat,"W","LD") Set Count=0 For Node=$S('Beperk:"G",1:""),"F" Do:$L(Node) .Set BONNr="" .For Set BONNr=$O(^KUL(KLNr,Node,BONNr)) Quit:BONNr="" Do ..Quit:$$ISTERUGN^FLOWBON5(BONNr)'=RefBonNrType ..If Beperk,'$D(@VarRef@("BON",BONNr)),$P(^KUL(KLNr,Node,BONNr,3),D,2,8)'=$P(LevAdr,D,2,8) Quit ..Set R=^KUL(KLNr,Node,BONNr,1) ..Quit:$P(R,D,18)'=RefMunt ..Set BonDat=$$INTDATE^vhLib.DataTypes($P(R,D,2)) ..If $L($P(R,D,8)),$P($P(R,D,8),";",2)'=RefBonNr Quit ..Set VerzW=$P(R,D,7),VervRef=$P($P(R,D,8),";"),GroepNr=$P($P(R,D,8),";",2),BonStat=$P(R,D,28) ..If '$D(@VarRef@("BON",BONNr)) Quit:BonDatMaxDat ..Set:BONNr=RefBonNr GroepNr=RefBonNr ..Set Selected=''$D(@VarRef@("BON",BONNr)) ..Set IsHalux=$$ISHALUX^FLOW("L",BONNr) ..Set Count=Count+1,BonList(Count)=BONNr_D_Selected_D_VervRef_D_GroepNr_D_BonDat_D_VerzW_D_BonStat_D_IsHalux Quit ; MODBONS New R,BONNr,Count,Rembours,Gewicht,TempBons,TempColList,RemboursVoorBon,LegacyTRANSP Merge TempBons=Bons,TempColList=ColList Do SELBON($NAME(Bons)) Do:'$D(Bons("ANUL")) .Do CHKVERZW(.BONNrs) .Set BONNr="",Count=0 .For Set BONNr=$O(Bons("BON",BONNr)) Quit:BONNr="" Do ..Set Count=Count+1,$P(ColList(Count),D)=BONNr .For Count=Count+1:1 Quit:'$D(ColList(Count)) Do ..Set R=ColList(Count),$P(R,D)="" ..If $TR(R,D,"")="" Kill ColList(Count) ..Else Set ColList(Count)=R .Set (BONNr,Rembours,Gewicht)="" .For Set BONNr=$O(Bons("BON",BONNr)) Quit:BONNr="" Do ..Set Node=$$NODE(BONNr) ..If ($$ISREMB^REMBOURS(KLNr,BONNr)) Do ...Set LegacyTRANSP = ##class(BL.Legacy.TRANSP).%New() ...Do LegacyTRANSP.ZetRemboursBedragVoorBon(BONNr,KLNr,"") ...Set RemboursVoorBon = LegacyTRANSP.GeefRemboursBedragVoorBon(BONNr,KLNr) ...Do:(RemboursVoorBon>0) LegacyTRANSP.ZetRemboursBedragVoorBon(BONNr,KLNr,RemboursVoorBon) ...Set Rembours=Rembours+RemboursVoorBon ..Set R=^KUL(KLNr,Node,BONNr,1),Gewicht=Gewicht+$J($P($P(R,D,13),"#",3),0,1) .If Rembours>0,'##class(CHUI.Flow.Cons.Transport).CheckMaximumRembours(VervRef,GroepNr,Rembours,1) Kill Bons Merge Bons=TempBons,ColList=TempColList Quit .Do:$P(sFL(1),D,2,3)'=(Rembours_D_Gewicht) ..Set $P(sFL("V"),D,3)=$P(sFL("V"),D,3)-$P(sFL(1),D,3)+Gewicht,%SC=1 .Set $P(sFL(1),D,2,3)=Rembours_D_Gewicht .If '%SC Set BONNr="" For Set BONNr=$O(Bons("BON",BONNr)) Quit:BONNr="" If '$D(TempBons("BON",BONNr)) Set %SC=1 Quit .If '%SC Set BONNr="" For Set BONNr=$O(TempBons("BON",BONNr)) Quit:BONNr="" If '$D(Bons("BON",BONNr)) Set %SC=1 Quit .Set Collie("MAX")=$O(ColList(""),-1) .If Collie("SELECT")>Collie("MAX") Set Collie("SELECT")=Collie("MAX") Kill Collie("OFFSET") .Do WRITE^vhLIST(.Collie),DISPVAL^vhScherm("TOTGEW"),DISPVAL^vhScherm("NETGEW"),DISPVAL^vhScherm("REMBOURS") Kill Bons("ANUL") Quit ; CHKMENU(Menu,Type,Aktie) New R,Ok,VervRef,GroepNr,TranspNr,Items,Status,Ophalen,Transfer Set Ok=1 If Menu="CLOSE" Do .Set R=$G(^HULP(%J,SelClose("SELECT"))) .If R="" Set Ok=0 Quit .Set VervRef=$P(R,D,21),R=^TRANSP("D",VervRef),Ophalen=$P(R,D,11),Transfer=$P(R,D,12) .Set R=$G(^HULP(%J,SelClose("SELECT"))) .If Type="M",'$G(Beperk) Quit .If $P(R,D,24)="K" Do Quit ..Set VervRef=$P(R,D,21),GroepNr=$P(R,D,22) ..If Aktie="EP",'$$ISPRINT^TRANSPL(VervRef,GroepNr) Quit ..If Aktie="ER",$$ISPRINT^TRANSPL(VervRef,GroepNr) Quit ..Set Ok=0 .If Type'="M",Ophalen,Transfer,Aktie'="VR",Aktie'="RS" Set:Aktie'["DELETE" Ok=0 Quit .If "\EDIT\ENTER\"[(D_Aktie_D) Do ..If '$$CHKMENU(Menu,Type,"O"),'$$CHKMENU(Menu,Type,"T") Set Ok=0 .Else Do ..Set VervRef=$P(R,D,21),TranspNr=$P(R,D),Status=$P(R,D,2),R=$G(^TRANSP("T",TranspNr)),Items=$P(R,D,4) ..If Type="F",Status="T",Aktie="VR",##class(DOM.TRANSP.impl.DataM.DataMTransportAPI).%New().IsGLS(TranspNr) Quit ; Herprint vervoerlijst ABX ..If Type="F",Status="T",Aktie="RS",##class(DOM.TRANSP.impl.DataM.DataMTransportAPI).%New().IsGLS(TranspNr) Quit ; Herzenden vervoerlijst ABX ..Set:Items="" Items="O#T#E" Set Items="#"_Items_"#" ..Set:Ophalen Items=$P(Items,"O#")_$P(Items,"O#",2) Set:Transfer Items=$P(Items,"T#")_$P(Items,"T#",2) ..If Items[("#"_Aktie_"#") Quit:Aktie'="E" Quit:'$$ISPRINT^TRANSPL(VervRef) ..Set Ok=0 If Menu="CLOSEX" Do .Set R=$G(^HULP(%J,SelClose("SELECT"))) .If R="" Set Ok=0 Quit .Set VervRef=$P(R,D,21),TranspNr=$P(R,D),Status=$P(R,D,2),R=$G(^TRANSP("T",TranspNr)),Items=$P(R,D,4) .If Type="F",Status="T",Aktie="VRX",'##class(DOM.TRANSP.impl.DataM.DataMTransportAPI).%New().IsGLS(TranspNr) Quit ; Herprint vervoerlijst andere dan ABX .Set Ok=0 Quit Ok ; SELVERV(TrpNrLim,Optie) New R,VervRef,SelVerv,VervList,Count,Status,Gewicht,KreaDat,Input,Verpak,ColTyp,Node Set TrpNrLim=$G(TrpNrLim),Optie=$G(Optie),Node=$S(Optie["A":"D",1:"IO") Set VervRef="",Count=0,Input="N" For Set VervRef=$O(^TRANSP(Node,VervRef)) Quit:VervRef="" Do .Set R=^TRANSP("D",VervRef),TranspNr=$P(R,D),Status=$P(R,D,2),Gewicht=$P(R,D,3),KreaDat=$P(R,D,10) .If Optie["N" Quit:$P(R,D,11) Quit:$P(R,D,12) .Set (ColTyp,Verpak)="" .For Set ColTyp=$O(^TRANSP("D",VervRef,"Q",ColTyp)) Quit:ColTyp="" Do ..Set R=^TRANSP("D",VervRef,"Q",ColTyp) ..Set Verpak($P(^RES("EWBON","PI","COLLIETYPE","D",ColTyp),"`"))=ColTyp_"-"_$P(R,D) .Set (ColTyp,Verpak)="" .For Set ColTyp=$O(Verpak(ColTyp)) Quit:ColTyp="" Set Verpak=Verpak_";"_Verpak(ColTyp) .Set $E(Verpak)="" .Set R=VervRef_D_TranspNr_D_KreaDat_D_Status_D_Verpak_D_Gewicht .Set Count=Count+1,VervList(Count)=R Do:Count .Do STORE^vhTERMINA() .Do INIT^vhLIST("TRANSP","SELVERV",.SelVerv) .Set:Optie'["N" $P(SelVerv("B",3),"`",3)="H" .Do WRITE^vhLIST(.SelVerv) .For Set Input=$$SCROLL^vhLIST(.SelVerv) Quit:Input="A" Quit:Input="N" Do Quit ..Set R=VervList(SelVerv("SELECT")),VervRef=$P(R,D),TranspNr=$P(R,D,2) .Do REFRESH^vhTERMINA() Set:Input="N" R=$$NEWVERV(TrpNrLim),TranspNr=$P(R,";"),VervRef=$P(R,";",2) Set R=$G(VervRef) Set:R R=TranspNr_";"_R Quit R ; NEWVERV(TranspNr) New R,VervRef Set TranspNr=$G(TranspNr) Set:'TranspNr TranspNr=$$TRANSP^LEVER(,5036) Do:TranspNr .Lock +^TRANSP("N") .Set VervRef=$G(^TRANSP("N"))+1,^TRANSP("N")=VervRef .Lock -^TRANSP("N") Set R=$G(VervRef) Set:R R=TranspNr_";"_R Quit R ; DELVERV(VervRef) New GroepNr Set GroepNr="" For Set GroepNr=$O(^TRANSP("D",VervRef,"D",GroepNr)) Quit:GroepNr="" Do DELGRP(VervRef,GroepNr) Quit ; CUMVERV(VervRef) New R,GroepNr,ColList,ColTyp,Gewicht Set (GroepNr,Gewicht)="" For Set GroepNr=$O(^TRANSP("D",VervRef,"D",GroepNr)) Quit:GroepNr="" Do .Set R=^TRANSP("D",VervRef,"D",GroepNr),Gewicht=Gewicht+$P(R,D,3),ColTyp="" .For Set ColTyp=$O(^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp)) Quit:ColTyp="" Do ..Set R=^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp),Aantal=$P(R,D) ..Set ColList(ColTyp)=$G(ColList(ColTyp))+Aantal Kill ^TRANSP("D",VervRef,"Q") Set ColTyp="" For Set ColTyp=$O(ColList(ColTyp)) Quit:ColTyp="" Set:ColList(ColTyp) ^TRANSP("D",VervRef,"Q",ColTyp)=ColList(ColTyp) Set R=^TRANSP("D",VervRef) Set:'$P(R,D,4) $P(R,D,3)=Gewicht,^TRANSP("D",VervRef)=R Quit ; COLLIST() New ColTemp Merge ColTemp=Collie New Collie Merge Collie=ColTemp Set $P(Collie("SET"),"`",7)="" Set Collie("SELECT")="" Do WRITE^vhLIST(.Collie) Write @FMTCL Quit "" ; COLEDIT() New R,Input,AutoInput,BevatLanggoed,GebruikteVerpakkingen Set BevatLanggoed=$$BevatLanggoed(.Bons) Do WRITE^vhLIST(.Collie) Set FP=2201 Write @F,@F1 For Do If Input="CANC" Quit:'BevatLanggoed Quit:$$CheckLanggoed(.ColList,.Collie) Set AutoInput="ENTER" . Set Input=$G(AutoInput) . Set:Input="" Input=$$SCROLL^vhLIST(.Collie) . Kill AutoInput . Do:Input="COM" CALL^vhMenu("TRANSPCOL") . Do EXEC^vhMenu("TRANSPCOL",.Input) . Set GebruikteVerpakkingen = $$BepaalGebruikteVerpakkingen(.ColList) . If (GebruikteVerpakkingen["C")&&(##class(TECH.StringUtils).Contains(GebruikteVerpakkingen,"E","P","B")) Do . . Do Boodschap^vhTXTPOP("Collie mag niet met pallet gecombineerd worden. Gelieve alles op pallet(ten) te plaatsen") Quit Input BepaalGebruikteVerpakkingen(mdWaarden) new Iterator,Record,GebruikteVerpakkingen set GebruikteVerpakkingen = "" set Iterator = ##class(TECH.ArrayOneDimIterator).%New(.mdWaarden) while Iterator.HasNext() { #dim Record As %String = Iterator.Next() if $length($piece(Record,"\",4))>0 set GebruikteVerpakkingen = GebruikteVerpakkingen _ $piece(Record,"\",2) } quit GebruikteVerpakkingen ; ; Is langgoed ingevuld? CheckLanggoed(ColList,Collie) New LanggoedOk Set LanggoedOk=1 For Collie("SELECT")=1:1:Collie("MAX") If $P(ColList(Collie("SELECT")),D,2)="L" Set LanggoedOk=$P(ColList(Collie("SELECT")),D,4) Quit If 'LanggoedOk Do WRITE^vhLIST(.Collie) Set LanggoedOk=$$^vhTXTPOP("TRANSP","LANGGOED")="N" Quit LanggoedOk ; COLITEM(ColList,Collie,Modify) New R,sFL Set Modify=$G(Modify,"AE") Set sFL(1)=ColList(Collie("SELECT")) Set:$P(sFL(1),D,2)'="L" Modify="A" If $L(Modify)=1 Do .Do STORE^vhTERMINA() .Do FIELD^vhScherm("TRANSPCOL",$S(Modify="A":"AANTAL",1:"EXTRA")) .Do REFRESH^vhTERMINA() Else Do:$L(Modify) .If $P(sFL(1),D,4),$P(sFL(1),D,5) Do EDIT^vhScherm("TRANSPCOL","","","","","",3) Quit .Do NIEUW^vhScherm("TRANSPCOL","","","","","",3) If %SC Set ColList(Collie("SELECT"))=sFL(1) Do REFRESH^vhLIST(.Collie,"L",Collie("SELECT")) Quit ; COLIAANT(VervRef,GroepNr) New R,Colli,ColTyp Set Colli=0,ColTyp="" For Set ColTyp=$O(^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp)) Quit:ColTyp="" Do .Set Colli=Colli+^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp) Quit Colli ; COLRPL() New R,ColTemp Merge ColTemp=Collie New Collie Merge Collie=ColTemp Set $P(Collie("SET"),"`",7)="" Set Collie("SELECT")="" For Set R=$$SCROLL^vhLIST(.Collie) Quit:R="ENTER" Quit "" ; NODE(BONNr) New KLNr,Node Set KLNr=$P(^KU1(BONNr,"F"),D) For Node="F","G","M" Quit:$D(^KUL(KLNr,Node,BONNr)) Quit Node ; GETREFS(BONNr,TransportExist) New R,KLNr,Node,TranspRef,Transport Set R=$G(^KU1(BONNr,"F")) Set:$L(R) KLNr=$P(R,D),Node=$$NODE(BONNr),R=$G(^KUL(KLNr,Node,BONNr,1)),TranspRef=$P(R,D,8),Transport=$P(TranspRef,";") If $G(Transport),$G(TransportExist),'$D(^TRANSP("D",Transport)) Set TranspRef="" Quit $G(TranspRef) ; BON(BONNr) New R,VervRef,GroepNr,TranspNr Set R=$$GETREFS(BONNr),VervRef=$P(R,";"),GroepNr=$P(R,";",2) Set R=^TRANSP("D",VervRef),TranspNr=$P(R,D) Do @("RPLGRP"_$S(##class(DOM.TRANSP.impl.DataM.DataMTransportAPI).%New().IsGLS(TranspNr):"",1:"^TRANSPX")_"(VervRef,GroepNr)") Quit ; LOCK(VervRef,GroepNr) New %TC,Ref,TranspNr Set Ref="^TRANSP(""D"",VervRef" Set:$L($G(GroepNr)) Ref=Ref_",""D"","_GroepNr Set Ref=Ref_")" Do ADD^vhLock($NA(@Ref)) Do:'%TC .Set R=^TRANSP("D",VervRef),TranspNr=$P(R,D) .Do LDISP^vhLock($NA(@Ref),$P(^KLE(^KL1(TranspNr),0),D,2)) Quit %TC ; UNLOCK(VervRef,GroepNr) New Ref Set Ref="^TRANSP(""D"",VervRef" Set:$L($G(GroepNr)) Ref=Ref_",""D"","_GroepNr Set Ref=Ref_")" Do REMOVE^vhLock($NA(@Ref)) Quit ; CHECKALL(VerzW) New %J,R,CheckAll,KLNr,KlantInd,BONNr,Bons,Count,KlRec,BonRec,List,Input Do STORE^vhTERMINA() Set FP=245 Write @F,$J("",15),@FMTK,"*** I'm thinking ***",@FMTk Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set KLNr=0 For Set KLNr=$O(^KUL(KLNr)) Quit:KLNr="" Do .Set KlantInd=^KK1(KLNr),BONNr="" .For Set BONNr=$O(^KUL(KLNr,"F",BONNr)) Quit:BONNr="" Do ..Set R=^KUL(KLNr,"F",BONNr,1) ..Quit:$L($P(R,D,8)) Quit:$E($P($P(R,D,7),"#"),1,$L(VerzW))'=VerzW Quit:$$ISTERUGN^FLOWBON5(BONNr) ..Set Bons(KlantInd,BONNr)="" Set KlantInd="",Count=0 For Set KlantInd=$O(Bons(KlantInd)) Quit:KlantInd="" Do .Set KlRec=^KKL(KlantInd,0),KLNr=$P(KlRec,D),BONNr="" .For Set BONNr=$O(Bons(KlantInd,BONNr)) Quit:BONNr="" Do ..Set BonRec=^KUL(KLNr,"F",BONNr,1) ..Set R=BONNr_D_$P(BonRec,D,28)_D_KLNr_D_$P(KlRec,D,2)_D ..Set:$$LAND^vhRtn1($P(KlRec,D,8))'="BE" R=R_$$LAND^vhRtn1($P(KlRec,D,8))_"-" ..Set R=R_$P(KlRec,D,7)_D_BonRec ..Set Count=Count+1,^HULP(%J,"D",Count)=R Do REFRESH^vhTERMINA() Do:$D(^HULP(%J)) .Do STORE^vhTERMINA() .Do INIT^vhLIST("TRANSP","NOVERV",.List) .Do WRITE^vhLIST(.List) .For Set Input=$$SCROLL^vhLIST(.List) Quit:Input="O"!(Input="A") Do ..Set R=^HULP(%J,"D",List("SELECT")),BONNr=$P(R,D) ..Do VERWERK^TRANSP(BONNr),LINE^vhLIST(.List,List("SELECT")) .Set CheckAll=Input="O" .Kill ^HULP(%J) .Do REFRESH^vhTERMINA() Quit $G(CheckAll,1) ; CHKVERZW(BONNrs) New R,BonRec,KLNr,Taal,BONNr,OldVerzW,NewVerzW Set BONNr="" For Set BONNr=$O(@BONNrs@(BONNr)) Quit:BONNr="" Do .If '$G(KLNr) Do ..Set KLNr=$P(^KU1(BONNr,"F"),D),R=^KKL(^KK1(KLNr),0) ..Set Taal=$P(R,D,9) Set:Taal="" Taal="N" ..Set NewVerzW="DI1",NewVerzW=NewVerzW_" #"_^RES("KLANT","PI","VERZENDWIJZE","D",NewVerzW,Taal) .Set BonRec=^KUL(KLNr,"F",BONNr,1),OldVerzW=$P(BonRec,D,7) .Quit:($E(OldVerzW,1,2)=$E(NewVerzW,1,2)) .Quit:(($E(OldVerzW,1,2)="HD")||($E(OldVerzW,1,2)="DA")) .Set R=$$^vhTXTPOP("TRANSP","NOABX","",BONNr,$TR(OldVerzW,"#",""),$TR(NewVerzW,"#","")) .Do KILL^KFVZW("F",BonRec,BONNr) .Set $P(BonRec,D,7)=NewVerzW,^KUL(KLNr,"F",BONNr,1)=BonRec .Do SET^KFVZW("F",BonRec,BONNr) Quit ; CHKCOL(ColList) New NextCol,Ok Set Ok=0,NextCol="" For Set NextCol=$O(ColList(NextCol)) Quit:NextCol="" Set Ok=$P(ColList(NextCol),D,4) Quit:Ok Quit Ok ; ASKOPN(GroepNr,R) New Txt,But Set Txt(1)="Er zijn geen aantallen ingevuld!" Set Txt(2)="Wenst u levernr "_GroepNr_" in het transport op te nemen?" Set Txt(3)="Indien ""Ja"", dan moet u aantallen ingeven." If $P(sFL(1),D,2) Do .Set Txt(4)="ŞBAandacht!!!Şb" .Set Txt(5)="ŞBRembours: "_$$EXTNUM^vhLib.DataTypes($P(sFL(1),D,2),0,".",$$MUNT^vhRtn1($$BONMUNT^TRANSP(GroepNr),4)) .Set Txt(5)=Txt(5)_" "_$$MUNT^vhRtn1($$BONMUNT^TRANSP(GroepNr),1)_"Şb" Set But(1)="Ja&1",But(2)="Neen" Quit $$WILD^vhTXTPOP("C;C","","Txt","But",2) ; BCSTAT(Screen) New R,BarCode,VervRef,GroepNr,KLNr,KlNaam Do:$D(Screen) DISPLAY^vhScherm(Screen) For Do Quit:BarCode="-" .Do STORE^vhTERMINA() .Set BarCode=$$BCSELECT($G(BarCode)) .Do REFRESH^vhTERMINA() .Do:BarCode ..Set R=$G(^TRANSP("L",BarCode_" ")),VervRef=$P(R,D,2),GroepNr=$P(R,D,3) ..If VervRef,GroepNr Do ...If '$D(^TRANSP("D",VervRef,"D",GroepNr,"C",BarCode)) Do ....Set KLNr=$P(^KU1(GroepNr,"F"),D),R=^KKL(^KK1(KLNr),0),KlNaam=$P(R,D,2),R=KLNr_" "_KlNaam ....Set R=$$^vhTXTPOP("TRANSP","BCDELETED","",BarCode,VervRef,GroepNr,R) ...Else Do RPLGRP(VervRef,GroepNr) ..Else Set R=$$^vhTXTPOP("TRANSP","BCUNDEF","",BarCode) Quit ; BCSELECT(BarCode) New R,X,Y,GroepNr,KLNr Set BarCode=$$ASK^vhINP("Barcode : ",14,BarCode) If BarCode,'$D(^TRANSP("L",BarCode_" ")) Do .Set Y(0)=0,R=$O(^TRANSP("L",BarCode_" "),-1) .For Set R=$O(^TRANSP("L",R)) Quit:$E(R,1,$L(BarCode))'=BarCode Do ..Set X=^TRANSP("L",R),GroepNr=$P(X,D,3),KLNr=$P(^KU1(GroepNr,"F"),D) ..Set Y(0)=Y(0)+1,Y(Y(0))=R_D_X_D_KLNr .If 'Y(0) Quit .If Y(0)=1 Set X=1 .Else Do ..Set Y="22\\Selekteer een barcode\\\TRANSPBC" ..Kill X ..Do ^POP .Set BarCode=$S(X:$TR($P(Y(X),D)," ",""),1:"") Quit BarCode ; BONMUNT(BONNr) New R,KLNr,Node,Munt Set KLNr=$P(^KU1(BONNr,"F"),D),Node=$$NODE(BONNr) Set R=^KUL(KLNr,Node,BONNr,1),Munt=$P(R,D,18) Quit Munt ; RUBREXEC If X="V"!(X="-") Do .If X="V",sModT'="E" Set X="" .Else Do ..If X'="V" Quit:$$CHKCOL(.ColList) Set:'$$ASKOPN(GroepNr,.sFL) X="V" ..If X'="V" Set X="" Quit ..Do:sModT="E" DELGRP(VervRef,GroepNr) ..Set X="-",%SC=0 Quit ; RUBREXECNew If X="V"!(X="-") Do .If X="V",sModT'="E" Set X="" .Else Do ..If X'="V" Quit:$$CHKCOL(.ColList) Set:'$$ASKOPN(GroepNr,.sFL) X="V" ..If X'="V" Set X="" Quit ..Do:sModT="E" ...New BONNr ...Set BONNr="" ...For Set BONNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"B",BONNr)) Quit:BONNr="" Do ....Do:BONNr'=GroepNr ##class(BL.Flow.Cons.TransportData).DeleteLevering(BONNr, VervRef, GroepNr) ...Do ##class(BL.Flow.Cons.TransportData).DeleteLevering(GroepNr, VervRef, GroepNr) ..Set X="-",%SC=0 Quit ; INITEXEC Do:$G(Ophalen)!$G(Transfer) REMATTR^vhScherm("OPHALEN","H","H"),REMATTR^vhScherm("TRANSFERT","H","H") Quit ; LENLANGG(X) New I,sEr,MaxLen Set sEr="",MaxLen=6 For I=1:1:$L(X,"+") Do Quit:$L(sEr) .If $P(X,"+",I)'?.N Set sEr="Foutieve numerieke ingave" .Else If $P(X,"+",I)'>0&$P(sFL(1),D,4) Set sEr="Moet groter zijn dan nul" .Else If $P(X,"+",I)>MaxLen Set sEr="Maximum "_MaxLen_" meter" Quit sEr ; ; Output = "" -> Nummer ; 1 -> Naam ; 2 -> Korte naam TRANSPORTEUR(VervRef,Output) New Obj,Transporteur Set Obj=##class(Flow.Cons.Transport).%OpenId(VervRef) Do:$IsObject(Obj) . Set Transporteur=Obj.Transporteur . Quit:'$G(Output) . If Output=2,$D(^TRANSP("T",Transporteur)) Set Transporteur=$P(^TRANSP("T",Transporteur),D) . Else Set Transporteur=##class(Derde.Lev.Lev).GetFullName(Transporteur) Quit $G(Transporteur) ; ; Output = Eurpaletten\Extra paletten CalcPalet(VervRef) New R,Paletten,ExtraPaletten,GroepNr Set R=^TRANSP("D",VervRef),ExtraPaletten=$P(R,D,14),GroepNr="",Paletten=0 For Set GroepNr=$O(^TRANSP("D",VervRef,"D",GroepNr)) Quit:GroepNr="" Do . Set Paletten=Paletten+$G(^TRANSP("D",VervRef,"D",GroepNr,"Q","E")) + $G(^TRANSP("D",VervRef,"D",GroepNr,"Q","W")) Quit Paletten_D_ExtraPaletten ; ; Output = Eurpaletten\Colli\Langgoed\Extra paletten CalcVerpak(VervRef) New R,Paletten,Collie,Langgoed,ExtraPaletten,GroepNr, BuitenmaatsePaletten Set R=^TRANSP("D",VervRef),ExtraPaletten=$P(R,D,14),GroepNr="",(Paletten,Collie,Langgoed,KleinePaletten,BuitenmaatsePaletten)=0 For Set GroepNr=$O(^TRANSP("D",VervRef,"D",GroepNr)) Quit:GroepNr="" Do . Set Collie=Collie+$G(^TRANSP("D",VervRef,"D",GroepNr,"Q","C")) . Set Paletten=Paletten+$G(^TRANSP("D",VervRef,"D",GroepNr,"Q","E")) . Set Langgoed=Langgoed+$G(^TRANSP("D",VervRef,"D",GroepNr,"Q","L")) . Set KleinePaletten=KleinePaletten+$G(^TRANSP("D",VervRef,"D",GroepNr,"Q","P")) . Set BuitenmaatsePaletten=BuitenmaatsePaletten+$G(^TRANSP("D",VervRef,"D",GroepNr,"Q","B")) Quit Paletten_";"_ExtraPaletten_D_Collie_D_Langgoed_D_KleinePaletten_D_BuitenmaatsePaletten ; ; Importeren van de ABX regios ImportABX New %J,R,Dev,Rec,Count Write @F11,@F1 Set FP=2103 Write @F,"Import nieuwe ABX regios (de oude verdwijnen)." Read !?2,"Zeker weten? Druk dan 'Ja' -> ",R Do:R="Ja" . Set Dev=$$OPEN^vhDEV(,"","R","DA") . Do:Dev'=0 . . Set %J=$$%J^vhRtn1() . . Kill ^HULP(%J) . . For Use Dev Read Rec Quit:Rec="" Do . . . Use 0 . . . Set Rec=$TR(Rec,"""","") . . . Write !,Rec . . . Set Land=$P(Rec,","),PostCode=$P(Rec,",",2),Sector=$P(Rec,",",3) . . . Set ^HULP(%J,Land,PostCode)=Sector . . . Set Count=$G(Count)+1 . . Close Dev . . Set Land="" . . For Set Land=$O(^HULP(%J,Land)) Quit:Land="" Kill ^ABX(Land) . . Merge ^ABX=^HULP(%J) . . Kill ^HULP(%J) . . Write !!,"Aantal = ",+$G(Count) Quit ; Aanmaken van het menuitem MenuItemToggleVastTransport() New MenuItem,Transport,TransportStatus If '$G(io) New io Set io=$$IO^cQ5 Set MenuItem="Transportkeuze " If $P(^TRANSP("U",io,"N"),D,2) Set MenuItem=MenuItem_"vrijzetten" Else Do . Set MenuItem=MenuItem_"vast",Transport=$P(^TRANSP("U",io,"N"),D),TransportStatus=##class(BL.Flow.Cons.TransportData).GetStatus(Transport) . Set:"P"[TransportStatus MenuItem=MenuItem_" op "_Transport_" ("_$$TRANSPORTEUR^TRANSP(Transport,1)_")" Quit MenuItem ; Wisselen vast en vrij transport ToggleVastTransport() New Transport,TransportStatus,Transporteur If '$G(io) New io Set io=$$IO^cQ5 Do:$$BevestigToggle() . Set Transport=$P(^TRANSP("U",io,"N"),D) . If '$P(^TRANSP("U",io,"N"),D,2) Do . . Set TransportStatus=##class(BL.Flow.Cons.TransportData).GetStatus(Transport) . . Quit:"P"[TransportStatus . . Set:$D(^TRANSP("U",io,"T")) Transporteur=$P(^TRANSP("U",io,"T"),D) . . Set Transport=##class(BL.Flow.Cons.TransportFlow).Openstaand(,,1,.Transporteur) . . If 'Transport,Transport'="A" Set Transport=999999 . Do:Transport . . Set $P(^TRANSP("U",io,"N"),D)=Transport . . Do ##class(BL.Flow.Cons.TransportFlow).ToggleVastTransport() . . Do DISPLAY^vhScherm("ULTOERSEL",,,,"ABX") Quit ; Bevestig het toggelen tussen vast en vrij transport BevestigToggle() New ToggleOk,WildCard,Buttons,VrijVast,Transport,TransportStatus If '$G(io) New io Set io=$$IO^cQ5 Set VrijVast=$P(^TRANSP("U",io,"N"),D,2),WildCard="WildCard" Set Transport=$P(^TRANSP("U",io,"N"),D),TransportStatus=##class(BL.Flow.Cons.TransportData).GetStatus(Transport) Set:"P"[TransportStatus WildCard(1)=Transport_" ("_$$TRANSPORTEUR^TRANSP(Transport,1)_")" Set Buttons="Buttons",Buttons(1)=$S(VrijVast:"Vrij",1:"Vast")_"&1" Set VrijVast=$S(VrijVast:"vrij",1:"vast") Quit $$^vhTXTPOP("TRANSP","BEVESTIGTOGGLE","",VrijVast) ; ; Controle of de zending langgoed bevat BevatLanggoed(Bons) New BevatLanggoed,OrderAPI,Bon,BONNr Set BevatLanggoed=0,BONNr=$O(Bons("BON","")) While ((BONNr '= "") && ('BevatLanggoed)) { Set OrderAPI = ##class(DOM.DomeinContext).Instance().GeefOrderAPI() Set Bon = OrderAPI.GeefBon(BONNr) Set BevatLanggoed = ##class(APPS.OV.impl.FlowObjectInhoudService).BonBevatLangGoed(Bon) Set BONNr=$O(Bons("BON",BONNr)) } Quit BevatLanggoed IsBonMetEigenLeveradres(Node3VanBon) Quit ($L($P(Node3VanBon,D,2)) && $L($P(Node3VanBon,D,6)) && $L($P(Node3VanBon,D,7)) && $L($P(Node3VanBon,D,8))) ; IsBonMetEnkelVerwijzingNaarLeveradres(Node3VanBon) Quit '$$IsBonMetEigenLeveradres(Node3VanBon) && (+$P(Node3VanBon,D)>=1) ;