Index: vhUnitTest/BL/PPS/OL/TestInpak.cls.xml =================================================================== diff -u -r31455 -r31456 --- vhUnitTest/BL/PPS/OL/TestInpak.cls.xml (.../TestInpak.cls.xml) (revision 31455) +++ vhUnitTest/BL/PPS/OL/TestInpak.cls.xml (.../TestInpak.cls.xml) (revision 31456) @@ -195,7 +195,7 @@ Do $$$AssertEquals(Inpak.BONNr,..Bon.GeefID()) Do $$$AssertEquals(Inpak.KlantNaam,"UNITTEST CONSUMENT") - Do $$$AssertEquals(Inpak.Output,InpakTafelNr) + Do $$$AssertEquals(Inpak.Output,1, "Output is gedefault omdat deze per product moet wijzigen") Do $$$AssertEquals(Inpak.Count,1,"Aantal overdozen ??") Do $$$AssertEquals(Inpak.SequenceList.Count(),2) @@ -207,15 +207,14 @@ : lijst van soorten producten die in de consolidatie zitten. Dit dient om bvb ORGALUX en TA'OR Cubics kindproducten in de juiste Ugly-rubriek te krijgen. - // Result: APPS.MAG.enu.Magazijn - New Result,PALNr,MagList,Mag,Rec2 - Set Result = ##class(APPS.MAG.enu.Magazijn).EWMS() - If '$G(Force),'$G(^EWREC("P","UPSEND")) Quit Result ; UglyPicking niet actief - ; Controle of er een pallet bestaat in de auto en of ugly mag. - Set PALNr="",MagList="" - For Set PALNr=$O(^EWPAL("D",PRNr,PALNr)) Quit:PALNr="" Do - . Quit:+$P($G(^EWPAL("D",PRNr,PALNr)),D,1)<1 - . Set Mag=+$E($P($G(^EWPAL("D",PRNr,PALNr)),D,2),1,3) - . Set:Mag=1&(MagList'["A") MagList=MagList_"A" - . Set:Mag>1&(Mag<5)&(MagList'["U") MagList=MagList_"U" - . Set MagList($P($G(^EWPAL("D",PRNr,PALNr)),D,2)_" ")="" +SOFTV(PRNr, KLNr,Qty,lbProductTypesInConsolidatie ,Force=0) ; SoftwareVerwerking + Quit ##class(BL.Legacy.EWORDSW).SOFTV(PRNr,KLNr,Qty,lbProductTypesInConsolidatie,Force) - Set Rec2=$G(^KPR(PRNr,2)) Set:Rec2="" Rec2=$G(^KPRO(PRNr,2)) ; wordt ook opgeroepen door Rendab (historiek) - Set:$P(Rec2,D,15)=3 Result = ##class(APPS.MAG.enu.Magazijn).LangGoed() ; Langgoed - Set:$P(Rec2,D,15)=2&&(MagList'="A") Result = ##class(APPS.MAG.enu.Magazijn).Ugly() ; UglyPicking (behalve indien alle palletten in auto.mag - Set:$P(Rec2,D,15)=1&&(MagList="U") Result = ##class(APPS.MAG.enu.Magazijn).Ugly() ; UglyPicking (goederen bedoeld voor automatisch mag. maar alle palletten staan in ugly - // N.B. Bij het sluiten van een order, worden eventuele ORGALUX-lijnen sowieso afgesplitst naar een gekoppeld ORGALUX-order, en idem voor TA'OR cubics. - // Daarom is het correct om te stellen dat een product in het ugly-magazijn bij ORGALUX (of TA'OR cubics) moet gepicked worden, als het een dergelijk order/consolidatie betreft. - If $$IsInUglyEnBevat(MagList,Result,lbBevat,"ORGALUX") { - Set Result = ##class(APPS.MAG.enu.Magazijn).Orgalux() - }ElseIf $$IsInUglyEnBevat(MagList,Result,lbBevat,"TAORINDELING") { - Set Result = ##class(APPS.MAG.enu.Magazijn).TAORIndeling() - }ElseIf $$KomtVanHaluxEnGeenPalletInAutomatischMagazijn(MagList,PRNr) { - Set Result = ##class(APPS.MAG.enu.Magazijn).Halux() - } - - If ((Result'=##class(APPS.MAG.enu.Magazijn).Orgalux()) && (Result'=##class(APPS.MAG.enu.Magazijn).TAORIndeling())){ - If ((Result=##class(APPS.MAG.enu.Magazijn).Ugly()||(Result=##class(APPS.MAG.enu.Magazijn).Halux()))&&($$Is^PRODUKT2(PRNr,"TA")||$$Is^PRODUKT2(PRNr,"AV"))){ ; Groep tandembox en Aventos - Set Result = ##class(APPS.MAG.enu.Magazijn).TandemAventos() - } - If ((Result'=##class(APPS.MAG.enu.Magazijn).LangGoed()) && $$SmallQtyInUgly(.MagList,PRNr)){ - If $LF(lbBevat,"KADERD"){ ; Klein aantal beslag voor kaderdeur -> Halux - Set Result = ##class(APPS.MAG.enu.Magazijn).Halux() - }ElseIf $LF(lbBevat,"AVENTOS"){ ; Klein aantal beslag behorende bij Aventos -> Tandem/Aventos - Set Result = ##class(APPS.MAG.enu.Magazijn).TandemAventos() - } - } - } - - Quit Result - -IsInUglyEnBevat(MagList, Result, lbBevat, ItemTeBevatten) - New IsInUglyEnBevat - Set IsInUglyEnBevat = ($LF(lbBevat,ItemTeBevatten)&&((MagList["U")||(Result="U"))) - Quit IsInUglyEnBevat - -KomtVanHaluxEnGeenPalletInAutomatischMagazijn(MagList,PRNr) - New Waarde - Set Waarde = (($D(^KPR(PRNr,"J6332"))||$D(^KPRO(PRNr,"J6332")))&&(MagList'="A")) - Quit Waarde - - ; controleert of er een klein aantal moet gepickt worden in Ugly -SmallQtyInUgly(MagList,PRNr) - ; MagList via .Local - New RecJ,Verpak,MagSmall - Quit:MagList'["U" 0 ; Komt niet voor in Ugly magazijn - ; Controle op verpakkingshoeveelheid - Set RecJ=$S($E($O(^KPR(PRNr,"J")))="J":^KPR(PRNr,$O(^KPR(PRNr,"J"))),1:"") - Set:RecJ="" RecJ=$S($E($O(^KPRO(PRNr,"J")))="J":^KPRO(PRNr,$O(^KPRO(PRNr,"J"))),1:"") ; wordt ook gebruikt voor historieken of simulaties - Set Verpak=$P(RecJ,D,16) ; Grootverpakking - Set:$P(RecJ,D,15)>10 Verpak=$P(RecJ,D,15) ; Normverpakking indien voldoende aantal (>10) in verpakking anders grootverpakking - Quit:Qty'12)&&(+$E(MagSmall,7,9)<25) Quit 1 - Quit 0 - BLDOL(KLNr,CONSNr,ORDNr,OLUNr,lbBevat,SoftV) ; SoftV : via .Local ; Verwerken van een orderlijn met eventuele opslitsing in verschillende kindproducten Index: BL/PPS/OL/Inpak.cls.xml =================================================================== diff -u -r31455 -r31456 --- BL/PPS/OL/Inpak.cls.xml (.../Inpak.cls.xml) (revision 31455) +++ BL/PPS/OL/Inpak.cls.xml (.../Inpak.cls.xml) (revision 31456) @@ -105,6 +105,49 @@ + +BL.PPS.OL.Inpak.MultiCountBepaler +1 +1 + + + +TECH.String +1 +1 + + + +DOM.PM.ProductTypeAPI +1 +1 + + + +DOM.VKP.VerkoopAPI +1 +1 + + + +DOM.VKP.impl.BonTypeAPI +1 + + + +1 +1 +%Status +1 + + + Open : Initialiseren van object (properties + ophalen sequentie) @@ -113,13 +156,8 @@ +1 0)&&(..CurID >= ..SequenceList.Count())) $$$pxStatusErrorEx("Kan pointer niet verder voorwaarts verplaatsen", "..CurID="_..CurID_" ..SequenceList.Count()="_..SequenceList.Count()_" Dir="_pDir) Quit:((pDir<1)&&(..CurID <= 1)) $$$pxStatusErrorEx("Kan pointer niet verder achterwaarts verplaatsen", "..CurID="_..CurID_" Dir="_pDir) + Do ..BepaalOutput(pxInpakInfo.PRNr) + // pointer incrementeren (of decrementeren) Set ..CurID=$S(pDir>0:..CurID+1,1:..CurID-1) @@ -227,10 +268,6 @@ // van die doos, die mag ook gesneden worden // - Een product mag gesneden worden (als minstens 1 item is waarbij HasSnijDef=true - - - - If ($LI(SnijItem,$$$lbPosType) = "O") { Do ..PrintAllEtiket() Do ..PrintAlleEtikettenOpnieuwIndienNodigOpOverdoosVoorKlant( pxInpakInfo ) @@ -263,7 +300,7 @@ pxInpakInfo:BL.PPS.OL.pxInpakInfo +1 BL.Sys.Proxy.pxStatus PRNr:%String,LijnSep:%String,KolomSep:%String +1 - -pObjRef:%String,pObjType:%String,pPPSSubgroep:%String,pBoxDeelVan:%String - - - Forced:%Boolean +1 - -BonID:%String -1 -%Boolean - - - Etiket(ten) printen voor 1 product zonder bijkomende controle)[ Private ] @@ -788,6 +795,7 @@ BonID:%String,ProductID:%String,Aantal:%Integer +1 BL.Sys.LabelPrinter BonID:%String,ProductID:%String,Aantal:%Integer +1 %ListOfObjects ELEMENTTYPE="BL.Sys.pxLabel" 1 { #dim Step As %Integer For Step=1:1:MultiCount { @@ -834,86 +843,49 @@ ]]> + +ProductID:TECH.String +1 + + + BonID:%String,ProductID:%String,Aantal:%Integer +1 BL.Sys.pxLabel 1 Set pxLabel.MultiDeel="x"_Aantal, pxLabel.Aantal=1 - - Set pxLabel.Device=..LabelDev() - If ##class(DOM.DomeinContext).Instance().GeefProductTypeAPI().IsTAORIndelingProduct(ProductID) { - Set pxLabel.Layout = ..#LabelProductTAORIndeling - }Else{ - Set pxLabel.Layout = ..#LabelProductOrgalux - } - Set pxLabel.Layout = pxLabel.Layout_##class(BL.Sys.LabelPrinter).PrinterLabelSize(pxLabel.Device) - } - Quit pxLabel -]]> - + Set pxLabel.Aantal = Aantal + If Aantal > 1 Set pxLabel.MultiDeel="x"_Aantal, pxLabel.Aantal=1 - - -bepalen of er meer dan 1 doos is voor dit product -EN bepalen of er meer dan 1 product in de doos zit -ProductID:%String -%Integer - - - - -pxLabel:BL.Sys.pxLabel,PRNr:%String -BL.Sys.pxLabel - PRNr:%String,pxLabel:BL.Sys.pxLabel +1 1 + +IsTAORIndeling:%Boolean,BONNr:%String +1 +TECH.String + + + -BONNr:%String,pxLabel:BL.Sys.pxLabel + +1 LabelPrinter is afhankelijk van de werkpost bepaalt door property Output +1 Output + +BonTypeAPI + FishEye: Tag 31456 refers to a dead (removed) revision in file `vhUnitTest/BL/PPS/OL/TestInpakSphinxUitzondering.cls.xml'. FishEye: No comparison available. Pass `N' to diff? Index: BL/Legacy/EWORDSW.cls.xml =================================================================== diff -u -r31455 -r31456 --- BL/Legacy/EWORDSW.cls.xml (.../EWORDSW.cls.xml) (revision 31455) +++ BL/Legacy/EWORDSW.cls.xml (.../EWORDSW.cls.xml) (revision 31456) @@ -1,20 +1,20 @@ -%RegisteredObject +TECH.RegisteredObject 1 CONSNr:%String %List @@ -23,18 +23,117 @@ ProductID:%String %List + + + +Bepaalt in welke pickingzone (aka "SoftwareVerwerking"; "softmag") een product gepicked moet worden. +1 +PRNr:%String,KLNr:%String,Qty:%Integer,lbProductTypesInConsolidatie:%List,Force:%Boolean +APPS.MAG.enu.Magazijn + : lijst van soorten producten die in de consolidatie zitten. Dit dient om bvb ORGALUX en TA'OR Cubics kindproducten in de juiste Ugly-rubriek te krijgen. + #dim Mag,MagList,PALNr,Rec2 As %String + #dim Magazijn As APPS.MAG.enu.Magazijn = ##class(APPS.MAG.enu.Magazijn).EWMS() + If '$G(Force),'$G(^EWREC("P","UPSEND")) Quit Magazijn ; UglyPicking niet actief + ; Controle of er een pallet bestaat in de auto en of ugly mag. + Set PALNr="",MagList="" + For { Set PALNr=$O(^EWPAL("D",PRNr,PALNr)) Quit:PALNr="" + continue:+$P($G(^EWPAL("D",PRNr,PALNr)),"\",1)<1 + Set Mag=+$E($P($G(^EWPAL("D",PRNr,PALNr)),"\",2),1,3) + Set:Mag=1&(MagList'[##class(APPS.MAG.enu.Magazijn).TandemAventos()) MagList=MagList_##class(APPS.MAG.enu.Magazijn).TandemAventos() + Set:Mag>1&(Mag<5)&(MagList'[##class(APPS.MAG.enu.Magazijn).Ugly()) MagList=MagList_##class(APPS.MAG.enu.Magazijn).Ugly() + Set MagList($P($G(^EWPAL("D",PRNr,PALNr)),"\",2)_" ")="" + } + + Set Rec2=$G(^KPR(PRNr,2)) Set:Rec2="" Rec2=$G(^KPRO(PRNr,2)) ; wordt ook opgeroepen door Rendab (historiek) + Set:$P(Rec2,"\",15)=3 Magazijn = ##class(APPS.MAG.enu.Magazijn).LangGoed() ; Langgoed + Set:($P(Rec2,"\",15)=2 && ($$$Not(MagList = ##class(APPS.MAG.enu.Magazijn).TandemAventos()))) Magazijn = ##class(APPS.MAG.enu.Magazijn).Ugly() ; UglyPicking (behalve indien alle palletten in auto.mag + Set:($P(Rec2,"\",15)=1 && (MagList = ##class(APPS.MAG.enu.Magazijn).Ugly())) Magazijn = ##class(APPS.MAG.enu.Magazijn).Ugly() ; UglyPicking (goederen bedoeld voor automatisch mag. maar alle palletten staan in ugly + + // N.B. Bij het sluiten van een order, worden eventuele ORGALUX-lijnen sowieso afgesplitst naar een gekoppeld ORGALUX-order, en idem voor TA'OR cubics. + // Daarom is het correct om te stellen dat een product in het ugly-magazijn bij ORGALUX (of TA'OR cubics) moet gepicked worden, als het een dergelijk order/consolidatie betreft. + If ..IsInUglyEnBevat(MagList,Magazijn,lbProductTypesInConsolidatie,##class(BL.Legacy.enu.ProductBevatType).Orgalux()) { + Set Magazijn = ##class(APPS.MAG.enu.Magazijn).Orgalux() + }ElseIf ..IsInUglyEnBevat(MagList,Magazijn,lbProductTypesInConsolidatie,##class(BL.Legacy.enu.ProductBevatType).TaorIndeling()) { + Set Magazijn = ##class(APPS.MAG.enu.Magazijn).TAORIndeling() + }ElseIf ..KomtVanHaluxEnGeenPalletInAutomatischMagazijn(MagList,PRNr) { + Set Magazijn = ##class(APPS.MAG.enu.Magazijn).Halux() + } + + If ((Magazijn'=##class(APPS.MAG.enu.Magazijn).Orgalux()) && (Magazijn'=##class(APPS.MAG.enu.Magazijn).TAORIndeling())){ + If ((Magazijn=##class(APPS.MAG.enu.Magazijn).Ugly()||(Magazijn=##class(APPS.MAG.enu.Magazijn).Halux()))&&($$Is^PRODUKT2(PRNr,"TA")||$$Is^PRODUKT2(PRNr,"AV"))){ ; Groep tandembox en Aventos + Set Magazijn = ##class(APPS.MAG.enu.Magazijn).TandemAventos() + } + If ((Magazijn'=##class(APPS.MAG.enu.Magazijn).LangGoed()) && ..SmallQtyInUgly(.MagList,PRNr,Qty)){ + If $LF(lbProductTypesInConsolidatie,"KADERD"){ ; Klein aantal beslag voor kaderdeur -> Halux + Set Magazijn = ##class(APPS.MAG.enu.Magazijn).Halux() + }ElseIf $LF(lbProductTypesInConsolidatie,"AVENTOS"){ ; Klein aantal beslag behorende bij Aventos -> Tandem/Aventos + Set Magazijn = ##class(APPS.MAG.enu.Magazijn).TandemAventos() + } + } + } + Quit Magazijn +]]> + + + +1 +MagList:%String,Magazijn:APPS.MAG.enu.Magazijn,lbProductTypesInConsolidatie:%List,ItemTeBevatten:BL.Legacy.enu.ProductBevatType +1 +%Boolean + + + + +1 +MagList:%String,Magazijn:APPS.MAG.enu.Magazijn +1 +%Boolean + + + + +1 +MagList:%String,PRNr:%String +1 +%Boolean + + + + +1 +MagList:%String,PRNr:%String,Qty:%Integer +1 +%Boolean +10 Verpak=$P(RecJ,"\",15) ; Normverpakking indien voldoende aantal (>10) in verpakking anders grootverpakking + Quit:Qty'12)&&(+$E(MagSmall,7,9)<25) Quit 1 + Quit 0 +]]> + FishEye: Tag 31455 refers to a dead (removed) revision in file `vhUnitTest/BL/PPS/OL/DummyInpak.cls.xml'. FishEye: No comparison available. Pass `N' to diff? FishEye: Tag 31455 refers to a dead (removed) revision in file `BL/PPS/OL/Inpak/MultiCountBepaler.cls.xml'. FishEye: No comparison available. Pass `N' to diff?