Патчи 1С: как фирма исправляет ошибки без выпуска нового релиза

· 9 мин

Содержание

Патч 1С — это небольшое исправление одной или нескольких ошибок в конкретном релизе типовой конфигурации. Технически патч — это расширение конфигурации с назначением «Исправление»: оно ставится поверх основной конфигурации, не меняет её и не трогает структуру базы. В программах на БСП патчи ставятся в разделе Администрирование → Интернет-поддержка и сервисы, автоматически или из файла.

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

Патч и релиз: в чём принципиальная разница

Релиз — это новая версия конфигурации. У неё свой номер, например 3.0.150.20 для Бухгалтерии 3.0. Релиз меняет саму конфигурацию: добавляет объекты, реквизиты, отчёты, новые формы отчётности. После него почти всегда нужно обновить структуру базы данных.

Патч устроен иначе. Он не меняет основную конфигурацию, а подменяет поведение отдельных процедур через механизм расширений. Расширения появились в платформе 8.3.6, а массово распространять исправления в виде патчей фирма начала позже, когда это поддержали типовые конфигурации на БСП.

ПризнакРелизПатч
Что этоНовая версия конфигурацииРасширение с назначением «Исправление»
Объём измененийДесятки и сотни правок, новые объектыОдна или несколько точечных правок
Структура базыОбычно меняетсяНе меняется
Монопольный режимНужен для обновления структурыКак правило, не нужен
ПривязкаОбновляет с определённых версийРаботает только в своём релизе
Законодательные измененияДа, новые формы и ставкиНет, только исправление ошибок
После следующего обновленияОстаётсяУдаляется или заменяется

Ключевое отличие — привязка к релизу. Патч для 3.0.150.20 не подходит к 3.0.150.25 и не установится туда. Когда вы обновляетесь на новый релиз, ранее установленные исправления удаляются: их правки уже вошли в новую версию либо выпущены заново под неё.

Патч не заменяет обновление. Если ошибка исправлена в новом релизе, правильный путь — обновиться. Патч нужен, чтобы дожить до релиза без проблем.

Какие обновления выпускает 1С и когда нужен именно патч

В обиходе «патчем» называют разные вещи. Чтобы не путаться, разведём понятия.

  • 📦 Релиз конфигурации. Плановое обновление программы: новые отчёты, изменения законодательства, исправления. Выходит регулярно, для Бухгалтерии и ЗУП — несколько раз в квартал.
  • 🩹 Патч (исправление) конфигурации. Срочная правка ошибки в уже вышедшем релизе. Ставится как расширение.
  • ⚙️ Новая версия платформы. Обновление самого «движка» 1С:Предприятия, например переход с 8.3.24 на 8.3.25. Меняет возможности платформы, требует установки дистрибутива на компьютеры и сервер.
  • 🔧 Новая сборка платформы. Изменение последней группы цифр в номере, например 8.3.24.1691 вместо 8.3.24.1586. Это исправительные выпуски платформы: ошибки, производительность, безопасность. Именно их администраторы часто называют «патчем платформы».

У платформы патчей в виде расширений не бывает. Ошибку или уязвимость платформы закрывают только установкой исправленной сборки. Поэтому вопрос «как поставить патч безопасности на платформу» сводится к одному: скачать и установить свежую сборку своей версии.

Когда патч конфигурации действительно нужен

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

Если ничего из этого нет, ставить патчи вручную не обязательно. Достаточно включить их автоматическую установку и обновлять программу по графику.

Как установить патч в режиме 1С:Предприятие

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА 2, ERP) управление патчами собрано в разделе Администрирование → Интернет-поддержка и сервисы, в группе, отвечающей за обновление версии программы. Нужны подключённая Интернет-поддержка пользователей и действующая подписка.

Вариант 1. Автоматическая загрузка исправлений

  1. Откройте Администрирование → Интернет-поддержка и сервисы.
  2. Убедитесь, что Интернет-поддержка подключена: указан логин портала 1С:ИТС.
  3. В группе обновления версии программы включите автоматическую проверку обновлений.
  4. Установите флажок загрузки и установки исправлений (патчей) автоматически.
  5. Задайте расписание проверки, если программа его предлагает.

После этого программа сама скачивает исправления для вашего релиза и ставит их. Пользователи увидят изменения после перезапуска сеанса.

Вариант 2. Установка патча из файла

Этот путь нужен, если база без доступа в интернет или патч прислала поддержка.

  1. Получите файл исправления. Обычно это архив .zip или файл расширения .cfe.
  2. Сделайте резервную копию базы .
  3. Откройте Администрирование → Интернет-поддержка и сервисы.
  4. В группе обновления найдите команду установки исправлений и выберите файл.
  5. Дождитесь сообщения об успешной установке и перезапустите программу.

Посмотреть, что уже стоит, можно там же — по ссылке на установленные исправления (патчи). В списке видно имя исправления и описание ошибки, которую оно закрывает.

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

Установка патча через Конфигуратор и командную строку

Конфигуратор пригодится, когда в пользовательском режиме ставить патч неудобно: база без БСП, нестандартная доработка или нужно поставить исправление нескольким базам подряд.

Через меню Конфигуратора

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

