Не выполнены дополнительные процедуры обработки данных 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С?
Оперативная информация о выходе и содержании свежих для 24 типов конфигураций.Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →
После каждого обновления базы в ней запускаются обработчики обновления для того, чтобы проделать с данными базы манипуляции, необходимые в связи с изменившейся конфигурацией.
Таких обработчиков бывает 2 вида: основные и отложенные.
Суть их одна, но отложенные обработчики в отличие от основных можно выполнять уже после всех обновлений, в фоновом режиме, по ходу работы пользователя.
Обновлятор по умолчанию выполняет и те и другие обработчики в своём цикле обновления сразу.
И это правильно, так как зачастую применяется несколько обновлений. И если не выполнить все обработчики сразу – потом это может быть сделать весьма проблематично (будут возникать ошибки).
Что делать?
Если у вас включён контроль за выполнением отложенных обработчиков обновления, то обновлятор может в какой-то момент начать отказываться продолжать обновление базы.
Отключаем контроль за обработчиками
. нужно или отключить этот контроль (нежелательный вариант).
Выполняем обработчики в ручном режиме
. или (предпочтительный вариант) выполнить эти обработчики в ручном режиме, устранив ошибки в базе, препятствующие этому.
Для этого запустите базу в режиме пользователя.
Согласитесь, если это потребуется, на выполнение основных обработчиков обновления и дождитесь его окончания.
Далее зайдите в меню Все функции ( оно может быть скрыто из меню, о том как его показать читайте здесь ):
В этом меню раскройте раздел "Обработки":
И в нём найдите и откройте подпункт "Результаты обновления программы":
В этой обработке можно увидеть сведения о выполненных обработчиках и возможных проблемах с ними:
И если не все обработчики были выполнены - это будет отражено в этом окне.
Тогда их можно будет открыть по ссылке и запустить на повторное выполнение (через контекстное меню правой кнопкой или через кнопку "Запустить"):
Внимание! Специальная оговорка для серверных баз (раскройте)В случае серверной базы отложенные обработчики обновления, которые не были выполнены обновлятором, выполняются через механизм регламентных заданий.
Это значит, что если у вас выключен запуск регламентных заданий на сервере - вы будете бесконечно долго и безрезультатно ждать выполнения этих отложенных обработчиков.
И вам нужно либо разблокировать запуск регламентных заданий на сервере, либо запустить регламентное задание с именем "Отложенное обновление ИБ" вручную.
Рассмотрим процесс ручного запуска необходимого нам регламентного задания.
В режиме пользователя зайдите в меню Все функции ( оно может быть скрыто из меню, о том как его показать читайте здесь ):
В открывшемся диалоге раскройте раздел "Обработки". Найдите и откройте там следующий пункт:
Выделите в списке задание "Отложенное обновление ИБ" и запустите его вручную, нажав на кнопку "Выполнить сейчас":
Учтите, что за один запуск выполняется лишь один из отложенных обработчиков. Поэтому запускайте это задание столько раз, сколько потребуется, чтобы выполнить все отложенные обработчики обновления.
Отдельный случай - это когда вам не удаётся выполнить проблемные обработчики даже в ручном режиме. Обычно это означает, что:
- либо есть проблемы в базе на уровне данных (например, неверное заполнение справочников или документов)
- либо разработчики обновления допустили ошибку в коде проблемного обработчика
В таких случаях я первым делом рекомендую искать на форумах решение возникшей проблемы по тексту ошибки выполнения обработчика, который доступен в этом окне.
Но может оказаться и так, что вам потребуется анализ и корректировка (на время выполнения) программного кода обработчика, при выполнении которого возникает ошибка. И в этом случае уже без помощи программиста, к сожалению, обойтись не удастся.
Задействуем специальный механизм при обновлении очень старых серверных баз
Как написано выше, обновлятор выполняет отложенные обработчики сразу вместе с основными. Это позволяет ему безопасно выполнять последовательное обновление базы на несколько релизов.
Но для серверных баз возможность такого выполнения отложенных обработчиков была не всегда (вернее БСП, на основе которой пишутся типовые конфигурации, её не всегда поддерживала).
И в этом случае требовалось:
- или обновлять базу в файловом режиме (что не всегда возможно) - там этой проблемы нет
- или применять обновления по одному и после каждого из них запускать базу в режиме пользователя и дожидаться выполнения всех отложенных обработчиков
Именно для этого случая я и придумал специальный режим выполнения обработчиков обновления, который включается в свойствах серверных баз вот так:
Внимательно прочтите технические особенности работы этого режима. Его следует применять только как временную меру при обновлении старых конфигураций сразу на несколько релизов.
Я рассчитываю, что эта возможность будет задействована только опытными пользователями, которые понимают, что делают.
Вы должны принять тот факт, что обновлятор (в этом особом режиме выполнения обработчиков) будет на некоторое время разблокировать запуск регламентных заданий на сервере.
Итак, вот как будет действовать обновлятор в этом особом режиме:
- Сначала он выполнит все обработчики обновления стандартным способом.
- Далее он проверит - остались ли в базе невыполненные отложенные обработчики обновления.
- Если такие обработчики остались, то он:
- Полностью снимет блокировку сеансов.
- Разблокирует запуск регламентных заданий в кластере.
- И будет в цикле ожидать пока регламентное задание "Отложенное обновление ИБ" само по расписанию выполнит все отложенные обработчики (то есть переведёт их в состояние "выполнено" или "ошибка"). По умолчанию регламентное задание "Отложенное обновление ИБ" запускается каждую минуту для выполнения очередного обработчика. Вы можете изменить настройки его запуска через расписание регламентного задания. Это может быть полезно для того, чтобы ускорить процесс выполнения отложенных обработчиков, если их много.
- После этого обновлятор вернёт блокировку сеансов базы и блокировку регламентных заданий, если они были установлены до этого.
При таком варианте выполнения обработчиков обновления - отчёт в этой части будет подробным, даже если вы не включили режим отладки.
Учтите, что отложенные обработчики могут выполняться и 5 минут и 2 часа. И это нормально и зависит от обновления и размера вашей базы. Ещё раз обратите внимание на возможность ускорения выполнения отложенных обработчиков путём изменения расписания запуска регламентного задания "Отложенное обновление ИБ". По умолчанию оно запускается один раз в минуту, выполняет один обработчик и делает паузу ещё на минуту. И если у вас 60 отложенных обработчиков, то этот процесс будет длиться уже 2 часа, хотя его можно прогнать за 20 минут, если настроить запуск регламентного задания, скажем, каждые 10 секунд без паузы.
Если вы захотите прервать ожидания выполнения отложенных обработчиков, то нажмите кнопку "Остановить всё" и дожидайтесь пока обновлятор сам прервёт ожидание.
В противном случае вам нужно будет самому зайти в диспетчер задач и завершить процесс с именем Connector1Cx86.exe или Connector1Cx64.exe. И далее самому проконтролировать в каком состоянии блокировки осталась база и её регламентные задания.
Если в отчёте начала появляться фраза "Ожидание выполнения отложенных обработчиков не требуется", значит вы дошли до версии конфигурации, когда выполнение отложенных обработчиков стало возможно в основном цикле обновления. В этом случае следует отключить особый режим выполнения обработчиков.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Рассмотрим основные ошибки, которые могут возникнуть при обновлении конфигурации 1С, а также методы их решения.
Файл не содержит доступных обновлений
Ошибка возникает при несовпадении конфигураций.
Порядок исправления следующий:
-
.
- Сделать сравнение/объединение конфигурации 1С с типовым cf-файлом того же релиза. При этом выключить все чекбоксы в дереве метаданных, нажать кнопку «Выполнить».
- Затем в диалоге «Настройка правил поддержки» для всех объектов дерева метаданных выставить «Редактируется с сохранением поддержки», нажать «Ок». В результате восстановится конфигурация поставщика и конфигурация встанет на поддержку. При этом останутся все изменения и возможность редактирования.
- Обновить конфигурацию базы данных.
Имя предопределенного элемента не является уникальным
Существует несколько причин, по которым возникает ситуация «задвоения» связи элементов информационной базы и предопределенных элементов. Если ошибка произошла при обновлении конфигурации, то, с большой степенью вероятности, можно сказать о проблеме совместимости конфигурации с платформой.
Для исправления ситуации снизьте версию платформы, например, до предыдущей версии и повторно запустите обновление конфигурации.
Предопределенный элемент отсутствует в данных
Ситуация, характерна, когда предопределенный элемент отсутствует в базе данных ИБ, но в конфигурации он описан. Существует два основных варианта событий, когда такое происходит.
Иногда ошибкой может быть само обращение в предопределенному элементу, а не само наличие такого элемента. В таком случае нужно понять, почему элемент не создан. Возможно, его случайно удалили либо он создается только при выполнении определенного режима программы.
Если это все же ошибка в информационной базе, то выполните привязку элемента базы к предопределенному элементу. Технически это просто указание имени в свойстве «ИмяПредопределенныхДанных».
Ошибка формата потока
Ещё одна ошибка, возникновение которой может быть вызвано разными причинами. Например, она характерна при нарушении регламента обновления, когда администратор обновляет систему минуя промежуточные конфигурации 1С — в таких случаях «бьется» конфигурация поставщика. Профилактика данной ошибки — последовательное обновление с помощью cfu-файлов.
Если же ошибка всё же возникла, попробуйте следующий порядок действий:
- Поставьте чистую конфигурацию, аналогичную вашей, а затем через конфигуратор, сохраните её в файл.
- Аналогично сохраните файл конфигурации проблемной базы и следующие шаги выполняйте в нём же.
- Откройте пункт меню «Конфигурация» > «Загрузить конфигурацию из файла». При запросе системы «Обновить конфигурацию БД» обязательно выбираем «Нет»
- Создайте новую конфигурацию поставщика через меню «Конфигурация» > «Настройка поддержки» > «Включить возможность изменения».
- Следующим шагом выбираем «Конфигурация» > «Сравнить Объединить с конфигурацией из файла» и указываете файл конфигурации, созданный на втором шаге.
- Соглашаемся с изменениями и применяем их к конфигурации информационной базы по кнопке F7 — «Обновить конфигурацию базы данных».
- Обновляете.
Ошибка при записи профиля
Данная ошибка вызвана, как правило, дублированием информации профилей. Зайдите в справочник пользовательских профилей: «Все функции» > Справочники > «Профили групп доступа» (не путайте со справочником «Пользователи)».
Раскройте все группы профилей и посмотрите, есть ли повторяющиеся записи. Удалите все ненужные дубли, и ошибка исчезнет.
12 статей про обновление 1С
Типовую программу 1С легко обновить самостоятельно через конфигуратор или интернет. Ещё один способ — использовать cfu-файл. Если пропущено много релизов, вам сэкономят время промежуточные конфигурации.
После обновления не забывайте запустить особые процедуры.
Бывает выгоднее отдать обновление нетиповой 1С на аутсорсинг.
Что нового для вашей 1С?
Оперативная информация о выходе и содержании свежих для 24 типов конфигураций.Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →
Инструкция расскажет, как по шагам обновить нетиповую конфигурацию 1С.
Для обновления нетиповой (измененной) конфигурации необходимо подготовить следующие файлы:
- исходная измененная конфигурация (рабочая);
- типовая конфигурация версии до обновления (старая);
- типовая конфигурация новой версии (новая) или файл(ы) .cfu для перехода на нее.
Технология обновление на примере нетиповой конфигурации УПП с 1.3.95.1 до 1.3.97.3
1. Создать пустую базу и загрузить туда рабочую конфигурацию: «Конфигурация>Загрузить конфигурацию из файла»:
На вопрос об обновлении нажать «Да»:
В окне реорганизации нажать «Принять»:
2. Проверить, стоит ли конфигурация на поддержке: «Конфигурация>Поддержка>Настройка поддержки»:
В появившемся окне отобразится информация о том, на какой поддержке (или поддержках) стоит конфигурация.
Если поддержек несколько, можно переключаться между ними, используя список выбора.
Необходимо проверить, что среди поддержек есть та конфигурация, которую необходимо будет обновить (в данном случае «УправлениеПроизводственнымПредприятием») и у нее правильная версия (в данном случае «1.3.95.1»). Нужную версию можно узнать, нажав кнопку «О программе».
Если в списке поддержек нет нужной конфигурации, то нужно поставить конфигурацию на поддержку старой типовой и затем перейти к п.3.
Если найдена поддержка нужной конфигурации, но неправильной версии, нужно нажать «Снять с поддержки», затем «Да», поставить конфигурацию на поддержкустарой типовой и перейти к п.3.
Если найдена поддержка нужной конфигурации и нужной версии, то нужно дважды кликнуть на правую колонку корня конфигурации, в появившемся окне выбрать «Объект редактируется с сохранением поддержки», поставить галочку «Установить для подчиненных объектов» и нажать «ОК». После этого можно закрыть окно настройки поддержки.
3. Когда конфигурация стоит на поддержке правильной версии, можно приступать к обновлению. Для этого нужно выбрать «Конфигурация>Поддержка>Обновить конфигурацию»:
В появившемся окне нужно переключиться на «Выбор файла обновления» и нажать «Далее».
Далее появится окно с информацией о версиях, в нем просто нажать «ОК». Если вместо этого появилось окно с текстом «Файл не содержит доступных обновлений», значит, была допущена ошибка либо при постановке на поддержку (см. п.2), либо при выборе файла обновления.
После этих действий начнется процесс сравнения конфигураций, который может занять длительное время.
4. По окончании процесса сравнения отобразится окно с деревом объектов. В нем необходимо переключиться на режим отображения только дважды измененных объектов. На платформе ниже 8.3.8 для этого необходимо нажать кнопку «Фильтр», в нижней части окна поставить галочку «Показывать только дважды измененные свойства» и затем нажать «ОК».
На платформе 8.3.8 и выше нужно в нижней части окна переключить фильтр на «Показывать только дважды измененные свойства»:
После применения фильтра в дереве останутся только те объекты, которые изменены и в рабочей конфигурации, и в новой типовой, по сравнению со старой типовой.
Если таких объектов нет, то обновление значительно упрощается. В этом случае можно перейти к следующему пункту.
Если объекты есть, то нужно сохранить их список куда-нибудь, т.к. в будущем он пригодится. Для сохранения можно использовать текстовый файл или любой другой способ.
Пример. Дерево после применения фильтра выглядит следующим образом:
В этом случае список объектов, который нужно сохранить, будет такой:
- Подсистема РегламентированнаяОтчетность – состав
- Общий модуль УправлениеЗапасамиПартионныйУчет
- Общий модуль УчетНДС
- Обработка КлиентБанк – модуль объекта
Формат списка может быть произвольным, главное, чтобы он оставался понятным.
5. Нажать кнопку «Выполнить».
Если отобразится окно «Неразрешимые ссылки», то в нем нужно нажать «Продолжить».
Если были дважды измененные объекты, то появится предупреждение об их замещении. На него нужно ответить «Да».
Далее появится окно настройки поддержки. В нем нужно установить такие настройки:
6. Данный пункт имеет смысл, только если были дважды измененные объекты. Если их не было, следует перейти к следующему пункту.
В отдельном конфигураторе (можно, например, создать пустую базу) необходимо построить сравнение старой типовой и рабочей конфигураций. Для этого нужно выбрать «Конфигурация>Сравнить конфигурации»:
В появившемся окне выбрать тип конфигурации «Файл» и указать пути к старой типовой (сверху) и рабочей конфигурации (снизу), затем нажать «ОК».
После построения сравнения выполнить перенос изменений в объекты, список которых был составлен в предыдущем пункте.
7. Обновление почти завершено!
Осталось только применить изменения (F7), при необходимости нажав «Принять» в окне реорганизации, и выгрузить обновленную конфигурацию: «Конфигурация>Сохранить конфигурацию в файл»:
12 статей про обновление 1С
Типовую программу 1С легко обновить самостоятельно через конфигуратор или интернет. Ещё один способ — использовать cfu-файл. Если пропущено много релизов, вам сэкономят время промежуточные конфигурации.
После обновления не забывайте запустить особые процедуры.
Бывает выгоднее отдать обновление нетиповой 1С на аутсорсинг.
Что нового для вашей 1С?
Оперативная информация о выходе и содержании свежих для 24 типов конфигураций.Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →
Читайте также: