как обычно генерируют номер накладной?
Добавлено: 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 только осваиваю
Заранее благодарен, Александр.
Раньше писал прогу на делфи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 только осваиваю
Заранее благодарен, Александр.