|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.09.2012, 22:09 | #11 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
По-моему здесь речь идет о номере документа, который будет фигурировать например в приходном или расходном складском ордере. И скорее всего приход и расход в одной таблице, а нумерация разная в зависимости от типа документа. Т.е. номер навряд ли автоинкриментный счетчик. В качестве составного уникального индекса, если не ключевого, так альтернативного он может фигурировать. Авто-формированиия нет, все равно его нужно каким то образом вычислить и попытаться избежать возникновения дырок хотя бы при вставке. Или все не так?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
17.09.2012, 22:46 | #12 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Аватар, +1
|
17.09.2012, 23:55 | #13 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
а что мешает сканить это на уровне тригера (before insert\update) в самой БД? ... ловим new.№_документа и ищем такой же ... нашли - выводим сообщение что такое уже есть, не нашли - даём сохранить
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
18.09.2012, 07:21 | #14 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
I'm learning to live...
Последний раз редактировалось Stilet; 18.09.2012 в 07:25. |
||
18.09.2012, 08:38 | #15 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Stilet, таких граблей с нумерацией документов в реальных задачах бухгалтерского документооборота на предприятии конь не валялся. Всем хочется автоматического формирования, фигурирования номера уже в начале создания документа, который не факт, что будет записан в базу, требования к уникальности самые разнообразные. И все вопят по поводу дырок, которые сами же наделали, удалив ранее введенные документы. Триггер - вполне нормальное решение, но не для отфутболивания, а для корректной генерации номера документа. По поводу отката сотни документов - это претензии к программисту, не зачем такие транзакции делать, куча причин по которым rollback может произойти.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
18.09.2012, 09:41 | #16 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Универсальное давно придуманное (до изобретения компьютеров) решение ЖУРНАЛ учета документов.
в документе предусматриваем функцию получить номер. Она выполняет генерацию рег. номера документооборота. при создании нового док-та ф-я естественно не вызывается. Ее можно вызвать пользователь в любой момент формирования документа (хоть в самом начале с "пустым" документом). при этом в БД должно быть сохранено текущее состояние документа. Но можно сохранить документ и без рег. номера (нечто вроде черновика документа). Для рег. номеров документов есть свойство исполнитель автоматически заполняемое при генерации номера.(что бы знать кому давать по шапке за лишние номера). при исключении документа с рег. номером фиксируется исполнитель удаливший такой-то номер (чтобы знать кому дать по шапке за исключение номера). можно даже отдельную таблицу рег. номеров. а документы имеют ссылку на оную. рег. номер; кто завел документ; когда; кто исключил документ; когда; И никаких удалений из данной таблицы.
программа — запись алгоритма на языке понятном транслятору
|
18.09.2012, 20:11 | #17 | |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
Цитата:
evg_m, номер документа необходим изначально. Т.е. как только открылась форма документа, номер уже должен быть присвоен. Это важный момент. Так как пользователь может не сохраняя сам документ в базе вывести его на печать. Так что номер нужен обязательно.
Водку мы пьем для запаха - а дури нам своей хватает!
Последний раз редактировалось Stilet; 18.09.2012 в 21:01. |
|
18.09.2012, 20:29 | #18 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
ADD Ди печатать разрешить можно только после сохранения документа в базу
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 18.09.2012 в 20:39. |
|
18.09.2012, 20:56 | #19 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
|
|
18.09.2012, 22:04 | #20 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Цитата:
создал документ, получил номер, распечатал, закрыл не сохраняя. И начальникам и проверяющим доказывать будут те: кто завел документ ; кто исключил документ.(или забыл сохранить). А также автор программы почему разрешено получение номеров на несуществующие документы.
программа — запись алгоритма на языке понятном транслятору
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как упорядочить нумерацию в списке | caute | Microsoft Office Word | 4 | 17.03.2012 08:13 |
Процедура поиска - необходимо организовать поиск по маске *.txt в папке Test | GvR | Общие вопросы Delphi | 3 | 04.11.2009 15:31 |
необходимо сделать несколько документов: акт, счет и т.п. | Kisunya2104 | Microsoft Office Excel | 5 | 17.05.2009 18:35 |
нумерацию кнопок на клаве | BuT@JL | Помощь студентам | 4 | 27.11.2008 22:08 |