Както изглежда вече сте заключили, последователностите без пропуски просто не се мащабират. Или рискувате да изпуснете стойности, когато възникне връщане назад, или имате точка за сериализация, която ще попречи на многопотребителска система за едновременни транзакции да мащабира. Не можете да имате и двете.
Мисълта ми би била, какво ще кажете за действие за последваща обработка, при което всеки ден имате процес, който работи при приключване на работа, проверява за пропуски и преномерира всичко, което трябва да бъде преномерирано?
Една последна мисъл:Не знам вашето изискване, но знам, че казахте, че това се „изисква от закона“. Е, запитайте се какво са правили хората преди да има компютри? Как ще бъде изпълнено това "изискване"? Ако приемем, че имате купчина празни формуляри, които идват предварително отпечатани с "пореден" номер в горния десен ъгъл? И какво ще стане, ако някой разлее кафе върху тази форма? Как се справи с това? Изглежда, че имате нужда от подобен метод, за да се справите с това във вашата система.
Надявам се, че това помага.