Index: BL/PR/GA/TB/tmpDev2.mac.rou =================================================================== diff -u -r2 -r18 --- BL/PR/GA/TB/tmpDev2.mac.rou (.../tmpDev2.mac.rou) (revision 2) +++ BL/PR/GA/TB/tmpDev2.mac.rou (.../tmpDev2.mac.rou) (revision 18) @@ -186,7 +186,7 @@ If ($L(WSLn.ItemVPK)) Do . Do ..BTValues.SetAt(WSLn.ItemVPK ,"Verpakking") - . Do:(WSLn.ItemVPK?1(1"C",1"P",1"Z",1"A")) bfwUpdateNMItemsBulk + . Do:(##class(BL.PR.GA.TandemBox).NietMeeToepassen(WSLn.ItemVPK)="True")||(WSLn.ItemVPK="P") bfwUpdateNMItemsBulk ; Do:(WSLn.ItemVPK?1(1"C",1"P",1"Z",1"A",1"Y")) bfwUpdateNMItemsBulk Do:($L(WSLn.ItemBGRP) ) ..BTValues.SetAt(WSLn.ItemBGRP ,"TBBinnenGreep") Do:('$L(WSLn.ItemBGRP)) ..BTValues.SetAt($S(WSLn.ItemLT?1(1"D/Z",1"C/Z"):"H",1:""),"TBBinnenGreep") @@ -265,7 +265,7 @@ Quit:(sDomVERW'="VHEPN") ; Only for safety Do:($$$DelimByDC($G($$$KLDataExtra("NMAK")))=1) ..BTValues.SetAt(1,"NMAfdekkap") ; KLNrProd <--> WS.KLNummer Do:($G($$$GlobalKLData(0,sDomVERW,KLNrProd,"SR"))?1"V") ..BTValues.SetAt($$$GlobalKLData(0,sDomVERW,KLNrProd,"SR"),"TBStalenRug") - Set:($G($$$GlobalKLData(0,sDomVERW,KLNrProd,"MATKL1239"))="HA")&&($G(arKenm("TBBodemKleur"))="LGS")&&($G(arKenm("TBLadeDiepte"))?1(1"500")) arKenm("PlaatMat")="HA" ; Bodems Keller gebruiken : "Halux Afgewerkt" i.p.v. "Halux Stroken" // Copied from class BL.Flow.Offerte.ProductGAData for calc. via Excel + Set:($G($$$GlobalKLData(0,sDomVERW,KLNrProd,"MATKL1239"))="HA")&&($G(arKenm("TBBodemKleur"))="LGS") arKenm("PlaatMat")="HA" ; Bodems Keller gebruiken : "Halux Afgewerkt" i.p.v. "Halux Stroken" // Copied from class BL.Flow.Offerte.ProductGAData for calc. via Excel Quit bfwCalcProductsInit @@ -302,7 +302,7 @@ ;Do WS.VoegToeActieCode(Actie.ActieCode) } } - + Set (Som,SomAant)=0 Quit bfwCalcProduct(Prod,i) @@ -328,7 +328,6 @@ bfwCalcProdViaItems // Binnen de BENELUX wordt met LijstPrijs gewerkt. Buiten de BENELUX bepaalt de verwerker zelf zijn Marge op AKPrijs #define GenPRNrTBX 89322 -#define PcLijstPrs 4 #define MargeHEIN 2.95 #define MargeLMC 2.33 // MargeDUPO=1 , berekening via LijstPrijs --> geen @@ -338,9 +337,9 @@ // MargeHFLE=1 , berekening via LijstPrijs --> geen #define MargeHFLE 1 // MargeMBHO=1 , berekening via LijstPrijs --> geen -#define MargeMBHO 1 - // MargeSFS= ? , berekening via ??? -#define MargeSFS 2.8 +#define MargeMBHO 1 + // MargeSFS= ? , berekening via ??? (modified by WimV on 28/02/2011, previous value: 2.8 --> change to MargeSFS active from 01/03/2011) +#define MargeSFS 2.525 New KPrijsVH,LPrs,VKPrs,VerwMarge,KLNrPrs,PrPiece,GenPRNr,IsBeursUser,IsAnonymousUser New D,Q,U Set Q="K",D="\",U=";" @@ -416,37 +415,59 @@ Quit bfwCalcVKPrijsKlant(KPrijsVH,AKPrs) - Quit:(sDomVERW="VHEPN") AKPrs - Quit:(sDomVERW="DUPO" ) $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) - Quit:(sDomVERW="HFLE" ) $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) - Quit:(sDomVERW="HELMY") $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) - Quit:(sDomVERW="MBHO" ) $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) - New VKPrs - Set VerwMarge=$CASE(sDomVERW, "HEIN":$$$MargeHEIN, "LMC":$$$MargeLMC, "HELMY":$$$MargeHELMY, "SFS":$$$MargeSFS, "MBHO":$$$MargeMBHO, :1) ; , "DUPO":$$$MargeDUPO, "HFLE":$$$MargeHFLE - If sDomVERW="LMC" Do - . If ($G(KLReductie)<(1/$$$MargeLMC)) Set KLReductie=1 ; ( 1 / $$$MargeLMC = 0.4292 ) m.a.w. KLKorting mag niet groter zijn dan de MargeLMC - . Set VKPrs=$J(AKPrs*VerwMarge*KLReductie,0,2) - Else If sDomVERW="SFS" Do - . If ($G(KLReductie)<(1/$$$MargeSFS)) Set KLReductie=1 ; ( 1 / $$$MargeSFS = 0.3571 ) - . Set VKPrs=$J(AKPrs*VerwMarge*KLReductie,0,2) - Else Do - . Set VKPrs=$S((VerwMarge=1):AKPrs, 1:$J(AKPrs*VerwMarge+0.004999,0,2)) ; Opnieuw afronden na VerwMarge-calculatie - Quit VKPrs + #define PcLijstPrs 15 + #define PcVkPrsVH 14 + #define HandelAankoopPrijs(%v) $P(%v,"\",$$$PcVkPrsVH) + #define HandelLijstPrijs(%v) $P(%v,"\",$$$PcLijstPrs) + + // Van Hoecke domein + Quit:(sDomVERW="VHEPN") AKPrs + + // BENELUX handels zonder korting, i.e. zonder klantinfo (dus Anonymous) + Quit:(sDomVERW="DUPO" ) $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) + Quit:(sDomVERW="HFLE" ) $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) + Quit:(sDomVERW="HELMY") $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) + + // BENELUX handels met korting, i.e. met klantinfo + New HandelVKPrijs,KPrijsData,HandelVKPrijs + If (sDomVERW="MBHO")||(sDomVERW="HFLB" ) { + Set KPrijsData=$$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)) + Set HandelVKPrijs=$J($$$HandelLijstPrijs(KPrijsData)*KLReductie,0,2) + // Als de "HandelVKPrijs met KLKorting" kleiner dan de HandelAKPrijs, dan wordt de KLKorting volledig ongedaan gemaakt. + If HandelVKPrijs<$$$HandelAankoopPrijs(KPrijsData) { Set HandelVKPrijs=$$$HandelLijstPrijs(KPrijsData) } + } + Quit:(sDomVERW="MBHO")||(sDomVERW="HFLB" ) HandelVKPrijs + + // Niet-BENELUX handels (met en zonder korting , i.e. met en zonder klantinfo) + Set VerwMarge=$CASE(sDomVERW, "HEIN":$$$MargeHEIN, "LMC":$$$MargeLMC, "SFS":$$$MargeSFS, :1) ; , "DUPO":$$$MargeDUPO, "HELMY":$$$MargeHELMY, "HFLE":$$$MargeHFLE, "MBHO":$$$MargeMBHO + If sDomVERW="LMC" Do + . If ($G(KLReductie)<(1/$$$MargeLMC)) Set KLReductie=1 ; ( 1 / $$$MargeLMC = 0.4292 ) m.a.w. KLKorting mag niet groter zijn dan de MargeLMC + . Set HandelVKPrijs=$J(AKPrs*VerwMarge*KLReductie,0,2) + Else If sDomVERW="SFS" Do + . If ($G(KLReductie)<(1/$$$MargeSFS)) Set KLReductie=1 ; ( 1 / $$$MargeSFS = 0.3571 ) + . Set HandelVKPrijs=$J(AKPrs*VerwMarge*KLReductie,0,2) + Else Do + . Set HandelVKPrijs=$S((VerwMarge=1):AKPrs, 1:$J(AKPrs*VerwMarge+0.004999,0,2)) ; Opnieuw afronden na VerwMarge-calculatie + + Quit HandelVKPrijs + bfwTrapCalcPrs - Set VKPrs="" - Quit + Set HandelVKPrijs="" + Quit + bfwTranslateErr - New msg - Set msg=Prod.ValidPRArrayToText(.arValidPR,1) ; blnAddInfoNode=1 - Quit + New msg + Set msg=Prod.ValidPRArrayToText(.arValidPR,1) ; blnAddInfoNode=1 + Quit /* - New Key - Set Key="" - For Set Key=$O(arValidPR(0,Key)) Quit:(Key="") Do - . Set DItem=Prod.DataItems.GetAt(Key) - . Set arValidPR(0,Key,"I")=DItem.Get("Oms")_" ("_DItem.Code_") : PRNr="""_DItem.Get("PRNr")_"""" ; _" Kenm="_$$$LCVT(DItem.Get("Kenm")) - Quit + New Key + Set Key="" + For Set Key=$O(arValidPR(0,Key)) Quit:(Key="") Do + . Set DItem=Prod.DataItems.GetAt(Key) + . Set arValidPR(0,Key,"I")=DItem.Get("Oms")_" ("_DItem.Code_") : PRNr="""_DItem.Get("PRNr")_"""" ; _" Kenm="_$$$LCVT(DItem.Get("Kenm")) + Quit */ + bfwCalcProdStdL New VKPrs If OrdStdL="LoadMeNow" Do ; Execute only once