Исправления к конфигурации 1С из файла: подготовка, установка, откат

· 9 мин

Содержание

Патч 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. Из режима «Предприятие» (основной)

Этот способ проверяет совместимость патча с релизом и не требует Конфигуратора.

  1. Войдите в базу под пользователем с полными правами.
  2. Откройте Администрирование → Обслуживание.
  3. В группе обновления выберите Обновление версии программы.
  4. Нажмите ссылку для установки исправлений (патчей). Откроется помощник.
  5. Выберите один или несколько файлов .zip или .cfe с диска.
  6. Нажмите «Установить» и дождитесь сообщения о результате.
  7. Перезапустите программу. Остальным пользователям тоже нужно перезайти, чтобы получить исправление.

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

Способ 2. Через Конфигуратор

Нужен, когда в режиме «Предприятие» базу не открыть или команды нет (старые релизы, нетиповые конфигурации).

  1. Откройте базу в Конфигураторе.
  2. Конфигурация → Расширения конфигурации.
  3. В окне расширений откройте меню Конфигурации → Загрузить из файла… и укажите .cfe (из .zip его нужно сначала извлечь).
  4. В свойствах загруженного расширения проверьте назначение «Исправление» и снимите флажок «Безопасный режим», если он установлен. Патчу нужен доступ к коду конфигурации без ограничений.
  5. Выполните Конфигурации → Обновить конфигурацию базы данных.
  6. Запустите базу в режиме «Предприятие» и проверьте исправленную операцию.

При таком способе Конфигуратор не сверяет релиз базы с описанием патча. Проверку совместимости делайте сами, по описанию исправления.

Способ 3. Через «Управление расширениями конфигурации»

В режиме «Предприятие» есть стандартная обработка платформы для работы с расширениями: Главное меню → Все функции → Стандартные → Управление расширениями конфигурации. Если пункта «Все функции» нет, включите его в параметрах программы. В обработке нажмите «Добавить» и выберите .cfe. Совместимость она тоже не проверяет, поэтому подходит только опытному администратору.

Сравнение способов

СпособКогда использоватьРиски
Из программыТиповая конфигурация на БСП, обычная ситуацияМинимальные
КонфигураторБаза не открывается в «Предприятии», нужен контроль свойствНет проверки релиза
Управление расширениямиНет доступа к КонфигураторуНет проверки релиза, легко забыть про безопасный режим

Частые ошибки при ручной установке патчей

Диагностика: выберите симптом

Ещё несколько ошибок, которые не видны по сообщениям программы:

  • 🚫 Патч на рабочую базу без проверки на копии. Для баз с доработками сначала ставьте исправление в копию и прогоняйте сценарий, который оно чинит.
  • 🚫 Распакованный .zip вместо архива в программе. Помощник в режиме «Предприятие» принимает архив целиком, а описание из него помогает с проверкой совместимости. Не выбрасывайте архив после распаковки.
  • 🚫 Установка в середине рабочего дня. Сама установка не требует монопольного доступа, но после неё каждому пользователю нужно перезайти. Удобнее ставить вечером или в обед.

Исправления в распределённой информационной базе (РИБ)

В РИБ есть главный узел и подчинённые: филиалы, склады, удалённые точки. С патчами действует простое правило.

  1. Устанавливайте патч в главном узле. Порядок тот же, что описан выше.
  2. Выполните синхронизацию данных с подчинёнными узлами. Исправления передаются вместе с изменениями конфигурации.
  3. В подчинённом узле после получения изменений программа предложит применить их. Пользователь с полными правами подтверждает обновление.
  4. Убедитесь, что в списке расширений подчинённого узла появилось исправление с тем же именем EF_….

Не ставьте патч отдельно в подчинённом узле. Узлы РИБ должны работать на одинаковой конфигурации и с одинаковым набором исправлений, иначе обмен может остановиться с ошибкой о различиях.

Если узлы обновляются не одновременно, договоритесь о порядке: сначала обмен до установки патча, затем установка в главном узле, затем обмен и применение в подчинённых. Так ни один узел не останется с «чужим» набором расширений.

Проверка результата и откат исправления

Как убедиться, что патч установлен

  • ✅ Исправление появилось в списке установленных патчей на странице обновления программы.
  • ✅ В списке расширений есть строка с именем EF_…, расширение активно.
  • ✅ Сценарий, который давал ошибку, теперь проходит. Это главная проверка: повторите операцию на тех же данных.
  • ✅ Другие пользователи после перезахода не видят новых ошибок при запуске.
Проверка после установки патча
Выполнено: 0 / 5

Откат, если что-то пошло не так

Есть три варианта, от мягкого к радикальному:

ВариантКакКогда
ОтключитьСнять флажок активности у расширения в списке расширенийНужно быстро вернуть работу и разобраться позже
УдалитьУдалить исправление в списке установленных патчей или в Конфигураторе (Конфигурация → Расширения конфигурации)Патч точно не нужен или конфликтует
Восстановить из копииЗагрузить .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_….
Влияет ли патч на доработанную конфигурацию, снятую с поддержки?
Исправление написано под типовой код. Если изменённый в патче модуль доработан, возможен конфликт. Ставьте такой патч сначала в копию базы и проверяйте работу.
Чем патч отличается от обычного расширения?
Технически это тоже расширение, но с назначением «Исправление». Его выпускает фирма 1С под конкретный релиз, и программа сама удаляет его, когда он больше не нужен.