#Include BL.Derde.Kennis.AutoRes #include BL.Derde.KlantSpecifiek KF0 G 1 ; MODULE REGISTREREN PRODUKTLIJNEN ORDERS (BEP. PROD.); Quit naar %F10 - Do naar KF31 - Go naar KF0A [ 09/25/2003 10:38 AM ] ; T1 ;DIT IS EEN 8-PRODUKT IN EEN NORMAAL ORDER ! T2 ;WENST U HIERVAN EEN KLANTGEBONDEN ORDER TE MAKEN T3 ;.[] = ja [] = neen ; M1 S MSG="MUNT KLANT NIET TOEGELATEN VOOR "_UOU G MY M3 S MSG="ER IS GEEN LEVERANCIER GEOPEND VOOR DIT PRODUKT" G MY M4 S MSG="MUNT PRODUKT NIET GELIJK AAN MUNT "_UOU G MY M5 S MSG="PRODUKT IN GEBRUIK" G MY M6 S MSG="GEEN MUNTKODE VOOR DIT PRODUKT" G MY M7 S MSG="NIET-STOCK PRODUKT ZONDER PRAKTISCHE VOORRAAD" G MY M8 S MSG="GEEN GROOTVERPAKKING VOOR DIT PRODUKT" G MY M9 S MSG="EEN NORMAAL ORDER MAG GEEN 8-PRODUKTEN BEVATTEN" G MY M10 S MSG="EEN AFROEP ORDER MAG ENKEL STOCKPRODUKTEN BEVATTEN" G MY M11 S MSG="EEN CONTRAKT ORDER MAG GEEN STOCKPRODUKTEN BEVATTEN" G MY M12 S MSG="EEN KLANTGEBONDEN ORDER KAN ENKEL 8-PRODUKTEN BEVATTEN" G MY M13 S MSG="NIET-STOCK PRODUKT ZONDER PRAKTISCHE VOORRAAD -[] = hernemen" G MZ M14 S MSG="EEN ORDER MAG GEEN 7-PRODUKTEN BEVATTEN" G MY M15 S MSG="EEN ORGALUX ORDER MAG ENKEL ORGALUX-PRODUKTEN BEVATTEN" G MY M16 S MSG="EEN NIET-ORGALUX ORDER MAG GEEN ORGALUX-PRODUKTEN BEVATTEN" G MY MY S SW12=1,FP=2401+F60 W @F,@F2," ",@F4,MSG," [] = ok ",@F5,@F0 R K G YZ MZ S FP=2401+F60 W @F,@F2," ",@F4,MSG," [] = ok ",@F5,@F0 R K Q ; 1 N BackGrnd,PraStock,VWTYP,ProdGeg,CorLevT,CIFPPL,Contract,WeekDag,WekenVH2Klant,Warn,MinLeverDag Do:$D(^ORDW("IO",ORDNr)) . Set Warn="Aandacht!`Order "_$$EXTNUM^vhDTyp(ORDNr,0,".T",0)_"is reeds verzonden naar het WMS." . Set Warn=Warn_"`De toegevoegde lijn(en) moet u afzonderlijk verwerken" . Set Warn=Warn_"`of het order eerst uit het WMS verwijderen en daarna" . Set Warn=Warn_"`als één geheel terug door sturen." . Do WARN^vhTXTPOP(Warn,"") I $D(Aantal),$D(Prijs),$D(Korting1),$D(Korting2),$D(LevTerm) S BackGrnd=1 E K Aantal,Prijs,Korting1,Korting2,LevTerm S BackGrnd=0 K A S SW25=1,SW12=0,Q15="^(""W 0.0""_UOR_UOD_$J(UR,6,0)_$J(UZ,3,0))" 2 S X=@("^"_Q_UGL_"(KC,US,UR,1)") S WeekDag=$$EXTDATE^vhDTyp(,"DWN"),UOD=$TR($$EXTDATE^vhDTyp($$INTDATE^vhDTyp($P(X,D,2)),"DS"),D,"") S UOR=$P("R\O",D,$P(X,D,17)+1),UVM=$P(X,D,18) 3 S UAF=$P(X,D,22),UTYP=$P(X,D,25),VWTYP=$P(X,D,29) I 'UAF G M1:'$$CHKMUNT^FLOW(UVM) I UTYP="L" S K="-" G YZ I UTYP="Y" G ^KF0CC 5 G 9:K="." I K?4.7N,$D(^KPR(K)) S PR=K G 10 S K=K_" " I '$D(@("^"_Q_"PR1(K)")) S K=$$SELECT^PRODUKT6("","",K,"","NODO;NOKP",,,,KC,1) S:'K K="-" G YZ:K="-" S PR=K G 10 7 S PR=$P(@("^"_Q_"PR1(K)"),D,1) G 10 9 N CheckKs D ^KF31 G YZ:K="-" S CheckKs=1 10 I '$G(MoederB),'$G(LogNr) D .N PROld,VervangProd .S PROld=PR,(PR,K)=$$CheckVervangProduct^FLOWPROD(PR,KC,.VervangProd) .I 'PR,$G(VervangProd) S (PR,K)=$P(VervangProd,";") Set:$P(VervangProd,";",2) Mirror=$P(VervangProd,";",2) .K:PR'=PROld Prijs,Korting1,Korting2 I 'K S K="-" G YZ I UTYP="L" S K="-" G YZ I UTYP="T",'$D(^KPR(PR,15)) S K=$$^vhTXTPOP("FLOW","HFNODATA","",$P(^KPR(PR,0),D)) G YZ S R=$P(^KPR(PR,0),D,3) I $L(R),R'?4.7N D G YZ:K="-" .N PROld .S PROld=PR,R="S K=$$GENERATE^"_R_"(KC,PR)" .X R .S PR=K S:K=PROld!'K K="-" S R=$P(^KPR(PR,0),D,23) I R="K" S R=$P(^KPR(PR,0),D),R=$$^vhTXTPOP("FLOWORD","VERKKIND","",R) G YZ:'R I $E(R)="H",KC'=$$$KlantHalux S R=$P(^KPR(PR,0),D),R=$$^vhTXTPOP("FLOWORD","VERKHALFFABR","",R) G YZ:'R I '$L($G(EDIORDNr)) S R=##Class(CHUI.Derde.Kennis.Kennis).KlantProductUnRead(KC,PR,$LB($$$adOrderVerwerkingIngave),1,"ORD",ORDNr) G YZ:R="ANNULEER" G 11:UTYP="C"!(UTYP="A") G 11:$G(Aantal)<0 If $L($P($G(ContrLns),U,2)) Set R=ContrLns Else Set R=$$^KFCOLS($G(Aantal)),NoChkVp='$$CHKVP(R) Goto 100:R="",YZ:R="-" Set ContrLns=R If $P(ContrLns,U,2)["\TST" Do Goto 11 .If $L(ContrLns,"\TST")=2 Kill ContrLns,NoChkVp Quit .Set $P(ContrLns,U,1,2)=$P(ContrLns,U) If $G(CumContr),ContrLns'["\TST" Do .New I,ORDNr,OLNr,TotStock,Prijs .Set TotStock=0 .For I=2:1 Set R=$P(ContrLns,U,I) Quit:'R Do ..Set ORDNr=$P(R,D),OLNr=$P(R,D,2) ..If $P(^KOD(KC,"F",ORDNr,OLNr),D,27) Set $P(R,D,4)="KOM" ..Else Do ...Set $P(R,D,4)="STK",TotStock=TotStock+$P(R,D,3) ...Set Prijs=$P(^KOD(KC,"F",ORDNr,OLNr),D,6),ContrLns(Prijs)=$G(ContrLns(Prijs))+$P(R,D,3) ..Set $P(ContrLns,U,I)=R .Set ContrLns=ContrLns_";\\\TST" S SW12=1,ULSV=UL K UZ S Q15="^(""W 0.0""_UOR_UOD_$J(UR,6,0)_$J((UVN-100),3,0))" S (R,Contract)=$P(ContrLns,U,2),$P(ContrLns,U,1,2)=$P(ContrLns,U) K:$P(ContrLns,U,2)="" ContrLns,NoChkVp G 3^KFCOLBD 100 S R=$$^KFAFRS() G 11:R="",YZ:R="-" S SW12=1,ULSV=UL K UZ S Q15="^(""W 0.0""_UOR_UOD_$J(UR,6,0)_$J((UVN-100),3,0))" G 3^KFAFRBD 11 G 111:'UAF N IsOrgal,OrgalPr,LAFA S IsOrgal=$$ISORGAL^FLOW("O",UR) S OrgalPr=$E($$SORTKEY^PRODUKT(PR,1),3,4)="OL" I IsOrgal,'OrgalPr G M15 I 'IsOrgal,OrgalPr G M16 111 L (@("^"_Q_UGL_"(KC,US,UR)"),@("^"_Q_"PR(PR)")):2 E G M5 S UA=0,X=@("^"_Q_"PR(PR,0)"),PC=$P(X,D,1),PST=$P(X,D,14),PY=$P(X,D,17),PB=$P(X,D,5) 12 S:KB<1 PB=0 S X=^(1),UE=$P(X,D,12),PSN=$P(X,D,20),ULT="" G YZ:'$$IsCommAkt^PRODUKT2(PR,KC) Set UE="" ; Eeenheid op leeg omdat in ^KPR daar de controlestatus zit CW 11.02.09 134 S X=@("^"_Q_"PR(PR,2)"),PRE=$P(X,D,9),PID=$P(X,D,25),PraStock=PST-$P(PRE,"#",2) ;I 'PSN,UAF,PraStock<1 G M7 I 'PSN,UAF,PraStock<1 D M13 G 9:K="-" 13 I 'BackGrnd D IDPROD G M14:$E(PID)=7 I UTYP'="T",'$G(MoederB),'$L($G(EDIORDNr)) S R=$$CHKSOPR^FLOW(KC,PR,"order",BackGrnd) G YZ:'R I R>999 S PR=R G 10 I KC'=$$$KlantHalux,$G(CheckKs),$$ISKLANT^KS(KC),'$$ISPROD^KS(PR),'$$ISHALUX^PRODUKT2(PR),$E($$SORTKEY^PRODUKT(PR),3,4)'="DE" G YZ:'$$TXTPOP^KS("NOKSPROD","",0,1) ;,YZ:'$$ASK^vhWACHTW("MANAGER",,,0) I $E(PID)=8&(UTYP="") D G YZ:K="-" I K="" S FP=2103 W @F,@F1 .I BackGrnd D IDPROD .S FP=2103 W @F,$P($T(T1),U,2) .I D_$$GETALG^DEFAULTS("KF0","8PRODKLANTGEB")_D[(D_KC_D) S K="." .E S R="K\22\3\"_$P($T(T2),U,2)_"\"""_$P($T(T3),U,2)_"""\1\\""-.""[K" D R0^cA100 .Q:"-"[K .K B S UTYP=$S(UTYP="":"K",1:""),B(1)=@("^"_Q_UGL_"(KC,US,UR,1)"),$P(B(1),D,25)=UTYP,^(1)=B(1) .S U2="",X=100 F S X=$O(@("^"_Q_UGL_"(0,US,X)")) Q:X'?.N S U2=^(X) I $P(U2,U,16)=125 Q .I U2="" K B Q .S (K,U3)=UTYP I $L($P(U2,U,8)) S U3="S U3="_$P(U2,U,8) X U3 .S FP=$P(U2,U,5)*100+$P(U2,U,6) W @F,$J("",$P(U2,U,9)),$J("",$P(U2,U,13)) .W @F,U3 .S U2="",X=100 F S X=$O(@("^"_Q_UGL_"(0,US,X)")) Q:X'?.N S U2=^(X) I $P(U2,U,16)="UR" Q .I U2="" K B Q .S FP=$P(U2,U,5)*100+$P(U2,U,6)+$L(UR) W @F," " .I $L(K) W @F,@FMTB,@FMTK,$P("\s\c\a\k\l\y\m\p\t",D,$F("SCAKLYMPT",K)),@FMTb,@FMTk .K B I $E(PID)=8,UTYP="" G M9 I 'PSN,UTYP="A" G M10 ;I PSN,UTYP="C" G M11 ;I $E(PID)'=8,UTYP="K" G M12 17 S X=$N(@("^"_Q_"PR(PR,""J"")")) I $E(X,1,1)'="J" G M3 18 S X=^(X),PLL=$P(X,D,7),UMC=$P(X,D,17) G M8:'$P(X,D,16),M6:"I"[UMC I $L(UAF) G M4:KV="MTL"&(UMC'=UVM) S CorLevT=0 S:'PSN CorLevT=$P(^KLE(^KL1($P(X,D)),2),D,16) S WekenVH2Klant=1 S:$P(X,D)=6502 WekenVH2Klant=0 ; Additek 19 I WeekDag'=1,'PSN,PLL=1,$P(X,D)=5005,$E(PID)'=7 S PLL=2 I 'PSN,$P(X,D)=6092!($P(X,D)=6428) D .Q:WeekDag=1 .I WeekDag=2 Q:$P($H,",",2)'>43200 .S PLL=PLL+1 23 S R=$$KLANTPR^KPRIJS(KC,PR) S UEP=$P(R,D,1),UMC=$P(R,D,2),(AFA,LAFA)=$P(R,D,3),PLP=$P(R,D,4),PK1=$P(R,D,5),PK2=$P(R,D,6),KKD=$P(R,D,7) S PKP=$P(R,D,8),UPAR=$P(R,D,9),USP=$P(R,D,10),AFE=$P(R,D,11),CIFPPL=$P(R,D,13) I $D(Prijs) Do .S:$L($P(Prijs,D,2)) USP=$P(Prijs,D,2),AFA=$E(USP),AFE=$P("1\100\1000",D,$F("EHM",AFA)-1) .S Prijs=$P(Prijs,D) .I $G(NoRecalc)="=" .E I KKN S:+Prijs'=+PLP Korting1=$J(1-(Prijs/PLP)*100,0,1),Korting2="" .E I $L(Prijs),+Prijs'=+UEP S Korting1=$J(1-(Prijs/PLP)*100,0,1),Korting2="" .S:$L(Prijs) UEP=Prijs S:$L(Korting1) PK1=Korting1 S:$L(Korting2) PK2=Korting2 Else Do G YZ:R="A" . New OffRef . S R=$$SelGeldigeOfferte^FLOWOFF3(KC,PR,UEP,UMC,AFA) . I $L(R),+UEP=+$P(R,D,4) Q . S OffRef=$P(R,D,8) . Q:OffRef="" . S R=@OffRef,UEP=$P(R,D,6),PK1=$P($P(R,D,7),"#"),PK2=$P($P(R,D,7),"#",2),USP=$P(R,D,21),NoRecalc="=" I '$G(NoChkPrs),"\C\P\"'[(D_$$PRIJSKL^KLANT(KC,PR)_D),'$$CHKPRIJS^KPRIJS(PR,PLP,UEP,AFE,UPAR,CIFPPL,$$WACHTW(UTYP,UEP,CIFPPL),,60,120,$S(UTYP="M":"V",UTYP="P":"V",1:"ALV")) G YZ 27 S ULT=$$INTDATE^vhDTyp(%WK,"DW")+(CorLevT*7) D:'PSN .I 'PLL,WeekDag<3 ; Producten zonder levertermijn leveren zelfde week t.e.m. dinsdag .E S ULT=ULT+(PLL+WekenVH2Klant*7) S ULT=$$EXTDATE^vhDTyp(ULT,"DW") I $L($G(LevTerm)) S ULT=LevTerm K DefLevT E D:BackGrnd IDPROD S BackGrnd=0 I $D(DefLevT),$$INTDATE^vhDTyp(DefLevT,"DW")>$$INTDATE^vhDTyp(ULT,"DW") S ULT=DefLevT 28 S PLP=$J(PLP,1,2),UEP=$J(UEP,1,2) If $G(MBLevT),MBLevT'<$$CALCDATE^vhDTyp($$INTDATE^vhDTyp(ULT,"DW"),"W","FD") Set ULT=MBLevT I '$G(DefLeverDag) S DefLeverDag=$S(ULT?5N:ULT,1:$$GetLeverDagOrder^FLOW3(KC,UR,PR,,1)) Set MinLeverDag=$$GetLeverDag^FLOW3(KC,PR,,1) If $G(Aantal)'<0,ULT