Установка исправления (патча) в 1С 8.3 тремя способами

· 9 мин

Содержание

Патч в 1С 8.3 подключают как расширение конфигурации : в типовых программах на БСП это делается без Конфигуратора, через Администрирование → Обслуживание → Обновление версии программы → Установленные исправления (патчи). Там выбирают файл исправления, программа сама проверяет, подходит ли он к вашему релизу, и включает его.

Частое заблуждение — что патч «вшивается» в конфигурацию и после него база снимается с поддержки. Это не так. Исправление живёт рядом с основной конфигурацией, его видно отдельной строкой в списке расширений, и его можно отключить или удалить за минуту. Поэтому подключить патч в 1С может и администратор без навыков программиста.

Что такое патч в 1С и чем он отличается от обновления

Фирма 1С выпускает релизы типовых конфигураций по графику. Если в релизе нашли ошибку, которая мешает работать (не проводится документ, неверно заполняется отчёт, падает обмен), ждать следующего релиза долго. Для таких случаев выпускают исправление — маленькое расширение, которое подменяет один-два метода в модулях.

Технически патч — это файл расширения .cfe с назначением «Исправление». Обычно он приходит в zip-архиве вместе с описанием. В списке расширений патчи легко узнать по имени: оно начинается с EF_.

Патч (исправление)Обновление релиза
Что меняетОдин-два метода в модуляхВсю конфигурацию
Формат.cfe (расширение).cfu или .cf
Нужен ли КонфигураторНет, если в программе есть форма исправленийДля обновления с изменённой конфигурацией — да
ОткатУдалить расширениеТолько из резервной копии
Срок жизниДо перехода на релиз, где ошибку исправилиПостоянно

💡 Патч привязан к конкретному релизу (иногда к нескольким соседним). Когда вы обновляетесь на релиз, в который исправление уже вошло, программа на БСП удаляет такой патч сама.

Где взять файл исправления

  • 🌐 Через интернет -поддержку. Если в программе подключена интернет-поддержка (Администрирование → Интернет-поддержка и сервисы), исправления для вашего релиза программа находит и предлагает установить сама.
  • 📦 С портала поддержки 1С. На портале обновлений в карточке конфигурации есть раздел исправлений. Нужна действующая подписка ИТС и логин интернет-поддержки.
  • 👨‍💻 От обслуживающей фирмы. Партнёр присылает архив с .cfe и описанием ошибки, которую патч закрывает.

Не ставьте .cfe из случайных источников. Расширение выполняет код с правами пользователей базы. Патч от фирмы 1С выпускается под конкретный релиз и проверен на нём; файл с форума может делать что угодно.

Что проверить перед подключением патча

Подготовка занимает 5–10 минут и снимает почти все проблемы при установке.

  1. Узнайте релиз конфигурации. Откройте Справка → О программе (кнопка «?» или меню с тремя полосками в правом верхнем углу). Сверьте номер с тем, для которого выпущен патч: он указан в описании исправления.
  2. Прочитайте описание патча. Убедитесь, что он закрывает именно вашу ошибку. Ставить исправления «на всякий случай» смысла нет.
  3. Проверьте права. Устанавливать расширения может только пользователь с полными правами (профиль «Администратор»).
  4. Выясните, правили ли типовую конфигурацию . Если программист менял тот же модуль, который исправляет патч, исправление может не примениться. Об этом ниже, в разделе про ошибки.
  5. Сделайте копию базы . Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD при закрытой программе. Для клиент-серверной — выгрузка .dt или бэкап средствами СУБД.

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

Способ 1. Как подключить патч из пользовательского режима

Это основной путь для БП 3.0, ЗУП 3.1, УТ 11, КА 2 и других программ на БСП. Конфигуратор не нужен, монопольный режим тоже.

Установка через форму исправлений

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

Программа сама сравнит, к какому релизу относится патч. Если он не подходит, установка остановится с объяснением, и база останется как была.

Установка через «Управление расширениями конфигурации»

Если в программе нет формы исправлений (старые или нетиповые конфигурации), используйте стандартную обработку платформы:

  1. Включите пункт «Все функции»: Главное меню → Сервис → Параметры (меню с тремя полосками), флажок «Отображать команду “Все функции”».
  2. Откройте Все функции → Стандартные → Управление расширениями конфигурации.
  3. Нажмите «Добавить из файла…» и выберите .cfe.
  4. Убедитесь, что у новой строки стоит флажок «Активно».

Что делать после установки

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

Способ 2. Подключение патча через Конфигуратор

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

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

💡 В Конфигураторе удобно посмотреть, что именно меняет патч. Раскройте дерево расширения и откройте модуль: исправленные методы отмечены аннотациями &ИзменениеИКонтроль или &Вместо. Так видно, какой объект затронут.

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

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

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

Не загружайте .cfe через «Загрузить конфигурацию из файла » основной конфигурации. Команда для основной конфигурации ждёт файл .cf; путать окна нельзя.

Способ 3. Пакетный запуск и автоматическая установка патчей

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

Автоустановка через интернет-поддержку

В типовых программах на БСП настройки получения обновлений находятся в Администрирование → Интернет-поддержка и сервисы, группа про обновление версии программы. Там можно:

  • 🔄 включить автоматическую проверку наличия обновлений по расписанию;
  • 📥 разрешить автоматически загружать и устанавливать исправления (патчи).

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

Командная строка Конфигуратора

Для пакетной установки в несколько баз подойдёт 1cv8.exe в режиме DESIGNER. Пример bat-файла для файловой базы:

@echo off
set V8="C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe"
set BASE="D:\Bases\Buh"
set PATCH="D:\Patches\EF_00_00123456.cfe"
set LOG="D:\Patches\log.txt"

%V8% DESIGNER /F %BASE% /N "Администратор" /P "" ^
  /LoadCfg %PATCH% -Extension EF_00_00123456 ^
  /UpdateDBCfg -Extension EF_00_00123456 ^
  /Out %LOG% /DisableStartupDialogs

Для серверной базы вместо /F укажите /S "сервер\имя_базы". Путь к платформе и имя патча подставьте свои: номер сборки здесь условный.

💡 Ключ /Out пишет результат в лог. Проверяйте его после каждого запуска: при ошибке Конфигуратор просто завершится, окна с сообщением не будет.

Пароль администратора в bat-файле — плохая идея для боевой среды. Храните скрипт там, куда нет доступа у обычных пользователей, или передавайте пароль из защищённого хранилища.

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

Установленный патч ещё не значит исправленную ошибку. Проверка из трёх шагов:

  1. Список расширений. В «Установленных исправлениях (патчах)» или в «Управлении расширениями» строка с патчем есть, флажок «Активно» включён.
  2. Перезапуск. Закройте программу и откройте снова. Без перезапуска ваш сеанс работает по старому коду.
  3. Повтор сценария. Повторите действие, на котором была ошибка: проведите тот же документ, сформируйте тот же отчёт. Делайте это на копии документа или в копии базы, если ошибка затрагивала суммы.
Патч подключён правильно
Выполнено: 0 / 5

Безопасность: как откатить патч и не потерять данные

Главный плюс исправлений в виде расширений — откат без восстановления базы.

Как отключить или удалить патч

  • ⏸️ Временно отключить. Снимите флажок «Активно» у расширения и перезапустите сеансы. Код патча перестанет работать, сам файл останется в базе.
  • 🗑️ Удалить. В форме исправлений или в «Управлении расширениями» выделите строку и удалите её. В Конфигураторе — удаление расширения в окне Конфигурация → Расширения конфигурации и обновление конфигурации базы данных.

Когда бэкап всё-таки понадобится

Удаление расширения откатывает код, но не данные. Если патч успел что-то записать (перепровести документы, заполнить реквизиты), эти записи остаются. Если исправление оказалось неудачным и испортило данные, вернуться можно только к копии, сделанной до установки.

Простое правило: после установки патча первые день-два проверяйте участок, который он затрагивает. Отчёт по проблемному документу, оборотка по счёту, ведомость — что подходит по смыслу.

Что будет с патчем при обновлении релиза

  • ✅ Если исправление вошло в новый релиз, программа на БСП удалит патч при обновлении.
  • ⚠️ Если не вошло и патч подходит к новому релизу, он останется.
  • ❌ Если патч к новому релизу не подходит, он перестанет применяться. Его нужно удалить и, при необходимости, поставить новую версию исправления.

Почему патч не подключается: ошибки и решения

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

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

Частые вопросы про патчи в 1С

Нужно ли выгонять пользователей из базы, чтобы установить патч?
Нет. Установка из пользовательского режима не требует монопольного доступа. Но чтобы исправление заработало у сотрудника, ему нужно перезапустить программу.
Снимается ли конфигурация с поддержки после установки патча?
Нет. Патч — это расширение, основная конфигурация не меняется. Режим поддержки и возможность обновляться остаются прежними.
Работают ли патчи в облачной 1С (1С:Фреш) или у провайдера?
В сервисе фирмы 1С исправления устанавливает сам сервис. У хостинг-провайдера — по его регламенту: уточните у поддержки, кто ставит патчи и с какой задержкой.
Можно ли поставить патч от другой конфигурации или другого релиза?
Нельзя. Исправление пишется под конкретный код конкретного релиза. В лучшем случае программа его отклонит, в худшем — расширение не применится при запуске.
Сколько патчей можно установить одновременно?
Ограничения на практике нет: к одному релизу бывает несколько исправлений, и они работают параллельно. Ставьте их в порядке выхода и после каждого проверяйте, что программа запускается без ошибок.