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