KF2AD G 1 ;MODULE WIJZIGEN ORDERLIJNEN PRODUKTEN - levering per dag (OPVRAGEN GEGEVENS) [ 11/27/2003 9:56 AM ] ; S2 S K=1 I "\C\P\"'[(D_$$PRIJSKL^KLANT(KC,PR)_D) S K=$$CHKPRIJS^KPRIJS(PR,PLP,UEP,1,1,CIFP,$$WACHTW^KF0(UTYP,UEP,CIFP),2452,60,120,$S(UTYP="M":"V",UTYP="P":"V",1:"ALV"),KC) S K=$P("-\",D,K+1) I UEP'PPS G S3 S3Z Q ; S5 N %SC,Impuls,MinAfn D NIEUW^vhScherm("KPBI","","","","","",3) S K=$S('%SC:"-",'MinAfn:Impuls,UA#MinAfn:"-",1:Impuls) Q ; C1 S FP=2454 W @F,@F2,"[] = ",$$EXTDATE^vhDTyp(ULT) Q C2 S FP=2454 W @F,@F2 D Q .I $$ISKLANT^KS(KLNr),'$$ISPROD^KS(PR) W "K[], S[] of kort% [] = ok" .E W "of kort% [] = ok" Q C3 S FP=2454 W @F,@F2,"[] = ",$$EXTDATE^vhDTyp(ULTT) Q C4 S FP=2454 W @F,@F2,"[] = ",+UA Q Q ; R0 S R7="K'[D&(K'?.E1C.E)" S:$P(R,D,8)'="" R7=R7_"&("_$P(R,D,8)_")" S:$P(R,D,7)'="" R7=R7_"&("_$P($T(@$P(R,D,7))," ",2,99)_")" R0A S R2=$P(R,D,2),R3=$P(R,D,3),R4=$P(R,D,4),R5=$P(R,D,5),R6=$P(R,D,6) R0B S R0=$L(R4)+R3+3 S FP=R2*100+R3+F60 W @F W:R3<4 @F1 W @F2,R4," : " I R5'="" W:R5["""" !,?2,@R5 D:R5'["""" @R5 R0C S FP=R2*100+R0+F60 W @F,@F2 W $E("........................................",1,R6),@F,@F0 R0D R K W @F2 I $L(K)'>R6,@R7 S @$P(R,D,1)=K R0E E G R0C R0F S FP=$P(R,D,9)*100+($P(R,D,10)*1) I FP W @F,$J("",R6),@F,K R0Z K R,R0,R2,R3,R4,R5,R6,R7 Q ;V4 03.10.84 ; 1 N KlOLNr,Faktor,PERSTUK,OldAant,OLUNr,MirrorLine,UitVerkoop Set UitVerkoop=$P(^KPR(PR,0),D,6) Set:UitVerkoop>$H UitVerkoop="" S OldAant=$P(U2,D,3),OLUNr=$P(U2,D,15),U26=$P(U2,D,26),KlOLNr=$P(U2,D,35),Faktor=$P(U2,D,36) S:'Faktor Faktor=1 S UEPS=UEP,PK1S=PK1,PK2S=PK2 G 29:"LBW"'[SWLPA,5:SWLPA="B" I '$L(ULTT) S K=ULT,ULTT=ULT 2 S K=$G(AutoInp) // nieuw JC ;I K="" S K=$$DEFAULT("L",$LB(PR),$$SHOW^KLVERZW(,,,blVerzendWijze.VerzendWijze),,$P(U2,D,25)) //set lbLineInfo = $LB(UVN) I K="" Do WijzigLeverData^FLOWORD4(KC,UR,,$LB(UVN),.lbResult) Set K = $LG($LG(lbResult,1),2) G 39:K=",",YZ:K="-" /* I K="" S K=$$GetLeverDagOrder^FLOW3(KC,UR,PR,ULT),K=$S(K="?":"",'K:"-",1:K) 22 I K="" S R="K\23\54\LEVEREN\C1\8" D R0 G 39:K=",",YZ:K="-" I K="" K AskTekst I $D(OspWk) S OspWk=$P(U2,D,29) I $L(K),K'?5N D VALDATE^vhDTyp(K,"DK",$$VroegstMogelijkeLeverDag^FLOW3(KC,$LB(PR))) S:'%TC K="" G 22:'%TC I '$$ISARBDAG^vhRtn2(%INT),'$$^vhTXTPOP("FLOW","NOARBDAG","",%EXT) S K="" G 22 */ I K?5N S ULT=K E S:$L(K) ULT=%INT I 'PSN,$P(U2,D,27),K?2N1"/"2N D I 'OK G 2:'$L($G(AutoInp)) S K=ULT .S LLW=$$INTDATE^vhDTyp($P(^KTO($P(^KTO1($P(U2,D,27)),D),$P(U2,D,27),$P($P(U2,D,28),";")),D,25),"DW") .S KLW=$$INTDATE^vhDTyp(K,"DW") .S OK=$S(KLW<$$NEXTWEEK(LLW):0,1:1) 5 I UTYP="C" S R="K\23\54\MAX LEV\C3\8" D R0 G 2:K="-",39:K="," I $L(K) S ULTT=K D VALDATE^vhDTyp(K,"DK") G 5:'%TC S (K,ULTT)=%INT I UTYP="C",$L(ULTT) S K=ULT,ULT=ULTT,ULTT=K I SWLPA="W" S FP=2313+F60 W @F," ",@F,$$EXTDATE^vhDTyp(ULT) 29 F FP=2339,2439 W @F,@F2 G 32:"PW"'[SWLPA 30 S R="K\23\54\VERK PR\C2\9\\" D R0 I $$ISKLANT^KS(KLNr),'$$ISPROD^KS(PR) I $E(K,$L(K))="%"!(K="K")!(K="S") D G 31:K["%" .I $E(K,$L(K))="%" S:+K>100 K="?" S:+K<-100 K="?" .E S K=$S(K="S":"E",1:K),R=$$KSKORT^KPRIJS(PR,K) S:'R R=$$KSKORT^KPRIJS(,K) S:R K=R_"%" I '("-,"[K!(K?.N)!(K?.N1"."1N)!(K?.N1"."2N)!(K["%"&(+K'>100)&(+K?.N!(+K?.N1"."1N)!(+K?1"-".N)!(+K?1"-".N1"."1N)))) G 30 G YZ:K="-"&(SWLPA="P"),1:K="-" I K="," S K="-" G YZ 31 G 32:'$L(K) S (PK1,PK2)="" I K["%" S UEP=PLP*(100-K)/100 S UEP=$J(UEP,1,2),PK1=+K G 312 310 S UEP=K S:PLP PK1=1-(UEP/PLP)*100 S UEP=$J(UEP,1,2) 312 D S2 I K="-" S UEP=UEPS,PK1=PK1S,PK2=PK2S G 29 313 S FP=2164 W:SWLPA="W" @F,@F2 I PK1 W:SWLPA="W" $J(PK1,4,1)," %" I 'PLP,UEP S U26="*" 314 I SWLPA="W" S FP=2264 W @F,@F2,UEP," ",UMC,"/",AFA 32 S UA=$P(U2,D,3) G 35:"AW"'[SWLPA 33 D S3 G YZ:K="-"&(SWLPA="A"),29:K="-",39:K=",",35:K="" S UA=K,PERSTUK=$P(X,D,13),PGV=$P(X,D,16) G 35:'PGV S PNV=$P(X,D,15),PKV=$P(X,D,14) 330 S:'PNV PNV=PGV S:'PKV PKV=PNV G 35:PERSTUK=1,35:'(UA#PGV),35:'(UA#PGV#PNV) S GR=UA#PGV#PNV#PKV G 35:'GR I GR,PERSTUK=-1 G 35:$$WWNooitPerStuk^FLOW2(PR) S UA=$P(U2,D,3) G 33 34 S OGR=UA-GR,BGR=OGR+PKV,FP=2339 W @F,OGR S FP=2354 W @F,@F2,"AANTAL : ",UA S FP=2439 W @F,BGR 340 D S3 G YZ:K="-"&(SWLPA="A"),29:K="-",39:K="," I $L(K) S UA=K 35 I UTYP="C","BW"[SWLPA D S5 G YZ:K="-"&(SWLPA="B"),32:K="-",39:K="," G 350:'$P(KlOLNr,".",2) I UA#Faktor G 350:$$^vhTXTPOP("FLOWORD","FAKTEDIGR","",UA,Faktor,""""_PC_""""),39 I SWLPA["A",UA'=$P(U2,D,3),$$^vhTXTPOP("FLOWORD","MODEDIGR","","het aantal",PC,$E(PC,1,10)) D G YZ .D MODEDIGR^FLOWORD6(KC,UR,UVN,UA,ULT),WL^PROC,^KFTOT I SWLPA["L",ULT'=$P(U2,D,25),$$^vhTXTPOP("FLOWORD","MODEDIGR","","de levertermijn",PC,$E(PC,1,10)) D G YZ .D MODEDIGR^FLOWORD6(KC,UR,UVN,,ULT),WL^PROC 350 I UA=$P(U2,D,3),ULT=$P(U2,D,25) G 351 ; D REMEDIGR^FLOWORD6(KC,UR,UVN) S $P(U2,D,35)="" ; Gewijzigde lijnen mogen niet bevestigd worden - afgesloten op 14.05.10 CW 351 K LC S TR=$P(U2,D,27),TUZ=$P($P(U2,D,28),";") I TR D .S LC=$P(@("^"_Q_"TO1(TR)"),D,1),X=@("^"_Q_"TO(LC,TR,1)") .S UTD=$TR($$EXTDATE^vhDTyp($$INTDATE^vhDTyp($P(X,D,2)),"DS"),D,"") D KWNODE^FLOWORD(KC,UR,UVN) G 36:UA=$P(U2,D,3) G 36:'TR S X=^KPR(PR,0),^(0)=$P(X,D,1,16)_D_($P($P(X,D,17),"#",1)-$P(U2,D,3)+UA)_"#"_$P($P(X,D,17),"#",2)_"#"_($P($P(X,D,17),"#",3)-$P(U2,D,3)+UA)_D_$P(X,D,18,99) 352 S Temp=UOD,UOD=UTD,X=@("^"_Q_"PR(PR,0)"),X=@Q16,@Q16=$P(X,D,1,3)_D_UA_D_UA_D_$P(X,D,6,99),UOD=Temp 354 L (@("^"_Q_UGL_"(KC,US,UR)"),@("^"_Q_"TO(LC,TR)")):2 E S FP=2403+F60 W @F,@F2,@F4,"TOELEVERING "_TR_" IS IN GEBRUIK [] = OK ",@F5,@F0 R K G 354 356 S X=@("^"_Q_"TO(LC,TR,TUZ)"),^(TUZ)=$P(X,D,1,2)_D_UA_D_$P(X,D,4,8)_D_($J($P(X,D,9)/$P(X,D,3)*UA,0,2))_D_($J($P(X,D,10)/$P(X,D,3)*UA,0,2))_D_$P(X,D,11,15)_D_($J($P(X,D,16)/$P(X,D,3)*UA,0,2))_D_$P(X,D,17,99) I $D(@("^"_Q_"TO(0,3)")) S TRLC=TR D @^(3) 36 G 362:'TR!(ULT=$P(U2,D,25)) S:'$D(LC) LC=$P(@("^"_Q_"TO1(TR)"),D,1) 360 I '$D(@("^"_Q_"TOK(LC,TR,TUZ)")) S X=$P(@("^"_Q_"TO(LC,TR,TUZ)"),D,25),@("^"_Q_"TOK(LC,TR,TUZ)")=X_D_X_D_0_D_UR_D_UVN_D 362 I UTYP="C" S U31=$$KFCOLM^KFCOLM(KC,US,UR,PC,UA,PR) 363 S UN=$P(U2,D,9) S:KV="MTL" UN=$J(UN*UPAR/LPAR,1,2) S UTOT=UTOT-UN,X=@("^"_Q_UGL_"(KC,US,UR,1)"),UN=$J(UEP/AFE*UA,1,2) 364 I KKN S:PLP UEP=$P(U2,D,6) S UN=$J(UEP*(100-PK1)/100*(100-PK2)/100*UA/AFE,1,2) S UBE=$J(UEP/AFE*UA,1,2),UK="" S:PK1 UK=$J(PK1,4,1) S:PK2 UK=UK_" "_$J(PK2,4,1) S:$D(OspWk) ULTT=OspWk S:U26="" U26=$$U26(KC,PR,UEP,UA,ULT,SWLPA) S R=U2 If $P(R,D,3)>0,UA'>0 Do ProductOrderLijnAnnulatie^FLOWORD2(KC, UR, UVN) S U2=$P(U2,D,1,2)_D_UA_D_$P(U2,D,4,5)_D_UEP_D_PK1_"#"_PK2_D_$P(U2,D,8)_D_UN_D_UN_D_$P(U2,D,11,15)_D_UBE_D_$P(U2,D,17,24)_D_ULT_D_U26_D_$P(U2,D,27,28)_D_ULTT_D_$P(U2,D,30,99) S @("^"_Q_UGL_"(KC,US,UR,UVN)")=U2 D SWNODE^FLOWORD(KC,UR,UVN) New OrderID,OrderLijnID,KlantID,WijzigingTypes Set OrderID=UR,OrderLijnID=UVN,KlantID=KC If $P(R,D,3)>0,UA>0 Do . Set WijzigingTypes = ##class(DOM.VKP.impl.ProductOrderLijnWijzigingTypes).%New() . Do:$P(R,D,3)'=UA WijzigingTypes.Insert(##class(DOM.VKP.enu.ProductOrderLijnWijzigingType).Aantal()) . Do:$P(R,D,6)'=UEP WijzigingTypes.Insert(##class(DOM.VKP.enu.ProductOrderLijnWijzigingType).Prijs()) . Do:$P(R,D,25)'=ULT WijzigingTypes.Insert(##class(DOM.VKP.enu.ProductOrderLijnWijzigingType).Leverdatum()) . If (WijzigingTypes.Count() > 0) { Do ProductOrderLijnWijzigingen^FLOWORD2(KlantID, OrderID, OrderLijnID, WijzigingTypes) } If $P(R,D,3)'>0,UA>0 Do ProductOrderLijnGemaakt^FLOWORD2(KlantID, OrderID, OrderLijnID) Do:OldAant'=UA . New OldMirrorAantal . Set MirrorLine=$$MirrorLine^FLOWORD(KC,UR,PR) . Quit:'MirrorLine . Quit:'$$ModMirror^PRODUKT(PR,UA) . Do KWNODE^FLOWORD(KC,UR,MirrorLine) . Set R=^KOD(KC,"F",UR,MirrorLine),OldMirrorAantal=$P(R,D,3) . If OldMirrorAantal>0,UA'>0 Do ProductOrderLijnAnnulatie^FLOWORD2(KC, UR, MirrorLine) . Set UTOT=UTOT-$P(R,D,9) . Set $P(R,D,9)=$J($P(R,D,9)/$P(R,D,3)*UA,0,2) . Set $P(R,D,10)=$J($P(R,D,10)/$P(R,D,3)*UA,0,2) . Set $P(R,D,16)=$J($P(R,D,16)/$P(R,D,3)*UA,0,2) . Set $P(R,D,3)=UA,^KOD(KC,"F",UR,MirrorLine)=R . Set UTOT=UTOT+$P(R,D,9) . Do SWNODE^FLOWORD(KC,UR,MirrorLine),WL^PROC . If OldMirrorAantal>0,UA>0 Do ProductOrderLijnGewijzigd^FLOWORD2(KC,UR,MirrorLine,##class(DOM.VKP.enu.ProductOrderLijnWijzigingType).Aantal()) . If OldMirrorAantal'>0,UA>0 Do ProductOrderLijnGemaakt^FLOWORD2(KC, UR, MirrorLine) S:KV="MTL" UN=$J(UN*UPAR/LPAR,1,2) S UTOT=UTOT+UN D SHOWTOT^KFTOT(UTOT) I OldAant'=UA,$$IsActiefOrder^HADOPV(UR,OLUNr) D ModOrderMailToHalux^FLOWORD3("MA",KC,UR,TR,PR,OldAant,UA) 39 S K="-" ; YZ K LC,TR,TUZ,GR,BGR,OGR,AFA,AFE,AFR,AFRR,UMC,UPAR,MSG,PST,PPS,PC,PR,PLP,CIFP,PID,PRE,PSN,PY,PK1,PK2,PK1S,PK2S,PGV,PVN,PKV,S,UTD,Temp K Q15,Q16,UA,UE,UK,UEP,UEPS,UBE,UOD,UOR,ULT,ULTT,U26,X,SWLPA,TRLC,UTYP,%TC,%INT,%EXT,OK,LLW,KLW,OspWk L @("^"_Q_UGL_"(KC,US,UR)") Q ; NEXTWEEK(LevWeek) New NextWeek F D Q:'NextWeek .S NextWeek=1 .For I=LevWeek-2:1:LevWeek+2 I '$D(@("^"_Q_"BA(""VP"",I)")) S NextWeek=0 Q .S:NextWeek LevWeek=LevWeek+7 Q LevWeek ; DEFAULT(K,lbPRNrs,Text,WzgBeloofd,DefLeverdag) New %TC,%INT,%EXT,lbLeverdagen,Leverdag,lbExtraButtons New DatumVereist Set Text=$G(Text,"Voor alle lijnen") Set WzgBeloofd = $G(WzgBeloofd,0) // WzgBeloofd --> staat op indien beloofd wordt gewijzigd If WzgBeloofd Set lbExtraButtons = $LB($LB("","Geen belofte meer")) Else Set lbExtraButtons = $LB($LB("Asap","Zo snel mogelijk")) Set lbExtraButtons = $G(lbExtraButtons) Set DatumVereist = 'WzgBeloofd ; Leverdag If K="L" Do Quit K . Set lbLeverdagen=$$GetLeverDagen^FLOWORD5(KLNr,ORDNr) . Set lbPRNrs=$G(lbPRNrs,$$GetPRNrs^FLOWORD5(KLNr,ORDNr)) . Set (DefLeverdag,K)=$G(DefLeverdag) . Set:DefLeverdag="" (DefLeverdag,K)=$$VroegstMogelijkeLeverDag^FLOW3(KLNr,lbPRNrs) . Set:DefLeverdag K=$$GetLeverDag^FLOW3(KLNr,,DefLeverdag,,lbLeverdagen,Text,lbExtraButtons) . Quit:K="Asap" . Do STORE^vhTERMINA() . Do:K="?" . . Set Leverdag=$$EXTDATE^vhDTyp(DefLeverdag) . . For Do Quit:%TC . . . Set K=$$ASKL^vhINP("FLOWORD","LEVERDAG"),%TC=1 . . . Quit:((WzgBeloofd)&&(K="")) . . . Do VALDATE^vhDTyp(K,"DK",$H) . . . Do:K . . . . If '$$ISARBDAG^vhRtn2(%INT),'$$^vhTXTPOP("FLOW","NOARBDAG","",%EXT) Set %TC=0 . . . . Else Set K=%INT . Set K=$S(K:K,1:$S(DatumVereist:"-",1:"")) . If ('WzgBeloofd),(K'="-"),$$IsBeloofd^FLOWORD4(ORDNr,KLNr),(K'=$$GetBeloofdeDatumInt^FLOWORD4(ORDNr,KLNr)),('$$^vhTXTPOP("FLOW","BELOOFD","",$$EXTDATE^vhDTyp(K,"DK"))) S K="-" . Do REFRESH^vhTERMINA() Quit "-" ; U26(KLNr,PRNr,VerkPr,Aantal,LevTerm,ModItem) New R,U26,BrutoPr If ModItem'="P",$$ISKLANT^KS(KLNr),$$ISPROD^KS(PRNr) Set U26="" Else If ModItem'="P",$$HeeftUitz^KORTING(KLNr,PRNr,"N") Set U26="" Else Do .If '$D(KlMunt)!'$D(IsHandel) New KlMunt,IsHandel Do INITKL .Set R=^KOD(KLNr,"F",ORDNr,1),OrdDat=$P(R,D,2),BrutoPr=$P(R,D,27) .Set R=$$KORTPC^KORTING(KLNr,PRNr,"N",OrdDat,Aantal,LevTerm) .Set Korting1=$P(R,D),Korting2=$P(R,D,2) .Set R=$$PROD^KPRIJS(PRNr,Korting1,Korting2,KlMunt,BrutoPr,IsHandel) .If 'BrutoPr,$J($P(R,D),0,2)=VerkPr Set U26="" .Else If BrutoPr,$J($P(R,D,4),0,2)=VerkPr Set U26="" .Else Set U26="*" Quit U26 ; INITKL New sFL Do FETCHKL^UTILI(KLNr,"sFL") Set KlMunt=$P(sFL(0),D,11) If KlMunt="" Set KlMunt=$$FADEF^vhRtn1() Set IsHandel=$$IsHandel^KLANT5(KLNr) Quit ; ; ; ;