.,.,... N.B. Formaat van de verpakkingsdefinitie in ^PRBS : hierin staat het volgnummer (van dit kindproduct) binnen de set.]]> Prod.Product,BL.Sys.Proxy,BL.Sys.FOP.Common 1 %RegisteredObject 320 %Boolean %String %String ICT6050 Tijdelijk gewijzigd : zie svn. LEVBON_DI aventosrecupakA4P_01.01 aventosrecupakA5L_01.01 1 voor te testen wordt de ICT-printer gebruikt in A4-formaat
De echte afdruk wordt naar de HALUX-printer gestuurd in A5-formaat]]>
Do ##class(BL.MB.UGLYPicking.Aventosbak.Aventosbak).Instantiate().TestPDF(390230,0) CONSNr:%Integer,MetDetail:%Boolean=0 Is het een Aventos-bak? 1 PRNr:%Integer %Boolean IsAventos 1 Bevat het consolidatienummer een aventosbak? CONSNr:%Integer %Boolean ProductNr)=1)) Quit (Aantal>0) ]]> ]]> CONSNr:%Integer %Status 9 Do . . . Set Bak=Bak+1,Vak=0 ; neem een nieuw bak want één set kan niet meer volledig op de huidge bak! . . For OpslagZone=1:1:MaxZone Do . . . Set Vak=Vak+1 . . . Set ArSublijnProducten(OpslagZone)=ArSublijnProducten(OpslagZone)_","_Bak_"."_Vak . Quit:Bak>..#MaxAantalBakken ; als het aantal bakken te groot is dan wordt niets ingevuld!!! . ; aflopen van de lijnen om de VerpakkingsIndeling in te vullen . Set OpslagZone="" . For Set OpslagZone=$O(ArSublijnProducten(OpslagZone)) Quit:'+OpslagZone Do . . Set $E(ArSublijnProducten(OpslagZone))="" ; eerste komma wegdoen . . Set SUBOLUNr="" . . For Set SUBOLUNr=$O(ArSublijnProducten(OpslagZone,SUBOLUNr)) Quit:SUBOLUNr="" Do . . . Set ID=CONSNr_"||"_ORDNr_"||"_OLUNr_"||"_SUBOLUNr . . . Set VerpakkingsIndeling=ArSublijnProducten(OpslagZone) . . . &SQL(Update Flow_OrderWMS.Sub Set VerpakkingsIndeling=:VerpakkingsIndeling where (ID=:ID)) If Bak>..#MaxAantalBakken Quit $$$ERROR($$$GeneralError,"Meer dan "_..#MaxAantalBakken_" bakken. Gelieve de hoeveelheden te verkleinen.") Quit $$$OK ]]> Do ##class(BL.MB.UGLYPicking.Aventosbak.Aventosbak).Instantiate().AfdrukkenBakkenA5enA4(325901) CONSNr:%Integer Do ##class(BL.MB.UGLYPicking.Aventosbak.Aventosbak).Instantiate().AfdrukkenBakken(325901) CONSNr:%Integer,MetDetail:%Boolean=0 niets afgedrukt" Do ##class(vhLib.Logger).%New("UGLYPICKING").WarningMail(Subject,Body) } Else { Set Subject="Aventos voor bon "_CONSNr_": "_AantalBakken_" "_$S(AantalBakken=1:"bak",1:"bakken")_" - "_$S(MetDetail:"detail",1:"Overzicht") #dim Status As %Status If '..Debug Set Status=..AventosPrinten(docAventos) If ..Debug Set Status=..AventosToFile(docAventos) If $$$ISERR(Status){ Set Body = "Gefaald : "_Body_$C(13,10)_$$ParseStatus^vhLib(Status) Do ##class(vhLib.Logger).%New("UGLYPICKING").WarningMail("Gefaald : "_Subject,Body) } } ]]> Zoekt de bakken en vakken waarin de kindproducten moeten geplaatst worden 1 ProductNr Into :KokerPRNr from Prod.Bouwstenen where MoederProduct->ProductNr=:PRNr and OptieCode='K' ) #dim AantalBakken As %Integer = 0 If $G(arLocaties)="" { Set arLocaties = ..ZoekTransportRef(KLNr,CONSNr,ORDNr) } #dim oSubLijn As Flow.OrderWMS.Sub #dim SubLijn As %Integer ;Opzoeken ProductZone: link tussen KPRNr en zone For SubLijn=1:1:AantalSubLijnen Do . Set oSubLijn=oLijn.Subs.GetAt(SubLijn) . Set KPRNr=oSubLijn.Product.ProductNr . ;SOPR-producten . Set MoederPRNr=oSubLijn.MoederProduct.ProductNr . If MoederPRNr'="" Set KPRNr=MoederPRNr . ;einde SOPR-producten . Set Indeling=oSubLijn.VerpakkingsIndeling . Set StartVak=$Piece(Indeling,",") . Set StartNr=$Piece(StartVak,".")*9+($Piece(StartVak,".",2)) . If StartVak="K" Set arKokers(KPRNr)="" Quit . Set arZones(StartNr,KPRNr)="" #dim Min As %Integer=$O(arZones("")) #dim Max As %Integer = $O(arZones(""),-1) #dim MaxZone As %Integer = Max-Min+1 #dim Nr As %Integer = "" For Set Nr=$O(arZones(Nr)) Quit:Nr="" Do . Set KPRNr="" . For Set KPRNr=$O(arZones(Nr,KPRNr)) Quit:KPRNr="" Do . . Set KPRNrZone(KPRNr)=Nr-Min+1 Set KPRNr="" For Set KPRNr=$O(arKokers(KPRNr)) Quit:KPRNr="" DO . Set KPRNrZone(KPRNr)=MaxZone ;aflopen van de sublijnen For SubLijn=1:1:AantalSubLijnen { Set oSubLijn=oLijn.Subs.GetAt(SubLijn) #dim SUBOLUNr As %String =oSubLijn.SUBOLNr #dim SubAantal As %Integer =oSubLijn.AantalGevraagd #dim Factor As %Decimal =SubAantal/HoofdAantal #dim Indeling As %String = oSubLijn.VerpakkingsIndeling #dim KortTekst As %String = oSubLijn.Product.KortTekst #dim KPRNr As %String = oSubLijn.Product.ProductNr ;SOPR-producten #dim MoederPRNr As %String = oSubLijn.MoederProduct.ProductNr If MoederPRNr'="" Do . Set KPRNr=MoederPRNr . Set KortTekst=oSubLijn.MoederProduct.KortTekst ;einde SOPR-producten If Indeling '= "" { #dim Vak1 As %String = $Piece($Piece(Indeling,","),".",2) ;Aflopen van de vakken #dim I As %Integer For I=1:1:$L(Indeling,",") { #dim Locatie As %String = $Piece(Indeling,",",I) #dim Bak As %String = $Piece(Locatie,".") #dim Vak As %String = $Piece(Locatie,".",2) #dim ProductZone As %String = KPRNrZone(KPRNr) #dim MetKoker As %Boolean = $S($D(arKokers)&(ProductZone#MaxZone=0):1,1:0) If Bak'="K" { Set arLocaties(Bak,Vak)=$LB(PRNr,CONSNr,ORDNr,OLUNr,BLNr,MetKoker,I,ProductZone) Set arLocaties(Bak,Vak,KPRNr)=$LB(SUBOLUNr,Factor,"") ;toevoegen van de kokerproducten in arLocaties If (ProductZone=MaxZone) { #dim PrKoker As %String = "" Set PrKoker=$o(arKokers(PrKoker)) While PrKoker'="" { Set arLocaties(Bak,Vak,PrKoker)=$LB("",Factor,1) Set PrKoker=$o(arKokers(PrKoker)) } } } } } } ]]> Zoekt de lijnnummers in de bon en in het order 1 Zoekt de ProductCode bij de klant en het ritnummer 1 Zoekt TransportRef,ProductRef en RitNr in ^KOD 1 Zoekt TransportRef,ProductRef en RitNr in in ^KUL 1 KLNr:%String,BONNr:%String,ORDNr:%String 1 Aanmaken van het doc-object voor afdruk of voor aanmaak van een PDF-bestand 1 BL.MB.UGLYPicking.Aventosbak.Doc.Aventos Afdrukken info over Aventosbakken docAventos:BL.MB.UGLYPicking.Aventosbak.Doc.Aventos 1 %Status Info over Aventosbakken in een PDF-bestand wegschrijven docAventos:BL.MB.UGLYPicking.Aventosbak.Doc.Aventos 1 %Status