Перейти к содержимому

Как запустить отложенное обновление 1с

  • автор:

УТ 11.5 Отложенное обновление ИБ. Выполняются не все процедуры

После первого запуска начали выполняться процедуры обновления. Выполнено 259 процедур из 307 и процесс обновления дальше не идёт.

Запускал вручную регламентное задание "Отложенное обновление ИБ". Смотрю, что появляются фоновые задания, но они быстро завершаются.
В журнале регистрации никаких ошибок нет.

Как можно выловить по какой причине не проходит обновление?

Конфигурация: Управление торговлей, редакция 11 (11.5.7.294)
Платформа: 1С:Предприятие 8.3 (8.3.18.1208)
MS SQL Server 2012
Windows Server 2012 Standart

Как запустить принудительно процедуру?
Можно только приоритет выполнения поменять "Желательно быстрее"
https://ie.wampi.ru/2022/01/05/PRINUDITELNO-ZAPUSTIT-PROTEDURU.png

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

(9) Можно таким способом воспользоваться, но в статусе "Выполняется" более 20-ти процедур и не одного фонового задания, т.е. они все висят. Наблюдая за фоновыми заданиями когда они вначале были, то каждая процедура порождает свое фоновое задание, т.е. это не зависимые процессы. Получается все более 20-ти процедур, не создавших фоновые задания, повисли.

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

Что нужно сделать после обновления конфигурации 1С

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

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

Процедуры обновления — это специальные действия, предусмотренные поставщиком конфигурации и нужные для корректной обработки данных при переходе на новую версию. Существует также термин «обработчики обновления», который означает то же самое (в настоящей инструкции будет использоваться термин «процедуры обновления»). Все процедуры обновления подразделяются на два типа:

  • Монопольные процедуры (также называются обязательными обработчиками обновления) — требуют монопольного доступа к ИБ, то есть отсутствия в базе других пользователей, кроме администратора, выполняющего обновление.
  • Фоновые процедуры (также называются отложенными или дополнительными обработчиками обновления) — могут выполняться в фоновом режиме во время работы пользователей.

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

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

Действия в режиме 1С:Предприятие после установки обновления конфигурации

1. При запуске режима 1С:Предприятие появится окно подтверждения легальности обновления. Необходимо выбрать «Я подтверждаю…» и нажать «Продолжить»:


Окно подтверждения легальности обновления

2. Начнется выполнение монопольных (в файловой базе — и фоновых тоже) процедур обновления и отобразится полоса прогресса. Необходимо дождаться завершения процесса. Он может занять от нескольких секунд до нескольких часов. Если во время выполнения процедур обновления появится ошибка, нужно обратиться в техподдержку и предоставить подробную информацию об ошибке.


Прогресс монопольных процедур обновления

3. После завершения монопольных процедур обновления нужно проверить состояние фоновых процедур обновления. Это делается с помощью обработки «Результаты обновления программы». Обычно для ее открытия требуется пройти в раздел «НСИ и администрирование > Обслуживание > Результаты обновления программы > Результаты обновления и дополнительная обработка данных».

В зависимости от конфигурации и версии названия разделов и пунктов меню могут отличаться, например, «Администрирование» вместо «НСИ и администрирование», либо «Поддержка и обслуживание» вместо «Обслуживание». Если найти обработку не удается, можно открыть ее через меню «Все функции…».


Открытие обработки «Результаты обновления программы»

4. Если все фоновые процедуры обновления завершены, то окно обработки будет выглядеть так, как показано на скриншоте ниже. В этом случае можно закрыть окно режима 1С:Предприятие и перейти к установке следующей конфигурации (если выполнялась установка промежуточной конфигурации), к постановке на поддержку (если выполнялась установка конечной обновленной конфигурации методом сравнения/объединения) или к работе в базе (если выполнялась установка конечной обновленной конфигурации методом загрузки).


Завершение фоновых процедур обновления

5. Если фоновые процедуры еще не завершены, то окно обработки будет следующий вид:


Выполнение фоновых процедур обновления

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

Для ускорения выполнения процедур рекомендуется установить переключатель «Приоритет» в положение «Обработка данных». Кроме того, в поле ввода количества потоков рекомендуется указать число, равное числу логических процессоров на сервере 1С. Переключатель приоритета и поле ввода количества потоков могут отсутствовать в окне обработки — это зависит от конфигурации и версии.

Количество процедур зависит от версии конфигурации. При смене подредакции (например, обновлении ERP с версии 2.2 на версию 2.4) обычно бывает несколько сотен процедур, а при смене релиза (например, обновлении ERP с версии 2.4.4 на версию 2.4.5) — десятки или даже единицы.

Время выполнения процедур зависит от размера ИБ (количества данных в ней) и от производительности аппаратного обеспечения сервера, на котором расположена ИБ, и может составлять от нескольких минут до нескольких часов, а в особо сложных случаях — и несколько дней.

Если количество выполненных процедур равно нулю и не увеличивается долгое время (несколько минут), нужно проверить состояние фонового задания «Отложенное обновление ИБ». Сделать это можно в обработке «Регламентные и фоновые задания», которую можно открыть, перейдя в раздел «НСИ и администрирование > Обслуживание > Регламентные операции > Регламентные и фоновые задания». Как и в случае с открытием обработки «Результаты обновления программы», в разных конфигурациях и разных версиях названия разделов и пунктов меню могут отличаться, и при желании можно открыть обработку через «Все функции…».


Открытие обработки «Регламентные и фоновые задания»

В открывшемся списке регламентных заданий необходимо найти «Отложенное обновление ИБ» и посмотреть его состояние:

Просмотр состояния регламентного задания

Если состояние «Задание выполняется», то все в порядке — процедуры в данный момент выполняются. Остается только дождаться их завершения, следя за прогрессом в обработке «Результаты обновления программы».

Если состояние другое, например, «Не определено» или «Задание выполнено», то задание в данный момент не выполняется. В таком случае его можно запустить вручную, выделив в списке и нажав кнопку «Выполнить сейчас»:


Ручной запуск регламентного задания

Для того, чтобы выполнение фоновых процедур запускалось автоматически и не было необходимости запускать его вручную, у ИБ должна быть отключена блокировка регламентных заданий. Управление блокировкой осуществляется в окне свойств базы в консоли администрирования сервера 1С. Способ открытия данного окна уточняется у специалиста, занимающегося администрированием сервера 1С (системный администратор, администратор баз данных и т.п.).

В окне свойств базы для снятия блокировки нужно убрать галочку «Блокировка регламентных заданий включена» и нажать кнопку «ОК»:


Снятие блокировки регламентных заданий в консоли администрирования сервера

Внимание! В тестовых базах отключение блокировки может повлечь за собой запуск нежелательных регламентных заданий (например, обмена данными), поэтому, если ИБ является тестовой, перед отключением блокировки следует в обработке «Регламентные и фоновые задания» выключить все регламентные задания, кроме «Отложенное обновление ИБ». Чтобы это сделать, нужно в списке регламентных заданий нажать сочетание клавиш Ctrl+A (выделятся все строки), затем нажать правую кнопку мыши и в контекстном меню выбрать «Выключить». Таким образом, будут выключены все регламентные задания. После этого следует выделить задание «Отложенное обновление ИБ», нажать правую кнопку мыши и в контекстном меню выбрать «Включить».


Выключение всех регламентных заданий, кроме «Отложенное обновление ИБ»

12 статей про обновление 1С

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

После обновления не забывайте запустить особые процедуры.

Бывает выгоднее отдать обновление нетиповой 1С на аутсорсинг.

Что нового для вашей 1С?

Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →

Как запустить отложенное обновление 1с

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

Режим выполнения обработчиков настраивается в свойствах базы.

. на закладке «Обновление» в разделе «Обработчики»:

Режимы

Выполнять основные и отложенные

Обработчики бывают 2 видов: основные и отложенные.

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

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

Выполнять основные и отложенные особым образом

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

Если предыдущий режим выполняет отложенные обработчики прямым запуском кода этих обработчиков через внешнее (COM) соединение, то этот режим оставляет выполнение отложенных обработчиков соответствующему регламентному заданию базы на сервере.

Этот режим нужен в 2 случаях:

  • Вы обновляете старую конфигурацию, которая не поддерживает выполнение отложенных обработчиков обычным способом.
  • У вас очень большая база и выполнение отложенных обработчиков занимает слишком много времени. В этом случае их выполнение через регламентное задание на сервере способно в несколько раз увеличить производительность, если вы в самой базе включите выполнение обработчиков с приоритетом обработки данных в несколько потоков (поддерживается не всеми конфигурациями, располагается в режиме пользователя в разделе «Администрирование»-«Обновление программы»).

