Как обновить нетиповую конфигурацию 1С:Бухгалтерия с внедренным отраслевым решением УАТ?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Сфера услуг, туризм и социальный сектор
← На главную

Обновление конфигураций, в которых типовая Бухгалтерия предприятия тесно переплетена с отраслевым решением (например, Управление автотранспортом), является сложной инженерной задачей. В таких «мутантных» базах обновление стандартными средствами поставщика часто невозможно из-за того, что конфигурация была глубоко изменена и снята с поддержки. Давайте разберем по шагам, как выполнить эту процедуру, сохранив работоспособность отраслевого функционала.

Этап 1: Подготовка к обновлению

Первым делом важно осознать, что автоматическое обновление здесь не сработает. Вы фактически работаете с уникальным продуктом. Перед началом работы выполните следующие действия:

  1. Создайте полную резервную копию информационной базы.
  2. Разверните чистую типовую конфигурацию Бухгалтерия предприятия того релиза, до которого вы хотите обновиться.
  3. Сравните структуру метаданных вашей текущей базы и типовой конфигурации.

Этап 2: Процесс объединения конфигураций

Основной инструмент здесь — Сравнение и объединение конфигураций. Однако критически важно правильно настроить параметры объединения.

Важное правило: При выполнении сравнения и объединения обязательно снимите флажок Разрешить удаление объектов. Если оставить его включенным, система 1С попытается удалить отраслевые объекты, которые она считает «лишними» или «нетиповыми», что приведет к немедленной поломке функционала УАТ.

Этап 3: Обработка конфликтов метаданных

При обновлении вы неизбежно столкнетесь с дублированием имен объектов. Это происходит потому, что разработчики 1С меняют структуру Библиотеки стандартных подсистем (БСП). Часто объекты переносятся из одной подсистемы в другую. Если в вашей базе объект уже существует, а в файле обновления он появился в другом месте, 1С выдаст ошибку дублирования.

Внимательно анализируйте каждое сообщение об ошибке. Если вы видите дублирование в Подключаемом оборудовании или Зарплатных подсистемах, вам нужно вручную выбрать, какой объект оставить (обычно это новый объект из типового обновления) и перенести в него необходимые данные или связи.

Этап 4: Адаптация программного кода

После обновления метаданных база может не запуститься из-за изменений в логике БСП. Типичная ситуация — ошибки при работе с ИСМП (маркировка) или Подключаемым оборудованием. Если вы видите, что типовой код вызывает ошибку, используйте конструкцию Попытка...Исключение для временного обхода проблемных участков.

Рассмотрим пример того, как можно защитить процедуру от падения при обновлении настроек маркируемой продукции:


Процедура ЗаписатьНастройкуУчетаВидаПродукции(НастройкаУчета, Отказ) Экспорт
    УстановитьПривилегированныйРежим(Истина);
    НаборЗаписей = РегистрыСведений.НастройкиУчетаМаркируемойПродукцииИСМП.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.ВидПродукции.Установить(НастройкаУчета.ВидПродукции);
    НаборЗаписей.Прочитать();

    Если НаборЗаписей.Количество() = 0 Тогда
        СтрокаНабора = НаборЗаписей.Добавить();
        ЗаполнитьЗначенияСвойств(СтрокаНабора, НастройкаУчета);
        // ... (логика заполнения)
    Иначе
        СтрокаНабора = НаборЗаписей.Получить(0);
        ЗаполнитьЗначенияСвойств(СтрокаНабора, НастройкаУчета);
    КонецЕсли;

    Попытка
        НаборЗаписей.Записать(Истина);
    Исключение
        ОбщегоНазначения.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке),,,, Отказ);
    КонецПопытки;
КонецПроцедуры

Рекомендации по дальнейшей поддержке

Помните, что каждое следующее обновление будет приносить новые «сюрпризы» в виде конфликтов имен объектов. Чтобы минимизировать риски, придерживайтесь следующих правил:

Данная работа требует высокой квалификации. Если вы не уверены в своих силах, лучше привлечь специалиста, имеющего опыт работы с нетиповыми решениями, так как риск потери данных при неверном объединении крайне высок.

← На главную