TRANSPXA ;Verwerking expediteur (een reeks leveringbons) [ 04/14/2003 11:42 AM ] ; ALLBONS(VervRef,GroepNr,BONNrs) New %SC,R,sFL,TranspNr,KLNr,BONNr,ModHoofding,Gewicht,Node,BONNr If $L($G(VervRef)),$$LOCK(VervRef) Do . Set sFL("V")=^TRANSP("D",VervRef),TranspNr=$P(sFL("V"),D),BONNr="" . For Set BONNr=$O(BONNrs(BONNr)) Quit:BONNr="" Do . . Set:$G(GroepNr)="" GroepNr=BONNr . . Set R=^KU1(BONNr,"F"),KLNr=$P(R,D) . . Set Node=$$NODE(BONNr),R=^KUL(KLNr,Node,BONNr,1),Gewicht=$J($P($P(R,D,13),"#",3),0,1) . . Set $P(sFL("V"),D,3)=$P(sFL("V"),D,3)+Gewicht . If $O(^TRANSP("D",VervRef,"D","")) Set %SC=1 . Else Do . . Set ModHoofding=1 . . Do NIEUW^vhScherm("TRANSPX") . . Set:%SC $P(sFL("V"),D,3)="",^TRANSP("D",VervRef)=sFL("V") . Do:%SC . . Set BONNr="" . . Set:$L($G(sFL("AT",1))) ^TRANSP("D",VervRef,"T")=sFL("AT",1) . . For Set BONNr=$O(BONNrs(BONNr)) Quit:BONNr="" Do ONEBON(VervRef,BONNr) . . Do MODGRP^TRANSPX(VervRef,GroepNr) . Do:$O(^TRANSP("D",VervRef,"D",""))="" ##class(BL.Flow.Cons.TransportData).DeleteHoofding(VervRef) . Do UNLOCK(VervRef) Quit ; ONEBON(VervRef,BONNr) New GroepNr,Transporten,TransportLink Do ##class(Flow.Cons.TransportAdres).GetAdres("L",BONNr,.Transporten,VervRef) Set TransportLink="" For Set TransportLink=$O(Transporten(TransportLink)) Quit:TransportLink="" Quit:$P(TransportLink,"||")=VervRef Set GroepNr=$P(TransportLink,"||",2) Set:GroepNr="" GroepNr=BONNr Do:##class(BL.Flow.Cons.TransportFlow).CheckLeveringTerugname("L",BONNr,VervRef) . Do ##class(BL.Flow.Cons.TransportData).AddLevering(BONNr,VervRef,GroepNr) . Do OPEN^LOG("TRP",VervRef,"B"_BONNr) 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 ; 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="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("LEVBONS","HD","HD"),PUTATTR^vhScherm("FACTUREN","HD","HD"),PUTATTR^vhScherm("PROFORMAS","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"),PUTATTR^vhScherm("REMBOURS","HD","HD") Else Do .Do:$G(Ophalen)!$G(Transfer) REMATTR^vhScherm("OPHALEN","H","H"),REMATTR^vhScherm("TRANSFERT","H","H") Quit ;