Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по нумерации документов [D6]


Koala ©   (2004-09-03 13:49:00) 

Есть справочник номеров документов которые получают из типографии
дата, №_начальный, №_конечный, Отметка_О_Списании
Есть журнал документов уже отпечатанных
ID, дата, №_Док, ... данные
Как лучше организовать номерацию документов...
может кто сталкивался с этим и может подсказать наилучший алгоритм...
Вопрос сформулировал может не сильно понятно, тогда перефразирую...
За ранее благодарен


Koala   (2004-09-03 18:28:00) [1]


> [19] Sergey13 ©   (03.09.04 17:03)
> А не проще при вводе новой пачки автоматом нагенерить нужные
> документы с номерами?

этот метод не совсем подходит...


Sergey13   (2004-09-03 17:03:00) [2]

2[18] Koala ©   (03.09.04 16:48)
> при формировании путевых листов программа должна проанализировать какие пачки есть в справочнике создать список и указать диспетчеру, что вставьте путевые листы с № ... по № ...
А не проще при вводе новой пачки автоматом нагенерить нужные документы с номерами?


Koala   (2004-09-03 16:48:00) [3]


> [17] Sergey_Masloff   (03.09.04 16:31)
> дату регистрации билета на складе, дату передачи кассиру,
> всякую аналитику - пожалуйста

но мне эта инфа не нужна, и она нигде не используется, тут сам смысл: при формировании путевых листов программа должна проанализировать какие пачки есть в справочнике создать список и указать диспетчеру, что вставьте путевые листы с № ... по № ...


Sergey_Masloff   (2004-09-03 16:31:00) [4]

Koala ©   (03.09.04 16:19) [16]
>т.е. программа вставляет в таблицу N-ое кол-во строк содержащих >только номер документа,
Ну почему только номер. Всю информацию которую она может узнать без оператора. Если это билет то фамилию пассажира она конечно не вставит. А вот дату регистрации билета на складе, дату передачи кассиру, всякую аналитику - пожалуйста.


Koala   (2004-09-03 16:19:00) [5]


> [13] Sergey_Masloff   (03.09.04 16:03)


> Программа генерирует N=число бланков записей.

т.е. программа вставляет в таблицу N-ое кол-во строк содержащих только номер документа, а оператор уже выбирая из списка нужный номер дополняет его нужными данными (я правильно понял???)

>
>  [15] Sergey13 ©   (03.09.04 16:08)
> А чего тогда вообще нумеровать то надо если все номера есть?
> 8-)

мне нужен первый этап сама нумерация, а когда № уже вставлен то зачем проверять диапазон
или я не правильно вас понял....


Sergey13   (2004-09-03 16:08:00) [6]

2[14] Koala ©   (03.09.04 16:07)
А чего тогда вообще нумеровать то надо если все номера есть? 8-)


Koala   (2004-09-03 16:07:00) [7]


>  [11] Sergey13 ©   (03.09.04 16:01)
> Сюда добавить ID_пачки, что бы можно было определить допустимый
> диапазон адресов

но для чего??? если №_Док уже стоит в для чего диапазон то...?????


Sergey_Masloff   (2004-09-03 16:03:00) [8]

Вообще так просто не расскажешь.
Есть сущность пачка есть сущность документ (один-ко-многим)
У пачки есть куратор у документа есть куратор и статус - создан системой, выдан, испорчен и так далее. Куратор отвечает за пачку - то есть получив заводит ее - первый номер и число бланков. Программа генерирует N=число бланков записей. Куратор пачки раздает бланки другим кураторам (они могут раздавать дальше так что нужна история на каком этапе кто отвечал за бланк).
 В программе оператор же работает с бумажным бланком - берет его вводит первые цифры и выбирает из списка допкстим. И все. Если на бумажках уже есть номера то нумеровать их из программы неразумно.

А так писать долго - это на главу книги потянет


Sergey13   (2004-09-03 16:02:00) [9]

Ты бы хоть БД сказал какая.


Sergey13   (2004-09-03 16:01:00) [10]

2[7] Koala ©   (03.09.04 15:47)
>не понял, поясни пож...

>Есть журнал документов уже отпечатанных
>ID, дата, №_Док, ... данные
Сюда добавить ID_пачки, что бы можно было определить допустимый диапазон адресов


Koala   (2004-09-03 16:01:00) [11]


>
> [3] Drakosha   (03.09.04 15:03)
> Нахудой конец тригер завести.

не подскажешь как его сделать????


Koala   (2004-09-03 15:54:00) [12]


> [6] Sergey_Masloff   (03.09.04 15:45)


> а там если пачки с разрывами - так это даже не проблема
> ;-)

Подскажи как ты реализовывал нумерацию...
если не трудно...


Sergey13   (2004-09-03 15:50:00) [13]

2[6] Sergey_Masloff   (03.09.04 15:45)
Просто у разных людей и Ж разные. 8-)


Koala   (2004-09-03 15:47:00) [14]


> [5] Sergey13 ©   (03.09.04 15:35)
> А номера в пачках разрываются?

Пачки получаем из типографии, т.е. нумерация напр. 20250-20500, 3000-14000 только серии разные но меня серии как таковое не интересует..., а вот талоны заказчика, те вообще идут как бланки строгой отчетности (с водяными знаками и др. защитой) за них еще и отчитыватся надо в конце месяца, вот тут серия как раз нужна, но это уже следующий этап....

> Может стОит сделать ссылку на пачку для документа?

не понял, поясни пож...


Sergey_Masloff   (2004-09-03 15:45:00) [15]

Sergey13 ©   (03.09.04 15:35) [5]
>Типа в первой 100-200 следующая 300-400?

Это фигня. Вот когда мы бланки ОСАГО получаем - там нумерация не по порядку. Ну типа бланки защищенные если сбой станка то с таким номером больше не печатается а в пачку на его место подкладывается рандомный ;-) (ну типа строгий учет - должно быть тысяча в пачке так и будет).
 Но и это фигня - уже есть дубликаты то есть напечатали реально с нарушением primary key. Классно, да?
 Вот это я назяваю Ж а там если пачки с разрывами - так это даже не проблема ;-)


Sergey13   (2004-09-03 15:35:00) [16]

2[2] Koala ©   (03.09.04 14:57)
Может стОит сделать ссылку на пачку для документа? Проще будет контролировать. А так max+1, наверное больше никак.
А номера в пачках разрываются? Типа в первой 100-200 следующая 300-400?


Koala   (2004-09-03 15:32:00) [17]

Проблема в следующем, ряд документов формируется во временной таблице, одним пользователем локально, т.е. доступ к формированию первой партии документов (путевые листы для легкового автомобиля) на следующий день есть только у одного пользователя (диспетчера). Он формирует список, затем пока распределятся коммандировки, пересадка водителя с одной машины на другую, вобщем пока эта утряска пройдет часам к 16-17 тогда запускается печать путевых и маршрутных листов. так что тригер тв этом случае не поможет, а вот дальше... при работе с этими документами на счет тригера надо подумать
> Drakosha   > Нахудой конец тригер завести.(03.09.04 15:03)
спасибо за совет....
Использую Firebird 1.5 с sequence не сталкивался


Drakosha   (2004-09-03 15:03:00) [18]

в Oracle есть sequence
наверняка и в других есть что то подобное.
Нахудой конец тригер завести.


Koala   (2004-09-03 14:57:00) [19]


> Номер=номер+1????????????

это правильно...
но для начала нужно вызвать список из справочника доступных номеров т.е. не списанных, затем в журнале найти последний используемый номер, а потом вставлять Inc(Номер). и следить за тем, когда Номер достигнет №_Конечный установить флаг в справочнике что пачка списана и взять нумерацию следующе пачки...


Карелин Артем   (2004-09-03 14:40:00) [20]

>>Как лучше организовать номерацию документов...
Номер=номер+1????????????
Наверно нет.
Перефразируй лучше что надо канкретно надо..


Наверх

Титульная страница Поиск, карта сайта Написать письмо