Helemaal snappen doe ik het nog niet, en het lijkt mij stug dat je het probleem kunt oplossen vanuit de printopdracht. Want weet je 100% zeker dat een foutieve invoer nooit geprint wordt?
Bij iedere ontvangst die wordt geboekt moet een ontvangstbewijs worden geprint die uniek is en doorlopend is zonder haperingen. Het komt voor dat door foutieve invoer de eerste invoerregel moet worden teruggeboekt en vervolgens de goede regel weer worden opgeboekt
Je ontvangt dus iets, boekt dat in en drukt dat gelijk af. Vervolgens blijkt er een fout in te zitten, en maak je een terugboekrecord. Wordt uiteraard niet afgedrukt. Nu ga je de record opnieuw invoeren, en moet er weer worden afgedrukt. Je krijgt dus zowiezo twee afdrukken, waarvan er één goed is voor het grijze archief.
De enige werkwijze die hier geen last van heeft als je 1) invoert met fout 2) dat gelijk ziet, niet corrigeert en gewoon doorgaat, maar wel denkt: hé ik maak een fout, zal 'm maar niet afdrukken 3) gelijk een terugboekrecord maakt en 4) alles opnieuw invoert en alsnog afdrukt. Lijkt mij dat je, als je met de invoer bezig bent, en een fout constateert, dat gelijk corrigeert voordat je een record opslaat. Is een stuk minder werk.
Dus is de situatie met twee afdrukken de meest waarschijnlijke. En zit je dus met twee afdrukken die in ieder geval hetzelfde nummer moeten hebben, want de eerste gaat weg.
Ik zou in ieder geval een nummer genereren dat je dus opslaat in het record, waarvan je dan al dan niet 3 of meer deelrecords hebt. Met hetzelfde printnummer uiteraard.