DOM.PM.OL 1 Prod.Kenmerk.Product 0 DOM.PM.TBX.AfmetingCalculator 1 KenmerkUnID:%String,Taal:%String="N" 1 1 %Status %String %String KenmerkNaam:%String 1 %String KenmerkNaam:%String 1 %List KenmerkNaam:%String %List %String %String %List %String %String %List %List %List %List %String %String %String %List %String %List %Boolean %Boolean %Boolean %String %String %String 0:ProductHoogte+$$$VrijeHoogteExtraMarge, 1:"") ]]> Toepassing:%String="WWWOL" %String Toepassing:%String="WWWOL" %String %List Listbuild 0:Value*10,1:"") set $list(Listbuild,ctrItem)=Value } quit Listbuild ]]> %String %String %String %String %String %String %String %String %String %List %List %List %List %List %List %List 1){ Set InfoMetLadehoogte = ##class(Res.Vertaling).GetVertaling("OLW","MetLadehoogtes","K",..Taal,,1) } Do ##class(TECH.ListUtils).CopyListOfObjects(BinnenladenTypes,LadenTypes) For ctrLadenTypes = 1 : 1 : LadenTypes.Count() { Set InfoMetLadehoogte = InfoMetLadehoogte_LadenTypes.GetAt(ctrLadenTypes) If (ctrLadenTypes < LadenTypes.Count()){ Set InfoMetLadehoogte = InfoMetLadehoogte_" "_##class(Res.Vertaling).GetVertaling("OLW","LadeVereistenEn","K",..Taal,,1) } } Set TypesInfoItem = $$REPLACE5^vhRtn1(TypesInfoItem,"::MetLadehoogtes"," "_InfoMetLadehoogte)_". " Set lbResult = lbResult _ $LB(TypesInfoItem) } Quit lbResult ]]> ExtraTips:%String=";BL;" %List 0)) Set lbTips=lbTips_$LB(TipPastInBinnenLade) } /// Tip toevoegen als ladefamilie gevonden wordt /// Maar niet automatisch toevoegen als de tip reeds manueel is toegevoegd. If ($LF(..GetLadeFamilies(),"TBX_plus_Boxside_Ew_of_Dw") && '$LF(lbTips,"TIPS_Dubbelw_Boxside_AanTeRaden_SepBestellen")) { //TIPS_Dubbelw_Boxside_separaat_bestellen Set lbTips=lbTips_$LB("TIPS_Dubbelw_Boxside_separaat_bestellen") } set lbTips = ..SorteerKenmerkWaarden("BOWeten",lbTips) Quit lbTips ]]> ExtraTips:%String %List Geeft de kenmerkwaarde voor de tip "Past niet in (voorraad)binnenlade" of leeg. %String 0) Set lbLadeTypes=..GetKenmerken("LadeType") If lbLadeTypes="" Set TipIntern="" Else If ($$$InList(lbLadeTypes,"D"))&&($$$Not($$$InList(lbLadeTypes,"D/Z"))) Set TipIntern=$$$TipXProductPastInBinnenVLade Else If ($$$InList(lbLadeTypes,"C"))&&($$$Not($$$InList(lbLadeTypes,"C/Z"))) Set TipIntern=$$$TipXProductPastInBinnenVLade Else If ($$$InList(lbLadeTypes,"B"))&&($$$Not($$$InList(lbLadeTypes,"B/Z"))) Set TipIntern=$$$TipXProductPastInBinnenVLade Else If ($$$InList(lbLadeTypes,"M"))&&($$$Not($$$InList(lbLadeTypes,"M/Z"))) Set TipIntern=$$$TipXProductPastInBinnenLade Else If ($$$InList(lbLadeTypes,"K"))&&($$$Not($$$InList(lbLadeTypes,"K/Z"))) Set TipIntern=$$$TipXProductPastInBinnenLade Else Set TipIntern="" Quit TipIntern ]]> %String %String %String %String Nummer:%Integer %String $$$OLAantalFotoSorteerSleutels) "" ;w $$$OLKenmFotoSorteerSleutelPrefix_Nummer Quit ..GetKenmerk($$$OLKenmFotoSorteerSleutelPrefix_Nummer) ]]> %List %List %String Label:%String %String Dit product past in een BinnenLade DEPRECATED method %String info: Zie method ZoneToepassingenInZoneFromList() 1 Zone:%String 1 %List DEPRECATED : vervangen door method ZoneToepassingenInZoneFromList() // Modified by WimV on 30/08/2010 1 lbZoneToepassingen,Zone:%String 1 %List Geeft de lijst van ZoneToepassingen terug (voluit, m.a.w. Zone_Toepassing) van alle toepassingen die tot de gegeven zone behoren. 1 lbZoneToepassingen,Zone:%String 1 %List 1 Zone:%String,Toepassing:%String %String 1 ZoneToepassing:%String %String 1 ZoneToepassing:%String %String 1 ZoneToepassing:%String,Zone:%String %Boolean 1 Zone:%String,Toepassing:%String %String Geeft de Korte Omschrijvingen voor de KenmerkWaarden Geeft altijd een %List terug. 1 Kenmerk:%String,lbKenmerkWaarden:%String,Taal:%String="N",DoNotConvert2Html:%Boolean=1 %List 0) { Set ListBuild = ListBuild_$LB(VertaaldeKenmerkWaarde) } } Quit ListBuild ]]> Geeft de Korte Omschrijving voor een KenmerkWaarde Geeft altijd een %String terug. 1 Kenmerk:%String,KenmerkWaarde:%String,Taal:%String="N",DoNotConvert2Html:%Boolean=0 %String Geeft de Lange Omschrijving voor een KenmerkWaarde Geeft altijd een %String terug. 1 Kenmerk:%String,KenmerkWaarde:%String,Taal:%String="N",DoNotConvert2Html:%Boolean=1 %String Geeft de Lange Omschrijving voor een KenmerkWaarde Geeft altijd een %String terug. 1 Kenmerk:%String,lbKenmerkWaarden:%String,Taal:%String="N",DoNotConvert2Html:%Boolean=1 %List Geeft de lijst van "Linked GroepSleutels" voor de KenmerkWaarden Geeft altijd een %List terug. Analoge method kan aangemaakt worden voor "Linked Products" (LinkedItemType="LP") 1 Kenmerk:%String,KenmerkWaarde:%String %List Geeft de lijst van "Linked Items" (Linked GroepSleutels of Linked Products) voor de KenmerkWaarden Het LinkedItemType moet "LG" of "LP" zijn. Geeft altijd een %List terug. 1 Kenmerk:%String,lbKenmerkWaarden:%List,LinkedItemType:%String %List 0) ;Set:($G(LinkedItemType)'?1(1"LG",1"LP")) LinkedItemType="LG" Set Taal="N" Set lbLinkedItemsALL="" For i=1:1:$LL(lbKenmerkWaarden) { Set LinkedItems=##class(Prod.Kenmerk.Utils).GetLinkedItemsVanKenmerkWaarde($$$OLKenmerkGroepID, Kenmerk, $LI(lbKenmerkWaarden,i), Taal, LinkedItemType) Set lbLinkedItems=$$PiecesToList^vhLib(LinkedItems,";") For j=1:1:$LL(lbLinkedItems) { Set item=$LG(lbLinkedItems,j) Set:($L(item))&&($$$Not($$$InList(lbLinkedItemsALL,item))) lbLinkedItemsALL=lbLinkedItemsALL_$LB(item) } } Quit lbLinkedItemsALL ]]> 1 lbTips:%List %List 1 lbTips:%List %List 1 Kenmerk:%String Sorteren van de KenmerkWaarden volgens de WaardenSortering van het Kenmerk. 1 Kenmerk:%String,lbKenmerkWaarden:%String %List 0) . Set lbNew=lbNew_$LB($LI(lbBaseValues,i)) . Set:($LL(lbNew)=LenTS) i=$LL(lbBaseValues) ; Quit For-loop, want alle elementen van lbToSort zitten nu ook in lbNew Quit:(+$G(AddUnsorted)=0) lbNew ; Else Vreemde elementen (i.e. komen niet voor in lbBaseValues, maar wel in lbToSort) toevoegen aan lbNew If $LL(lbNew) Select Products "Alle" Opbouwen van de array arUnIDs (als .local doorgeven) met alle UnIDs waarvoor OL-kenmerken aanwezig zijn. Initiƫle beperking op (KenmerkNaam,BeperkWaarde) is mogelijk, geeft hogere performantie. Deze method is ProcedureBlock=0 !!! 1 0 Select Products "Beperk excl(ude)" Beperken van de array arUnIDs (als .local doorgeven) tot de UnIDs waarvoor het OL-kenmerk (KenmerkNaam,BeperkWaarde) aanwezig is. Deze method is ProcedureBlock=0 !!! 1 0 Deze method is ProcedureBlock=0 !!! ]]> 1 0 Select Products "Beperk Multi" Beperken van de array arUnIDs (als .local doorgeven) tot alle UnIDs waarvoor het OL-kenmerk voldoet aan (KenmerkNaam,BeperkWaarde) volgens CompareType. Deze method is ProcedureBlock=0 !!! 1 0 Controle voor Select Products "Beperk Breedte" Beperken van de array arUnIDs (als .local doorgeven) tot de UnIDs waarvoor de combinatie van OL-kenmerken (BreedteMin,BreedteMax,BreedteSpeling,WandDikte) voldoet aan de BeperkBreedte waarde (in mm). 1 UnID:%String,BeperkBreedteInMM:%String,FoutMargeOpMeting:%Float %Boolean ((LadeBreedteMax)-(2*WandDikte))) 0 Quit 1 ]]> %ListOfDataTypes 1){ Set InfoMetLadehoogte = ##class(Res.Vertaling).GetVertaling("OLW","MetLadehoogtes","K",..Taal,,1) } Do ##class(TECH.ListUtils).CopyList(BinnenladenTypes,LadenTypes) For ctrLadenTypes = 1 : 1 : LadenTypes.Count() { Set InfoMetLadehoogte = InfoMetLadehoogte_LadenTypes.GetAt(ctrLadenTypes) If (ctrLadenTypes < LadenTypes.Count()){ Set InfoMetLadehoogte = InfoMetLadehoogte_" "_##class(Res.Vertaling).GetVertaling("OLW","LadeVereistenEn","K",..Taal,,1) } } Set TypesInfoItem = $$REPLACE5^vhRtn1(TypesInfoItem,"::MetLadehoogtes"," "_InfoMetLadehoogte) do LadeVereisten.Insert(TypesInfoItem) } */ Set LadebreedteTekst = ..GeefBreedteTekst() If ($length(LadebreedteTekst)){ Do LadeVereisten.Insert(LadebreedteTekst) } Set LadediepteTekst = ..GeefDiepteTekst() If ($length(LadebreedteTekst)){ Do LadeVereisten.Insert(LadediepteTekst) } If ($listlength(lbLadeKleuren) > 0){ Set InfoKleur = ##class(Res.Vertaling).GetVertaling("OLW","LadeVereisteKleur","L",..Taal,,1)_": " for ctrLadeKleuren=1:1:$listlength(lbLadeKleuren) { If (ctrLadeKleuren > 1) Set InfoKleur = InfoKleur_", " Set InfoKleur = InfoKleur_($listget(lbLadeKleuren,ctrLadeKleuren)) } do LadeVereisten.Insert(InfoKleur) } If (..GetVrijeHoogte() '= "") { Set InfoVrijeHoogte = ##class(Res.Vertaling).GetVertaling("OLW","LadeVereisteVrijeHoogte","L",..Taal,,1)_" " Set InfoVrijeHoogte = InfoVrijeHoogte_##class(Res.Vertaling).GetVertaling("OLW","LadeVereisteVrijeHoogte","K",..Taal,,1) Set InfoVrijeHoogte = $$REPLACE5^vhRtn1(InfoVrijeHoogte,"::Hoogte",..GetVrijeHoogte()) do LadeVereisten.Insert(InfoVrijeHoogte) } Quit LadeVereisten ]]> Types toevoegen aan de info lijst. alle hoogtes weergeven Ladebreedte Ladediepte Kleuren Vrijehoogte %String 1){ Set WandDikteMax = $LG(..GetWandDiktes(),1) Set WandDikteMin = $LG(..GetWandDiktes(),2) Set Corpus = TBXAfmetingCalculator.BepaalLadeBuitenBreedte(BreedteMinimum,WandDikteMax) Set BreedteMaximum = TBXAfmetingCalculator.BepaalLadeBinnenBreedte(Corpus, WandDikteMax) Set BreedteMinimum = TBXAfmetingCalculator.BepaalLadeBinnenBreedte(Corpus, WandDikteMin) Set AfmetingenMinimum = ..GeefBreedteAfmetingen(BreedteMinimum,Corpus,WandDikteMin) Set AfmetingenMaximum = ..GeefBreedteAfmetingen(BreedteMaximum,Corpus,WandDikteMax) Set InfoBreedteAfmetingen = ##class(Res.Vertaling).GetVertaling("OLW","LadeVereisteVanTot","K",..Taal,,1) Set InfoBreedteAfmetingen = $$REPLACE5^vhRtn1(InfoBreedteAfmetingen,"::Minimum",AfmetingenMinimum,"::Maximum",AfmetingenMaximum) }else{ Set CorpusMaximum = TBXAfmetingCalculator.BepaalLadeBuitenBreedte(BreedteMaximum,WandDikte) Set AfmetingenMaximum = ..GeefBreedteAfmetingen(BreedteMaximum,CorpusMaximum,WandDikte) Set CorpusMinimum = TBXAfmetingCalculator.BepaalLadeBuitenBreedte(BreedteMinimum,WandDikte) Set AfmetingenMinimum = ..GeefBreedteAfmetingen(BreedteMinimum,CorpusMinimum,WandDikte) Set InfoBreedteAfmetingen = ##class(Res.Vertaling).GetVertaling("OLW","LadeVereisteVanTot","K",..Taal,,1) Set InfoBreedteAfmetingen = $$REPLACE5^vhRtn1(InfoBreedteAfmetingen,"::Minimum",AfmetingenMinimum,"::Maximum",AfmetingenMaximum) } Set InfoBreedte = ##class(Res.Vertaling).GetVertaling("OLW","LadeVereisteBreedte","L",..Taal,,1)_": " } Quit InfoBreedte_InfoBreedteAfmetingen ]]> %String Afmeting:%Integer,Corpus:%Integer,WandDikte:%Integer 1 %String Diepte:%Integer,Glijder:%Integer 1 %String lbLadeTypesKenmerk:%List 1 %Boolean