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

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

Автоматическая номерация документов [D7, MSSQL]


Страницы:   1 2 3 4

Ярослав ©   (2005-05-31 08:21:00) 

Подскажите как автоматически назначать номера документов, т.е. записям БД. Они могут состоять как только из цифр, так и смешанные, т.е. буквенно цифровые, но это не есть особая проблемма, как сделать так чтобы они были уникальные и монотонно возрастающие.
Например когда два пользователя одновременно создают записи в одной таблице, чтобы им не назначилось одинакового номера. И если один из пользователей создовал документ и передумал, а номер документу был уже назначен, то другому пользователю был бы назначен это номер, т.е. небыло разрывов в нумерации.
Может есть какие нибудь статейки по этому поводу, поделитесь ссылками.


Anatoly Podgoretsky   (2005-06-02 11:44:00) [1]

msguns ©   (02.06.05 11:29) [59]
>Тучудище   (02.06.05 10:21) [54]
>На счет дырок решение чудовищное, но решение, после удаления документа в каком то далеком периоде перенумеровать все документы заново!

Вот это и есть ЧУДОВИЩНОЕ решение.

На мой взгляд это намеренное искажение отчетности, подделка!

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

Но в этом случае не применимо сквозная, только если код документа является шифром, следующего вида - yyyynnn, иначе имеем сказаное тобой " И не повторялись"


Тучудище   (2005-06-02 11:35:00) [2]

[54] Я ни кого не пытаюсь ни в чем убедить, я высказываю свое мнение по данному вопросу, у меня проблем с нумерацией не стоит, на сколько помню тему завел не я!


msguns   (2005-06-02 11:29:00) [3]

>Тучудище   (02.06.05 10:21) [54]
>На счет дырок решение чудовищное, но решение, после удаления документа в каком то далеком периоде перенумеровать все документы заново!

Вот это и есть ЧУДОВИЩНОЕрешение.

>Дырок нет, но тут уже возникает другой вопрос а не вздрючит ли нас налоговая или еще какая нить инспекция??? которая спросит а че енто это у вас номера у документов ползают вверх вниз???

Ну и что ? Главное, чтобы номера документов совпадали с записями в соответствующих журналах. И не повторялись !
Причем могут даже повторяться, но с разными датами.

>Кто то упомянул что проблема нумерации решена
Так вот что я вам скажу, ИМХО нету оптимально подходящего решения которое могло бы удовлетворить полностью!

Если решать проблему как полностью автоматическое присвоение номеров (без разрешения ручной нумерации), то в некоторых областях это возможно, но не в бухгалтерии, и не в делопроизводстве.

>В данном случае есть варианты которые более или менее могут устроить в той или иной степени(да и флейму бы не было такого) и каждый делает схему присвоения номера по своему! :-) вот как! ;-)

В данном случае есть точудище, которое выдумало себе на голову эту проблему и пытается убедить весь свет в ее нужности и важности.

>Тучудище   (02.06.05 11:01) [56]
>А как же требования  при ведении бухгалтерсого учета о сквозной нумерации счетов-фактур?? Может и не закон но налоговая взгреет если несоблюдение будет!

Глупость. Несусветная. Спросите у любого налоговика, за что "греют", может "проянится на доске" (с)
Кроме того, счета-фактуры могут не являться документом, о чем уже было писаны. Путаем грешное с праведным, а счета с накладными (актами) ?

>Anatoly Podgoretsky ©   (02.06.05 11:08) [57]
>А что ты понимаешь под сквозной нумерацией? Я понимают это так, что не может быть одинаковых "номеров" разных счетов, в мое понятие входит и года.

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


Тучудище   (2005-06-02 11:26:00) [4]

не только и не столько
+ непрерывность
+ возростание


Anatoly Podgoretsky   (2005-06-02 11:08:00) [5]

Тучудище   (02.06.05 11:01) [56]
А что ты понимаешь под сквозной нумерацией? Я понимают это так, что не может быть одинаковых "номеров" разных счетов, в мое понятие входит и года.


Тучудище   (2005-06-02 11:01:00) [6]

А как же требования  при ведении бухгалтерсого учета о сквозной нумерации счетов-фактур?? Может и не закон но налоговая взгреет если несоблюдение будет!


Anatoly Podgoretsky   (2005-06-02 10:36:00) [7]

Никакими законами "нумерация" документов не определена.
И что ты скажешь про подобное
Документ № ФаТТ


Тучудище   (2005-06-02 10:21:00) [8]

На счет дырок решение чудовищное, но решение, после удаления документа в каком то далеком периоде перенумеровать все документы заново! Дырок нет, но тут уже возникает другой вопрос а не вздрючит ли нас налоговая или еще какая нить инспекция??? которая спросит а че енто это у вас номера у документов ползают вверх вниз???
Кто то упомянул что проблема нумерации решена
Так вот что я вам скажу, ИМХО нету оптимально подходящего решения которое могло бы удовлетворить полностью! В данном случае есть варианты которые более или менее могут устроить в той или иной степени(да и флейму бы не было такого) и каждый делает схему присвоения номера по своему! :-) вот как! ;-)


Anatoly Podgoretsky   (2005-06-01 16:59:00) [9]

Номер документа это просто первый, второй,  ный документ. Код/шифр это документ номер 1/2-а и даже документ номер 1, просто литеры отсутствуют. Одно условность, а другое последовательность.


msguns   (2005-06-01 16:54:00) [10]

>Anatoly Podgoretsky ©   (01.06.05 16:44) [51]

И я об этом же. Только с маленькой поправкой. Номер документа может правиться. Но для этого документ слуедует откатить


