Как правильно обновить конфигурацию 1С при наличии установленных расширений

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

Обновление типовой конфигурации 1С, такой как 1С:Бухгалтерия 8, — процедура стандартная, но она существенно усложняется, если в базе используются расширения. Особенно остро стоит вопрос, когда разработчик расширения неизвестен, а документация по внесенным изменениям отсутствует. В данной статье мы подробно разберем, как подготовиться к обновлению, минимизировать риски потери данных и гарантировать работоспособность системы после завершения всех этапов.

Предварительная подготовка и оценка рисков

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

Разберем первый и самый важный этап — создание полигона для испытаний. Никогда не проводите обновление сразу на рабочей базе. Сначала мы создаем полную копию информационной базы и выполняем все действия на ней. Рассмотрим последовательность шагов:

  1. Выполняем выгрузку информационной базы (создаем dt-файл или копию файла 1Cv8.1CD).
  2. Разворачиваем копию на тестовом сервере или локальном компьютере.
  3. Проверяем, под какими пользователями запущены сеансы, и убеждаемся, что в тестовой базе никто не работает.

Стратегия работы с расширениями: отключать или нет?

Среди специалистов существует две точки зрения на то, нужно ли деактивировать расширения перед обновлением. Проанализируем обе позиции, чтобы выбрать наиболее безопасный путь.

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

Вариант 2: Оставить включенным. Существует риск, что если расширение вносит изменения в движения документов (например, корректирует проводки в момент проведения), а обновление системы инициирует массовое перепроведение документов, то без активного расширения эти специфические проводки могут быть потеряны. Однако для типовых конфигураций БСП (Библиотека стандартных подсистем) автоматическое перепроведение всех документов при обновлении — редкость, чаще выполняются точечные обработчики данных.

Рекомендация: Если вы не знаете точно, что делает расширение "КК", лучше всего сначала проверить его содержимое. Если оно не влияет на проведение документов, деактивация — более безопасный выбор.

Особое внимание патчам (расширениям с префиксом EF_)

Проанализируем специфические объекты, которые часто встречаются в списке расширений — патчи от компании 1С. Они имеют имена вида EF_ИмяОшибки. Рассмотрим, как с ними работать. Эти расширения предназначены для оперативного исправления ошибок в текущем релизе. При установке нового релиза эти исправления обычно уже включены в основной код. Если их не удалить, может возникнуть конфликт имен или логики.

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

Пошаговый алгоритм грамотного обновления

Рассмотрим детальный план действий, который минимизирует вероятность ошибок:

  1. Блокировка базы: В консоли администрирования или через параметры запуска блокируем начало новых сеансов и выполнение регламентных заданий.
  2. Удаление патчей 1С: Открываем меню "Конфигурация" — "Расширения конфигурации" и удаляем все объекты с префиксом EF_.
  3. Деактивация кастомных расширений: Снимаем флаг "Активно" у расширения "КК" (и других сторонних расширений).
  4. Обновление конфигурации: Выполняем стандартную процедуру обновления через cfu-файл или поиск обновлений. Сначала обновляем основную конфигурацию, затем выполняем "Обновить конфигурацию базы данных" (F7).
  5. Первый запуск: Запускаем базу в режиме "Предприятие" под правами администратора. Ждем завершения всех легальных обработчиков обновления данных. Проверяем раздел "Обслуживание" — "Результаты обновления программы".
  6. Активация расширения: Снова заходим в список расширений и включаем флаг "Активно".
  7. Проверка применимости: В окне управления расширениями нажимаем кнопку "Проверить применимость". Платформа проанализирует соответствие метаданных. Если возникли критические ошибки (красные иконки), расширение не подключится.

Технический анализ расширения после обновления

Даже если проверка применимости прошла успешно, это не гарантирует корректную работу бизнес-логики. Проанализируем ситуацию глубже. Нам необходимо зайти в конфигуратор расширения и проверить ключевые точки.

Выясним, какие аннотации используются в модулях расширения. Это критически важно для понимания стабильности системы:

Пример кода, на который стоит обратить внимание в расширении:


&Вместо("РассчитатьСуммуДокумента")
Процедура КК_РассчитатьСуммуДокумента(Параметры)
    // Если здесь старый код из прошлого релиза, 
    // новые налоги или скидки могут не посчитаться!
    СтандартнаяОбработка = Ложь;
    ...
КонецПроцедуры

Если вы обнаружили аннотации &Вместо, необходимо вручную сравнить код расширения с новым кодом основной конфигурации. Для этого удобно использовать инструменты сравнения текстов или специализированные скрипты, такие как diff3cf на базе OneScript.

Проверка пользовательского интерфейса

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

В этом случае придется:

  1. Открыть форму в редакторе расширения.
  2. Найти отсутствующие связи.
  3. Заново перенести нужные элементы из основной конфигурации или поправить программное обращение к ним.

Итоги и финальное тестирование

После того как все технические проверки в Конфигураторе завершены, переходим к функциональному тестированию в режиме "Предприятие":

Только после того, как на тестовой копии пройдены все этапы и подтверждена корректность данных, мы повторяем ту же последовательность действий на рабочей базе, предварительно сделав еще один свежий бэкап.

← На главную