Prod.Product TECH.RegisteredObject 1 CONSNr:%String %List 1 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).Orgalux() ;##class(APPS.MAG.enu.Magazijn).TAORIndeling() ; PV 17/11/2016 }ElseIf ..KomtVanHaluxEnServoDriveOmpak(MagList,PRNr) { Set Magazijn = ##class(APPS.MAG.enu.Magazijn).Ugly() }ElseIf ..KomtVanHaluxEnSpecifiek(MagList,PRNr) { Set Magazijn = ##class(APPS.MAG.enu.Magazijn).Ugly() }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).Ugly() ; ##class(APPS.MAG.enu.Magazijn).TandemAventos() ; PV 17/11/2016 } 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).Ugly() ; ##class(APPS.MAG.enu.Magazijn).TandemAventos() ; PV 17/11/2016 } } } 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 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 ]]>