Восстановление нумерации. Лидирующие нули

1. sys1c 13.05.19 05:48 Сейчас в теме
Всем привет.
Бухи убрали один лидирующий ноль и нумерация стала

вместо

АА0000100
АА000100

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

Ищу самый максимальный "правильны" номер. В документе с неправильным номером задаю "правильный" + 1.
и вызываю

	
        ОбМет = ЭтаФорма.сч.Ссылка.Метаданные(); //<- Ссылка на документ с правильным+1 номером
	ОбновитьНумерациюОбъектов(ОбМет);


Затем запросом вытаскиваю все остальные документы с длиной номера между нужной и в переборе задаю им УстановитьНовыйНомер("АА);
Не достающий нуль все равно не появляется.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ZergKRSK 130 13.05.19 06:44 Сейчас в теме
(1) пройтись Универсальной обработкой не вариант?
3. dchumak 42 13.05.19 06:56 Сейчас в теме
Перенумеровать через универсальную обработку.
Программа восстановит нумерацию.
4. catena 110 13.05.19 07:10 Сейчас в теме
Нужно сперва убрать неправильные номера, а потом запускать обновление нумерации.
Описание:

Выполняет обновление номеров в соответствии с номерами, записанными в базе данных.
5. гаврюша 3 13.05.19 12:30 Сейчас в теме
Я бы сделала выборкой в цикле, как-то так:
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	НужныйДокумент.Ссылка КАК Документ,
		|	НужныйДокумент.Номер  КАК НомерДокумента
		|ИЗ
		|	Документ.НужныйДокумент КАК НужныйДокумент
		|ГДЕ
		|	НужныйДокумент.Номер < 555";

	Выборка = Запрос.Выполнить().Выбрать();

	Ном = Max(...ПравильныйНомер); 
	Пока Выборка.Следующий() Цикл
		      Ном = Ном+1;
		НомДок = Документы.НужныйДокумент.Выбрать(Выборка.Документ);
		НомДок.ПолучитьОбъект();
		НомДок.Номер = Ном;
		НомДок.Записать;
	КонецЦикла;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот