PDA

Просмотр полной версии : Автонумерация



2dos
23.02.2007, 10:55
v 7.7
Забыл поставить в счетах и накладных в начале года пару нулей, и после 10 номера нумерация сбивается на 1 - приходиться править вручную, подскажите, где поправить..

Andriano
23.02.2007, 13:02
Сначала исправить длину номера, а потом сделать обработку, которая старые перенумерует.

Mulder_1
23.02.2007, 18:11
по поводу нумерации ...
здесь принцип такой или система сама всегда ставит номера и ты не вмешиваешся , или ты сам "царь природы" и проставляешь номера вручную ...

а так обработка тебе поможет ...

2dos
25.02.2007, 10:38
Т.е. ставлю первый документ, например не "1", а "0001", и делаю обработку (кстати, что именно за обработку, если не сложно)?

ЗЫ Рад не вмешиваться, но когда программа ставит после 9 опять 1, и не хочет сохранять, т.к. такой номер уже есть, как тут не вмешаться ;)

Mulder_1
25.02.2007, 15:29
ЗЫ Рад не вмешиваться, но когда программа ставит после 9 опять 1, и не хочет сохранять, т.к. такой номер уже есть, как тут не вмешаться ;)

Здесь есть несколько вариантов :
1) либо у тебя длина кода один символ
- в этом случае вмешательство было на уорвне конфигуратора и кто-то изменил длину номера документа, и тебе нужно ее вернуть (или изменить в большую сторону)
2) либо у тебя тип кода текстовый , и кто-то поставил вручную номер 1 (хатя к примеру система изначально пронумеровала его как 001), и тогда действительно ебе придется перенумеровывать все документы либо вручную , либо обработкой ...
3) либо кто-то поставил префикс документа для фирмы, хотя его раньше не было , и при этом часть номера "съедается" за счет префика

и т.д.

если писать обработку , то она поидее должна иметь примерно слудующий вид (например для тестового типа кода документа)


док=СоздатьОбъект("Документ.<ИдентификаторНужногоДокумента>");
док.ВыбратьДокументы(<СКакойДатыНужно перенумеровать>,<ПоКакуюДатуНужноПеренумеровать>);
Пока док.ПолучитьДокумент()=1 Цикл
НовыйНомерДок="00000000000"+док.НомерДок;
док.НомерДок=ЛЕВ(НовыйНомерДок,<КвоЗнаковНомерДокумента>);
док.Записать();
КонецЦикла;