Описываемую Вами, BOAL, проблему мы временно решили организационно. Т.е. таких ситуаций избегаем просто полностью заполняя строки (напр., в журнале кл. платежей) перед переходом к следующей строке. Благо коллеги сознательные - нареканий пока нет, но согласен - вариант интересный. Спасибо.
Однако я не понимаю как предлагаемое Вами решение позволяет избежать выделение ИСПОЛЬЗОВАННЫХ РАНЕЕ в других журналах (в частности, кл. платежей), номеров документов ГК? Или у Вас такой проблемы не было?
Видимо, в алгоритме есть какая-то особенность. По идее непрерывная нумерация предполагает, что в нумерации могут быть пропуски (два пользователя одновременно "резервируют" номера, но первый не использует своё множество) и номера могут по тем или иным причинам освобождаться.
Т.е. для полностью корректной работы необходимо проанализировать таблицу NumberSequenceList + все таблицы, в которых существуют записи с нумерацией из серии клиентских платежей. В результате выбираются неиспользованные/освобожденные номера и резервируются заново, при этом счетчик серии не увеличивается, естественно. Так вот серия для номеров документов ГК клиентских платежей у нас больше нигде не используется. Т.е. система не в состоянии корректно выделить свободные номера из ОДНОЙ таблицы, так получается? Совершенно ясно, что надо садиться и дебажить код. Просто я думал, что эту проблему уже многие решили ....
__________________
С уважением,
Dirigente
|