В этом же окне видны все расширения базы: ваши собственные доработки и патчи фирмы 1С. Имена патчей обычно начинаются с EF_, по ним их легко отличить от своих расширений.

Из командной строки

Для пакетной установки удобно запускать Конфигуратор в пакетном режиме. Ключи /LoadCfg и /UpdateDBCfg с параметром -Extension загружают и применяют расширение.

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER ^
  /S "srv-1c\buh" /N "Администратор" /P "пароль" ^
  /LoadCfg "D:\patches\EF_patch.cfe" -Extension "EF_patch" ^
  /UpdateDBCfg -Extension "EF_patch" ^
  /Out "D:\patches\log.txt" /DisableStartupDialogs

Для файловой базы вместо /S укажите /F "D:\Bases\Buh". Имя расширения после -Extension должно совпадать с именем внутри файла .cfe. Результат смотрите в файле, указанном в /Out.

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

Что может пойти не так при установке патчей

Патч — маленькая правка, но и она ломается. Основные сценарии:

  • 🔀 Конфликт с собственными расширениями. Если ваше расширение перехватывает ту же процедуру, что и патч, порядок вызовов может дать неожиданный результат. Симптом — после патча перестала работать ваша доработка.
  • ✂️ Конфигурация снята с поддержки и сильно изменена. Патч рассчитан на типовой код. Если процедуру переписали в основной конфигурации, исправление может не примениться или сработать некорректно.
  • 🔢 Чужой релиз. Патч не встанет на другую версию. Это защита, а не ошибка.
  • 🌐 Нет связи с порталом. Автоматическая загрузка молчит, если Интернет-поддержка отключена, логин устарел или прокси режет соединение.
  • 🔄 Сеансы не перезапущены. Пользователи, не перезашедшие в программу, работают со старым кодом и уверяют, что «патч не помог».
Диагностика: выберите симптом

Как откатить патч

Если исправление навредило, его можно удалить. В Конфигураторе откройте Конфигурация → Расширения конфигурации, выделите патч и удалите его, затем обновите конфигурацию базы данных. После перезапуска сеансов программа вернётся к поведению без исправления.

Удалять патч в рабочее время можно, но пользователей лучше предупредить: им придётся перезайти, чтобы изменения вступили в силу.

Автоматическая установка исправлений на десятки баз

Когда баз десятки, ручная установка превращается в рутину. Есть несколько рабочих подходов.

Встроенный механизм каждой базы

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

Скрипты пакетного режима

Второй вариант — централизованный скрипт на базе команды из предыдущего раздела. Схема простая:

  1. Список баз хранится в текстовом файле или таблице: имя сервера, имя базы, пользователь.
  2. Скрипт в цикле запускает Конфигуратор в пакетном режиме для каждой базы.
  3. Лог по каждой базе пишется в отдельный файл через /Out.
  4. По завершении скрипт проверяет логи и сообщает об ошибках.

Запускать такой скрипт удобно планировщиком Windows ночью, когда в базах никого нет.

Сначала прогоните патч на тестовой копии одной базы. Если всё в порядке — раскатывайте на остальные. Особенно это касается доработанных конфигураций.

Регламент обновлений

В крупной компании важнее не инструмент, а порядок. Минимальный регламент выглядит так:

ЭтапЧто делаемКто отвечает
МониторингОтслеживаем новые релизы и исправления для своих конфигурацийАдминистратор 1С
ТестСтавим патч в тестовую копию, проверяем ключевые операцииАдминистратор и ключевой пользователь
СогласованиеФиксируем, какие базы и когда обновляемРуководитель ИТ
УстановкаСтавим в рабочие базы, вне рабочего времениАдминистратор 1С
КонтрольПроверяем логи и обратную связь пользователейАдминистратор 1С

Такой порядок снимает главный риск: внезапную поломку посреди закрытия месяца.

Откуда брать патчи 1С и описания исправлений

Официальные исправления распространяет только фирма 1С. Основные каналы:

  • 🌐 Интернет-поддержка внутри программы. Самый надёжный путь: программа сама знает свой релиз и запрашивает только подходящие исправления.
  • 🗂️ Портал обновлений 1С. Для зарегистрированных пользователей с действующей подпиской ИТС там доступны дистрибутивы релизов, сборки платформы и сопроводительная документация.
  • 🎧 Линия консультаций и партнёр 1С. Если вы сообщили об ошибке, поддержка подскажет, есть ли исправление, и пришлёт файл.

Описание к патчу всегда указывает, какую ошибку он закрывает и для какого релиза выпущен. Читайте его перед установкой вручную: так вы поймёте, касается ли проблема ваших участков учёта.

Не скачивайте «патчи» с форумов и файлообменников. Расширение исполняет код внутри вашей базы с правами пользователя. Файл из неизвестного источника может испортить данные или передать их наружу.

Как понять, есть ли исправление для вашей ошибки

  1. Узнайте точный номер релиза: в программе откройте раздел «О программе».
  2. Проверьте список установленных исправлений в разделе Интернет-поддержки.
  3. Запустите проверку обновлений вручную — программа покажет и новые релизы, и доступные патчи.
  4. Если ничего не нашлось, обратитесь на линию консультаций с описанием ошибки и номером релиза.

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

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