Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / О нумерации документов. / 25 сообщений из 61, страница 1 из 3
22.12.2009, 20:02
    #36380858
skmdeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
В 1С меня доставала непродуманная нумерация документов. Когда работают два бухгалтера выписывают накладные то часто бывает что при вводе они получают одинаковый номер документа. Тот кто записывает позже получает ошибку "не уникальный номер". Наверное там новый номер вычисляется типа max(number) + 1. Как в других системах разруливается эта проблема? Тут просто счетчик тип serial не получается. Нумерация документов может иметь разную периодичность год, месяц, и т.д.
...
Рейтинг: 0 / 0
22.12.2009, 22:42
    #36381018
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
1. Номер документа нужно запрашивать непосредственно перед сохранением изменений и возможно даже блокировать счётчик.
2. Если с автоматически созданным номером таки промахнулись, то это не проблема пользователя. Система должна автоматически запросить новый номер.

Нужно понимать, что в многопользовательской среде сквозная нумерация документов либо вызывает конкуренцию за централизованный счётчик либо вообще невозможна, если такого счётчика нет в оперативном доступе.

Вполне легальная практика - централизованно выписывать заранее пронумерованные бланки документов (бумажные или электронные - не важно) и раздавать их на места. В конце периода неиспользованные бланки описываются и уничтожаются. Таким образом весь диапазон номеров закрыт либо реальными документами, либо актом об уничтожении неиспользованных бланков.
...
Рейтинг: 0 / 0
22.12.2009, 22:43
    #36381020
R
R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
skmdeveloperВ 1С меня доставала непродуманная нумерация документов. Когда работают два бухгалтера выписывают накладные то часто бывает что при вводе они получают одинаковый номер документа. Тот кто записывает позже получает ошибку "не уникальный номер". Наверное там новый номер вычисляется типа max(number) + 1. Как в других системах разруливается эта проблема? Тут просто счетчик тип serial не получается. Нумерация документов может иметь разную периодичность год, месяц, и т.д.
У Вас снова та же проблема - гробокопательство. Забудьте же про чудо-систему 7.7. Она со своими трудностями осталась в далеком прошлом. Читайте про нумерацию в 8.1.
...
Рейтинг: 0 / 0
22.12.2009, 22:50
    #36381030
skmdeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
R, И какое там гениальное решение?
...
Рейтинг: 0 / 0
22.12.2009, 23:00
    #36381041
skmdeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
mcureenab, Я пришел к такому выводу. Номера документов сделать только целочисленными. Где нужно использовать префиксы или дополнять нулями уже в программе. Если документ не записывается, запрашивать номер повторно.

Кто знает другие варианты?
...
Рейтинг: 0 / 0
22.12.2009, 23:12
    #36381056
R
R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
skmdeveloperR, И какое там гениальное решение?
А что там гениального должно быть? Получить уник.номер с SQL-сервера не проблема. А в файловом варианте, наверное, более аккуратно сделали, чем в 7.7.
...
Рейтинг: 0 / 0
22.12.2009, 23:15
    #36381063
skmdeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
R, Я спрашивал не о том. Если я создам две накладные в 1С 8.1 но не запишу их у них, то у них будут одинаковые номара или разные?
...
Рейтинг: 0 / 0
22.12.2009, 23:18
    #36381064
R
R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
skmdeveloperR, Я спрашивал не о том. Если я создам две накладные в 1С 8.1 но не запишу их у них, то у них будут одинаковые номара или разные?
Естественно, разные. Уникальность номера определяется в момент его получения, запись здесь ни при чем. Не запишешь документ - будет просто пропуск номера.
...
Рейтинг: 0 / 0
22.12.2009, 23:27
    #36381067
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
skmdeveloperКак в других системах разруливается эта проблема?

вот как в Dynamics Ax
...
Рейтинг: 0 / 0
22.12.2009, 23:31
    #36381069
skmdeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
Понятно. Спасибо.
...
Рейтинг: 0 / 0
23.12.2009, 00:02
    #36381095
trdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
skmdeveloperВ 1С меня доставала непродуманная нумерация документов. Когда работают два бухгалтера выписывают накладные то часто бывает что при вводе они получают одинаковый номер документа. Тот кто записывает позже получает ошибку "не уникальный номер". Наверное там новый номер вычисляется типа max(number) + 1. Как в других системах разруливается эта проблема? Тут просто счетчик тип serial не получается. Нумерация документов может иметь разную периодичность год, месяц, и т.д.
проблема высосана из пальца, а может еще откуда...
решается элементарно: около 40 строчек кода...
пс. не надо путать баги платформы и баги конфигурации.
...
Рейтинг: 0 / 0
23.12.2009, 00:09
    #36381099
trdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
+ Решается приблизительно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
//*****************************************************************************
Процедура ПриЗаписи() //Предопределенная процедура
	Если Выбран() =  0  Тогда
		вЕстьОшибка =  1 ;
		Пока вЕстьОшибка =  1  Цикл
			вОписаниеОш = "";
			Попытка
				Записать();
				вЕстьОшибка =  0 ;
			Исключение
				вОписаниеОш = ОписаниеОшибки();
			КонецПопытки;
			Если ПустоеЗначение(вОписаниеОш) =  0  Тогда
				Если вОписаниеОш = "Номер не уникальный!" Тогда
					вПрефикс = глВыделитьПрефиксНомера(НомерДок);
					вЕстьОшибка =  1 ;
					УстановитьНовыйНомер(вПрефикс);
				Иначе
					вЕстьОшибка =  0 ;
				КонецЕсли; 
			КонецЕсли; 
		КонецЦикла;  
	КонецЕсли; 
КонецПроцедуры
И нефиг на 1С гнать, если руки кривые!

вкусите множество сексуальных наслаждений с нашей новой платформой... (с) 1С. Ну вы поняли...
...
Рейтинг: 0 / 0
23.12.2009, 00:36
    #36381113
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
жесть, как говорится
...
Рейтинг: 0 / 0
23.12.2009, 00:39
    #36381116
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
Код: plaintext
		Пока вЕстьОшибка =  1  Цикл и т.д.
если все по такому принципу написано в конфигурациях, то вполне понятно почему не рекомендуется использовать при большом количестве пользователей.
...
Рейтинг: 0 / 0
23.12.2009, 00:40
    #36381117
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
И нефиг на 1С гнать, если руки кривые!
...
Рейтинг: 0 / 0
23.12.2009, 00:44
    #36381120
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
последнее случайно вырвалось
...
Рейтинг: 0 / 0
23.12.2009, 10:24
    #36381470
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
skmdeveloper Если я создам две накладные в 1С 8.1 но не запишу их у нихПока вы их не записали, их нет. Они есть только на вашем экране.
...
Рейтинг: 0 / 0
23.12.2009, 11:46
    #36381714
vvp11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
skmdeveloper,

Автор то, что кто-то руками недоучек-студентов пишет мегакод, не должно тебя печалить.
Проблемы создать уникальный номер для каждого документа при имеющемся инструментарии -
дело простое. Как вариант, делаешь компонент-нумератор, который в соответствии с принятыми
в организации правилами выдает номер документа. Хочешь пропускай, хочешь при сохранении его вызывай.
Тут главное, чтобы в организации не было фанатов смены формата каждые полгода, а то так и будешь этот компонент править и ошибки отлавливать:)
...
Рейтинг: 0 / 0
23.12.2009, 12:00
    #36381760
R
R
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
LSVskmdeveloper Если я создам две накладные в 1С 8.1 но не запишу их у нихПока вы их не записали, их нет. Они есть только на вашем экране.
И что? Номера-то уже выделены.
...
Рейтинг: 0 / 0
23.12.2009, 14:36
    #36382245
Coolibin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
vvp11Проблемы создать уникальный номер для каждого документа при имеющемся инструментарии - дело простое. Как вариант, делаешь компонент-нумератор, который в соответствии с принятыми в организации правилами выдает номер документа. Хочешь пропускай, хочешь при сохранении его вызывай.

Простое? Это только на первый взгляд. А если нумерация должна быть непрерывная, без дырок? А если система предусматривает печать еще несохраненного документа, а вы вдруг при сохранения предлагаете номер документа поменять?

Выше давали ссылку на устройство механизма в Аксапте. Там настраиваются и суффиксы и префиксы, и на ходу настройки можно менять, сделано достаточно надежно. Хотя почему бы не придумать велосипед.
...
Рейтинг: 0 / 0
23.12.2009, 14:59
    #36382334
skmdeveloper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
Все понял буду делать.
...
Рейтинг: 0 / 0
23.12.2009, 15:18
    #36382406
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
Coolibin А если система предусматривает печать еще несохраненного документа, а вы вдруг при сохранения предлагаете номер документа поменять?

Это технологическая ошибка - на печать выдан несуществующий документ.
...
Рейтинг: 0 / 0
23.12.2009, 15:29
    #36382445
vvp11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
Coolibinvvp11Проблемы создать уникальный номер для каждого документа при имеющемся инструментарии - дело простое. Как вариант, делаешь компонент-нумератор, который в соответствии с принятыми в организации правилами выдает номер документа. Хочешь пропускай, хочешь при сохранении его вызывай.

Простое? Это только на первый взгляд. А если нумерация должна быть непрерывная, без дырок? А если система предусматривает печать еще несохраненного документа, а вы вдруг при сохранения предлагаете номер документа поменять?

Выше давали ссылку на устройство механизма в Аксапте. Там настраиваются и суффиксы и префиксы, и на ходу настройки можно менять, сделано достаточно надежно. Хотя почему бы не придумать велосипед.

В данном случае просто опыт имеется, поэтому и утверждаю, что несложно.
Ссылка на Аксапту полезная.
Ну а аксиому нельзя автоматизировать хаос никто не отменял, зачем же Вы сначала документы печатаете, а потом сохраняете?
...
Рейтинг: 0 / 0
23.12.2009, 15:59
    #36382562
trdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
mcureenabCoolibin А если система предусматривает печать еще несохраненного документа, а вы вдруг при сохранения предлагаете номер документа поменять?
Это технологическая ошибка - на печать выдан несуществующий документ.
+500
У меня такое себе не может себе позволить даже пользователь с правами Администратора.
...
Рейтинг: 0 / 0
23.12.2009, 17:03
    #36382757
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О нумерации документов.
trdmmcureenabCoolibin А если система предусматривает печать еще несохраненного документа, а вы вдруг при сохранения предлагаете номер документа поменять?
Это технологическая ошибка - на печать выдан несуществующий документ.
+500
У меня такое себе не может себе позволить даже пользователь с правами Администратора.черновик распечатать, таким образом, нельзя получается? Жестоко вы с юзверями, имхо, поступаете
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / О нумерации документов. / 25 сообщений из 61, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]