как обычно генерируют номер накладной?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
alexd3d
Сообщения: 2
Зарегистрирован: 11 ноя 2010, 20:54

как обычно генерируют номер накладной?

Сообщение alexd3d » 11 ноя 2010, 21:17

Вопрос: как обычно генерируют номер накладной в многопользовательских приложениях по учету?
Раньше писал прогу на делфи5+BDE там просто автоинктементировал предыдущий номер.
Сейчас перешел на 7 делфи и FireBird
Есть таблица накладных (одно из полей - флаг: приходная или расходная)
ID автоинкрементируется с помощью тригера при инсерте.
я его (значение генератора ID) потом опрашиваю и заполняю еще одну таблицу с товарами содержащимися в накладной.
Ввел еще одно поле типа NAKL_NUM - строковое которое может быть как в 1С-ке "Р-Н-10\129" (типа 10-й год 129 накладная)
щас процесс такой после заполнения накладной пользователем:
1) вставить в таблицу-реестр накладных информацию о накладной (дата, поставщик\покупатель и т.д.)
2) узнать текущее значение генератора ID
3) вставить в другую таблицу информацию с кодом ID накладной и товарами которые в ней
Есть проблема:
как сделать так чтоб расходные накладные нумеровались по своему порядку, а приходные - по своему (ведь все в одной таблице)?
сделать перед первый действием операцию типа
0) запрос к реестру накладных: например для выписки приходной накладной выбрать последнюю приходную накладную и увеличить ее код ("Р-Н-10\129" ) на 1?

И еще - все это будет еще ниче если это операции 0-4 делать ПОСЛЕ полного введения накладной и нажатии на кнопку "ввести". а как тогда 1С выводит код накладной ("Р-Н-10\129") еще ДО ее финальной выписки? Где гарантия того что пока я не набираю накладную кто-то с соседнего ПК не введет свою накладную? тогда у него будет такой же номер как и у моей накладной?...

Сильно не пинайте, технологии FireBird\Interbase только осваиваю
Заранее благодарен, Александр.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: как обычно генерируют номер накладной?

Сообщение Dimitry Sibiryakov » 12 ноя 2010, 14:39

Подумай на тему "а как заказчик бы это делал, если бы у него не было компьютера?"

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: как обычно генерируют номер накладной?

Сообщение kdv » 13 ноя 2010, 15:23

номер накладной, относится к "обязательно генерируемым последовательно", как и номер счет-фактуры, поэтому см. статью
www.ibase.ru/devinfo/pslock.htm
Или другую статью про "бездырочную нумерацию".

alexd3d
Сообщения: 2
Зарегистрирован: 11 ноя 2010, 20:54

Re: как обычно генерируют номер накладной?

Сообщение alexd3d » 21 ноя 2010, 19:40

Спасибо за ответы!

Ответить