Главная страница
    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.59 MB
Время: 0.04 c
3-1117430946
pavel_guzhanov
2005-05-30 09:29
2005.07.11
Сжатие картинки jpeg при помещении ее в базу


10-1095163115
Sancho
2004-09-14 15:58
2005.07.11
TDataSetProvider сам делает Commit


14-1118191073
disider_lenka
2005-06-08 04:37
2005.07.11
RAP - forever


4-1112543929
Alex Romasnkiy
2005-04-03 19:58
2005.07.11
Исходник winAPI функции


6-1111961987
Змей
2005-03-28 02:19
2005.07.11
Socket Connect в домашних условиях :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский