Vadim Mescheryakov wrote:
текущие остатки товара, а поводов их изменить много), то транзакция откатывается, программа перехватывает ошибку и повторяет попытку формирования документа.
Присваивать номер из генератора непосредственно перед коммитом. Внутренний PK сделать невидимым.