#include BL.Prod.GAData TBXCalcItems(CalcType) ; Parameters: CalcType Quit /* * / // Test version - DEPRECATED !!! #define CreateIfActief(%v) Calc%v(blnExtended):$$Include%v() #define gd ..GAData #define KenmGrp #define AddToCalcArray(%v) Set tmpAr("%v")=%v d WLIP^vhDBG(97,"Start CalcItems "_$G(CalcType)) Quit:($G(CalcType)="") $$$OK ; Init variables Set blnExtended=$S(CalcType="DTL":1, 1:0) ;Set %KenmGrpTBX="TB" Do tciTempSettings ; Start Calc d RestartTimer^vhLib() ;Do $$$CreateIfActief(PRLALI) ; Do:($$IncludePRLALI()) CalcPRLALI(), CreateExtendPRLALI():blnExtended Do $$$CreateIfActief(PRLALI) ; Do:($$IncludePRLALI()) CalcPRLALI(blnExtended) Do $$$CreateIfActief(PRLARE) ; Do:($$IncludePRLARE()) CalcPRLARE(blnExtended) Do $$$CreateIfActief(PRBDHO) ; Do ... Do $$$CreateIfActief(PRRUGHS) ; Do ... d WL^vhDBG("Time for Calc :"_$$TimeFromStart^vhLib) ; Finish calc; cleanup variables ;Kill %KenmGrpTBX Quit $$$OK tciTempSettings #define blnInc 0 Set arCacheRef=$Name($$$globCalcCache($Increment($$$globCalcCache,$$$blnInc))) d WL^vhDBG("arCacheRef="_arCacheRef) Kill @arCacheRef Quit /* * / ; --- ;Set DItemLabel="PRLALI" Set MetaItem="PRKENM" IncludePRLALI() Set Actief=1 Do ValueToCalcCache("PRLALI",$$$cckeyActief,Actief) ; $LB(Actief)) Quit Actief CalcPRLALI(blnExtended) Set Kenm=$LB($LB("BasisType","LA"),$LB("tB",1),$LB("Design",$$$gd.DC),$LB("LadeDiepte",$$$gd.LD),$LB("Kleur",$$$gd.KL),$LB("DraagKracht",$$$gd.DK),$LB("ZijwandHoogte",$$$gd.ZW),$LB("$COMB$","($CASE({Verpakking},""E"":1,""I"":10,:20)+$CASE({LiRe},""LI"":0,:1))")) Set KenmGrp=$$$prKenmKenmGrp Set PRNr=$$$prKenmPRNr Set KTekst=$$$prKenmKTekst Set Oms="Lade "_$S(..GetKenmerkVal("Verpakking",PRNr,KenmGrp)="V1":"links+rechts",1:"links") Set Qty=1 Set KPrijs=$$$prKenmKPrijs ; NoSa is undefined --> defaulted Set GNetto=$$$prKenmGNetto Set GTarra=$$$prKenmGTarra Set IncludeBS=($$$gd.ODSP="") ;Set tmpLB=$LB(1,Oms,,,,)_ $LB(PRNr,KTekst,,KenmGrp,Kenm)_ $LB(Qty,KPrijs,GNetto,GTarra,IncludeBS,,"") ; _ $LB(,,,,,,) ; BASIS : $LB(1-6)_ $LB(7-11)_ $LB(12-18)_ $LB(19-25) Set tmpLB=$$$prKenmCacheLB Do ValueToCalcCache("PRLALI",$$$cckeyCalcBasis,tmpLB) Do:($G(blnExtended)) CalcExtendPRLALI(,PRNr,KenmGrp) ; .tmpLB, Quit CalcExtendPRLALI(lbCalcBasis,PRNr,KenmGrp) If $D(lbCalcBasis) Do . Set PRNr=$G(PRNr,$LG(lbCalcBasis,$$$licbPRNr)) . Set KenmGrp=$G(KenmGrp,$LG(lbCalcBasis,$$$licbKenmGrp)) Set FabrGroep="Monteren" Set FabrPrep="MON" Set lbKMArgs=$LB( $LB("BasisType"), $LB("Design"), $LB("ZijwandHoogte"), $LB("LadeDiepte"), $LB("LiRe"), $S($$$gd.DK>50:$LB("DraagKracht"),$$$gd.DK=25:$LB(,"INTRABOX"),1:""), $LB("Kleur")) Set FabrOms=..GetOmsViaKenm(lbKMArgs, ", ", PRNr, .KenmGrp) Set FabrTekstX01=$S((..GetKenmerkVal("Verpakking",PRNr,.KenmGrp)="V1")&&($$$gd.LC?1(1"K",1"C")):$LB("Onderdelen 2","V1->Positioneringsdeel vr T-box-zijkant ""K""",,"2st",,""),1:"") Set FabrTekstX02=$S((..GetKenmerkVal("Verpakking",PRNr,.KenmGrp)="V1")&&('$$$gd.NM.NMAK):$LB("Onderdelen 2","V1->Afdekkappen meeleveren LI+RE",,,,""),1:"") Set tmpLB=$LB($G(FabrGroep), $G(XMLTags), $G(lbKMArgs), $G(FabrOms), $G(FabrPrep), $G(FabrTekst)) ; EXTEND: $LB(1-6)_ $LB(7-10) Set tmpLB=tmpLB_$LB(,,,$LB(FabrTekstX01,FabrTekstX02)) ; EXTEND: _ $LB(7-10) Do ValueToCalcCache("PRLALI",$$$cckeyCalcExtend,tmpLB) Quit ; --- ;Set DItemLabel="PRLARE" Set MetaItem="PRKENM" IncludePRLARE() Set PRNrLALI=$LG($$LBFromCalcCache("PRLALI",),$$$licbPRNr) ; $$GetPRNrFromDItemLabel("PRLALI") Set Actief=(..GetKenmerkVal("Verpakking",PRNrLALI,)'="V1") Do ValueToCalcCache("PRLARE",$$$cckeyActief,Actief) ; $LB(Actief)) Quit Actief CalcPRLARE(blnExtended) Set PRNrLALI=$LG($$LBFromCalcCache("PRLALI",),$$$licbPRNr) ; $$GetPRNrFromDItemLabel("PRLALI") Set Oms="Lade rechts" Set Kenm=$LB($LB("BasisType","LA"),$LB("tB",1),$LB("LiRe","RE"),$LB("Design",$$$gd.DC),$LB("Verpakking",..GetKenmerkVal("Verpakking",PRNrLALI,)),$LB("LadeDiepte",$$$gd.LD),$LB("Kleur",$$$gd.KL),$LB("DraagKracht",$$$gd.DK),$LB("ZijwandHoogte",$$$gd.ZW)) Set KenmGrp=$$$prKenmKenmGrp Set PRNr=$$$prKenmPRNr Set KTekst=$$$prKenmKTekst Set Qty=1 Set KPrijs=$$$prKenmKPrijs ; NoSa is undefined --> defaulted Set GNetto=$$$prKenmGNetto Set GTarra=$$$prKenmGTarra Set IncludeBS=($$$gd.ODSP="") ;Set tmpLB=$LB(1,Oms,,,,)_ $LB(PRNr,KTekst,,KenmGrp,Kenm)_ $LB(Qty,KPrijs,GNetto,GTarra,IncludeBS) ; _ $LB(,,,,,,) ; BASIS : $LB(1-6)_ $LB(7-11)_ $LB(12-18)_ $LB(19-25) Set tmpLB=$$$prKenmCacheLB Do ValueToCalcCache("PRLARE",$$$cckeyCalcBasis,tmpLB) Do:($G(blnExtended)) CalcExtendPRLARE(,PRNr,KenmGrp) Quit CalcExtendPRLARE(lbCalcBasis,PRNr,KenmGrp) If $D(lbCalcBasis) Do . Set PRNr=$G(PRNr,$LG(lbCalcBasis,$$$licbPRNr)) . Set KenmGrp=$G(KenmGrp,$LG(lbCalcBasis,$$$licbKenmGrp)) Set FabrGroep="Monteren" Set FabrPrep="MON" Set lbKMArgs=$LB( $LB("BasisType"), $LB("Design"), $LB("ZijwandHoogte"), $LB("LadeDiepte"), $LB("LiRe"), $S($$$gd.DK>50:$LB("DraagKracht"),$$$gd.DK=25:$LB(,"INTRABOX"),1:""), $LB("Kleur")) Set FabrOms=..GetOmsViaKenm(lbKMArgs, ", ", PRNr, .KenmGrp) Set tmpLB=$LB($G(FabrGroep), $G(XMLTags), $G(lbKMArgs), $G(FabrOms), $G(FabrPrep), $G(FabrTekst)) ; EXTEND: $LB(1-6)_ $LB(7-10) Do ValueToCalcCache("PRLARE",$$$cckeyCalcExtend,tmpLB) Quit ; --- ;Set DItemLabel="PRBDHO" Set MetaItem="PR1DIM" IncludePRBDHO() Set Actief=($$$gd.MATKL="HS")&&($$$gd.KB'="XX") Do ValueToCalcCache("PRBDHO",$$$cckeyActief,Actief) ; $LB(Actief)) Quit Actief CalcPRBDHO(blnExtended) Set Oms="Bodem" Set Kenm=$LB($LB("BasisType","BODEMSTRK"_$S($$$gd.KLAS="SP":"SP",1:"")),$LB("tB",1),$LB("Kleur",$$$gd.KB))_$S($$$gd.KLAS="SP":"",1:$LB($LB("LadeDiepte",$$$gd.LD))) Set KenmGrp=$$$pr1dimKenmGrp Set PRNr=$$$pr1dimPRNr Set KTekst=$$$pr1dimKTekst Set PRLen=$$$pr1dimPRLen Set BrutPct=0 Set BrutStk=3 Set UitvalPct=0.15 Set UitvalStk=0 Set lbPRLALI=$$LBFromCalcCache("PRLALI",) Set DimHF=$$$gd.IB-..GetKenmerkVal("AftrekBodem",$LG(lbPRLALI,$$$licbPRNr),$LG(lbPRLALI,$$$licbKenmGrp)) Set DimHFBrut=$$$pr1dimDimHFBrut Set DimHFUitval=$$$pr1dimDimHFUitval Set Qty=1 Set KPrijs=$$$pr1dimKPrijs ; NoSa is undefined --> defaulted Set GNetto=$$$pr1dimGNetto Set GTarra=$$$pr1dimGTarra Set IncludeBS=($$$gd.ODSP="")||($$$gd.ODSP["B") Set tmpLB=$$$pr1dimCacheLB ; $LB(1,Oms,,,,)_ $LB(PRNr,KTekst,PRLen,KenmGrp,Kenm)_ $LB(Qty,KPrijs,GNetto,GTarra,IncludeBS)_ $LB(,)_ $LB(BrutPct,BrutStk,UitvalPct,UitvalStk,DimHF,DimHFBrut,DimHFUitval) ; BASIS : $LB(1-6)_ $LB(7-11)_ $LB(12-16)_ $LB(17-18)_ $LB(19-25) Do ValueToCalcCache("PRBDHO",$$$cckeyCalcBasis,tmpLB) Do:($G(blnExtended)) CalcExtendPRBDHO(,PRNr,KenmGrp) Quit CalcExtendPRBDHO(lbCalcBasis,PRNr,KenmGrp) If $D(lbCalcBasis) Do . Set PRNr=$G(PRNr,$LG(lbCalcBasis,$$$licbPRNr)) . Set KenmGrp=$G(KenmGrp,$LG(lbCalcBasis,$$$licbKenmGrp)) Set FabrGroep="Bodem"_$ZDT($H,4) Set lbKMArgs=$LB( $LB("BasisType"), $LB("Kleur"), $LB("LadeDiepte",$S($$$gd.KLAS="SP":161, 1:$$$gd.LD-24))) Set FabrOms=..GetOmsViaKenm(lbKMArgs, ", ", PRNr, .KenmGrp) _ $S($$$gd.DK=80:", *ZONDER_GROEF*", 1:"") _ $S(..GetKenmerkVal("Opties",PRNr,.KenmGrp)="H":",*** SPECIAAL Lichtgrijs ***", 1:"") Set tmpLB=$LB($G(FabrGroep), $G(XMLTags), $G(lbKMArgs), $G(FabrOms), $G(FabrPrep), $G(FabrTekst)) ; EXTEND: $LB(1-6)_ $LB(7-10) Do ValueToCalcCache("PRBDHO",$$$cckeyCalcExtend,tmpLB) Quit ; --- ;Set DItemLabel="PRRUGHS" Set MetaItem="PR1DIM" IncludePRRUGHS() Set Actief=($$$gd.MATKL="HS")&&('$$$gd.IsSR)&&($$$gd.KLAS'?1(1"SP2",1"SY"))&&($$$gd.KB'="XX") Do ValueToCalcCache("PRRUGHS",$$$cckeyActief,Actief) ; $LB(Actief)) Quit Actief CalcPRRUGHS(blnExtended) Set Oms="Rug" Set Kenm=$LB($LB("BasisType",$S($$$gd.DS="BA":"RUGPL",1:"RUGSTRK")),$LB("tB",1),$LB("Kleur",$$$gd.KB),$LB("RugHoogte",$S($L($$$gd.RSTL):$$$gd.RSTL,1:$$$gd.RH))) Set KenmGrp=$$$pr1dimKenmGrp Set PRNr=$$$pr1dimPRNr Set KTekst=$$$pr1dimKTekst Set PRLen=$$$pr1dimPRLen Set BrutPct=0 Set BrutStk=3 Set UitvalPct=0.15 Set UitvalStk=0 Set lbPRLALI=$$LBFromCalcCache("PRLALI",) Set DimHF=$$$gd.IB-(..GetKenmerkVal("AftrekRug",$LG(lbPRLALI,$$$licbPRNr),$LG(lbPRLALI,$$$licbKenmGrp))) Set DimHFBrut=$$$pr1dimDimHFBrut Set DimHFUitval=$S($$$gd.DS="BA":PRLen/$S(PRLen/3>DimHFBrut:3, PRLen/2>DimHFBrut:2, 1:1), 1:$$$pr1dimDimHFUitval) Set Qty=1 Set KPrijs=$$$pr1dimKPrijs ; NoSa is undefined --> defaulted Set GNetto=$$$pr1dimGNetto Set GTarra=$$$pr1dimGTarra Set IncludeBS=($$$gd.ODSP="")||($$$gd.ODSP["R") Set tmpLB=$$$pr1dimCacheLB ; $LB(1,Oms,,,,)_ $LB(PRNr,KTekst,PRLen,KenmGrp,Kenm)_ $LB(Qty,KPrijs,GNetto,GTarra,IncludeBS)_ $LB(,)_ $LB(BrutPct,BrutStk,UitvalPct,UitvalStk,DimHF,DimHFBrut,DimHFUitval) ; BASIS : $LB(1-6)_ $LB(7-11)_ $LB(12-18)_ $LB(19-25) Do ValueToCalcCache("PRRUGHS",$$$cckeyCalcBasis,tmpLB) Do:($G(blnExtended)) CalcExtendPRRUGHS(,PRNr,KenmGrp) Quit CalcExtendPRRUGHS(lbCalcBasis,PRNr,KenmGrp) If $D(lbCalcBasis) Do . Set PRNr=$G(PRNr,$LG(lbCalcBasis,$$$licbPRNr)) . Set KenmGrp=$G(KenmGrp,$LG(lbCalcBasis,$$$licbKenmGrp)) Set FabrGroep="Rug" Set FabrPrep=$S($$$gd.DC="B":"RUGB",1:"ZAAG") Set lbKMArgs=$LB( $LB("BasisType"), $LB("LadeDiepte"), $LB("RugHoogte"), $LB("Kleur")) Set FabrOms=..GetOmsViaKenm(lbKMArgs, ", ", PRNr, .KenmGrp) _ ", "_$P($P("N69;M84;B135;D199;K116;C167",$$$gd.RH,2),";")_"mm"_$S(..GetKenmerkVal("Opties",PRNr,.KenmGrp)="H":",*** SPECIAAL Lichtgrijs ***",1:"")_$S($L($$$gd.RSTL):",*** VERLAAGDE RUG ***",1:"") Set tmpLB=$LB($G(FabrGroep), $G(XMLTags), $G(lbKMArgs), $G(FabrOms), $G(FabrPrep), $G(FabrTekst)) ; EXTEND: $LB(1-6)_ $LB(7-10) Do ValueToCalcCache("PRRUGHS",$$$cckeyCalcExtend,tmpLB) Quit /* * / ValueFromCalcCache(ItemLabel,ParamKey) Quit $S($L($G(arCacheRef)):$G(@arCacheRef@(ItemLabel,ParamKey)), 1:"") Quit ValueToCalcCache(ItemLabel,ParamKey,Value) Set:($L($G(arCacheRef))) @arCacheRef@(ItemLabel,ParamKey)=Value Quit ArrayToCalcCache(ItemLabel,arAddValues) ; arAddValues als .local doorgeven Merge:($L($G(arCacheRef))) @arCacheRef@(ItemLabel)=arAddValues Quit LBFromCalcCache(ItemLabel,ccKey) Set:($G(ccKey)="") ccKey=$$$cckeyCalcBasis Quit $S($L($G(arCacheRef)):$G(@arCacheRef@(ItemLabel,ccKey)), 1:"") Quit /* */