Исправления (патчи) и обновление платформы 1С 8.3 без простоя и потерь

· 10 мин

Содержание

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

Частое заблуждение — считать патчем любое обновление: новый релиз конфигурации или новую сборку платформы. Это три разные операции с разным риском. Патч закрывает одну конкретную ошибку и снимается одной кнопкой. Релиз конфигурации меняет структуру базы. Платформа меняет сам движок, и в клиент-серверном варианте её обновление затрагивает всех пользователей сразу.

Что ставимФорматНужен ли монопольный режимКак откатить
Исправление (патч)архив с файлом .cfeобычно нетудалить исправление
Релиз конфигурации.cfu, .cfда, для обновления структуры БДвосстановить из копии
Платформа 1С:Предприятиедистрибутив setupнет, но нужен перезапуск клиентов и серверавернуть прежнюю версию

Подготовка перед установкой патчей и обновлений

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

Что сделать заранее:

  1. 📌 Узнайте точную версию конфигурации и платформы: Справка → О программе (иконка с вопросом в правом верхнем углу). Исправление выпускают под конкретный релиз. Патч для 3.0.170 на 3.0.165 не встанет.
  2. 💾 Сделайте копию базы . Файловый вариант — выгрузка .dt через Конфигуратор: Администрирование → Выгрузить информационную базу. Либо копия каталога с файлом 1Cv8.1CD, пока в базе никого нет. Клиент-серверный вариант — резервная копия средствами СУБД (MS SQL или PostgreSQL), она быстрее и надёжнее .dt на больших базах.
  3. 🗂️ Для серверной установки сохраните каталог srvinfo. Список кластеров и баз лежит в файле 1CV8Clst.lst внутри srvinfo\reg_1541. Потеряете его — придётся заново регистрировать базы в консоли.
  4. 🧪 Если есть тестовая копия базы, сначала проверьте патч и релиз на ней. Особенно когда в конфигурации есть доработки или сторонние расширения.
  5. 🕒 Выберите окно для работ. Патч можно ставить днём. Релиз и платформу — вне рабочего времени.

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

Какой способ установки патча выбрать

Способов четыре. Все они в итоге делают одно и то же — подключают к базе расширение-исправление.

СпособКогда подходитОграничения
Автоматически через интернет-поддержкубазы с подключённой интернет-поддержкой, типовые конфигурациинужен доступ в интернет с компьютера, где идёт проверка
Помощник обновления, установка из файланет интернета на сервере, патч прислал партнёр или скачан вручнуюнужно знать, к какому релизу относится патч
Конфигуратор, список расширенийдоработанные конфигурации, отладка, разовая установкаручная работа, легко забыть про остальные базы
Пакетный режим 1cv8 DESIGNERдесятки баз, установка по расписаниюнужен скрипт и учётная запись с правами администратора

Если база типовая и интернет-поддержка подключена, начинайте с первого способа. Остальные — для ситуаций, когда он недоступен.

Установка патча в файловой базе: из программы и из файла

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

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

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

Установка патча из файла

Так поступают, когда интернета на машине нет или поддержка подключена не во всех базах.

  1. Скачайте архив исправления на портале обновлений 1С под свой релиз. Архив не распаковывайте: помощник принимает его целиком.
  2. В той же группе обновления версии программы запустите обновление программы.
  3. В помощнике выберите вариант установки из файла на диске и укажите архив патча.
  4. Нажмите «Далее» и дождитесь окончания. Помощник проверит, подходит ли исправление к релизу, и откажет, если нет.
  5. Перезапустите программу.

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

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

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

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

Патчи и обновление в клиент-серверной базе

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

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

Как обновить платформу на сервере 1С

Остановка службы агента сервера обрывает сеансы всех пользователей и фоновые задания. Делайте это только в согласованное окно, когда в базах никто не работает .

  1. Предупредите пользователей и дождитесь их выхода. Список сеансов виден в консоли администрирования серверов 1С.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3».
  3. Установите новую версию платформы, выбрав компоненты «Сервер 1С:Предприятия» и при необходимости «Модули расширения веб-сервера». Новая сборка ставится в отдельный каталог вида C:\Program Files\1cv8\8.3.xx.xxxx, старая остаётся рядом.
  4. Убедитесь, что служба агента запускает ragent.exe из каталога новой версии. Путь к исполняемому файлу видно в свойствах службы. Если служба по-прежнему указывает на старую сборку, её нужно перерегистрировать на новую.
  5. Запустите службу и проверьте в консоли, что кластер и базы на месте.
  6. Обновите клиентскую часть на всех рабочих местах и терминальных серверах.

Версия клиента должна совпадать с версией сервера до последней цифры сборки. Иначе при входе пользователь увидит ошибку о несоответствии версий клиента и сервера.

Обновление платформы на рабочих местах

Ставить платформу руками на 30 компьютеров долго. Есть два штатных приёма.

  • 📂 Общая папка с дистрибутивом. В файле настроек запуска 1cestart.cfg прописывают параметр DistributiveLocation с сетевым путём к каталогу дистрибутивов. Тогда при входе в базу клиент сам предложит установить нужную версию. Для установки пользователю нужны права администратора на компьютере, либо дистрибутив раскатывают групповой политикой.
  • 🔢 Версия в списке баз. В свойствах базы в окне запуска есть поле версии 1С:Предприятия. Значение 8.3 означает «самая новая из установленных», конкретный номер жёстко фиксирует сборку. Для серверных баз удобнее фиксировать точный номер: обновили сервер — поменяли номер в общем списке баз.

Автоматизация: пакетный режим конфигуратора и утилита ring

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

Пакетная установка патча

Пример для файловой базы. Конфигуратор загружает расширение из файла и обновляет его в базе данных:

@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"

%V8% DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" ^
  /LoadCfg "D:\Patches\patch.cfe" -Extension "ИмяИсправления" ^
  /UpdateDBCfg -Extension "ИмяИсправления" ^
  /DisableStartupDialogs /Out "D:\Logs\patch_buh.log"

Для серверной базы вместо /F указывают /S "сервер\имя_базы". Обновление релиза конфигурации делается похоже: /UpdateCfg "файл.cfu" и затем /UpdateDBCfg — но уже в монопольном режиме и после копии.

Всегда пишите журнал через /Out и проверяйте его после запуска. Пакетный конфигуратор не показывает окон: если что-то пошло не так, узнать об этом можно только из лога.

Имя расширения в скрипте должно совпадать с именем исправления. Его видно в Конфигураторе в списке расширений после первой ручной установки. Пароль в открытом виде в bat-файле — плохая идея: храните скрипт в каталоге, доступном только администратору.

Что умеет ring

ring — утилита командной строки из поставки инструментов 1С:Предприятия. Её часто связывают с обновлениями, но патчи она не ставит. Основная задача — работа с программными лицензиями, особенно на Linux, где нет графического мастера. Например, ring license list показывает активированные лицензии на компьютере.

Список модулей и команд зависит от установленной версии, поэтому сверяйтесь со справкой ring help. Для массовой установки исправлений используйте пакетный режим конфигуратора, а лицензии после смены сервера проверяйте через ring.

Проверка после установки и откат патча

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

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

Как удалить исправление

Откат патча — самая простая операция в этой теме. Откройте список установленных исправлений, выделите нужное и удалите его. Либо удалите расширение в Конфигураторе и обновите конфигурацию базы данных. Данные пользователей при этом не теряются: исправление меняет только код.

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

Как откатить релиз и платформу

  • 🔙 Платформа. Старая сборка осталась в своём каталоге. Остановите службу агента (снова в нерабочее время), верните её на прежнюю версию, запустите. Клиентам укажите прежний номер версии в списке баз.
  • 🔙 Релиз конфигурации. «Кнопки отмены» нет. Только восстановление из копии: загрузка .dt через Администрирование → Загрузить информационную базу в Конфигураторе или восстановление бэкапа СУБД. Всё, что пользователи ввели после обновления, придётся внести повторно.
Диагностика: выберите симптом

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

  • ❌ Ставить патч «на всякий случай». Исправление закрывает конкретную ошибку. Если её у вас нет, патч только добавляет ещё одно расширение, которое потом придётся учитывать при обновлениях.
  • ❌ Забывать про остальные базы. Патч ставится в одну базу. Если у вас пять организаций в пяти базах, установить его нужно в каждую — или включить автоматическую установку везде.
  • ❌ Загружать патч чужого релиза через Конфигуратор. Помощник обновления проверяет соответствие релизу, а ручная загрузка расширения — нет. Исправление может встать, но сломать то, что раньше работало.
  • ❌ Обновлять сервер, не обновив терминальный сервер. Пользователи на терминале получат ошибку версий утром, когда сервер уже обновлён.
  • ❌ Удалять старую платформу сразу после обновления. Подождите хотя бы неделю. Если найдётся проблема, откат займёт минуты.

Частые вопросы

Нужно ли выгонять пользователей для установки патча?
Обычно нет. Исправление подключается к работающей базе, а пользователи получают его после перезапуска сеанса. Монопольный режим нужен для обновления релиза конфигурации.
Можно ли поставить патч в конфигурацию на поддержке с доработками?
Да, исправление — это расширение, оно не снимает конфигурацию с поддержки. Но если доработка в тех же модулях, проверьте патч на копии базы.
Где взять патч, если интернет-поддержка не подключена?
На портале обновлений 1С в разделе вашей конфигурации, для этого нужна действующая подписка ИТС. Либо у обслуживающего партнёра.
Влияет ли патч на отчётность и данные?
Патч меняет только программный код, сами записи базы он не трогает. Но если ошибка была в расчёте, после установки пересчитайте затронутые документы или отчёты.
Нужно ли удалять патч перед обновлением релиза?
Нет. При переходе на новый релиз вошедшие в него исправления удаляются автоматически, а остальные остаются, если подходят к новой версии.