Исправления к конфигурации 1С из файла: подготовка, установка, откат
Содержание
Патч 1С — это файл исправления (.cfe или архив .zip с ним внутри), который ставится поверх конкретного релиза конфигурации как расширение с назначением «Исправление». Вручную его устанавливают в самой программе: Администрирование → Обслуживание → Обновление версии программы, ссылка на установку исправлений, затем выбор файла. Перед этим сверяют номер релиза базы со списком релизов, для которых выпущен патч, и делают резервную копию.
Патчи нужны, когда ошибка в типовой конфигурации уже найдена фирмой 1С, а следующий релиз ещё не вышел. Исправление закрывает одну-две проблемы, ставится за пару минут и не меняет саму конфигурацию. Главное при ручной установке — порядок действий и проверка релиза, тогда патч встаёт без ошибок.
Подготовка базы перед установкой патча
Патч меняет поведение программы во всех сеансах. Если он конфликтует с вашими доработками, база может перестать открываться у пользователей. Поэтому подготовка обязательна.
Резервная копия
Перед любой установкой исправлений сделайте резервную копию базы . Способ зависит от варианта работы:
| Вариант базы | Как сделать копию | Комментарий |
|---|---|---|
| Файловая | Скопировать каталог с файлом 1Cv8.1CD | Все пользователи должны выйти из базы |
| Файловая или серверная | Конфигуратор → Администрирование → Выгрузить информационную базу (.dt) | Универсальный способ, файл можно загрузить в пустую базу |
| Серверная на PostgreSQL или MS SQL | Бэкап средствами СУБД | Быстрее выгрузки .dt на больших базах |
Проверка системы
Перед установкой проверьте четыре вещи:
- 🔎 Точный релиз конфигурации.
Справка → О программе(значок «i» или меню в правом верхнем углу). Нужен полный номер, например3.0.155.21, а не «3.0». - 🔎 Версия платформы. Там же. Пригодится, если вместе с патчем вы планируете обновлять и релиз.
- 🔎 Права пользователя. Устанавливать патчи может пользователь с полными правами (роль администратора). Обычному бухгалтеру команда недоступна.
- 🔎 Свои расширения. В списке расширений (
Администрирование → Печатные формы, отчёты и обработки → Расширения) посмотрите, что уже подключено. Доработки, которые меняют тот же модуль, что и патч, — главный источник конфликтов.
Если база на поддержке у программиста, сообщите ему о патче заранее. Он сразу скажет, трогает ли исправление те же объекты, что и доработки.
Где взять официальный патч и как понять, что он ваш
Официальные исправления фирма 1С публикует на портале поддержки, в разделе с обновлениями конфигураций. Доступ к ним есть у пользователей с действующей подпиской ИТС. Скачивать патчи с форумов и файлообменников нельзя: под видом исправления может прийти что угодно.
Как выглядит файл исправления
- 📦 Архив
.zipс файлом.cfeи описанием внутри, или отдельный файл.cfe. - 🏷 Имя исправления начинается с префикса
EF_и содержит номер, напримерEF_00_00412345. Под этим же именем расширение потом видно в списке. - 📝 К патчу прилагается описание: какую ошибку исправляет и для каких релизов конфигурации предназначен.
Проверка совместимости
Исправление выпускается под конкретный релиз или узкий набор релизов. Сравните номер из Справка → О программе со списком в описании патча:
- ✅ Номер совпадает с одним из перечисленных — патч можно ставить.
- ❌ Вашего номера нет — не ставьте. Либо найдите патч под ваш релиз, либо обновите конфигурацию до релиза, где ошибка уже исправлена.
Бывает, что ошибку исправили в следующем релизе. Тогда обновление конфигурации надёжнее патча: исправление уже в коде, и не нужно следить за лишним расширением.
Порядок установки: платформа, конфигурация, патчи
Если вы ставите патч на текущий релиз и ничего больше не обновляете, сразу переходите к шагам установки. Если же собираетесь заодно обновиться, соблюдайте последовательность.
| Шаг | Что делаем | Почему именно здесь |
|---|---|---|
| 1 | Обновляем платформу, если новый релиз конфигурации требует номер не ниже указанного | Иначе обновление конфигурации не запустится |
| 2 | Обновляем конфигурацию до нужного релиза | Патчи привязаны к номеру релиза |
| 3 | Ставим патчи для нового релиза | Старые патчи к новому релизу обычно уже неприменимы |
Способ 1. Из режима «Предприятие» (основной)
Этот способ проверяет совместимость патча с релизом и не требует Конфигуратора.
- Войдите в базу под пользователем с полными правами.
- Откройте
Администрирование → Обслуживание. - В группе обновления выберите
Обновление версии программы. - Нажмите ссылку для установки исправлений (патчей). Откроется помощник.
- Выберите один или несколько файлов
.zipили.cfeс диска. - Нажмите «Установить» и дождитесь сообщения о результате.
- Перезапустите программу. Остальным пользователям тоже нужно перезайти, чтобы получить исправление.
Если программа сообщает, что патч не подходит к текущей версии, — не обходите это через Конфигуратор. Это та самая проверка зависимостей, ради которой стоит ставить патч из программы.
Способ 2. Через Конфигуратор
Нужен, когда в режиме «Предприятие» базу не открыть или команды нет (старые релизы, нетиповые конфигурации).
- Откройте базу в Конфигураторе.
Конфигурация → Расширения конфигурации.- В окне расширений откройте меню
Конфигурации → Загрузить из файла…и укажите.cfe(из.zipего нужно сначала извлечь). - В свойствах загруженного расширения проверьте назначение «Исправление» и снимите флажок «Безопасный режим», если он установлен. Патчу нужен доступ к коду конфигурации без ограничений.
- Выполните
Конфигурации → Обновить конфигурацию базы данных. - Запустите базу в режиме «Предприятие» и проверьте исправленную операцию.
При таком способе Конфигуратор не сверяет релиз базы с описанием патча. Проверку совместимости делайте сами, по описанию исправления.
Способ 3. Через «Управление расширениями конфигурации»
В режиме «Предприятие» есть стандартная обработка платформы для работы с расширениями: Главное меню → Все функции → Стандартные → Управление расширениями конфигурации. Если пункта «Все функции» нет, включите его в параметрах программы. В обработке нажмите «Добавить» и выберите .cfe. Совместимость она тоже не проверяет, поэтому подходит только опытному администратору.
Сравнение способов
| Способ | Когда использовать | Риски |
|---|---|---|
| Из программы | Типовая конфигурация на БСП, обычная ситуация | Минимальные |
| Конфигуратор | База не открывается в «Предприятии», нужен контроль свойств | Нет проверки релиза |
| Управление расширениями | Нет доступа к Конфигуратору | Нет проверки релиза, легко забыть про безопасный режим |
Частые ошибки при ручной установке патчей
Ещё несколько ошибок, которые не видны по сообщениям программы:
- 🚫 Патч на рабочую базу без проверки на копии. Для баз с доработками сначала ставьте исправление в копию и прогоняйте сценарий, который оно чинит.
- 🚫 Распакованный
.zipвместо архива в программе. Помощник в режиме «Предприятие» принимает архив целиком, а описание из него помогает с проверкой совместимости. Не выбрасывайте архив после распаковки. - 🚫 Установка в середине рабочего дня. Сама установка не требует монопольного доступа, но после неё каждому пользователю нужно перезайти. Удобнее ставить вечером или в обед.
Исправления в распределённой информационной базе (РИБ)
В РИБ есть главный узел и подчинённые: филиалы, склады, удалённые точки. С патчами действует простое правило.
- Устанавливайте патч в главном узле. Порядок тот же, что описан выше.
- Выполните синхронизацию данных с подчинёнными узлами. Исправления передаются вместе с изменениями конфигурации.
- В подчинённом узле после получения изменений программа предложит применить их. Пользователь с полными правами подтверждает обновление.
- Убедитесь, что в списке расширений подчинённого узла появилось исправление с тем же именем
EF_….
Не ставьте патч отдельно в подчинённом узле. Узлы РИБ должны работать на одинаковой конфигурации и с одинаковым набором исправлений, иначе обмен может остановиться с ошибкой о различиях.
Если узлы обновляются не одновременно, договоритесь о порядке: сначала обмен до установки патча, затем установка в главном узле, затем обмен и применение в подчинённых. Так ни один узел не останется с «чужим» набором расширений.
Проверка результата и откат исправления
Как убедиться, что патч установлен
- ✅ Исправление появилось в списке установленных патчей на странице обновления программы.
- ✅ В списке расширений есть строка с именем
EF_…, расширение активно. - ✅ Сценарий, который давал ошибку, теперь проходит. Это главная проверка: повторите операцию на тех же данных.
- ✅ Другие пользователи после перезахода не видят новых ошибок при запуске.
Откат, если что-то пошло не так
Есть три варианта, от мягкого к радикальному:
| Вариант | Как | Когда |
|---|---|---|
| Отключить | Снять флажок активности у расширения в списке расширений | Нужно быстро вернуть работу и разобраться позже |
| Удалить | Удалить исправление в списке установленных патчей или в Конфигураторе (Конфигурация → Расширения конфигурации) | Патч точно не нужен или конфликтует |
| Восстановить из копии | Загрузить .dt или вернуть файл 1Cv8.1CD | База не запускается вовсе |
Загрузка .dt полностью заменяет базу. Всё, что пользователи ввели после выгрузки, пропадёт. Используйте этот вариант, только если отключение и удаление не помогли.
Автоматизация: командная строка и автоустановка
Автоматическая загрузка исправлений
Если база подключена к интернет-поддержке, в разделе Администрирование → Интернет-поддержка и сервисы можно включить автоматическую загрузку и установку исправлений. Программа сама скачает патчи для текущего релиза и поставит их. Это удобно для небольших баз без доработок. Для баз с серьёзными доработками надёжнее ручной контроль.
Установка патча из командной строки
Для нескольких баз удобно ставить исправление пакетным файлом. Конфигуратор умеет загружать расширение из файла и обновлять под ним структуру базы:
@echo off
set V8="C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe"
set BASE=C:\Bases\Buh
set PATCH=C:\Patches\EF_00_00412345.cfe
set EXT=EF_00_00412345
%V8% DESIGNER /F "%BASE%" /N "Администратор" /P "" /DisableStartupDialogs /LoadCfg "%PATCH%" -Extension %EXT% /Out "C:\Patches\load.log"
%V8% DESIGNER /F "%BASE%" /N "Администратор" /P "" /DisableStartupDialogs /UpdateDBCfg -Extension %EXT% /Out "C:\Patches\update.log"
Что подставить:
- 🔧 путь к
1cv8.exeпод вашу версию платформы; - 🔧 для серверной базы вместо
/F "путь"указывается/S "сервер\имя_базы"; - 🔧 имя расширения
-Extensionсовпадает с именем патча.
После запуска смотрите файлы журналов /Out: при успехе в них нет сообщений об ошибках. Скрипт не проверяет совместимость с релизом, поэтому список баз и патчей для него готовьте сами.
Для регулярного обслуживания десятков баз администраторы используют сценарии на OneScript и готовые инструменты сообщества вроде vanessa-runner. Они оборачивают те же ключи командной строки и добавляют резервное копирование перед установкой.
Частые вопросы
Нужно ли выгонять пользователей из базы для установки патча?
Сохранится ли патч после обновления конфигурации?
Можно ли установить сразу несколько патчей?
EF_….