1С 8.3 ОбновитьНумерациюОбъектов - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 ОбновитьНумерациюОбъектов

Данные > Примеры кода 1С > 1С 8.3 Документы
Перейти в раздел примеры кода 1С 8.3:
Был номер вида Префикс-День-ПоследовательныйНомер и вдруг стал просто ПоследовательныйНомер…

Есть функция ОбновитьНумерациюОбъектов(<Метаданные>)

Пример: ОбновитьНумерациюОбъектов(Метаданные.Документы.Заказ)

С ней тоже надо быть аккуратнее и лучше тестировать на копии, прежде чем выполнять в рабочей базе. Но по своей логике, она сбрасывает нумерацию и после этого при создании нового номера, он будет генерировать последовательно по максимальному номеру. Чтобы она отработала корректно, предварительно нужно поправить все «неправильные» номера в документах либо справочниках. Либо путем ручного изменения (если речь об нескольких элементах) либо написать обработку, которая по правилу присвоения номера исправит принудительно номера в «съехавших» документах. При написании такой обработки, документы как правило упорядочиваются по "Ссылка".
Классический вариант перенумерации в 1С 8.3:
Процедура ОбновитьНумерациюДокументов()

    // Получаем менеджер документов "Заказ"
    МенеджерДокументов = Документы.Заказы;

    // Получаем все документы "Заказ"
    Запрос = Новый Запрос;
    Запрос.Текст =
   "ВЫБРАТЬ
    |   Заказы.Ссылка КАК Ссылка,
    |   Заказы.Номер КАК Номер
    |ИЗ
    |   Документ.Заказы КАК Заказы
    |УПОРЯДОЧИТЬ ПО
    |   Заказы.Дата";

    РезультатЗапроса = Запрос.Выполнить();

    // Обходим все документы и обновляем номера
    Выборка = РезультатЗапроса.Выбрать();
    Счетчик = 1;

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

    Сообщить("Нумерация документов обновлена!");

КонецПроцедуры



0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 01.06.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому