Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
ВнизВопрос по нумерации документов Найти похожие ветки
← →
Koala © (2004-09-03 13:49) [0]Есть справочник номеров документов которые получают из типографии
дата, №_начальный, №_конечный, Отметка_О_Списании
Есть журнал документов уже отпечатанных
ID, дата, №_Док, ... данные
Как лучше организовать номерацию документов...
может кто сталкивался с этим и может подсказать наилучший алгоритм...
Вопрос сформулировал может не сильно понятно, тогда перефразирую...
За ранее благодарен
← →
Карелин Артем © (2004-09-03 14:40) [1]>>Как лучше организовать номерацию документов...
Номер=номер+1????????????
Наверно нет.
Перефразируй лучше что надо канкретно надо..
← →
Koala © (2004-09-03 14:57) [2]
> Номер=номер+1????????????
это правильно...
но для начала нужно вызвать список из справочника доступных номеров т.е. не списанных, затем в журнале найти последний используемый номер, а потом вставлять Inc(Номер). и следить за тем, когда Номер достигнет №_Конечный установить флаг в справочнике что пачка списана и взять нумерацию следующе пачки...
← →
Drakosha (2004-09-03 15:03) [3]в Oracle есть sequence
наверняка и в других есть что то подобное.
Нахудой конец тригер завести.
← →
Koala © (2004-09-03 15:32) [4]Проблема в следующем, ряд документов формируется во временной таблице, одним пользователем локально, т.е. доступ к формированию первой партии документов (путевые листы для легкового автомобиля) на следующий день есть только у одного пользователя (диспетчера). Он формирует список, затем пока распределятся коммандировки, пересадка водителя с одной машины на другую, вобщем пока эта утряска пройдет часам к 16-17 тогда запускается печать путевых и маршрутных листов. так что тригер тв этом случае не поможет, а вот дальше... при работе с этими документами на счет тригера надо подумать
> Drakosha > Нахудой конец тригер завести.(03.09.04 15:03)
спасибо за совет....
Использую Firebird 1.5 с sequence не сталкивался
← →
Sergey13 © (2004-09-03 15:35) [5]2[2] Koala © (03.09.04 14:57)
Может стОит сделать ссылку на пачку для документа? Проще будет контролировать. А так max+1, наверное больше никак.
А номера в пачках разрываются? Типа в первой 100-200 следующая 300-400?
← →
Sergey_Masloff (2004-09-03 15:45) [6]Sergey13 © (03.09.04 15:35) [5]
>Типа в первой 100-200 следующая 300-400?
Это фигня. Вот когда мы бланки ОСАГО получаем - там нумерация не по порядку. Ну типа бланки защищенные если сбой станка то с таким номером больше не печатается а в пачку на его место подкладывается рандомный ;-) (ну типа строгий учет - должно быть тысяча в пачке так и будет).
Но и это фигня - уже есть дубликаты то есть напечатали реально с нарушением primary key. Классно, да?
Вот это я назяваю Ж а там если пачки с разрывами - так это даже не проблема ;-)
← →
Koala © (2004-09-03 15:47) [7]
> [5] Sergey13 © (03.09.04 15:35)
> А номера в пачках разрываются?
Пачки получаем из типографии, т.е. нумерация напр. 20250-20500, 3000-14000 только серии разные но меня серии как таковое не интересует..., а вот талоны заказчика, те вообще идут как бланки строгой отчетности (с водяными знаками и др. защитой) за них еще и отчитыватся надо в конце месяца, вот тут серия как раз нужна, но это уже следующий этап....
> Может стОит сделать ссылку на пачку для документа?
не понял, поясни пож...
← →
Sergey13 © (2004-09-03 15:50) [8]2[6] Sergey_Masloff (03.09.04 15:45)
Просто у разных людей и Ж разные. 8-)
← →
Koala © (2004-09-03 15:54) [9]
> [6] Sergey_Masloff (03.09.04 15:45)
> а там если пачки с разрывами - так это даже не проблема
> ;-)
Подскажи как ты реализовывал нумерацию...
если не трудно...
← →
Koala © (2004-09-03 16:01) [10]
>
> [3] Drakosha (03.09.04 15:03)
> Нахудой конец тригер завести.
не подскажешь как его сделать????
← →
Sergey13 © (2004-09-03 16:01) [11]2[7] Koala © (03.09.04 15:47)
>не понял, поясни пож...
>Есть журнал документов уже отпечатанных
>ID, дата, №_Док, ... данные
Сюда добавить ID_пачки, что бы можно было определить допустимый диапазон адресов
← →
Sergey13 © (2004-09-03 16:02) [12]Ты бы хоть БД сказал какая.
← →
Sergey_Masloff (2004-09-03 16:03) [13]Вообще так просто не расскажешь.
Есть сущность пачка есть сущность документ (один-ко-многим)
У пачки есть куратор у документа есть куратор и статус - создан системой, выдан, испорчен и так далее. Куратор отвечает за пачку - то есть получив заводит ее - первый номер и число бланков. Программа генерирует N=число бланков записей. Куратор пачки раздает бланки другим кураторам (они могут раздавать дальше так что нужна история на каком этапе кто отвечал за бланк).
В программе оператор же работает с бумажным бланком - берет его вводит первые цифры и выбирает из списка допкстим. И все. Если на бумажках уже есть номера то нумеровать их из программы неразумно.
А так писать долго - это на главу книги потянет
← →
Koala © (2004-09-03 16:07) [14]
> [11] Sergey13 © (03.09.04 16:01)
> Сюда добавить ID_пачки, что бы можно было определить допустимый
> диапазон адресов
но для чего??? если №_Док уже стоит в для чего диапазон то...?????
← →
Sergey13 © (2004-09-03 16:08) [15]2[14] Koala © (03.09.04 16:07)
А чего тогда вообще нумеровать то надо если все номера есть? 8-)
← →
Koala © (2004-09-03 16:19) [16]
> [13] Sergey_Masloff (03.09.04 16:03)
> Программа генерирует N=число бланков записей.
т.е. программа вставляет в таблицу N-ое кол-во строк содержащих только номер документа, а оператор уже выбирая из списка нужный номер дополняет его нужными данными (я правильно понял???)
>
> [15] Sergey13 © (03.09.04 16:08)
> А чего тогда вообще нумеровать то надо если все номера есть?
> 8-)
мне нужен первый этап сама нумерация, а когда № уже вставлен то зачем проверять диапазон
или я не правильно вас понял....
← →
Sergey_Masloff (2004-09-03 16:31) [17]Koala © (03.09.04 16:19) [16]
>т.е. программа вставляет в таблицу N-ое кол-во строк содержащих >только номер документа,
Ну почему только номер. Всю информацию которую она может узнать без оператора. Если это билет то фамилию пассажира она конечно не вставит. А вот дату регистрации билета на складе, дату передачи кассиру, всякую аналитику - пожалуйста.
← →
Koala © (2004-09-03 16:48) [18]
> [17] Sergey_Masloff (03.09.04 16:31)
> дату регистрации билета на складе, дату передачи кассиру,
> всякую аналитику - пожалуйста
но мне эта инфа не нужна, и она нигде не используется, тут сам смысл: при формировании путевых листов программа должна проанализировать какие пачки есть в справочнике создать список и указать диспетчеру, что вставьте путевые листы с № ... по № ...
← →
Sergey13 © (2004-09-03 17:03) [19]2[18] Koala © (03.09.04 16:48)
> при формировании путевых листов программа должна проанализировать какие пачки есть в справочнике создать список и указать диспетчеру, что вставьте путевые листы с № ... по № ...
А не проще при вводе новой пачки автоматом нагенерить нужные документы с номерами?
← →
Koala © (2004-09-03 18:28) [20]
> [19] Sergey13 © (03.09.04 17:03)
> А не проще при вводе новой пачки автоматом нагенерить нужные
> документы с номерами?
этот метод не совсем подходит...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.042 c