Обновление конфигурации 1С:Отель без потери данных

· 9 мин

Содержание

Обновить 1С:Отель можно в конфигураторе: Конфигурация → Поддержка → Обновить конфигурацию, выбрать файл .cfu нового релиза, а затем принять изменения в базе данных (F7). После этого базу нужно один раз открыть в режиме 1С:Предприятие, чтобы отработали обработчики обновления. Работает одинаково в файловом и клиент-серверном варианте, отличается только подготовка.

Частое заблуждение — «скачаю последний релиз и сразу поставлю». Так не получится, если база отстала на несколько версий: файл обновления применим только к тем релизам, которые перечислены в его описании. Идти приходится по цепочке, релиз за релизом, и до начала работ стоит проверить, какая нужна версия платформы.

Подготовка: что сделать до обновления 1С:Отель

Гостиница работает круглосуточно. Ночной портье, бронирования из модуля онлайн-продаж, обмен с бухгалтерией — всё это живые сеансы. Поэтому обновление планируют на окно с минимальной загрузкой, обычно 2–4 часа ночи, и предупреждают смену заранее.

Что проверить перед стартом:

  • 🔎 Текущий релиз. В режиме 1С:Предприятие откройте Справка → О программе (иконка с вопросительным знаком в правом верхнем углу) и запишите номер версии конфигурации и платформы.
  • 🧩 Состояние поддержки. В конфигураторе откройте Конфигурация → Поддержка → Настройка поддержки. Если там указано «на поддержке, изменения не включены» — обновление пройдёт гладко. Если изменения включены — понадобится сравнение и объединение (о нём ниже).
  • 🔌 Расширения. Посмотрите Конфигурация → Расширения конфигурации. Расширения от интегратора (связь с замками, ПМС, каналами продаж) после обновления нужно проверить отдельно.
  • 💻 Версия платформы. В описании нового релиза указана минимальная версия платформы. Если установленная платформа имеет номер ниже требуемого — сначала обновите её на сервере и на всех клиентских компьютерах.
  • 👥 Пароль администратора. Нужен пользователь с полными правами, иначе конфигуратор не откроется.

Резервная копия

Без резервной копии обновление не начинайте. Откат «вручную» после неудачного объединения займёт больше времени, чем само обновление.

Надёжный способ для любого варианта базы — выгрузка в файл .dt: Администрирование → Выгрузить информационную базу в конфигураторе. Для выгрузки нужен монопольный доступ, то есть все пользователи должны выйти.

Для файловой базы дополнительно можно скопировать каталог с файлом 1Cv8.1CD при закрытых сеансах. Для серверной базы на PostgreSQL или MS SQL администратор делает ещё и штатный бэкап СУБД: так восстановление пройдёт быстрее, чем загрузка .dt.

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

Где взять файлы нового релиза

1С:Отель — отраслевое решение, поэтому обновления приходят по договору сопровождения. Возможны три источника:

ИсточникЧто получаетеКогда подходит
Личный кабинет на портале обновлений 1САрхив с установщиком релизаДействует подписка, решение зарегистрировано
Обслуживающий партнёр или разработчик решенияАрхив или готовый .cfuНет своей подписки, обновляет партнёр
Встроенное обновление через интернет-поддержкуЗагрузка прямо в программуЕсли в конфигурации есть такая возможность и база подключена к интернет-поддержке

Архив релиза обычно содержит установщик setup.exe. Он распаковывает файлы в каталог шаблонов конфигураций, по умолчанию это %APPDATA%\1C\1cv8\tmplts. Там появляется папка с номером версии, а внутри — файлы:

  • 📄 1cv8.cfu — файл обновления, именно его применяют к рабочей базе;
  • 📄 1cv8.cf — полная конфигурация, нужна для новой базы или для сравнения;
  • 📄 текстовый файл с описанием, в котором перечислено, с каких версий допустимо обновление.

Если база отстаёт на 3–4 релиза, скачайте все промежуточные. Конфигуратор покажет только те .cfu, которые подходят к текущей версии, — это и есть подсказка, какой релиз ставить следующим.

Обновление 1С:Отель в файловой базе через конфигуратор

Файловая база — частый вариант для небольших отелей и хостелов на 2–5 рабочих мест. Порядок такой.

  1. Попросите всех пользователей выйти из программы. Проверить, что никого нет, проще всего по списку активных пользователей: Администрирование → Активные пользователи в конфигураторе.
  2. Запустите 1С в режиме Конфигуратор под администратором.
  3. Если дерево конфигурации не открыто, нажмите Конфигурация → Открыть конфигурацию.
  4. Выберите Конфигурация → Поддержка → Обновить конфигурацию.
  5. Отметьте «Поиск доступных обновлений (рекомендуется)» — конфигуратор просмотрит каталог шаблонов и предложит подходящий релиз. Либо выберите «Выбор файла обновления» и укажите .cfu вручную.
  6. Прочитайте окно с описанием обновления и нажмите «Продолжить обновление».
  7. Если конфигурация без доработок, откроется окно сравнения. Нажмите «Выполнить», затем согласитесь обновить конфигурацию базы данных.
  8. Появится окно «Реорганизация информации» со списком изменённых объектов. Нажмите «Принять».
  9. Закройте конфигуратор и запустите базу в режиме 1С:Предприятие под администратором.

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

