Я настроил обновлятор для работы с базовой платформой. Всё обновлялось, но теперь перестало, почему?

  оглавление  Какие типовые конфигурации поддерживаются программой Обновлятор-1С?

Какой принцип работы обновлятора-1с?

Пакетный режим

В своей работе обновлятор использует командный режим конфигуратора 1с.

Командный (по-другому он ещё называется пакетный) режим предназначен для запуска конфигуратора 1с в не интерактивном режиме, то есть из командной строки.

Этот режим работы - документированная возможность от 1С, которая используется во всех решениях для автоматизации администрирования баз.

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

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

Рассмотрим сценарий простейшего обновления базы

Для обновления каждой базы обновлятор делает следующее (упрощенная схема):

  • подключается к базе через внешнее соединение, чтобы узнать:
    • название конфигурации (например, БухгалтерияПредприятия);
    • разработчика конфигурации (например, Фирма "1С");
    • версию конфигурации (например, 2.0.64.13).
  • используя логин и пароль от ИТС скачивает с сайта 1С файл с описанием всех выпущенных обновлений для данной конфигурации;
  • разбирает этот файл и находит наиболее подходящее для конфигурации обновление;
  • пытается найти это обновление на компьютере в папке с шаблонами конфигураций и обновлений;
  • если обновление не скачивалось и не устанавливалось ранее - обновлятор скачивает его с сайта 1С и распаковывает в папку шаблонов на компьютер точно также, как если бы это делала сама 1С;
  • создаёт резервную копию базы;
  • завершает работу всех пользователей базы (в том числе регламентные задания и зависшие сеансы на сервере) и блокирует базу, чтобы во время его работы к ней никто не смог подключиться;
  • запускает базу в пакетном режиме с указанием того, что нужно применить обновление - за это отвечает ключ командной строки конфигуратора UpdateCfg;
  • обновляет базу данных - за это отвечает ключ командной строки конфигуратора UpdateDBCfg;
  • если в процессе обновления произошли ошибки:
    • для файловой версии - восстанавливает базу данных из резервной копии;
    • для серверной - просто выводит в отчёт путь к резервной копии, созданной перед обновлением.
  • если всё прошло успешно, переходит в самое начало списка и повторяет все действия пока есть куда обновлять базу;
  • в конце вновь разрешает работу пользователей в базе, а также снимает ограничение на запуск регламентных заданий на сервере (но только, если такое ограничение не было уже установлено до начала его работы).

Логика работы обновлятора в части обновления баз почти полностью повторяет штатную обработку "Поиск и установка обновлений" от 1С, но при этом:

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

 

С уважением, (преподаватель школы 1С программистов и разработчик обновлятора).



Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:



Я настроил обновлятор для работы с базовой платформой. Всё обновлялось, но теперь перестало, почему?

  оглавление  Какие типовые конфигурации поддерживаются программой Обновлятор-1С?