Обновление типовой конфигурации 1С, такой как 1С:Бухгалтерия 8, — процедура стандартная, но она существенно усложняется, если в базе используются расширения. Особенно остро стоит вопрос, когда разработчик расширения неизвестен, а документация по внесенным изменениям отсутствует. В данной статье мы подробно разберем, как подготовиться к обновлению, минимизировать риски потери данных и гарантировать работоспособность системы после завершения всех этапов.
Прежде чем приступать к любым манипуляциям с рабочей базой, проанализируем текущую ситуацию. Расширение может изменять формы, добавлять новые реквизиты или, что наиболее критично, перехватывать выполнение типовых процедур и функций. Главная опасность при обновлении заключается в том, что структура основной конфигурации может измениться настолько, что расширение либо перестанет подключаться, либо начнет работать некорректно, искажая данные.
Разберем первый и самый важный этап — создание полигона для испытаний. Никогда не проводите обновление сразу на рабочей базе. Сначала мы создаем полную копию информационной базы и выполняем все действия на ней. Рассмотрим последовательность шагов:
dt-файл или копию файла 1Cv8.1CD).Среди специалистов существует две точки зрения на то, нужно ли деактивировать расширения перед обновлением. Проанализируем обе позиции, чтобы выбрать наиболее безопасный путь.
Вариант 1: Деактивация (Снятие галочки "Активно"). Этот метод гарантирует, что само обновление конфигурации и последующие обработчики обновления данных в режиме 1С:Предприятие пройдут на "чистом" типовом коде. Это исключает ошибки, вызванные вмешательством расширения в алгоритмы записи объектов.
Вариант 2: Оставить включенным. Существует риск, что если расширение вносит изменения в движения документов (например, корректирует проводки в момент проведения), а обновление системы инициирует массовое перепроведение документов, то без активного расширения эти специфические проводки могут быть потеряны. Однако для типовых конфигураций БСП (Библиотека стандартных подсистем) автоматическое перепроведение всех документов при обновлении — редкость, чаще выполняются точечные обработчики данных.
Рекомендация: Если вы не знаете точно, что делает расширение "КК", лучше всего сначала проверить его содержимое. Если оно не влияет на проведение документов, деактивация — более безопасный выбор.
Проанализируем специфические объекты, которые часто встречаются в списке расширений — патчи от компании 1С. Они имеют имена вида EF_ИмяОшибки. Рассмотрим, как с ними работать. Эти расширения предназначены для оперативного исправления ошибок в текущем релизе. При установке нового релиза эти исправления обычно уже включены в основной код. Если их не удалить, может возникнуть конфликт имен или логики.
В современных версиях платформы реализованы механизмы автоматического удаления неактуальных патчей, но ручной контроль необходим. Перед обновлением рекомендуется удалить все расширения, начинающиеся на EF_.
Рассмотрим детальный план действий, который минимизирует вероятность ошибок:
EF_.cfu-файл или поиск обновлений. Сначала обновляем основную конфигурацию, затем выполняем "Обновить конфигурацию базы данных" (F7).Даже если проверка применимости прошла успешно, это не гарантирует корректную работу бизнес-логики. Проанализируем ситуацию глубже. Нам необходимо зайти в конфигуратор расширения и проверить ключевые точки.
Выясним, какие аннотации используются в модулях расширения. Это критически важно для понимания стабильности системы:
&Вместо (Instead) — самый опасный вариант. Если 1С в новом релизе изменила код в типовой функции, а ваше расширение ее полностью замещает своим старым кодом, вы фактически "откатываете" изменения обновления в этом конкретном месте.&ИзменениеИКонтроль (ChangeAndControl) — наиболее предпочтительный метод. Если типовой код изменился, расширение просто выдаст ошибку, и вы сможете визуально сравнить изменения.Пример кода, на который стоит обратить внимание в расширении:
&Вместо("РассчитатьСуммуДокумента")
Процедура КК_РассчитатьСуммуДокумента(Параметры)
// Если здесь старый код из прошлого релиза,
// новые налоги или скидки могут не посчитаться!
СтандартнаяОбработка = Ложь;
...
КонецПроцедуры
Если вы обнаружили аннотации &Вместо, необходимо вручную сравнить код расширения с новым кодом основной конфигурации. Для этого удобно использовать инструменты сравнения текстов или специализированные скрипты, такие как diff3cf на базе OneScript.
Часто расширения модифицируют формы: добавляют кнопки, скрывают поля или меняют их расположение. Посмотрим на список объектов расширения в ветке "Формы". Если напротив формы стоит восклицательный знак, значит, связь с оригинальной формой потеряна (например, 1С удалила или переименовала элемент, к которому "привязывалось" расширение).
В этом случае придется:
После того как все технические проверки в Конфигураторе завершены, переходим к функциональному тестированию в режиме "Предприятие":
Только после того, как на тестовой копии пройдены все этапы и подтверждена корректность данных, мы повторяем ту же последовательность действий на рабочей базе, предварительно сделав еще один свежий бэкап.