TECH.RegisteredObject DOM.VKP.OrderAPI 1 DOM.PM.ProductAPI 1 DOM.common.Transl.VertaalAPI 1 %ArrayOfDataTypes 1 DOM.common.PartijID 1 OrderApi:DOM.VKP.OrderAPI="",ProductApi:DOM.PM.ProductAPI="",VertaalApi:DOM.common.Transl.VertaalAPI="" 1 1 %Status 1 Bon:DOM.VKP.Bon,OpmerkingenLijst:%ListOfDataTypes,Taal:DOM.enu.Taal Bon:DOM.VKP.Bon 1 OrderId:%Integer,Korttekst:%String,AantalOpOrderLijn:%Decimal,LeverdatumOpOrderLijn:%Date 1 0) { Do ..NaleveringDataArray.GetAt(Korttekst).Insert(AantalOpOrderLijn _ "||" _ DisplayLeverdatum _ "||" _ OrderId) } ]]> OpmerkingenLijst:%ListOfDataTypes,Taal:DOM.enu.Taal 1 40) ; Activeer deze Quit om (te) grote nalevering-data volledig te skippen, m.a.w. geen nalevering-info op de leveringsbon. #dim MaxItemsBeforeCutOff As %Integer = 40 #dim AantalItems As %Integer = 0 #dim DelimiterNaKorttekstInfo As %String = $$$CRLF If (..NaleveringDataArray.Count() > 20) { Set DelimiterNaKorttekstInfo = " : " ; Indien meer dan 20 items, dan info op 1 lijn zetten i.p.v. op 2 lijnen. } While ArrayKeyListIterator.HasNext() { Set CurrentKorttekstKey = ArrayKeyListIterator.Next() Set NaleveringTekstLijn = CurrentKorttekstKey _ DelimiterNaKorttekstInfo Set AantalItems = ArrayKeyListIterator.Key() Set NaLeveringDataIterator = ##class(TECH.ListIterator).%New(..NaleveringDataArray.GetAt(CurrentKorttekstKey)) While NaLeveringDataIterator.HasNext() { Set CurrentNaleveringData = NaLeveringDataIterator.Next() Set CurrentNaleveringAantal = $Piece(CurrentNaleveringData,"||",1) Set CurrentNaleveringDatum = $Piece(CurrentNaleveringData,"||",2) Set CurrentNaleveringOrderId = $Piece(CurrentNaleveringData,"||",3) If MagHoofdingLijnGezetWorden { Do ..VoegToeNaleverDataHoofdingTekstlijn(OpmerkingenLijst, Vertaler) Set MagHoofdingLijnGezetWorden = $$$False Set MagTekstToegevoegdWorden = $$$True } Set NaleveringTekstLijn = NaleveringTekstLijn _ CurrentNaleveringAantal _ " " _ Vertaler.GeefVertaling("op") _ " " _ CurrentNaleveringDatum _ " (" _ Vertaler.GeefVertaling("Order") _ ": " _ CurrentNaleveringOrderId _ "), " Set MagTekstLijnToegevoegdWorden = $$$True } If (AantalItems = MaxItemsBeforeCutOff) { Set:(ArrayKeyListIterator.HasNext()) NaleveringTekstLijn = " ... " ; CutOff bereikt en er zijn nog meer items. } If (AantalItems <= MaxItemsBeforeCutOff) && MagTekstLijnToegevoegdWorden { Set NaleveringTekstLijn = ##class(TECH.StringUtils).RightTrimMultiple(NaleveringTekstLijn, ",", " ") _ $$$CRLF Set NaleveringTekst = NaleveringTekst _ NaleveringTekstLijn Set MagTekstLijnToegevoegdWorden = $$$False } } If MagTekstToegevoegdWorden { Do ..VoegToeTekst(NaleveringTekst, OpmerkingenLijst) } ]]> OrderId:%Integer 1 TECH.Iterator OpmerkingenLijst:%ListOfDataTypes,Vertaler:DOM.common.Transl.Vertaler 1 NaleveringTekst:%String,OpmerkingenLijst:%ListOfDataTypes 1