Установка исправления (патча) в 1С 8.3 тремя способами
Содержание
Патч в 1С 8.3 подключают как расширение конфигурации
: в типовых программах на БСП это делается без Конфигуратора, через Администрирование → Обслуживание → Обновление версии программы → Установленные исправления (патчи). Там выбирают файл исправления, программа сама проверяет, подходит ли он к вашему релизу, и включает его.
Частое заблуждение — что патч «вшивается» в конфигурацию и после него база снимается с поддержки. Это не так. Исправление живёт рядом с основной конфигурацией, его видно отдельной строкой в списке расширений, и его можно отключить или удалить за минуту. Поэтому подключить патч в 1С может и администратор без навыков программиста.
Что такое патч в 1С и чем он отличается от обновления
Фирма 1С выпускает релизы типовых конфигураций по графику. Если в релизе нашли ошибку, которая мешает работать (не проводится документ, неверно заполняется отчёт, падает обмен), ждать следующего релиза долго. Для таких случаев выпускают исправление — маленькое расширение, которое подменяет один-два метода в модулях.
Технически патч — это файл расширения .cfe с назначением «Исправление». Обычно он приходит в zip-архиве вместе с описанием. В списке расширений патчи легко узнать по имени: оно начинается с EF_.
| Патч (исправление) | Обновление релиза | |
|---|---|---|
| Что меняет | Один-два метода в модулях | Всю конфигурацию |
| Формат | .cfe (расширение) | .cfu или .cf |
| Нужен ли Конфигуратор | Нет, если в программе есть форма исправлений | Для обновления с изменённой конфигурацией — да |
| Откат | Удалить расширение | Только из резервной копии |
| Срок жизни | До перехода на релиз, где ошибку исправили | Постоянно |
💡 Патч привязан к конкретному релизу (иногда к нескольким соседним). Когда вы обновляетесь на релиз, в который исправление уже вошло, программа на БСП удаляет такой патч сама.
Где взять файл исправления
- 🌐 Через интернет
-поддержку. Если в программе подключена интернет-поддержка (
Администрирование → Интернет-поддержка и сервисы), исправления для вашего релиза программа находит и предлагает установить сама. - 📦 С портала поддержки 1С. На портале обновлений в карточке конфигурации есть раздел исправлений. Нужна действующая подписка ИТС и логин интернет-поддержки.
- 👨💻 От обслуживающей фирмы. Партнёр присылает архив с
.cfeи описанием ошибки, которую патч закрывает.
Не ставьте .cfe из случайных источников. Расширение выполняет код с правами пользователей базы. Патч от фирмы 1С выпускается под конкретный релиз и проверен на нём; файл с форума может делать что угодно.
Что проверить перед подключением патча
Подготовка занимает 5–10 минут и снимает почти все проблемы при установке.
- Узнайте релиз конфигурации. Откройте
Справка → О программе(кнопка «?» или меню с тремя полосками в правом верхнем углу). Сверьте номер с тем, для которого выпущен патч: он указан в описании исправления. - Прочитайте описание патча. Убедитесь, что он закрывает именно вашу ошибку. Ставить исправления «на всякий случай» смысла нет.
- Проверьте права. Устанавливать расширения может только пользователь с полными правами (профиль «Администратор»).
- Выясните, правили ли типовую конфигурацию . Если программист менял тот же модуль, который исправляет патч, исправление может не примениться. Об этом ниже, в разделе про ошибки.
- Сделайте копию базы
. Для файловой базы достаточно скопировать каталог с файлом
1Cv8.1CDпри закрытой программе. Для клиент-серверной — выгрузка.dtили бэкап средствами СУБД.
Копия нужна, даже если патч крошечный. Само расширение удаляется легко, но если исправление успело провести или перезаписать документы с ошибочной логикой, вернуть данные поможет только бэкап.
Способ 1. Как подключить патч из пользовательского режима
Это основной путь для БП 3.0, ЗУП 3.1, УТ 11, КА 2 и других программ на БСП. Конфигуратор не нужен, монопольный режим тоже.
Установка через форму исправлений
- Зайдите в программу под администратором.
- Откройте
Администрирование → Обслуживание. - В группе «Обновление версии программы» нажмите ссылку «Установленные исправления (патчи)».
- В открывшемся списке выберите команду установки исправления из файла.
- Укажите архив
.zipили файл.cfe. - Дождитесь сообщения об успешной установке. Новая строка появится в списке.
Программа сама сравнит, к какому релизу относится патч. Если он не подходит, установка остановится с объяснением, и база останется как была.
Установка через «Управление расширениями конфигурации»
Если в программе нет формы исправлений (старые или нетиповые конфигурации), используйте стандартную обработку платформы:
- Включите пункт «Все функции»:
Главное меню → Сервис → Параметры(меню с тремя полосками), флажок «Отображать команду “Все функции”». - Откройте
Все функции → Стандартные → Управление расширениями конфигурации. - Нажмите «Добавить из файла…» и выберите
.cfe. - Убедитесь, что у новой строки стоит флажок «Активно».
Что делать после установки
Пользователи, которые сидели в базе во время установки, продолжают работать по старой логике до перезапуска. Попросите всех закрыть и снова открыть программу. Платформа обычно сама показывает сообщение о том, что конфигурация изменилась и нужен перезапуск.
Способ 2. Подключение патча через Конфигуратор
Конфигуратор удобен, когда исправление нужно посмотреть перед установкой или в программе нет формы для патчей.
- Запустите базу в режиме «Конфигуратор» под администратором.
- Откройте
Конфигурация → Расширения конфигурации. - В окне списка расширений нажмите «Добавить». Имя дайте такое же, как у патча (например, по имени файла
EF_…). - Откройте созданное расширение. В главном меню появится группа команд для расширения:
Конфигурация → Расширение конфигурации. Выберите там загрузку конфигурации из файла и укажите.cfe. - Согласитесь на замену содержимого расширения.
- Выполните «Обновить конфигурацию базы данных» (F7) для расширения.
- Проверьте в свойствах расширения поле «Назначение»: у патча там «Исправление».
💡 В Конфигураторе удобно посмотреть, что именно меняет патч. Раскройте дерево расширения и откройте модуль: исправленные методы отмечены аннотациями &ИзменениеИКонтроль или &Вместо. Так видно, какой объект затронут.
Перед обновлением конфигурации базы данных в клиент-серверном варианте предупредите пользователей. Если платформа попросит завершить сеансы, работа у всех, кто сейчас в базе, прервётся. Делайте это в обед или после окончания рабочего дня.
Сравнение способов
| Способ | Когда подходит | Риски |
|---|---|---|
| Форма «Установленные исправления (патчи)» | Типовая конфигурация на БСП | Минимальные: программа проверяет релиз |
| «Управление расширениями конфигурации» | Нет формы исправлений | Совместимость с релизом не проверяется |
| Конфигуратор | Нужно изучить код патча, нетиповая база | Можно по ошибке загрузить .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-файле — плохая идея для боевой среды. Храните скрипт там, куда нет доступа у обычных пользователей, или передавайте пароль из защищённого хранилища.
Как проверить, что исправление работает
Установленный патч ещё не значит исправленную ошибку. Проверка из трёх шагов:
- Список расширений. В «Установленных исправлениях (патчах)» или в «Управлении расширениями» строка с патчем есть, флажок «Активно» включён.
- Перезапуск. Закройте программу и откройте снова. Без перезапуска ваш сеанс работает по старому коду.
- Повтор сценария. Повторите действие, на котором была ошибка: проведите тот же документ, сформируйте тот же отчёт. Делайте это на копии документа или в копии базы, если ошибка затрагивала суммы.
Безопасность: как откатить патч и не потерять данные
Главный плюс исправлений в виде расширений — откат без восстановления базы.
Как отключить или удалить патч
- ⏸️ Временно отключить. Снимите флажок «Активно» у расширения и перезапустите сеансы. Код патча перестанет работать, сам файл останется в базе.
- 🗑️ Удалить. В форме исправлений или в «Управлении расширениями» выделите строку и удалите её. В Конфигураторе — удаление расширения в окне
Конфигурация → Расширения конфигурациии обновление конфигурации базы данных.
Когда бэкап всё-таки понадобится
Удаление расширения откатывает код, но не данные. Если патч успел что-то записать (перепровести документы, заполнить реквизиты), эти записи остаются. Если исправление оказалось неудачным и испортило данные, вернуться можно только к копии, сделанной до установки.
Простое правило: после установки патча первые день-два проверяйте участок, который он затрагивает. Отчёт по проблемному документу, оборотка по счёту, ведомость — что подходит по смыслу.
Что будет с патчем при обновлении релиза
- ✅ Если исправление вошло в новый релиз, программа на БСП удалит патч при обновлении.
- ⚠️ Если не вошло и патч подходит к новому релизу, он останется.
- ❌ Если патч к новому релизу не подходит, он перестанет применяться. Его нужно удалить и, при необходимости, поставить новую версию исправления.
Почему патч не подключается: ошибки и решения
Справка → О программе с описанием исправления. Скачайте патч для своего релиза или обновите конфигурацию до релиза, где ошибка уже исправлена.&ИзменениеИКонтроль проверяет исходный текст, и если он не совпадает, расширение не применяется. Решение: поручить программисту перенести исправление вручную в доработанный модуль, а патч удалить./Out. Типичные причины: неверный путь к базе, пароль, база занята или имя расширения в -Extension не совпадает в двух командах.💡 Если исправлений к одному релизу накопилось пять-семь, чаще проще обновиться на следующий релиз. Там эти ошибки уже закрыты в основной конфигурации, а список расширений станет чище.