zTryout.ARC.BASE,zTryout.ARC.DOM.OV,zTryout.ARC.BASE.impl.DataM,zTryout.ARC.TECH.Persistentie zTryout.FM.Util.Orders,vhLib.Macro 1 Order,%RegisteredObject 0 %Integer 1 %String "\" 1 zTryout.ARC.TECH.Persistentie.GlobalNode 1 Public for easy access from iterators. Array of DataMOrderlijn. %ArrayOfObjects Adres 1 %Integer 1 GlobalNode 1 GlobalNode 1 Nr:%Integer %Status %Status %Status MaxOLijn) MaxOLijn = LijnNr If (Lijn.GeefNode().IsGewijzigd()) { w "Save ol ", LijnNr, ! // Dirty lijnen krijgen hier een uniek nummer als ze er nog geen hebben If (Lijn.GeefOLU() = "") { Do Lijn.ZetOLU(..VolgendeOLUNrNode.GeefPiece(1) * 100) Do ..VolgendeOLUNrNode.ZetPiece(1, (1 + ..VolgendeOLUNrNode.GeefPiece(1))) } Set ^KOD(..KlantNr, "F", ..Nr, LijnNr) = Lijn.AsString() Do Lijn.GeefNode().Save() } Set Lijn=..Orderlijnen.GetNext(.key) } //Set ..LeegOLijn = MaxOLijn + 1 Do ..LeegOLijnNrNode.Save() Do ..VolgendeOLUNrNode.Save() // TODO:Alle nodige indexen e.d. up to date brengen. ]]> Nr:%Integer %Integer %Integer %String Datum:%String Adres Adres:Adres Iterator type:%String Iterator ProductOrderlijn Tekst:%String TextOrderlijn ManueleOrderlijn Voegt de orderlijn toe als een nieuwe orderlijn. De bedoeling van deze operatie is om lijnen die nog niet in een order zitten toe te voegen aan dit order. De lijn mag nog geen nummer hebben, anders wordt een fout gegeven. Lijn:DataMOrderlijn Vervangt de lijn met hetzelfde nummer als Lijn door Lijn. Als Lijn geen nummer heeft, wordt Lijn als nieuw toegevoegd. Als Lijn een nummer heeft en er nog geen lijn was met dit nummer dan wordt Lijn toegevoegd als nieuwe lijn met dit nummer. Lijn:Orderlijn TBC: Deze is enkel public voor de iterator. %Integer Lijn:Orderlijn 1 1 %Integer 1 Adres 1 GlobalNode 1 GlobalNode 1 GlobalNode Lijn:DataMOrderlijn 1