ImportPakket ;Pakket : orderverwerking [ 09/24/2003 2:14 PM ] New Pakket,PR,S,UA,SW25,UE,UN,UAF,UOD,UOR,UVM,X,UTYP New AFA,AFE,AFR,KPC,GR,OGR,BGR,KKD,UPAR,PKP,PLL,PST,PB,PLQ,PC,PK1,PK2,PLP,PPL,PID,PRE,PSN,PVK,PGV,PNV,PKV,PY,Q15 Set R=^KOD(KC,US,UR,1),UVM=$P(R,D,18),UTYP=$P(R,D,25) If '$$CHKMUNT^FLOW(UVM) Do OpmMuntNietToegelaten Set K="-" Quit Set UOD=$TR($$EXTDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes($P(R,D,2)),"DS"),D,"") Set UOR=$P("R\O",D,$P(R,D,17)+1) Do SELIMP^PAKKETS(.Pakket,KC) If '$D(Pakket) Set K="-" Quit Do CopieerPakket Lock ^KOD(KC,US,UR) Quit CopieerPakket New R,PakketNr,Next,Pak,Taal,PakketBegin,PakketEinde Set UZ=^KOD(KC,US,UR,0),PakketNr="" Set Taal=$P(^KKL(^KK1(KC),0),D,9) Set PakketNr=$P(Pakket,D) If $L($P(Pakket,D,2)),$P(Pakket,D,5)>1 Do .Set Pak=^PAKKET("D",PakketNr) .Set R=$P(Pak,D,2),PakketEinde=$S(Taal="F":"Fin",Taal="D":"Ende",Taal="E":"End",1:"Einde")_" "_R .Set PakketBegin=$J("",$L(PakketEinde)-$L(R)\2)_R,PakketBegin=PakketBegin_$J("",$L(PakketEinde)-$L(PakketBegin)) .Set PakketBegin="** "_PakketBegin_" **",PakketEinde="** "_PakketEinde_" **" .Set R="",$P(R,D,36)="",$P(R,D,5)=PakketBegin,$P(R,D,17)="KF11#1",$P(R,D,18)=$P($H,",",2)_";T;;OBFT" .Do TINSERT^FLOWORD("","",R) Quit Set Next="" For Set Next=$O(Pakket(Next)) Quit:Next="" Do .Set R=Pakket(Next) Quit:$P(R,D)'="P" .Set PR=$P(R,D,2),UA=$P(R,D,3),R=$$VerwerkEenProduct(PR,UA,UZ) Quit:R="" .Set ^KOD(KC,US,UR,UZ)=R,UZ=UZ+1 Do:$L($G(PakketEinde)) .Set R="",$P(R,D,36)="",$P(R,D,5)=PakketEinde,$P(R,D,17)="KF11#1",$P(R,D,18)=$P($H,",",2)_";T;;OBFT" .Do TINSERT^FLOWORD("","",R) Quit Quit VerwerkEenProduct(PR,UA,UZ) New PC,PB,PLL,PSN,PKV,PNV,PGV,PLQ,ULT,Q15,USP,R,POSR,UAF New Aantal,Prijs,Korting1,Korting2,LevTerm Set $P(R,D,36)="",$P(R,D,2)=PR,$P(R,D,3)=UA,$P(R,D,31)=PakketNr Set K=^KPR(PR,0),PC=$P(K,D),PB=$P(K,D,5) Set:KB<1 PB=0 Set X=^KPR(PR,1),PSN=$P(X,D,20) Quit:'$$IsCommAkt^PRODUKT2(PR,KC) "" S UAF=$P(^KOD(KC,US,UR,1),D,22) G P1:'UAF N IsOrgal,OrgalPr S IsOrgal=$$ISORGAL^FLOW("O",UR) G P1:IsOrgal="" S OrgalPr=$E($$SORTKEY^PRODUKT(PR,1),3,4)="OL" I IsOrgal,'OrgalPr D OpmEnkelOrgalux Q "" I 'IsOrgal,OrgalPr D OpmGeenOrgalux Q "" P1 Lock (^KOD(KC,US,UR),^KPR(PR)):2 Else Do OpmProductInGebruik Goto P1 Set PID=$P(^KPR(PR,2),D,25) If $E(PID)=8&(UTYP="") Do If K="" Set FP=2103 Write @F,@F1 .New R .Set FP=UL*100+1 Write @F,@F1 Do ##class(CHUI.ToolKit).ProductHoofding(19,PR) .Set FP=2103 Write @F,$P($T(T1),U,2) .Set R="K\22\3\"_$P($T(T2),U,2)_"\"""_$P($T(T3),U,2)_"""\1\\"".""[K" .Do ^READ .Quit:K="" .Kill B Set UTYP=$S(UTYP="":"K",1:""),B(1)=^KOD(KC,US,UR,1),$P(B(1),D,25)=UTYP,^(1)=B(1) .Set U2="",X=100 For Set X=$O(^KOD(0,US,X)) Quit:X'?.N Set U2=^(X) If $P(U2,U,16)=125 Quit .If U2="" Kill B Quit .Set (K,U3)=UTYP If $L($P(U2,U,8)) Set U3="Set U3="_$P(U2,U,8) Xecute U3 .Set FP=$P(U2,U,5)*100+$P(U2,U,6) Write @F,$J("",$P(U2,U,9)),$J("",$P(U2,U,13)) .Write @F,U3 .Set U2="",X=100 For Set X=$O(@("^"_Q_UGL_"(0,US,X)")) Quit:X'?.N Set U2=^(X) If $P(U2,U,16)="UR" Quit .If U2="" Kill B Quit .Set FP=$P(U2,U,5)*100+$P(U2,U,6)+$L(UR) Write @F," " .If $L(K) Write @F,@FMTB,@FMTK,$P("\s\c\a\k\m\p",D,$F("SCAKMP",K)),@FMTb,@FMTk .Kill B If $E(PID)=8,UTYP="" D OpmNormaalGeen8Producten Quit "" If 'PSN,UTYP="A" D OpmAfroepEnkelStock Quit "" ;If PSN,UTYP="C" D OpmContractGeenStock Quit "" ;If $E(PID)'=8,UTYP="K" Do OpmKlantgebondenEnkel8Producten Quit "" Set UZ=UZ-100 Set Q15="^(""W 0.0""_UOR_UOD_$J(UR,6,0)_$J(UZ,3,0))" Set K="J",K=$O(^KPR(PR,K)) Set K=^KPR(PR,K) Set PLQ=$P(K,D,6),PLL=$P(K,D,7),PGV=$P(K,D,16),PNV=$P(K,D,15),PKV=$P(K,D,14) If $H#7'=4,'PSN,PLL=1,$E($N(^KPR(PR,"J")),2,9)=5005,$E(PID)'=7 Set PLL=2 If 'PGV Do OpmProductZonderGrootverpakking Quit "" Set UA=$P(R,D,3) If 'UA Do .Set UA=$S('PSN:PGV,PKV:PKV,PNV:PNV,1:PGV) .If 'PSN Set UA=$S(UA'