Index: BL/Legacy/FLOWTOE/AdHocSplitser.cls.xml =================================================================== diff -u -r58583 -r58837 --- BL/Legacy/FLOWTOE/AdHocSplitser.cls.xml (.../AdHocSplitser.cls.xml) (revision 58583) +++ BL/Legacy/FLOWTOE/AdHocSplitser.cls.xml (.../AdHocSplitser.cls.xml) (revision 58837) @@ -42,49 +42,115 @@ #dim Kenmerk As %String #dim Waarde As %String + #dim FilterGroepKey As %String = "#ALL#" - Write !,"Kies een kenmerk om een eerste groepering mee te definieren : ",!,"DossierCode/Korttekst/KorttStart/LadeHoogte/DimensieDxB/LadeDiepte/LadeBreedte/KleurenCode/OrderLijnNr",! - Read Kenmerk - Write ! - - ; Bepaal Lijst Mogelijke KM-waarden - #dim mdGroepKeyMapping As %String = Kenmerk - ;#dim MappingId As %String = "" - ;#dim TLNr As %String = "" - For { Set TLNr = $Order(..mdProductLijnen(TLNr)) Quit:(TLNr="") - #dim lbProductLijnData As %List = ..mdProductLijnen(TLNr) - #dim Korttekst As %String = $LG(lbProductLijnData,1) - #dim KenmerkWaarde As %String = ..GeefKenmerkVoorProductLijn(TLNr,Kenmerk) - If $Data(mdGroepKeyMapping(KenmerkWaarde)) { - Set GroepKey = mdGroepKeyMapping(KenmerkWaarde) + #dim mdGroepKeyMapping As %String = "" + #dim DefinieerMapping As %String = "GO" + + While (DefinieerMapping = "GO") { + + Write !,"Kies een kenmerk om een eerste groepering mee te definieren : ",!,"DossierCode/Korttekst/KorttStart/LadeHoogte/DimensieDxB/LadeDiepte/LadeBreedte/KleurenCode/OrderLijnNr",! + Read Kenmerk + Write ! + + ; Bepaal Lijst Mogelijke KM-waarden + + Kill mdGroepKeyMapping + Set mdGroepKeyMapping = Kenmerk + + ;#dim TLNr As %String = "" + For { Set TLNr = $Order(..mdProductLijnen(TLNr)) Quit:(TLNr="") + #dim lbProductLijnData As %List = ..mdProductLijnen(TLNr) + #dim Korttekst As %String = $LG(lbProductLijnData,1) + + Continue:(..FilterProductLijnViaGroepKey(lbProductLijnData,FilterGroepKey) = $$$False) + + #dim KenmerkWaarde As %String = ..GeefKenmerkVoorProductLijn(TLNr,Kenmerk) + If $Data(mdGroepKeyMapping(KenmerkWaarde)) { + Set GroepKey = mdGroepKeyMapping(KenmerkWaarde) + } + Else { + Write !,"Geef GroepKey voor KenmerkWaarde '"_KenmerkWaarde_"' : " + Read GroepKey + Write ! + Set mdGroepKeyMapping(KenmerkWaarde) = GroepKey + } + Set $LI(..mdProductLijnen(TLNr),4) = GroepKey } - Else { - Write !,"Geef GroepKey voor KenmerkWaarde '"_KenmerkWaarde_"' : " - Read GroepKey + + Do ..DumpSortKeyMapping() + + #dim KeuzeVolgendeStap As %String = 9 + Write !,"Keuze : 'Mapping verder specifieren' [1] of 'Volledige mapping opnieuw overlopen' [2] of 'Groepering Toepassen' [9] ? " + Read KeuzeVolgendeStap + Write ! + + If KeuzeVolgendeStap = 9 { + Set DefinieerMapping = "STOP" + Write !,"Groepering Toepassen.",! + } + ElseIf KeuzeVolgendeStap = 1 { + Set DefinieerMapping = "GO" + #dim NieuweSelectie As %String = "" + Write !,"Mapping verder specifieren : Kies een GroepKey als nieuwe selectie : " + Read NieuweSelectie Write ! - Set mdGroepKeyMapping(KenmerkWaarde) = GroepKey + Set FilterGroepKey = NieuweSelectie } - Set $LI(..mdProductLijnen(TLNr),4) = GroepKey + ElseIf KeuzeVolgendeStap = 2 { + Set DefinieerMapping = "GO" + Write !,"Volledige mapping opnieuw overlopen : ",! + Set FilterGroepKey = "#ALL#" + } + Else { + Write !,"Keuze is ongeldig. Automatisch doorgaan naar volgende stap : 'Groepering Toepassen'.",! + Set KeuzeVolgendeStap = 9 + Set DefinieerMapping = "STOP" + } } + // Na Confirm de GroepKey Mapping vastleggen : Do ..BewaarSortKeyMapping(TOENr) zw ^Lgc.FLOWTOE.SplitsToelevMapping(TOENr) + + Write !!,"Voer uit : " + Write !,"Do ##class(BL.Legacy.FLOWTOE.AdHocSplitser).%New().SimuleerToeleveringLijnenAdHocSplitsen(TOENr)" + /* Splitser v2.1 : Verzamel Producten van Toelevering Combinatie LijnNr+Korttekst oplijsten : initieel allen GroepKey " 0" SelectALL Lijnen StartModifyStep (1) : Kies kenmerk --> Lijst Mogelijke KM-waarden --> Vraag GroepKey voor iedere KM-Waarde --> Toon overzicht "GroepKey Mapping" --> Confirm Simuleer Groepering : Voor alle geselecteerde lijnen : "GroepKey Mapping" toepassen indien mogelijk --> Nieuwe Groepkey "bewaren" --> Toon overzicht "LijnInfo" + "Aantal per Key" - Keuze : "Nieuwe mapping bijvoegen" of "Groepering Toepassen" ? + Keuze : "Nieuwe mapping bijvoegen" of "Volledige mapping opnieuw overlopen" of "Groepering Toepassen" ? "Nieuwe mapping bijvoegen" (Optioneel) --> Toggle SelectLijnen : Kies GroepKey --> StartModifyStep (2) --> Simuleer Groepering - Keuze : "Nieuwe mapping bijvoegen" of "Groepering Toepassen" ? + Keuze : "Nieuwe mapping bijvoegen" of "Volledige mapping opnieuw overlopen" of "Groepering Toepassen" ? "Groepering Toepassen" : PasAanSortKeyViaMapping() oproepen via "Wijzig Order" op basis van GroepKey mapping op LijnNr+Korttekst --> Tekst tonen aan User : "Wijzig Order in Admin" */ ]]> + +TOENr:%String + + + + +lbProductLijnData:%List,FilterGroepKey:%String +1 +%Boolean + + + TLNr:%String,Kenmerk:%String 1 @@ -126,6 +192,32 @@ ]]> + +blnToonSubTotalen:%Boolean=1 +1 + + + TOENr:%String 1