Обновление нетиповых конфигураций 1С — это всегда ответственная задача, требующая внимательности. Одной из наиболее неприятных проблем является ситуация, когда после слияния конфигураций (особенно при автоматизированном процессе) у документов «слетают» флаги участия в движениях по регистрам накопления. Давайте разберем, почему это происходит и как обезопасить себя от подобных ошибок.
При использовании автоматизированных инструментов (таких как «Обновлятор» или других средств массового обновления) происходит сравнение и объединение конфигураций на уровне метаданных. Если свойство объекта, например, состав движений у Документ, было изменено вами, а затем происходит автоматическое объединение с типовым релизом, инструмент может отдать приоритет настройкам поставщика. В результате ваши доработки затираются, а связи между документами и регистрами разрываются.
Наиболее современным и рекомендуемым подходом является вынос всех доработок в Расширение конфигурации. Это позволяет сохранить основную конфигурацию максимально «типовой».
РегистрНакопления.CF файла.Если специфика доработок не позволяет вынести их в расширения, рассмотрите возможность ведения своей «конфигурации поставщика». Это профессиональный метод, который позволяет системе 1С:Предприятие корректно распознавать, где проходят границы ваших изменений, а где — изменения вендора. При использовании механизма Сравнение и объединение система будет предлагать вам выбор действий для каждого конфликта, основываясь на истории изменений, а не просто перезаписывать настройки типовыми значениями.
Если вы вынуждены использовать автоматизированные инструменты, не пытайтесь обновлять конфигурацию «в один клик», если в ней есть сложные зависимости метаданных.
CF с вашими доработками для финальной сверки.Если ошибка уже произошла и записи в регистрах пропали, не паникуйте. Существует несколько способов восстановления данных:
Использование КД (Конвертации данных): Это наиболее надежный способ при серьезных сбоях. Вы можете выгрузить движения из архивной копии базы (до обновления) в файл, а затем загрузить их в обновленную базу с помощью заранее написанных правил обмена. Данный метод позволяет перенести данные, даже если структура метаданных немного изменилась.
Написание собственной обработки: Если вы обладаете навыками программирования, можно написать простую обработку, которая перепроведет документы за нужный период, либо восстановит связи, если данные в регистрах физически сохранились в виде записей, но не видны из-за сброса флагов.
// Пример логики восстановления движений через перепроведение
Для каждого Док Из СписокДокументовЦикл
ОбъектДок = Док.ПолучитьОбъект();
ОбъектДок.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;
Работа с нетиповыми конфигурациями требует дисциплины. Автоматизация процесса обновления — это удобно, но она не заменяет необходимость контроля над логикой метаданных. Чтобы избежать «засады» с потерей движений:
Помните, что автоматизированные инструменты созданы для ускорения рутины, но ответственность за целостность метаданных остается на разработчике.