KOFPAK ;Pakket : offerte [ 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,PLQ,PC,PK1,PK2,PLP,PPL,PID,PRE,PSN,PVK,PGV,PNV,PKV,PY Set R=^KOFKL(KC,US,UR,1),UTYP=$P(R,D,25) Set:UTYP="D" UTYP="" Set UVM=$P(R,D,18) If '$$CHKMUNT^FLOW(UVM) Do M1 Set K="-" Quit Do SELIMP^PAKKETS(.Pakket,KC) If '$D(Pakket) Set K="-" Quit Do COPY Lock ^KOFKL(KC,US,UR) Quit ; COPY New R,PakketNr,Next Set PakketNr="" If $L($P(Pakket,D,2)),$P(Pakket,D,5)>1 Do .Set PakketNr=$P(Pakket,D),R="",$P(R,D,36)="" .Set $P(R,D,5)=$E($P(Pakket,D,2),1,UTL),$P(R,D,17)="KOF11#1" .Do TINSERT^FLOWOFF("","",R) 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=$$PRODUKT(PR,UA) Quit ; PRODUKT(PR,UA) New PC,PLL,PSN,PKV,PNV,PGV,PLQ,ULT,USP,R 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) Set X=^KPR(PR,1),PSN=$P(X,D,20) Quit:'$$IsCommAkt^PRODUKT2(PR,KC) "" N IsOrgal,OrgalPr S IsOrgal=$$ISORGAL^FLOW("A",UR) G P1:IsOrgal="" S OrgalPr=$E($$SORTKEY^PRODUKT(PR,1),3,4)="OL" I IsOrgal,'OrgalPr D M15 Q "" I 'IsOrgal,OrgalPr D M16 Q "" P1 Lock (^KOFKL(KC,US,UR),^KPR(PR)):2 Else Do M5 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 Set FP=1903+F60 Write @F,$C(13),?2,"IDENTNR : ",PID,?27,"PRODUKT : ",PC .Set FP=2103 Write @F,$P($T(T12),U,2) .Set R="K\22\3\"_$P($T(T13),U,2)_"\"""_$P($T(T14),U,2)_"""\1\\"".""[K" .Do ^READ .Quit:K="" .Kill B Set UTYP=$S(UTYP="":"K",1:""),B(1)=^KOFKL(KC,US,UR,1),$P(B(1),D,25)=UTYP,^(1)=B(1) .Set U2="",X=100 For Set X=$O(^KOFKL(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\l\y\m\p",D,$F("SCAKLYMP",K)),@FMTb,@FMTk .Kill B If $E(PID)=8,UTYP="" D M9 Quit "" If 'PSN,UTYP="A" D M10 Quit "" ;If PSN,UTYP="C" D M11 Quit "" ;If $E(PID)'=8,UTYP="K" Do M12 Quit "" Set K="J",K=$O(^KPR(PR,K)) If $E(K)'="J" Do M3 Quit "" 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 M8 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'