TRANSPXZ ;Verwerking expediteur (proforma's) [ 04/14/2003 11:42 AM ] ; NEWGRP(VervRef,GroepNr,PROFNr) New %SC,R,sFL,TranspNr,KLNr,PROFNrs,FANrs,BONNrs,ORDNrs,ModHoofding Set R=^TRANSP("D",VervRef),TranspNr=$P(R,D) Do:$L($G(VervRef)) .Quit:'$$LOCK(VervRef,GroepNr) .Do INITGRP .Set ModHoofding=1 .If $D(^TRANSP("D",VervRef,"D")) Set %SC=1 .Else If $P($G(^TRANSP("D",VervRef)),D,8) Set %SC=1 .Else If $L($G(^TRANSP("D",VervRef,"T"))) Set %SC=1 .Else Do NIEUW^vhScherm("TRANSPXZ") .Do:%SC ..Set ModHoofding=0 ..Do NIEUW^vhScherm("TRANSPXZ") ..Do:%SC SAVEGRP(VervRef,GroepNr,.PROFNrs,.sFL) .If '%SC,$O(^TRANSP("D",VervRef,"D",""))="" Do ##Class(BL.Flow.Cons.TransportData).DeleteHoofding(VervRef) .Do UNLOCK(VervRef,GroepNr) Quit ; MODGRP(VervRef,GroepNr) New %SC,R,sFL,TranspNr,KLNr,PROFNr,PROFNrs,FANrs,BONNrs,ORDNrs,ModHoofding Do:$$LOCK(VervRef,GroepNr) .Set PROFNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"Z","")) .Do INITGRP .Set ModHoofding=0 .Do EDIT^vhScherm("TRANSPXZ") .Do:%SC SAVEGRP(VervRef,GroepNr,.PROFNrs,.sFL) .Do UNLOCK(VervRef,GroepNr) Quit ; ; Raadplegen transportstatus RPLGRP(VervRef,GroepNr,PROFNr) New %SC,R,sFL,TranspNr,KLNr,PROFNrs,FANrs,BONNrs,ORDNrs,Ophalen,Transfer Set:'$G(PROFNr) PROFNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"Z","")) Do INITGRP Set R=^TRANSP("D",VervRef),Ophalen=$P(R,D,11),Transfer=$P(R,D,12) Do STORE^vhTERMINA() Do DISPLAY^vhScherm("TRANSPXZ"),FIELD^vhScherm("TRANSPXZ","OK") Do REFRESH^vhTERMINA() Quit ; INITGRP New R,Gewicht,Temp,ORDNr,BONNr Set sFL("V")=$G(^TRANSP("D",VervRef)) If $L(sFL("V")) Set TranspNr=$P(sFL("V"),D) Else Do . Set sFL("V")=TranspNr . Set:$$ISTERUGN^FLOWFA5(GroepNr) $P(sFL("V"),D,5)="T" . Set $P(sFL("V"),D,9)=$$DEVUSER^vhUSER(),$P(sFL("V"),D,10)=$P(sFL(1),D,10) . Set $P(sFL("V"),D,15)=$P($G(^TRANSP("T",TranspNr)),D,11) Set sFL(1)=$G(^TRANSP("D",VervRef,"D",GroepNr)),sFL("L")=$G(^TRANSP("D",VervRef,"D",GroepNr,"A")) If sFL(1)="" Do . Set R=^KFAP("F",GroepNr,0,0),KLNr=$P(R,D) . Set sFL(1)=KLNr,$P(sFL(1),D,9)=$$DEVUSER^vhUSER(),$P(sFL(1),D,10)=$H Else Set KLNr=$P(sFL(1),D) Do:'$D(^TRANSP("D",VervRef,"D",GroepNr,"Z",PROFNr)) . Set R=^KFAP("F",PROFNr,0,3),Gewicht=$J($P(R,D,22),0,1) . Set $P(sFL("V"),D,3)=$P(sFL("V"),D,3)+Gewicht . Set $P(sFL(1),D,3)=$P(sFL(1),D,3)+Gewicht If '$P(sFL("L"),D) Do . Set BONNr=$O(^KFAP("F",PROFNr,"U")) . Set sFL("L")=^KFAP("F",PROFNr,BONNr,3) . Set:$TR($P(sFL("L"),D,2,8),D,"")="" sFL("L")=^KKL(^KK1(KLNr),0) Set Temp=PROFNr,PROFNrs(PROFNr)="" Set PROFNr="" For Set PROFNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"Z",PROFNr)) Quit:PROFNr="" Set PROFNrs(PROFNr)="" Set FANr="" For Set FANr=$O(^TRANSP("D",VervRef,"D",GroepNr,"F",FANr)) Quit:FANr="" Set FANrs(FANr)="" Set BONNr="" For Set BONNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"B",BONNr)) Quit:BONNr="" Set BONNrs(BONNr)="" Set ORDNr="" For Set ORDNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"O",ORDNr)) Quit:ORDNr="" Set ORDNrs(ORDNr)="" Set sFL("AT",1)=$G(^TRANSP("D",VervRef,"T")),sFL("T",1)=$G(^TRANSP("D",VervRef,"D",GroepNr,"T")) Merge sFL("Q")=^TRANSP("D",VervRef,"D",GroepNr,"Q") Set PROFNr=Temp Quit ; ; Wegschrijven van de data SAVEGRP(VervRef,GroepNr,PROFNrs,Nodes) New R,PROFNr,KLNr,Next,TranspNr,ColTyp If $D(PROFNrs) Do .Set PROFNr="" .For Set PROFNr=$O(^TRANSP("D",VervRef,"D",GroepNr,"Z",PROFNr)) Quit:PROFNr="" Do ..Quit:$D(PROFNrs(PROFNr)) ..Set KLNr=$P(^KFAP("F",PROFNr,0,0),D) ..Set R=^KFAP("F",PROFNr,0,3),$P(R,D,20)="",^KFAP("F",PROFNr,0,3)=R ..Kill ^TRANSP("D",VervRef,"D",GroepNr,"Z",PROFNr) ..Do VERW^LOG("TRP",VervRef,"Z"_PROFNr) .Set R=Nodes("V"),TranspNr=$P(R,D),^TRANSP("D",VervRef)=R .Set ^TRANSP("D",VervRef,"D",GroepNr)=Nodes(1),PROFNr="" .For Set PROFNr=$O(PROFNrs(PROFNr)) Quit:PROFNr="" Do ..Set KLNr=$P(^KFAP("F",PROFNr,0,0),D) ..Set R=^KFAP("F",PROFNr,0,3),$P(R,D,20)=VervRef_";"_GroepNr_";"_TranspNr,^KFAP("F",PROFNr,0,3)=R ..Do:'$D(^TRANSP("D",VervRef,"D",GroepNr,"Z",PROFNr)) OPEN^LOG("TRP",VervRef,"Z"_PROFNr) ..Set ^TRANSP("D",VervRef,"D",GroepNr,"Z",PROFNr)="" .Kill ^TRANSP("D",VervRef,"D",GroepNr,"Q") .Set ColTyp="" .For Set ColTyp=$O(sFL("Q",ColTyp)) Quit:ColTyp="" Do ..Set R=sFL("Q",ColTyp) ..Quit:$TR(R,D,"")="" ..Set ^TRANSP("D",VervRef,"D",GroepNr,"Q",ColTyp)=R .Kill ^TRANSP("D",VervRef,"T"),^TRANSP("D",VervRef,"D",GroepNr,"T") .Set:$L($G(sFL("AT",1))) ^TRANSP("D",VervRef,"T")=sFL("AT",1) .Set:$L($G(sFL("T",1))) ^TRANSP("D",VervRef,"D",GroepNr,"T")=sFL("T",1) .If $P(sFL("L"),D)'=KLNr,$L($TR($P($G(sFL("L")),D,2,99),D,"")) .Else Set sFL("L")="",$P(sFL("L"),D,9)="" .Set ^TRANSP("D",VervRef,"D",GroepNr,"A")=sFL("L") .Set ^TRANSP("IO",VervRef)="" .Do CUMVERV(VervRef) .Quit:$P(Nodes("V"),D,2)'="P" .Quit:##Class(CHUI.Flow.Cons.Transport).TransportEdited(VervRef)'="A" .Quit:$$BevatGeenVerpakking^TRANSPC(VervRef) .Do EXTERN^DCPRINT("E",VervRef,,,1) Quit ; ; Cumuleren van het gewicht in de hoofdnode CUMVERV(VervRef) New R,GroepNr,Gewicht,Obj 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) Set Obj=##Class(Flow.Cons.Transport).%OpenId(VervRef) Do Obj.%Reload() Set Obj.GewichtGoederen=Gewicht,R=Obj.%Save() Quit ; GETREFS(PROFNr,BONNr) New R,TranspRef If $G(BONNr) Do . Set R=^KFAP("F",PROFNr,"U"_BONNr,1),TranspRef=$P(R,D,8) . Set:TranspRef="" R=$G(^KFAP("F",PROFNr,0,3)),TranspRef=$P(R,D,20) Else Do . Set R=$G(^KFAP("F",PROFNr,0,3)),TranspRef=$P(R,D,20) . Quit:$L(TranspRef) . Set BONNr="U" . For Set BONNr=$O(^KFAP("F",PROFNr,BONNr)) Quit:$E(BONNr)'="U" Set TranspRef=$$GETREFS(PROFNr,$E(BONNr,2,9)) Quit:$L(TranspRef) Quit TranspRef ; PROF(PROFNr,BONNr) New R,VervRef,GroepNr,TranspNr Set R=$$GETREFS(PROFNr,$G(BONNr)),VervRef=$P(R,";"),GroepNr=$P(R,";",2) If VervRef,GroepNr Else Set R=$$GETREFS(PROFNr),VervRef=$P(R,";"),GroepNr=$P(R,";",2) Set R=^TRANSP("D",VervRef),TranspNr=$P(R,D) Do @("RPLGRP"_$S(TranspNr'=5036:"",1:"^TRANSP")_"(VervRef,GroepNr,PROFNr)") 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 ; RUBREXEC If X="-",'$P($G(sFL("Q","L")),D),$$BevatLanggoed(.PROFNrs) Do ; Controle op ingave langgoed .New RubrNr .For RubrNr=1:1 Quit:'$D(sScrnDef(RubrNr)) Quit:$P(sScrnDef(RubrNr),"`",7)="Q.L.1" .For X=1:1 Quit:'$D(sEdit(X)) Quit:sEdit(X)=RubrNr .If '$D(sEdit(X)) Set X="-" Quit ; Rubriek langgoed staat niet op het scherm .Set:$$^vhTXTPOP("TRANSP","LANGGOED")'="J" X="-" If X="B",'$G(ModBeheer) Set ModBeheer=1,X="-" ; Beheer transport is ingedrukt Quit ; INITEXEC If $G(ModHoofding) Do .Do REMATTR^vhScherm("OPHVOORZ","D","D"),REMATTR^vhScherm("ALGOPMERK","D","D") .Do REMATTR^vhScherm("GROEPEER","D","D"),REMATTR^vhScherm("UITLEVDAT","D","D") .Do PUTATTR^vhScherm("AANMAAKG","HD","HD") .Do PUTATTR^vhScherm("SCHLIJNF7","HD","HD"),PUTATTR^vhScherm("SCHLIJN","HD","HD"),PUTATTR^vhScherm("SCHLIJNF8","HD","HD") .Do PUTATTR^vhScherm("KLANT","HD","HD"),PUTATTR^vhScherm("LEVADR","HD","HD") .Do PUTATTR^vhScherm("LASTRAAT","HD","HD"),PUTATTR^vhScherm("LAWOONPL","HD","HD") .Do PUTATTR^vhScherm("FACTUREN","HD","HD"),PUTATTR^vhScherm("PROFORMAS","HD","HD"),PUTATTR^vhScherm("LEVBONS","HD","HD") .Do PUTATTR^vhScherm("ORDERS","HD","HD"),PUTATTR^vhScherm("OPMERKING","HD","HD") .Do PUTATTR^vhScherm("PALET","HD","HD"),PUTATTR^vhScherm("COLLIE","HD","HD") .Do PUTATTR^vhScherm("LANGGOED","HD","HD"),PUTATTR^vhScherm("VRACHTKOST","HD","HD") .Do PUTATTR^vhScherm("NETGEW","HD","HD") Else Do .Do:$G(Ophalen)!$G(Transfer) REMATTR^vhScherm("OPHALEN","H","H"),REMATTR^vhScherm("TRANSFERT","H","H") Quit ; ; Geeft een lijst van de proforma's "," gescheiden PROFLIST() New ProfList,PROFNr Set (ProfList,PROFNr)="" For Set PROFNr=$O(PROFNrs(PROFNr)) Quit:PROFNr="" Set ProfList=ProfList_", "_PROFNr Set $E(ProfList)="" Quit ProfList ; ; Controle of de zending langgoed bevat BevatLanggoed(PROFNrs) New BevatLanggoed,OrderAPI,Proforma,PROFNr Set BevatLanggoed=0,PROFNr=$O(PROFNrs("")) While ((PROFNr '= "") && ('BevatLanggoed)) { Set OrderAPI = ##class(DOM.DomeinContext).Instance().GeefOrderAPI() Set Proforma = OrderAPI.GeefProforma(PROFNr) Set BevatLanggoed = ##class(APPS.OV.impl.FlowObjectInhoudService).ProformaBevatLangGoed(Proforma) Set PROFNr=$O(PROFNrs(PROFNr)) } Quit BevatLanggoed ;