Сообщение от
2dos
ЗЫ Рад не вмешиваться, но когда программа ставит после 9 опять 1, и не хочет сохранять, т.к. такой номер уже есть, как тут не вмешаться
Здесь есть несколько вариантов :
1) либо у тебя длина кода один символ
- в этом случае вмешательство было на уорвне конфигуратора и кто-то изменил длину номера документа, и тебе нужно ее вернуть (или изменить в большую сторону)
2) либо у тебя тип кода текстовый , и кто-то поставил вручную номер 1 (хатя к примеру система изначально пронумеровала его как 001), и тогда действительно ебе придется перенумеровывать все документы либо вручную , либо обработкой ...
3) либо кто-то поставил префикс документа для фирмы, хотя его раньше не было , и при этом часть номера "съедается" за счет префика
и т.д.
если писать обработку , то она поидее должна иметь примерно слудующий вид (например для тестового типа кода документа)
Код:
док=СоздатьОбъект("Документ.<ИдентификаторНужногоДокумента>");
док.ВыбратьДокументы(<СКакойДатыНужно перенумеровать>,<ПоКакуюДатуНужноПеренумеровать>);
Пока док.ПолучитьДокумент()=1 Цикл
НовыйНомерДок="00000000000"+док.НомерДок;
док.НомерДок=ЛЕВ(НовыйНомерДок,<КвоЗнаковНомерДокумента>);
док.Записать();
КонецЦикла;
Социальные закладки