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
0
%String
%String
%Integer
%String
%String
%String
%String
%String
%String
1
APPS.Halux.common.Batch
1
Maximum bodems per kar
30
Halux_Productie_Keller
BrotherBoekH
BrotherHALUX
TBXProductieProPlus2D 5x10
vhossdoc_01.01
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=rs.Data("UnitNr")_"."_$C(64+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),"-"))
. Set IsPrintOpScherm = ##class(TECH.Config.ConfigMgr).Instance().GetBoolean("PrintLijstenOpScherm")
. Do PRINT^OUTPUT(.PLD,$S(IsPrintOpScherm:"S",1:"P"),"S","BL")
]]>
1
Ref
0
0
1
Ref
0
PRNr
1
PRNr
1
0
1
Ref
0
0
ReedsGezaagdOnly:%Boolean=0
0
KarMin Do ; bodems per kar
. . . Set oQ=##class(DS.PPS.TBX.Queue).%OpenId($LI(Sort(VHossNr,VolgNr)))
. . . Set TBXLade=ProductAPI.GeefProduct(oQ.ProductGetObjectId())
. . . Set Bodem = TBXLade.GeefBodem()
. . . Set TeZagen = ((TBXLade.GeefPlaatMateriaal()="HS") || (Bodem.HeeftInkeping()))
. . . Set MetHoutenRug=(TBXLade.GeefRugMateriaal()=##class(DOM.PM.enu.TBXRugMateriaal).Hout()) ; Added by WimV on 18/03/2011
. . . ; Toevoegen aan BODEM PERS lijst voor picking
. . . Set VHoss=oQ.WPVerpak.UnitNr_"."_$C(64+oQ.WPVerpak.SubNr)_"."_oQ.WPVerpak.SlotNr
. . . Set HeeftTipon = (TBXLade.GeefBlumotion() = ##class(DOM.PM.enu.TBXBlumotion).TipOn())
. . . Set Oms2=$S(Bodem.HeeftInkeping():"INK",1:"")_$S(MetHoutenRug:"+RUG", 1:"")_$S(HeeftTipon:"TIP-ON",1:"")
. . . Set Oms1=$S(TeZagen:"ZAAG",1:"")
. . . Set IB = TBXLade.GeefInbouwBreedte()
. . . Set BodemBreedte = TBXLade.GeefBodemBreedte()
. . . Set BodemDiepte = TBXLade.GeefBodemDiepte()
. . . Set BodemCount=""
. . . If (PrevBodem'=Bodem.GeefPRNr()) || (PrevIB '= IB) Do
. . . . Set VolgNr2=VolgNr
. . . . Set BodemCount=1
. . . . For Set VolgNr2=$O(Sort(VHossNr,VolgNr2),-1) Quit:VolgNr2="" Quit:VolgNr2'>KarMin Quit:(Bodem.GeefPRNr()'=$LI(Sort(VHossNr,VolgNr2),3)||(IB'=$LI(Sort(VHossNr,VolgNr2),4))) Set BodemCount=BodemCount+1
. . . . Set PrevBodem=Bodem.GeefPRNr()
. . . . Set PrevIB = IB
. . . Set ^HULP(%J,"P",$I(^HULP(%J,"P")))=oQ.Sequence_"\"_oQ.%Id()_"\"_Bodem.GeefPRNr()_"\"_oQ.TOENr_"\"_oQ.DOSNr_"\"_Bodem.GeefKorttekst()_"\"_TBXLade.GeefBodemKleur()_"\"_BodemDiepte_"\"_BodemBreedte_"\"_"\"_VHoss_"\"_Oms1_"\"_Oms2_"\"_oQ.WPVerpak.UnitNr_"\"_Kar
. . . Set $P(^HULP(%J,"P",^HULP(%J,"P")),"\",20)=BodemCount
. . . ;Set Index("P",PRNr)=$G(Index("P",PRNr))+1
. . . ; Toevoegen aan BODEM ZAAG lijst
. . . If TeZagen Do
. . . . If Bodem.HeeftInkeping() Do
. . . . . If Bodem.GeefBreedteVanLade()=IB Do ; 27/10/11 PV GeeftBreedte veranderd in GeefBreedteVan Lade
. . . . . . Set (ZaagBreedte1,BodemBreedte)=""
. . . . . Else Do
. . . . . . Set ZaagBreedte1=(Bodem.GeefBreedteVanLade()-IB)/2-5 ; -5 toegevoegd : PV 27/11/08
. . . . Else Do ; zonder inkeeping uit stroken
. . . . . Set ZaagBreedte1=""
. . . .
. . . . If MetHoutenRug Do
. . . . . // Houten ruggen voor Keller mee opnemen in de zaaglijst (Added by WimV on 18/03/2011)
. . . . . ;New TBXRug,RugPRNr,RugHoogte,RugBreedte,OmsRug,RugKT
. . . . . Set TBXRug=TBXLade.GeefRug()
. . . . . Set RugPRNr=TBXRug.GeefPRNr()
. . . . . Set RugHoogte=TBXLade.GeefRugHoogteMM()
. . . . . Set RugBreedte=TBXLade.GeefRugBreedte()
. . . . . Set OmsRug="RUG"
. . . . . Set RugKT=TBXRug.GeefKorttekst()
. . . . . Set ^HULP(%J,"ZT",$I(^HULP(%J,"ZT")))=oQ.Sequence_"\"_oQ.%Id()_"\"_RugPRNr_"\"_oQ.TOENr_"\"_oQ.DOSNr_"\"_RugKT_"\"_TBXLade.GeefBodemKleur()_"\"_RugHoogte _"\"_RugBreedte _"\"_ZaagBreedte1_"\"_VHoss_"\"_OmsRug_"\\"_oQ.WPVerpak.UnitNr_"\"_Kar
. . . .
. . . . Set Oms=$S(Bodem.HeeftInkeping():"INK",1:"")
. . . . Set ^HULP(%J,"ZT",$I(^HULP(%J,"ZT")))=oQ.Sequence_"\"_oQ.%Id()_"\"_Bodem.GeefPRNr()_"\"_oQ.TOENr_"\"_oQ.DOSNr_"\"_Bodem.GeefKorttekst()_"\"_TBXLade.GeefBodemKleur()_"\"_BodemDiepte_"\"_BodemBreedte_"\"_ZaagBreedte1_"\"_VHoss_"\"_Oms_"\\"_oQ.WPVerpak.UnitNr_"\"_Kar
. . .
. . . If $G(KlantOrdRef)="" Do
. . . . Do ..GetKlantRef(oQ,.KlantOrdRef,.KlantProdRef,.TransRef)
. . . . Set TOENr=oQ.TOENr
. . ;Set ^HULP(%J,"P",$I(^HULP(%J,"P")))=""
; Omgekeerde volgorde van de gezaagde bodems
Set Count=""
For Set Count=$O(^HULP(%J,"ZT",Count),-1) Quit:Count="" Do
. Set ^HULP(%J,"Z",$I(^HULP(%J,"Z")))=^HULP(%J,"ZT",Count)
Set IsPrintOpScherm = ##class(TECH.Config.ConfigMgr).Instance().GetBoolean("PrintLijstenOpScherm")
; Output BODEM PERS
If $D(^HULP(%J,"P")) Do
. Do INIT^vhLISTO(..%ClassName(1),"BODEMPERS",.PLD)
. Set PLD(5)=80
. Set PLD("HALUX")=""
. Set PLD("NOFOOT")=""
. Set PLD(1)=$NA(^HULP(%J,"P"))
. Set PLD(10)="Class("_..%ClassName(1)_").BodemCB"
. Set (MemUnit,MemProd,MemKar,MemBreedte)=""
. If ReedsGezaagdOnly Do
. . Set PLD(11)="TBX LADEBODEMS\ Line: "_..Line_" Batch:"_$E(..BatchID,$L(..BatchID)-2,$L(..BatchID))
. Else Do
. . Set PLD(11)="TBX PRO+ BODEM PERS\ Line: "_..Line_" Batch:"_$E(..BatchID,$L(..BatchID)-2,$L(..BatchID))_" Klant:"_$S($L($G(TransRef)):TransRef,1:$P($G(KlantOrdRef),"-"))
. Do PRINT^OUTPUT(.PLD,$S(IsPrintOpScherm:"S",1:"P"),"S","BL")
; Output BODEM ZAAG
If $D(^HULP(%J,"Z"))&&(..ProdGrp="+") Do
. Do INIT^vhLISTO(..%ClassName(1),"BODEMZAAG",.PLD)
. Set PLD(5)=79
. Set PLD("HALUX")=""
. Set PLD(1)=$NA(^HULP(%J,"Z"))
. Set PLD(11)="TBX PRO+ BODEM ZAGEN\ Line: "_..Line_" Batch:"_$E(..BatchID,$L(..BatchID)-2,$L(..BatchID))_" Klant:"_$S($L($G(TransRef)):TransRef,1:$P($G(KlantOrdRef),"-"))
. Do PRINT^OUTPUT(.PLD,$S(IsPrintOpScherm:"S",1:"P"),"S","BL")
Quit $O(^HULP(%J,"Z",""),-1) ; aantal te zagen bodems
]]>
1
Ref
0
",Fmt r k
Quit Fmt
]]>
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
%Status
%Status
Aanvulling op de method VHossDocs(), die de docs naar de printer stuurt (postscript).
Deze method VHossDocsToFile() genereert een .pdf, die in de Shared-map van de gebruiker bewaard wordt.
%Status
1
1