Index: APPS/Halux/PPS/Document/impl/LBX/OnderdelenPicking.cls.xml =================================================================== diff -u -r53415 -r56830 --- APPS/Halux/PPS/Document/impl/LBX/OnderdelenPicking.cls.xml (.../OnderdelenPicking.cls.xml) (revision 53415) +++ APPS/Halux/PPS/Document/impl/LBX/OnderdelenPicking.cls.xml (.../OnderdelenPicking.cls.xml) (revision 56830) @@ -68,6 +68,74 @@ + + +DataVoorLijn:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,VermeldOmschrijvingEnKorttekst:%Boolean +1 + 0 { + #dim OPEenProduct As APPS.Halux.PPS.Activiteit.impl.common.dto.OnderdelenPickingUitvoeringInfo = OPVoorEenProductLijst.GetAt(1) + + Do ..InitDocumentIndienNodig(OPEenProduct) + + #dim EersteKolomBreedte As %Integer = ..Document.DocumentType.GeefKolomDefinitie(1).Breedte + Set GeWordWrapteProductOmschrijvingLijnen = ##class(TECH.ListIterator).%New(##class(TECH.StringUtils).WordWrap(DataVoorLijn.HFV.GeefOmschrijving(),EersteKolomBreedte)) + + Set OPEenProductIt = ##class(TECH.ListIterator).%New(OPVoorEenProductLijst) + While OPEenProductIt.HasNext() { + Do ..ProcessToegevoegdItem(OPEenProductIt.Next()) + } + } + } + + // Verdeel de data voor dit halffab over lijnen: + Set OnderdelenPickingen = ##class(TECH.ListIterator).%New(DataVoorLijn.PickingsPerMaatwerkProductID) + While OnderdelenPickingen.HasNext() || GeWordWrapteProductOmschrijvingLijnen.HasNext() { + #dim Lijn As %String = "" + + // Zet een volgend aantal en eventueel lengte in bepaalde kolommen. + If OnderdelenPickingen.HasNext() { + Set OPVoorEenProductLijst = OnderdelenPickingen.Next() + If OPVoorEenProductLijst.Count() > 0 { + Set OPEenProduct = OPVoorEenProductLijst.GetAt(1) + Set Lijn = "\\\\"_OPEenProduct.DossierCode_" "_OPVoorEenProductLijst.Count() + If ((DataVoorLijn.HFV.GeefLengte()'= "") || VermeldKorttekst) && EersteLijnProduct { + Set $Piece(Lijn,"\",3) = DataVoorLijn.HFV.GeefAantal() + Set $Piece(Lijn,"\",4) = DataVoorLijn.HFV.GeefLengte() + Set EersteLijnProduct = 0 + } + If VermeldKorttekst { // Op de eerste lijn van het Halffab staat soms de korttekst. + Set $Piece(Lijn,"\",2) = DataVoorLijn.HFV.GeefKorttekst() + Set VermeldKorttekst = 0 + } + + Set VorigOPEenProduct = OPEenProduct + } + } + + // Zet een volgend deel van de halffab-omschrijving in kolom 1. + If GeWordWrapteProductOmschrijvingLijnen.HasNext() { + #dim ProductOmschrijving As %String = GeWordWrapteProductOmschrijvingLijnen.Next() + Set:VermeldOmschrijving $Piece(Lijn,"\",1) = ProductOmschrijving + Set:('GeWordWrapteProductOmschrijvingLijnen.HasNext()) VermeldOmschrijving = 0 + } + + If (Lijn'="") { + Do ..Document.VoegLijnToe(Lijn,"\") + } + } +]]> +