Anatoly Podgoretsky   (2005-06-01 16:44:00) [11]

msguns ©   (01.06.05 16:40) [50]
Давай в этом случае говорить все таки о составном коде и его уникальности. Когда говорят об номере, обычно немного лукавят, для упрощения называют номером. Вот номер как и может быть и обязан быть последовательным. Его номер изменению не подлежит, а удаление должно сопровождаться записью в журнале, что такой то номер удален/анулирован по причине такой то.


msguns   (2005-06-01 16:40:00) [12]

>Anatoly Podgoretsky ©   (01.06.05 16:13) [48]
>То есть допустимо, что два разных документа имеют одинаковый код?

Не код, Анатолий, а номер. А это не одно и то же !
Да, вполне допустимо, т.к. имеет место быть. Хотя бы в случае, когда к документу №1 содается другой документ №1а и числовая и симв. части разнесены в разные поля. Кроме того, по году могут повторяться.

>ANB ©   (01.06.05 16:20) [49]

Во-первых. Ну я же писал, что если шеф неподпишет ! Т.е.этот приказ уже и не приказ.
Во-вторых. Ничто не мешает юзеру ввести ручками нужный номер. Прога лишь помогает ему, подсказывая,- ответственность же несет не железка - человек (оператор)


ANB   (2005-06-01 16:20:00) [13]


> А вот я не видел еще таких документов, которые бы не могли
> быть уничтожены. Хотя бы потому, что шеф не подписал, а
> в журнале не зарегистрирован. Таких примеров в делопроизводстве
> (любом, заметьте !) - пруд пруди.
- пожалуйста, приказы. Любая проверка задерет за дырки в нумерации. Скажут - не можете вести учет на компутерах - ведите в журнале. Если приказ подписан и зарегистрирован, то его можно отменить только другим приказом, а никак не выкинуть.


Anatoly Podgoretsky   (2005-06-01 16:13:00) [14]

То есть допустимо, что два разных документа имеют одинаковый код?


msguns   (2005-06-01 16:06:00) [15]

Кстати, вот я видел решение в каком-то брэндошном продукте "про склады". Там есть отдельная кнопулька "Get AutoNum". При добавлении документ поле № пустое. Если нажать на кнопульку, по выполниться запрос типа MAX+1. При постинге (коммите) если уже имеется такой №, вылетает мессага и транзакция откатывается - юзер может нажать на кнопульку еще раз.

С автооткатом я погорячился. Там вроде диалог был и если узер настаивал, то дубликатный № записывался в БД.


msguns   (2005-06-01 15:59:00) [16]

>Тучудище   (01.06.05 10:04) [40]

Нет, ну это в конце концов просто задело - вселенская проблемы "дырок" в нумерации. Простой пример: счета.
Счет - это по-большому счету просто бумажка, которая, однако, вполне может стать документом, если ее рквизиты (№ в т.ч.) будут указаны в другом документе - платежном поручении в банк. Но может быть и просто бумажкой, которую взявший его потенциальных дебетор просто использует по прямому назначению.
А в БД есть и тот счет, и другой. Причем первым был выписан "туалетный" счет. Итого имеем:
Счет №1 - фикция и подлежит удалению из БД за ненадобностью
Счет №2 - вполне документ, который должен храниться в БД постоянно.
После удаления Счета №1 получается "дырка". Если мы на "ее" место всобачим другой счет, то будет нарушение хронологии - а вот это уже существенная путаница. Т.е. фактически счет с номер 2 не существует и не должно существовать.
ИМХО, проблема взята из ничего и обсасывается с упорством, достойным лучшего применения. И обусловлено ничем иным, как бедственной нехваткой опыта и нежеланием (неумением) убеждать заказчиков в их непонимании и тупой настырности.
Вы можете возразить, что не все документы как счета и, если уж завел, то завел. Как в том анекдоте про тещу: "Нет уж, мама, умерла так умерла". А вот я не видел еще таких документов, которые бы не могли быть уничтожены. Хотя бы потому, что шеф не подписал, а в журнале не зарегистрирован. Таких примеров в делопроизводстве (любом, заметьте !) - пруд пруди.


Sergey13   (2005-06-01 14:54:00) [17]

2[44] seg   (01.06.05 14:44)
Я могу еще оригинальнее. Заводить новые документы разрешить только одному юзеру. По пятницам. По служебной записке с подписью генерального директора. Все дыры/блокировки идут лесом. 8-)

ЗЫ: Дались вам эти дыры. 8-)


seg   (2005-06-01 14:44:00) [18]

Предлагаю оригинальное решение.
Если кто-то из юзеров отказывается от сохранения документа, рассылать всем юзерам, которые в этот момент заводят дакумент этого типа сообщение типа
"Нумерация документа будет изменена" + новый номер документа
"по вине одного из пользователей. Для получения более подробной информации о пользователе нажмите кнопку Справка"

Думаете кто-нибудь не нажмет на кнопку Справка?


ANB   (2005-06-01 14:00:00) [19]


> Тучудище   (01.06.05 10:04) [40]
- 1C выросла из FoxBase, посему они и юзают таблицу с блокировками. Как ты думаешь, что быстрее - получить новый номер от сиквенса или заблокировать таблицу, найти макс, разблокировать таблицу (а в таблице может быть много записей) ?
Если СУБД поддерживает генерацию последовательных номеров, почему бы этим не пользоваться. Все ИМХО. С таблицей удобен вариант обнуления нумерации при начале нового года, но это можно продумать и с сиквенсами.


Тучудище   (2005-06-01 13:20:00) [20]

2 Cobalt
Собственно коим боком это адресовано ко мне?


Страницы:   1 2 3 4

Наверх

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