Вниз
Скачать: 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.015 c
9-83846
Ruslan_
2003-01-13 15:27
2003.06.26
Карта в БД


3-84006
abc
2003-05-30 16:05
2003.06.26
как вернуть TQuery в нормальный режим, после режима Edit??


9-83848
AL2002
2002-09-24 13:35
2003.06.26
Сделайте кто-то мне игру в пятнашки


3-83978
McSimm2
2003-05-29 08:27
2003.06.26
Размер поля


14-84533
MrMister
2003-06-06 22:59
2003.06.26
Проблемы с TMemo в Win9x




   Наверх