Восстановление нумерации. Лидирующие нули
Всем привет.
Бухи убрали один лидирующий ноль и нумерация стала
вместо
АА0000100
АА000100
Просто пройтись и добавить не достающий нуль не могу, номера задублируются понятно.
Прочитал про ОбновитьНумерациюОбъектов, но что-то делают не так.
Ищу самый максимальный "правильны" номер. В документе с неправильным номером задаю "правильный" + 1.
и вызываю
Затем запросом вытаскиваю все остальные документы с длиной номера между нужной и в переборе задаю им УстановитьНовыйНомер("АА);
Не достающий нуль все равно не появляется.
Бухи убрали один лидирующий ноль и нумерация стала
вместо
АА0000100
АА000100
Просто пройтись и добавить не достающий нуль не могу, номера задублируются понятно.
Прочитал про ОбновитьНумерациюОбъектов, но что-то делают не так.
Ищу самый максимальный "правильны" номер. В документе с неправильным номером задаю "правильный" + 1.
и вызываю
ОбМет = ЭтаФорма.сч.Ссылка.Метаданные(); //<- Ссылка на документ с правильным+1 номером
ОбновитьНумерациюОбъектов(ОбМет);
Затем запросом вытаскиваю все остальные документы с длиной номера между нужной и в переборе задаю им УстановитьНовыйНомер("АА);
Не достающий нуль все равно не появляется.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Я бы сделала выборкой в цикле, как-то так:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НужныйДокумент.Ссылка КАК Документ,
| НужныйДокумент.Номер КАК НомерДокумента
|ИЗ
| Документ.НужныйДокумент КАК НужныйДокумент
|ГДЕ
| НужныйДокумент.Номер < 555";
Выборка = Запрос.Выполнить().Выбрать();
Ном = Max(...ПравильныйНомер);
Пока Выборка.Следующий() Цикл
Ном = Ном+1;
НомДок = Документы.НужныйДокумент.Выбрать(Выборка.Документ);
НомДок.ПолучитьОбъект();
НомДок.Номер = Ном;
НомДок.Записать;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот