Цитата:
Спасибо. Т.е вы имеете ввиду что именно метод num.used() запретить использовать этот номер в дальнейшем даже если заказ с этим номером уже когда-то существовал ?
Идея такая. Вы создали экземпляр класса NumberSeq, в котором хранится новый номер. В этот момент система сохранила новый номер в список с признаком "Нерешенный".
Теперь если вы запускаете num.used(), то система понимает что номер использован и удаляет его из списка.
А если вы запускаете num.abort(), то система понимает что номер не использован, сохранит его в список с признаком "Свободен" и будет подсовывать его следующий раз.
Т.о. для гарантированного получения следующего номера надо сделать:
X++:
num = NumberSeq::newGetNum();
Id = num.num();
num.abort();
Цитата:
Только имейте ввиду что это почему то работет только для непрерывных номерных серий.
И очень хорошо что такая система реализована ТОЛЬКО для непрерывных номерных серий. Если мне без разницы какой там номер будет у моей закупки, то зачем эта вся тягомутина со списками? Лишние селекты-инсерты? А если взять таблицу потолще?
Таким образом если ты хочеш контролировать "дырки" в номерах, то делай непрерывную номерную серию и трать больше времени на создание-удаление записи. Не хочеш - отключай непрерывность.