Исправления (патчи) и обновление платформы 1С 8.3 без простоя и потерь
Содержание
Патч для типовой конфигурации 1С 8.3 ставят из самой программы: в Администрирование → Интернет-поддержка и сервисы в группе обновления версии программы включают автоматическую установку исправлений или запускают помощник обновления и указывают файл патча с диска. Патч — это расширение конфигурации
с назначением «Исправление». Обычно он не требует монопольного режима, а пользователи получают исправление после перезапуска сеанса.
Частое заблуждение — считать патчем любое обновление: новый релиз конфигурации или новую сборку платформы. Это три разные операции с разным риском. Патч закрывает одну конкретную ошибку и снимается одной кнопкой. Релиз конфигурации меняет структуру базы. Платформа меняет сам движок, и в клиент-серверном варианте её обновление затрагивает всех пользователей сразу.
| Что ставим | Формат | Нужен ли монопольный режим | Как откатить |
|---|---|---|---|
| Исправление (патч) | архив с файлом .cfe | обычно нет | удалить исправление |
| Релиз конфигурации | .cfu, .cf | да, для обновления структуры БД | восстановить из копии |
| Платформа 1С:Предприятие | дистрибутив setup | нет, но нужен перезапуск клиентов и сервера | вернуть прежнюю версию |
Подготовка перед установкой патчей и обновлений
Патч сам по себе безопасен: он не трогает данные и удаляется без следов. Опасность в другом. Патчи часто ставят в один заход с релизом или новой платформой, а вот эти операции без копии делать нельзя.
Что сделать заранее:
- 📌 Узнайте точную версию конфигурации и платформы:
Справка → О программе(иконка с вопросом в правом верхнем углу). Исправление выпускают под конкретный релиз. Патч для 3.0.170 на 3.0.165 не встанет. - 💾 Сделайте копию базы
. Файловый вариант — выгрузка
.dtчерез Конфигуратор:Администрирование → Выгрузить информационную базу. Либо копия каталога с файлом1Cv8.1CD, пока в базе никого нет. Клиент-серверный вариант — резервная копия средствами СУБД (MS SQL или PostgreSQL), она быстрее и надёжнее.dtна больших базах. - 🗂️ Для серверной установки сохраните каталог
srvinfo. Список кластеров и баз лежит в файле1CV8Clst.lstвнутриsrvinfo\reg_1541. Потеряете его — придётся заново регистрировать базы в консоли. - 🧪 Если есть тестовая копия базы, сначала проверьте патч и релиз на ней. Особенно когда в конфигурации есть доработки или сторонние расширения.
- 🕒 Выберите окно для работ. Патч можно ставить днём. Релиз и платформу — вне рабочего времени.
Держите на диске прошлый дистрибутив платформы. Если новая сборка поведёт себя странно, вернуться на старую можно за 10 минут, а не за час поиска нужного файла.
Какой способ установки патча выбрать
Способов четыре. Все они в итоге делают одно и то же — подключают к базе расширение-исправление.
| Способ | Когда подходит | Ограничения |
|---|---|---|
| Автоматически через интернет-поддержку | базы с подключённой интернет-поддержкой, типовые конфигурации | нужен доступ в интернет с компьютера, где идёт проверка |
| Помощник обновления, установка из файла | нет интернета на сервере, патч прислал партнёр или скачан вручную | нужно знать, к какому релизу относится патч |
| Конфигуратор, список расширений | доработанные конфигурации, отладка, разовая установка | ручная работа, легко забыть про остальные базы |
Пакетный режим 1cv8 DESIGNER | десятки баз, установка по расписанию | нужен скрипт и учётная запись с правами администратора |
Если база типовая и интернет-поддержка подключена, начинайте с первого способа. Остальные — для ситуаций, когда он недоступен.
Установка патча в файловой базе: из программы и из файла
Автоматическая установка исправлений
- Войдите в базу пользователем с полными правами.
- Откройте
Администрирование → Интернет-поддержка и сервисы. - Проверьте, что интернет-поддержка подключена: в разделе указан логин портала. Если нет — подключите по ссылке на том же экране.
- В группе обновления версии программы включите флажок автоматической проверки и установки исправлений (патчей). Расписание проверки задаётся рядом.
- Там же есть ссылка на список установленных исправлений. Откройте её и убедитесь, что патч появился.
После установки программа покажет сообщение о том, что для применения исправлений нужно перезапустить сеанс. Остальным пользователям тоже нужно выйти и войти заново.
Установка патча из файла
Так поступают, когда интернета на машине нет или поддержка подключена не во всех базах.
- Скачайте архив исправления на портале обновлений 1С под свой релиз. Архив не распаковывайте: помощник принимает его целиком.
- В той же группе обновления версии программы запустите обновление программы.
- В помощнике выберите вариант установки из файла на диске и укажите архив патча.
- Нажмите «Далее» и дождитесь окончания. Помощник проверит, подходит ли исправление к релизу, и откажет, если нет.
- Перезапустите программу.
Установка через Конфигуратор
Этот путь нужен, когда патч надо поставить в доработанную конфигурацию или проверить его вручную.
- Откройте базу в режиме Конфигуратора.
- Меню
Конфигурация → Расширения конфигурации. - Добавьте новое расширение, в его контекстном меню выберите загрузку из файла и укажите
.cfeиз архива патча. - Убедитесь, что у расширения назначение «Исправление» — оно уже задано в файле, менять его не нужно.
- Обновите конфигурацию базы данных (
F7), чтобы расширение применилось.
Если в конфигурации есть свои доработки в тех же модулях, которые правит патч, исправление может не примениться или изменить поведение вашей доработки. Проверьте его на копии базы.
Патчи и обновление в клиент-серверной базе
Сами патчи в серверной базе ставятся так же, как в файловой: из программы, из файла или через Конфигуратор. Разница в том, что база одна на всех, и пользователей много. Предупредите их: после установки нужно перезапустить 1С.
Сложнее с платформой, которая часто идёт в паре с патчами и релизами. Новый релиз конфигурации может требовать свежей платформы, и тогда без её обновления не обойтись.
Как обновить платформу на сервере 1С
Остановка службы агента сервера обрывает сеансы всех пользователей и фоновые задания. Делайте это только в согласованное окно, когда в базах никто не работает .
- Предупредите пользователей и дождитесь их выхода. Список сеансов виден в консоли администрирования серверов 1С.
- Остановите службу «Агент сервера 1С:Предприятия 8.3».
- Установите новую версию платформы, выбрав компоненты «Сервер 1С:Предприятия» и при необходимости «Модули расширения веб-сервера». Новая сборка ставится в отдельный каталог вида
C:\Program Files\1cv8\8.3.xx.xxxx, старая остаётся рядом. - Убедитесь, что служба агента запускает
ragent.exeиз каталога новой версии. Путь к исполняемому файлу видно в свойствах службы. Если служба по-прежнему указывает на старую сборку, её нужно перерегистрировать на новую. - Запустите службу и проверьте в консоли, что кластер и базы на месте.
- Обновите клиентскую часть на всех рабочих местах и терминальных серверах.
Версия клиента должна совпадать с версией сервера до последней цифры сборки. Иначе при входе пользователь увидит ошибку о несоответствии версий клиента и сервера.
Обновление платформы на рабочих местах
Ставить платформу руками на 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черезАдминистрирование → Загрузить информационную базув Конфигураторе или восстановление бэкапа СУБД. Всё, что пользователи ввели после обновления, придётся внести повторно.
Частые ошибки при установке патчей
- ❌ Ставить патч «на всякий случай». Исправление закрывает конкретную ошибку. Если её у вас нет, патч только добавляет ещё одно расширение, которое потом придётся учитывать при обновлениях.
- ❌ Забывать про остальные базы. Патч ставится в одну базу. Если у вас пять организаций в пяти базах, установить его нужно в каждую — или включить автоматическую установку везде.
- ❌ Загружать патч чужого релиза через Конфигуратор. Помощник обновления проверяет соответствие релизу, а ручная загрузка расширения — нет. Исправление может встать, но сломать то, что раньше работало.
- ❌ Обновлять сервер, не обновив терминальный сервер. Пользователи на терминале получат ошибку версий утром, когда сервер уже обновлён.
- ❌ Удалять старую платформу сразу после обновления. Подождите хотя бы неделю. Если найдётся проблема, откат займёт минуты.