Итак, вот как будет действовать обновлятор в этом особом режиме:

  1. Сначала он выполнит основные обработчики обновления стандартным способом.
  2. Далее он проверит — появились ли в базе невыполненные отложенные обработчики обновления.
  3. Если такие обработчики появились, то он:
    1. Полностью снимет блокировку сеансов.
    2. Разблокирует запуск регламентных заданий в кластере.
    3. И будет в цикле ожидать пока регламентное задание «Отложенное обновление ИБ» само по расписанию выполнит все отложенные обработчики (то есть переведёт их в состояние «выполнено» или «ошибка»). По умолчанию регламентное задание «Отложенное обновление ИБ» запускается каждую минуту для выполнения очередного обработчика. Вы можете изменить настройки его запуска через расписание регламентного задания. Это может быть полезно для того, чтобы ускорить процесс выполнения отложенных обработчиков, если их много.
    4. После этого обновлятор вернёт блокировку сеансов базы и блокировку регламентных заданий, если они были установлены до этого.

    При таком варианте выполнения обработчиков обновления — отчёт в этой части будет подробным, даже если вы не включили режим отладки.

    Учтите, что отложенные обработчики могут выполняться и 5 минут и 2 часа. И это нормально и зависит от обновления и размера вашей базы. Ещё раз обратите внимание на возможность ускорения выполнения отложенных обработчиков путём изменения расписания запуска регламентного задания «Отложенное обновление ИБ». По умолчанию оно запускается один раз в минуту, выполняет один обработчик и делает паузу ещё на минуту. И если у вас 60 отложенных обработчиков, то этот процесс будет длиться уже 2 часа, хотя его можно прогнать за 20 минут, если настроить запуск регламентного задания, скажем, каждые 10 секунд без паузы.

    Если вы захотите прервать ожидания выполнения отложенных обработчиков, то нажмите кнопку «Остановить всё» и дожидайтесь пока обновлятор сам прервёт ожидание.

    В противном случае вам нужно будет самому зайти в диспетчер задач и завершить процесс с именем Connector1Cx86.exe или Connector1Cx64.exe. И далее самому проконтролировать в каком состоянии блокировки осталась база и её регламентные задания.

    Выполнять только основные

    Этот режим возможен только для серверных баз. В отличие от предыдущих режимов в процессе обновления будут выполнены только основные обработчики обновления. Отложенные обработчики будут выполняться базой самостоятельно (через регламентное задание) уже после операции обновления, когда база будет полностью разблокирована.

    Применяйте этот режим с осторожностью, если планируете обновляться сразу на несколько релизов.

    При применении этого режима рекомендую в свойствах базы, на закладке «Обновление», в разделе «Ограничения» выставить опцию «Обновлять не более чем на» в значение 1. Тогда база обновится не более чем на 1 релиз, будут выполнены основные обработчики, а затем база полностью разблокируется и уже в фоне будут выполняться отложенные обработчики. Обновлятор в этом случае (в отличие от предыдущего режима) не будет ожидать окончания их выполнения. Этот вариант более надёжный, чем предыдущий режим.

    Запускать базу с ключом /CВыполнитьОбновлениеИЗавершитьРаботу

    Этот режим предназначен прежде всего для базовой платформы 1с.

    Базовая 1с не позволяет обновлятору подключаться к базам программно (это её ограничение). Поэтому обновлятор в этом случае не может выполнить (и проконтролировать) программно обработчики.

    При этом некоторые типовые конфигурации поддерживают параметр командной строки ‘/CВыполнитьОбновлениеИЗавершитьРаботу’. При запуске клиента с этим ключом в базе автоматически запускается выполнение обработчиков обновления, а после база закрывается.

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

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

    Именно поэтому у этого режима есть дополнительная опция, позволяющую указать, что нужно ожидать пока не закроется база, но не менее X минут.

    Использовать значение опции «и сразу продолжать операцию» имеет смысл только в том случае, если вы обновляете базу не более чем на 1 релиз. Для этого в свойствах базы, на закладке «Обновление», в разделе «Ограничения» необходимо выставить опцию «Обновлять не более чем на» в значение 1.

    Внимание. Появилась возможность настроить удаление исправлений перед обновлением также для базовых 1с: вот так. В этом случае можно выбирать пункт «и ждать пока не закроется», так как перезапуск клиента в процессе выполнения обработчиков обновления выполняться не будет.

    Не выполнять

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

    Этот режим я также советую использовать в сочетании с обновлением не более чем на 1 релиз за одну операцию. То есть сначала нужно обновиться на 1 релиз, затем запустить базу, чтобы выполнились все обработчики и только после этого обновляться на следующий релиз.

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

    Владимир Милькин

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

    Долго выполняются дополнительные процедуры обработки данных после обновления 1С Бухгалтерия государственного учреждения

    После основного обновления любой типовой конфигурации 1С например «Бухгалтерия государственного учреждения», запускается специальная обработка «Результаты обновления программы» в которой происходит дополнительная обработка данных, это фоновое обновление ИБ, которое может выполняться очень долго. По хорошему во время выполнения этой процедуры лучше с базой ничего не делать, да и к тому же самой обработкой доступ к некоторым данным будет ограничен. Не редко это процесс зависает, либо выполняется ну очень долго, например, Я ждал больше двух суток, но в строке состояния так и стоял «Выполнено 0 из 22». Ускорить его кончено же можно, сейчас расскажу как.

    Очень долго выполняются дополнительные процедуры обработки данных

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

    1C Результаты обновления программы

    Далее раскрываем список «Обновление программы» и выбираем пункт «Результаты обновления и дополнительная обработка данных».

    Долго выполняются дополнительные процедуры и обработки данных после обновления

    В открывшемся окне отобразиться текущие состояние.

    Долго выполняются дополнительные процедуры и обработки данных после обновления 1С Бухгалтерия государственного учреждения

    Ускорить дополнительную обработку данных можно запустив в ручную отвечающие за это фоновое задание. Для этого открываем раздел «Регламентные операции» и выбираем пункт «Регламентные и фоновые задания».

    процедуры и обработки данных после обновления 1С

    В открывшемся окне ищем задание с названием «Отложенное обновление ИБ» и запускаем его.

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

    После его выполнения в окне «Результаты обновления программы» вы должны увидеть сообщения об успешном завершении.

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

    Задание лучше запускать когда в базе никто не работает. В этом случае все выполниться гораздо быстрей, и не будет жалоб от пользователей на медленную работу ИБ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *