Обновление конфигурации, в которую встроены расширения: порядок без потерь
Содержание
Обновить 1С с расширениями можно обычным способом, через Конфигуратор или помощник обновления. Расширения при этом не удаляют. Перед обновлением каждое расширение выгружают в файл .cfe, рискованные отключают снятием флажка «Активно», обновляют основную конфигурацию, а потом проверяют применимость расширений и включают их обратно.
Главный риск — не само обновление, а то, что после него расширение перестаёт подходить к новой версии типовой конфигурации. Тогда база либо стартует без доработки, либо выдаёт ошибку при входе. Порядок ниже помогает поймать это на копии, а не в рабочей базе в понедельник утром.
Что проверить перед обновлением 1С с расширениями
Сначала составьте список того, что подключено к базе. Без него вы не поймёте, какая доработка пропала после обновления.
Где посмотреть список расширений
- 🖥️ В Конфигураторе: меню
Конфигурация → Расширения конфигурации. Откроется окно со всеми расширениями базы и их свойствами. - 👤 В пользовательском режиме типовых конфигураций на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11):
Администрирование → Печатные формы, отчеты и обработки → Расширения. - 🔎 Если раздел не виден:
Все функции → Стандартные → Управление расширениями конфигурации. Пункт «Все функции» включается в настройках программы.
Что записать по каждому расширению
Сведите данные в таблицу. Она пригодится и при обновлении, и при разговоре с разработчиком доработки.
| Что фиксируем | Зачем |
|---|---|
| Имя и версия | Сравнить с тем, что останется после обновления |
| Назначение (исправление, адаптация, дополнение) | Исправления после обновления часто уже не нужны |
| Есть ли собственные данные (реквизиты, справочники) | От этого зависит, можно ли расширение удалять |
| Какие типовые объекты заимствованы | Их изменения в новом релизе ломают расширение |
| Кто автор и есть ли поддержка | Кому писать, если расширение не встанет |
Свойство «Назначение» видно в палитре свойств расширения. Оно появилось в платформе 8.3.10, у более ранних расширений поле может быть пустым.
Резервная копия и выгрузка расширений
Сделайте полную выгрузку базы: в Конфигураторе Администрирование → Выгрузить информационную базу. Файл .dt сохраняет конфигурацию, данные и расширения.
Дополнительно выгрузите каждое расширение отдельно. Откройте его дерево из окна расширений и выполните Конфигурация → Сохранить конфигурацию в файл. Получится файл .cfe. Он нужен, если придётся вернуть одно расширение, не откатывая всю базу.
Подпишите файлы так, чтобы было видно версию основной конфигурации: например, Печать_счетов_БП_3.0.170.cfe. Через полгода это сэкономит поиск.
Почему расширения мешают обновлению: монопольный режим и блокировки
Расширение хранится в самой информационной базе, отдельно от основной конфигурации. Платформа подключает его к типовой конфигурации при запуске сеанса. Если основная конфигурация изменилась, расширение заново проверяется на совместимость.
Когда нужен монопольный режим
Обновление типовой конфигурации почти всегда меняет структуру данных: появляются новые реквизиты, регистры, индексы. Для такой реструктуризации платформе нужен монопольный доступ к базе. Пока в базе есть сеансы пользователей, фоновые задания или подключения через COM и веб-сервисы, обновление структуры не начнётся.
Расширения с собственными данными добавляют в базу свои таблицы. Например, если расширение добавило реквизит к документу, этот реквизит хранится в отдельной таблице, связанной с таблицей документа. Поэтому базу освобождают целиком: сеансы, которые работают с данными расширения, тоже должны быть завершены.
Как освободить базу
- Предупредите пользователей о времени работ и попросите выйти.
- В пользовательском режиме конфигураций на БСП откройте
Администрирование → Обслуживание → Блокировка работы пользователейи установите блокировку. Сеансы завершатся с предупреждением. - В клиент-серверном варианте проверьте сеансы в консоли администрирования кластера. Там же видны фоновые задания.
- Для файловой базы убедитесь, что никто не держит файл
1Cv8.1CDоткрытым, в том числе через общую папку.
Принудительное завершение сеансов обрывает работу пользователей: несохранённые документы пропадут. Делайте это вне рабочего времени и только после предупреждения.
Какие расширения отключать перед обновлением, а какие нет
Отключать всё подряд не обязательно. Расширение, которое только добавляет новую печатную форму или отчёт и ничего не меняет в типовых объектах, обычно переживает обновление без проблем.
| Тип расширения | Риск после обновления | Что делать |
|---|---|---|
| Новые отчёты, обработки, печатные формы без заимствований | Низкий | Оставить включённым |
| Заимствованные формы типовых документов | Средний: форма в релизе могла измениться | Отключить на время, проверить после |
Перехват методов через &Перед, &После, &Вместо | Средний: метод могли переименовать или удалить | Проверить на копии |
Изменение кода через &ИзменениеИКонтроль | Высокий: любая правка исходного метода ломает расширение | Отключить, проверить, поправить |
| Исправление ошибки типовой конфигурации | Возможно, ошибка уже исправлена в релизе | Проверить, нужно ли расширение вообще |
| Расширение с собственными данными | Данные теряются при удалении | Только отключать, никогда не удалять |
Почему &ИзменениеИКонтроль — главный кандидат на отключение
Эта аннотация появилась в платформе 8.3.16. Расширение хранит копию исходного текста метода и при подключении сверяет её с текущим текстом в конфигурации. Если разработчики типовой в новом релизе поправили в этом методе хотя бы одну строку, расширение перестаёт быть применимым.
Перехваты через &Перед и &После устойчивее: им важно лишь, чтобы метод с тем же именем и параметрами существовал.
Как отключить расширения перед обновлением конфигурации
Отключение — это снятие флажка «Активно». Расширение и его данные остаются в базе, просто платформа перестаёт его подключать.
Через Конфигуратор
- Откройте
Конфигурация → Расширения конфигурации. - Найдите нужное расширение в списке.
- Снимите флажок в колонке «Активно».
- Повторите для остальных рискованных расширений.
Флажок «Активно» есть в платформе начиная с 8.3.12. В более старых версиях отключить расширение
без удаления нельзя, поэтому выгрузка в .cfe там обязательна.
В пользовательском режиме
В списке Администрирование → Печатные формы, отчеты и обработки → Расширения откройте карточку расширения и снимите флажок, отвечающий за подключение. Изменения вступят в силу при следующем входе в программу.
Не путайте отключение с удалением. При удалении расширения платформа удаляет и все данные, которые оно хранило: дополнительные реквизиты, записи своих справочников и регистров. Вернуть их можно только из резервной копии.
Что делать с безопасным режимом
У каждого расширения есть свойство «Безопасный режим». Оно ограничивает доступ к файлам, внешним компонентам и COM. Перед обновлением его не трогают. Но если после обновления расширение не подключается, проверьте, не сменил ли кто-то этот флажок: расширение, которому нужен файловый доступ, в безопасном режиме упадёт уже при работе.
Процесс обновления конфигурации при подключённых расширениях
Сама процедура не отличается от обновления базы без расширений. Расширения не входят в файл обновления .cfu и не перезаписываются им.
Пробный прогон на копии
- Разверните выгрузку
.dtв новую пустую базу:Администрирование → Загрузить информационную базу. - Обновите копию тем же способом, что и рабочую.
- Включите расширения и проверьте их (см. следующий раздел).
- Только если на копии всё сработало, повторяйте на рабочей базе.
Обновление в Конфигураторе
- Откройте основную конфигурацию:
Конфигурация → Открыть конфигурацию. - Выполните
Конфигурация → Поддержка → Обновить конфигурациюи укажите файл.cfuили.cfнового релиза. - Дождитесь сравнения и нажмите «Выполнить».
- Запустите
Конфигурация → Обновить конфигурацию базы данных(клавишаF7) и примите изменения структуры. - Запустите базу в режиме «1С:Предприятие» под администратором: начнётся обработка обновления данных.
Если между текущей версией и нужной несколько промежуточных релизов, проходите их по очереди. Список допустимых переходов указан в описании каждого релиза.
Через помощник обновления в программе
В конфигурациях на БСП есть встроенный помощник «Обновление версии программы» в разделе Администрирование. Он сам скачивает релиз через интернет
-поддержку, делает резервную копию и устанавливает блокировку. Расширения он не удаляет. Если какое-то расширение не подходит к новой версии, программа сообщит об этом при запуске.
Для баз с расширениями &ИзменениеИКонтроль надёжнее обновлять через Конфигуратор на копии: так вы увидите проблему до того, как рабочая база запустится без доработки.
Включение расширений после обновления и проверка их работы
Обновили основную конфигурацию — теперь возвращаем расширения по одному. Так проще понять, какое из них вызывает ошибку.
Проверка применимости
- В окне
Конфигурация → Расширения конфигурацииоткройте дерево расширения. - Запустите проверку применимости расширения к текущей конфигурации: команда находится в меню
Конфигурацияпри открытом дереве расширения. - Изучите список сообщений. Каждое указывает на конкретный заимствованный объект или метод.
- Если сообщений нет, установите флажок «Активно».
Как починить расширение
| Проблема | Что сделать |
|---|---|
Изменился текст метода под &ИзменениеИКонтроль | Сравнить новый текст метода с копией в расширении, перенести свои вставки, обновить копию |
| Заимствованный объект удалён из типовой | Удалить заимствование и переписать доработку на новый объект |
| Изменилась заимствованная форма | Сравнить формы, при необходимости заново заимствовать форму и перенести свои элементы |
| Метод переименован или изменились параметры | Найти новый метод и перенести обработчик &Перед, &После или &Вместо |
После правки сохраните расширение и выполните «Обновить конфигурацию базы данных» для него. Загрузка .cfe и обновление конфигурации
базы — это два отдельных шага: пока второй не выполнен, изменения не действуют.
Что проверить руками
- 🧾 Открыть форму каждого документа, у которого есть заимствованная форма.
- 🖨️ Сформировать печатные формы из расширения.
- 📊 Построить отчёты, добавленные расширением.
- 🔁 Провести тестовый документ, если расширение перехватывает проведение.
- 📌 Убедиться, что дополнительные реквизиты из расширения на месте и заполнены.
Нужно ли расширение после обновления
Если расширение исправляло ошибку типовой конфигурации, прочитайте описание нового релиза. Возможно, разработчики уже исправили ошибку, и расширение будет дублировать логику. Такое исправление лучше оставить выключенным и удалить позже, когда убедитесь, что своих данных у него нет.
Ошибки при обновлении 1С с расширениями и как их исправить
Чаще всего проблемы проявляются при первом запуске после обновления. Ниже — симптомы и порядок действий.
Откат одного расширения
Если расширение после правки работает хуже прежнего, удалять его не нужно. Откройте дерево расширения и выполните Конфигурация → Загрузить конфигурацию из файла, указав сохранённый .cfe. Затем обновите конфигурацию базы данных. Если в новой версии расширения удалены реквизиты или объекты с данными, при обновлении структуры платформа предупредит об их удалении: в этом месте остановитесь и проверьте, что именно пропадёт.
Если версии расширения несовместимы с новым релизом, загрузка старого .cfe ничего не даст: проблему придётся решать правкой кода.