Posted by Борис, Киев. (193.193.199.192) on April 14, 2003 at 12:22:51:
In Reply to: Как сейчас устанавливаются уникальные коды операций posted by Аркадий Водяник on April 14, 2003 at 02:58:33:
: 1) При старте (первом пересчете) сервер находит "самый большой" уникальный
: код и записывает его в extrd.dat с индексом "--UKEY--" и во внутренний
: счетчик в памяти. Только при первом пересчете делается сравнение кодов.
: 2) При последующих пересчетах сервер не сравнивает коды.
: 3) Удалениие операции не влияет на внутренний счетчик. При добавлении
: новой операции сервер не ищет свободные коды, а просто наращивает счетчик
: и формирует из него код.
: 4) При замене операции ее код не изменяется и счетчик не изменяется.
: Так что источниками рассогласований между операциями и индексированной по
: их кодам информации в extrd.dat могут быть:
: a) пункт 4
Это отсекается разным поведением формы в ветви при ручном вводе изменений.
: b) перезагрузка сервера, если ей предшествовало удаление (a не ввод) операции.
Уточню, что ручное удаление из журнала пока не удается проконтролировать и вот это меня и подводит сегодня.
: А выигрыша по скорости не получим из-за 2,3.
Согласен, не досмотрел.
Аркадий, а можно всё-таки внести изменение в алгоритм исчисления внутреннего счетчика с тем, чтобы исключить неуникальность кодов - мелкой неувязки в моих настройках.
Так как на контроле '--UKEY--' у меня построен оперативный доступ к документам, то может быть серверу при принятии стартового значения внутреннего счетчика не сложно будет сравнить его с '--UKEY--' и если он меньше его, то пусть примет большее значение из Extrd.dat
Ваш адепт, Борис.