Вниз
Скачать: CL | DM;

Генерация уникального номера   Найти похожие ветки 

← →
Belkova   (2003-05-29 21:47) [0]

Мастера Delphi! Подскажите как будет работать, если генерацию уникальных номеров (например в счетах-фактурах) выполнять как Select Max() From Table +1 и на момент выполнения транзакции блокировать необходимые таблицы от каких-либо изменений и в случаи отката -1. Если очень плохо, то как это можно сделать? Генератор не подходит, т.к. в случае Rollback он не уменьшает №, а в счетах-фактурах пробелы не допускаются.


← →
Zacho ©   (2003-05-29 21:55) [1]


> Belkova (29.05.03 21:47)
> Мастера Delphi! Подскажите как будет работать, если генерацию
> уникальных номеров (например в счетах-фактурах) выполнять
> как Select Max() From Table +1 и на момент выполнения транзакции
> блокировать необходимые таблицы от каких-либо изменений
> и в случаи отката -1.

Блокировать не только от изменений, но и на чтение. -1 - не надо, вставка же откатится. Транзакции нужно сделать как можно более короткими. При таких условиях - будет вполне нормально.
Плюс к этому - запретить удалять документы и редактировать номера.
А еще по этой теме можно почитать http://www.ibase.ru/devinfo/pslock.htm и http://www.ibase.ru/devinfo/ibtrans.htm


← →
Belkova   (2003-05-29 22:48) [2]

Спасибо!


← →
kaif ©   (2003-05-30 02:50) [3]

2 Zacho © (29.05.03 21:55)

Если генератор щелкнул, то он не откатится.



← →
Zacho ©   (2003-05-30 06:38) [4]


> kaif © (30.05.03 02:50)

Так там же не генератор, а SELECT MAX с блокировкой таблиц, так что прекрасно откатится


← →
Danilka ©   (2003-05-30 07:27) [5]

Вообще-то в данном случае я бы посоветовал все-таки воспользоваться генератором, т.к. нумерация в счетах-фактурах допускает пробелы. :))
На самом деле, сколько знаю предприятий, не видел еще ни одного без пробелов. У нас так вообще номер составной. На всякий случай пересмотрел "Консультант+", единственные требования к нумерации обнаружил вот-здесь:

МИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПО НАЛОГАМ И СБОРАМ
ПИСЬМО от 21 мая 2001 г. N ВГ-6-03/404

О ПРИМЕНЕНИИ СЧЕТОВ - ФАКТУР ПРИ РАСЧЕТАХ ПО НАЛОГУ НА ДОБАВЛЕННУЮ СТОИМОСТЬ

...нумерация счетов - фактур производится в порядке возрастания номеров в целом по организации. Возможно как резервирование номеров по мере их выборки, так и присвоение составных номеров с индексом обособленного подразделения;...


И то, это всего лишь письмо.


← →
Ann ©   (2003-05-30 08:36) [6]

я бы тоже посоветовала генератор..


← →
Zacho ©   (2003-05-30 08:44) [7]


> Ann © (30.05.03 08:36)

Да и я бы посоветовал генератор, или вообще ввод номеров вручную оператором.
Но если нужна нумерация без пропусков - то единственный выход все-таки - SELECT MAX с блокировкой на время формирования нового документа.


← →
Ann ©   (2003-05-30 08:49) [8]

ну да.. если без пропусков тогда генератор не подходит...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.018 c
14-84641
Jack128
2003-06-10 09:51
2003.06.26
Проблемы с винтом


7-84781
MortalScorpion
2003-04-16 18:36
2003.06.26
Выключить/включить микрофон


1-84298
X-Man
2003-06-14 18:33
2003.06.26
Hint


1-84178
Yakudza
2003-06-07 20:52
2003.06.26
destAddress := PInAddr(pHostEn^.h_addr_list^)^;


4-84821
Yogi
2002-12-14 14:10
2003.06.26
Service и Handle




   Наверх