Вопрос: как обычно генерируют номер накладной в многопользовательских приложениях по учету?
Раньше писал прогу на делфи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 только осваиваю
Заранее благодарен, Александр.
как обычно генерируют номер накладной?
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: как обычно генерируют номер накладной?
Подумай на тему "а как заказчик бы это делал, если бы у него не было компьютера?"
Re: как обычно генерируют номер накладной?
номер накладной, относится к "обязательно генерируемым последовательно", как и номер счет-фактуры, поэтому см. статью
www.ibase.ru/devinfo/pslock.htm
Или другую статью про "бездырочную нумерацию".
www.ibase.ru/devinfo/pslock.htm
Или другую статью про "бездырочную нумерацию".
Re: как обычно генерируют номер накладной?
Спасибо за ответы!