документы, автоматическаянумерация, номера документов
15.07.2002
13:44
#1
Нумератор документу не назначен, при автонумерации следующий номер получается прибавлением единицы к самому большому уже существующему номеру. Можно ли сделать так чтобы номер с которого будет происходить автонумерация в дальнейшем был меньше чем самый большой (уже существующий), если учесть что номеров от меньшего до больщего еще нет? Можноли это сделать не изменяя код?
18.07.2002
12:34
#2
"Изменить номер без изменения кода можно только в ручную.
У меня была когда-то такая проблема, я решил ее изменив код. Если захотите проделать тоже, перед работой !!!ОБЯЗАТЕЛЬНО!!! сохраните свою базу, и попробуйте сделать тоже, если не понравится можете восстановить свою базу.
В модуле Вашего документа, назовем его Х (название документа в конфигураторе), в преопределенной процедуре "ВводНового" после строки
Процедура ВводНового(Копирование)
Вставьте следующий код:
Конец = Число(НомерДок);
Док = СоздатьОбъект("Документ.Х"); // Не забудьте Х – название Ваше документа
//в конфигураторе
Для Порядок =1 по Конец Цикл
Док.ВыбратьДокументы();
Если Док.ПолучитьДокумент() = 0 Тогда
Возврат
КонецЕсли;
Ном = Число(НомерДок);
Если Порядок = Ном Тогда
продолжить
Иначе
НомерДок = Строка(Порядок);
Для А =1 по (СтрДлинА(НомерДок) - СтрДлина(Строка(Порядок))) Цикл
НомерДок = ("0" + НомерДок)
КонецЦикла;
Возврат
КонецЕсли;
КонецЦикла;
Вот так я, исправил недостаток программы 1С.
Приятной работы.
"
У меня была когда-то такая проблема, я решил ее изменив код. Если захотите проделать тоже, перед работой !!!ОБЯЗАТЕЛЬНО!!! сохраните свою базу, и попробуйте сделать тоже, если не понравится можете восстановить свою базу.
В модуле Вашего документа, назовем его Х (название документа в конфигураторе), в преопределенной процедуре "ВводНового" после строки
Процедура ВводНового(Копирование)
Вставьте следующий код:
Конец = Число(НомерДок);
Док = СоздатьОбъект("Документ.Х"); // Не забудьте Х – название Ваше документа
//в конфигураторе
Для Порядок =1 по Конец Цикл
Док.ВыбратьДокументы();
Если Док.ПолучитьДокумент() = 0 Тогда
Возврат
КонецЕсли;
Ном = Число(НомерДок);
Если Порядок = Ном Тогда
продолжить
Иначе
НомерДок = Строка(Порядок);
Для А =1 по (СтрДлинА(НомерДок) - СтрДлина(Строка(Порядок))) Цикл
НомерДок = ("0" + НомерДок)
КонецЦикла;
Возврат
КонецЕсли;
КонецЦикла;
Вот так я, исправил недостаток программы 1С.
Приятной работы.
"
Читают тему
(гостей: 1)