Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

Автоматическая номерация документов   Найти похожие ветки 

 
Тучудище   (2005-06-01 10:04) [40]

Давайие посмотрим в сторону 1Ц... что же мы там видим???? А видим мы там вот что....
1) Имеется табличка (1SDNLOCK.DBF для DBF) или (_1SDNLOCK для MSSQL)
2) В этой табличке имеется всего 2 поля
  а) тип документа
  б) номер документа
3) При создании пользователем нового документа формируется новый номер и добавляется в эту табличку
4) В случает отмены ввода документа, удалении документа номер так же изымается из вышеупомянутой таблицы
5) Большой минус всего этого в следующем:
  Пусть пользователь А открыл документ и получил номер для него
  Пусть пользователь Б открыл документ и получил номер для него
  Пользователь Б сохранил документ
  Пользователь А не сохранил документ
  Номер пользователя Б стал последним
  Когда номер пользователя А просто исчез
  Вот пробел в нумерации готов
Это что касается присвоения номера в момент открытия нового документа.... хотя на практике 1Ц-шная система сбоя не давала(я не видел такого сопровождаю ее уже около 5 лет)
Как бы сделал я:
1) Не стал бы использовать генераторы ни в коем случае
2) Не стал бы использовать autoincrement котегорично
3) Далее идем по разветвлению,
   a)если номер документа требуется в момент открытия документа(чем черт не шутит)... то ввел бы доп таблицу и последовал бы по
пути 1Ц
   б)если номер присваивается после вставки документа, что менее капризно и риск пробелов в нумерации более менее ниже чем у варианта "а" то создал бы механизм который присваивает новый номер документа в момент вставки нового документа в БД
   в)проводил присвоение нумерации документов в конец дня(идеально), но фиг кто даст такое сделать! :-) а жаль! :-)


 
Cobalt ©   (2005-06-01 13:16) [41]

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

Надо понимать, какие требования вводят какие ограничения,
и какие ограничения вводят новые требования.

Если требуется непрерывность номеров - то хрен вам, а не отображение номера до его сохранения.
Если требуется отображение номера документа до его сохранения - то хрен вам, а не непрерывность номеров.

Иначе как обеспечить последовательность документов?
Порядок номеров = порядок заведения документа. Документ №76 заведён позже документа №77?


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

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


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


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


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

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

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


 
Sergey13 ©   (2005-06-01 14:54) [45]

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

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


 
msguns ©   (2005-06-01 15:59) [46]

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

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


 
msguns ©   (2005-06-01 16:06) [47]

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

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


 
Anatoly Podgoretsky ©   (2005-06-01 16:13) [48]

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


 
ANB ©   (2005-06-01 16:20) [49]


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


 
msguns ©   (2005-06-01 16:40) [50]

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

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

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

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


 
Anatoly Podgoretsky ©   (2005-06-01 16:44) [51]

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


 
msguns ©   (2005-06-01 16:54) [52]

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

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


 
Anatoly Podgoretsky ©   (2005-06-01 16:59) [53]

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


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

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


 
Anatoly Podgoretsky ©   (2005-06-02 10:36) [55]

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


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

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


 
Anatoly Podgoretsky ©   (2005-06-02 11:08) [57]

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


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

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


 
msguns ©   (2005-06-02 11:29) [59]

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

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

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

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

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

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

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

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

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

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

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

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


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

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


 
Anatoly Podgoretsky ©   (2005-06-02 11:44) [61]

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

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

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

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

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



Страницы: 1 2 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.61 MB
Время: 0.034 c
4-1114082819
Style
2005-04-21 15:26
2005.07.11
Как программно создать Dial-Up соединение ?


8-1110298635
Vladimirs
2005-03-08 19:17
2005.07.11
Как преобразовать пиксель 16бит в 24 бит RGB BMP


14-1118538574
Defunct
2005-06-12 05:09
2005.07.11
Нонсенс..


8-1111054283
X-Disa
2005-03-17 13:11
2005.07.11
Цветовой диалог - система HSB


4-1116090982
FireHawk
2005-05-14 21:16
2005.07.11
Как узнать запущен ли экзекшник по его имени?