Если конфигурация доработана

Когда в Настройке поддержки включены изменения, окно сравнения покажет три колонки: старая конфигурация поставщика, ваша (основная) и новая. Объекты, которые меняли и вы, и разработчик, будут отмечены особо.

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

Доработки, вынесенные в расширение, не мешают обновлению основной конфигурации. Если интегратор предлагает перенести изменения в расширение — это стоит сделать: следующие релизы будут ставиться стандартным путём.

Серверная база: что меняется при обновлении

В клиент-серверном варианте процедура в конфигураторе та же. Разница в том, как выгнать пользователей и где следить за процессом.

Как заблокировать новые сеансы. Откройте консоль администрирования серверов 1С, найдите информационную базу и в её свойствах включите «Блокировка начала сеансов включена». Задайте время начала и окончания блокировки, текст сообщения для пользователей и код разрешения. С этим кодом вы сами сможете войти в заблокированную базу, указав его в параметре запуска /UC.

Как завершить активные сеансы. В той же консоли откройте раздел «Сеансы» базы и завершите оставшиеся.

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

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

Монопольный доступ требуется на этапе обновления конфигурации базы данных (реорганизации). Если какой-то фоновый сеанс или служба обмена держит базу, конфигуратор не сможет его получить. Типичные «невидимки» в гостинице: регламентные задания обмена с бухгалтерией, загрузка бронирований из каналов продаж, веб-сервис для сайта. Их отключают на время работ.

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

Обновление из командной строки: пакетный режим 1cv8

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

ПараметрЧто делает
DESIGNERЗапуск в режиме конфигуратора
/F "путь"Файловая база: каталог с базой
/S "сервер\база"Серверная база
/N и /PИмя пользователя и пароль
/DumpIB "файл.dt"Выгрузка базы в файл
/UpdateCfg "файл.cfu"Обновление конфигурации, находящейся на поддержке
/UpdateDBCfgОбновление конфигурации базы данных
/UC кодКод разрешения для входа в заблокированную базу
/Out "лог.txt"Файл для служебных сообщений
/DisableStartupMessagesБез стартовых диалогов

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

@echo off
set EXE="C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe"
set BASE=/S "srv-1c\hotel"
set AUTH=/N "Администратор" /P "пароль"
set UC=/UC "obnovlenie"
set CFU="D:\Releases\Hotel\1cv8.cfu"
set LOG="D:\Releases\Hotel\update_log.txt"

%EXE% DESIGNER %BASE% %AUTH% %UC% /DisableStartupMessages /DumpIB "D:\Backup\hotel_before_update.dt" /Out %LOG%
if errorlevel 1 goto error

%EXE% DESIGNER %BASE% %AUTH% %UC% /DisableStartupMessages /UpdateCfg %CFU% /UpdateDBCfg /Out %LOG% -NoTruncate
if errorlevel 1 goto error

echo Обновление завершено
goto end

:error
echo Ошибка, смотрите %LOG%
:end

Номер платформы в пути EXE замените на установленный у вас. Для файловой базы вместо /S "srv-1c\hotel" укажите /F "D:\Bases\Hotel". Ключ -NoTruncate дописывает лог, а не перезаписывает его — так в одном файле видны результаты обоих запусков.

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

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" ENTERPRISE /S "srv-1c\hotel" /N "Администратор" /P "пароль" /UC "obnovlenie"

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

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

Проверка работы программы после обновления

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

Проверка 1С:Отель после обновления
Выполнено: 0 / 8

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

Отдельно зайдите в журнал регистрации: Администрирование → Журнал регистрации в конфигураторе или в режиме предприятия. Отфильтруйте события с уровнем «Ошибка» за время после обновления — так всплывут сбои фоновых заданий, которые пользователь на экране не увидит.

Ошибки при обновлении 1С:Отель и что с ними делать

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

Если всё пошло не так

Когда реорганизация прервалась (пропал свет, завис сервер), не пытайтесь «дожать» обновление повторными запусками. Восстановите базу из копии, сделанной перед работами: Администрирование → Загрузить информационную базу и файл .dt. Затем выясните причину и повторите обновление в следующее окно.

Загрузка .dt полностью заменяет текущие данные базы. Всё, что внесли после выгрузки, пропадёт — например, брони, принятые ночью из каналов продаж. Их придётся внести заново.

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

Можно ли обновлять 1С:Отель, пока гости заселяются?
Нет. Для обновления конфигурации базы данных нужен монопольный доступ, все пользователи должны выйти. Выбирайте окно с минимальной загрузкой.
Сколько времени занимает обновление?
На один релиз в базе без доработок — обычно 15–40 минут вместе с резервной копией и обработчиками. Объединение доработанной конфигурации может занять несколько часов.
Нужно ли обновлять платформу каждый раз?
Нет. Только если в описании релиза указана минимальная версия платформы с номером выше установленной.
Можно ли пропустить промежуточные релизы?
Только если описание нового релиза прямо допускает обновление с вашей версии. В остальных случаях ставьте релизы по очереди.
Что делать с базой-копией для тестов?
Лучше сначала обновить копию рабочей базы, загруженную из .dt в отдельную базу. Если на ней всё прошло без ошибок — повторяйте на рабочей.