Production Process Steering - Tandembox Genereert van een Toelevering de verpakkingsdefinitie Prod.Product,BL.Prod.OptiBox,BL.PPS.TBX.Common,BL.Sys.Toegang,BL.Sys.Proxy,BL.Sys.FOP.Common,BL.Derde.KlantSpecifiek 1 %RegisteredObject %String %String %String %String %String %String %String %String 1 APPS.Halux.common.Batch 1 %String 1 Maximum bodems per kar 30 Halux_Productie_Keller BrotherBoekH BrotherHALUX TBXProductieProPlus2D 5x10 vhossdoc_01.01 Printer:%String Printer:APPS.common.Print.Printer 1 %String BatchID,ProdGrp,LabelDevice,FOPDevice s bl=##class(BL.PPS.TBX.Sequencer).Instantiate(1938) d bl.ProPlusDocs("E") 0 0:" ",1:"")_"SPBAK" . Else If (KLAS["SY") Set Opm=Opm_$s($l(Opm)>0:" ",1:"")_"SIFON" . Else Quit:(KLAS'="L") . . Set VHoss = ##class(APPS.Halux.common.impl.VHossService).%New().GeefVHossInfo(rs.Data("UnitNr"),rs.Data("SubNr"),rs.Data("SlotNr")) . ;If MemVHoss'=VHoss Do . . Set:$L(MemVHoss) ^HULP(%J,$I(Count))="" . . Set MemVHoss=VHoss . Set RugB=IB-28 . Set KT="" . Set:KR="NI" KR="MG" . Set:DK=25 KL=KL_":I" ; intrabox . If oQ.Status="PB" Set Opm="PREBUILD" . Set:##class(BL.PPS.TBX.DocsV1).MetInkeeping(PRNr) Opm=Opm_" INK" ; . Set ^HULP(%J,$I(Count))=oQ.Sequence_"\"_rs.Data("ID")_"\"_PRNr_"\"_oQ.TOENr_"\"_oQ.DOSNr_"\"_KT_"\"_RH_"\"_KB_"\"_RugB_"\"_KL_"\"_LD_"\"_(IB+37)_"\"_Opm_"\"_VHoss . If $G(KlantOrdRef)="" Do . . Do ..GetKlantRef(rs.Data("ID"),.KlantOrdRef,.KlantProdRef,.TransRef) . . Set TOENr=oQ.TOENr ; Aanvullen van totalen van dezelfe producten Set Count="" Set MemVHoss="" Set MemPRNr="" For Set Count=$O(^HULP(%J,Count)) Quit:Count="" Do . Set PRNr=$P(^HULP(%J,Count),"\",3) . Quit:MemPRNr=PRNr . Set Count2=Count . Set Aantal=1 . For Set Count2=$O(^HULP(%J,Count2)) Quit:Count2="" Quit:PRNr'=$P(^HULP(%J,Count2),"\",3) Do . . Set Aantal=Aantal+1 . Set MemPRNr=PRNr . Set $P(^HULP(%J,Count),"\",20)=Aantal ; Output If $D(^HULP(%J)) Do ; geen gevonden . Do INIT^vhLISTO(..%ClassName(1),"PERS",.PLD) . Set PLD(5)=89 . Set PLD("HALUX")="" . Set PLD("NOFOOT")="" . Set PLD(1)=$NA(^HULP(%J)) . Set PLD(10)="Class("_..%ClassName(1)_").PersCB" . Set (MemUnit,MemZij,MemProd)="" . Set PLD(11)="TBX PERS\ Line: "_..Line_" Batch:"_$E(..BatchID,$L(..BatchID)-2,$L(..BatchID))_" Klant:"_$S($L($G(TransRef)):TransRef,1:$P($G(KlantOrdRef),"-")) . if $length(..Printer) set Optie("AUTOSEL")=..Printer . Do PRINT^OUTPUT(.PLD,"P","S","BL",.Optie) ]]> 1 Ref 0 0 1 Ref 0 PRNr 1 PRNr 1 0 1 Ref 0 0 StartNr:%Numeric,EndNr:%Numeric EndNr . Set pxLabel=..EtiketOne(oQ) . Do blLabelPrinter.Add(pxLabel) . Set Count=Count+1 Do blLabelPrinter.Print2Bartender() Kill ..IndexKlantSort ]]> oQ 1 600:" met STEUN",1:"") ;Set:DK=25 Opm=Opm_", Intrabox" Set:DS="BA" Opm=Opm_", Baliko" Set:DC="L" Opm=Opm_", Intivo" Set:(ODSP'="") Opm=Opm_", HERSTELLING "_ODSP ; herstelling zonder rugwandhouders Set:KLAS["SP" Opm=Opm_$CASE(KLAS,"SP2":", SPOELBAK2",:"")_" "_$CASE(SPZK,"S2":"Smal","B2":"Breed",:"maatw") Set:KLAS["SY" Opm=Opm_", Sifon" Set:KLAS="B" Opm=Opm_", Buro" Set:##class(BL.PPS.TBX.DocsV1).MetInkeeping(PRNr) Opm=Opm_", INKEPING" ; If oQ.Status="PB" Set Opm=Opm_", Reeds geproduceerd!" If Opm'="" Do ; opsplitsen in opm1 en opm2 . Set $E(Opm,1,2)="" . If $L(Opm,", ")>1 Do . . Set pxLabel.Opm1=$P(Opm,", ",1,$L(Opm,", ")\2) . . Set pxLabel.Opm2=$P(Opm,", ",$L(Opm,", ")\2+1,99) . Else Do . . Set pxLabel.Opm1=Opm ; Set pxLabel.VHoss=oQ.WPVerpak.UnitNr_$C(oQ.WPVerpak.SubNr+64) ; SubNr vertalen naar A of B Set pxLabel.SlotNr=oQ.WPVerpak.SlotNr ; Vorige en volgens Slotnr bepalen Set KlantSort=oQ.WPVerpak.KlantSort Set Key=$O(..IndexKlantSort(KlantSort),-1) ; vorig Set lbSlot=$S(Key="":"",1:..IndexKlantSort(Key)) If lbSlot="" Set pxLabel.VorigSlotNr="+" Else If ($LG(lbSlot,1)'=oQ.WPVerpak.UnitNr)||($LG(lbSlot,2)'=oQ.WPVerpak.SubNr) Set pxLabel.VorigSlotNr="+" Else Set pxLabel.VorigSlotNr=$LG(lbSlot,3) Set Key=$O(..IndexKlantSort(KlantSort),1) ; volgend Set lbSlot=$S(Key="":"",1:..IndexKlantSort(Key)) If lbSlot="" Set pxLabel.VolgendSlotNr="" Else If ($LG(lbSlot,1)'=oQ.WPVerpak.UnitNr)||($LG(lbSlot,2)'=oQ.WPVerpak.SubNr) Set pxLabel.VolgendSlotNr="+"_$LG(lbSlot,3) Else Set pxLabel.VolgendSlotNr=$LG(lbSlot,3) /**/ ; Klantreferentie Do ..GetKlantRef(oQ,.KlantOrdRef,.KlantProdRef,.TransRef) Set pxLabel.KlantOrdRef=KlantOrdRef Set pxLabel.KlantProdRef=KlantProdRef Set pxLabel.Device=..LabelDevice Set pxLabel.Layout=..LabelLayout /// LadeID, VHoss 2D data matrix Set pxLabel.VHossSeqNr = oQ.WPVerpak.UnitNr Set pxLabel.VHossZijkant = oQ.WPVerpak.SubNr Set pxLabel.ProductID = PRNr Set pxLabel.BatchID = oQ.BatchID Quit pxLabel ]]> 1 PRNr pxDoc:BL.PPS.TBX.sub.pxVHossUnits,KLNr:%String Aanvulling op de method VHossDocs(), die de docs naar de printer stuurt (postscript). Deze method VHossDocsToFile() genereert een .pdf, die in de Shared-map op notes van visidot bewaard wordt.. pxDoc:BL.PPS.TBX.sub.pxVHossUnits,KLNr:%String sc:%Status,Omschrijving:%String 1 BL.PPS.TBX.sub.pxVHossUnits 1 KlantNaam:%String,Klantnummer:%String %String 1 TOENr:%String,TLUNr:%String,ProductID:%String BL.PPS.TBX.dto.KlantRefData