В «Бухгалтерии для Казахстана» редакции 3.0, релиз 3.0.74.2 из актуальной линейки 3.0.74.x, «ОчередьЗаданий» — служебный справочник для хранения и контроля прикладных заданий, которые конфигурация передаёт на фоновое выполнение.
1. Идентификация
| Параметр | Значение |
|---|---|
| Тип объекта | Справочник (Catalog) |
| Имя | ОчередьЗаданий |
| Полное имя | Справочник.ОчередьЗаданий (Catalogs.ОчередьЗаданий) |
| Синоним | Очередь заданий |
| Конфигурация | «Бухгалтерия для Казахстана», редакция 3.0, релиз 3.0.74.2 из актуальной линейки 3.0.74.x |
| Класс объекта | Служебный объект подсистемы регламентных и отложенных заданий |
| Где найти | Конфигуратор → Конфигурация → Открыть конфигурацию → Справочники → ОчередьЗаданий. Для открытия списка по навигационной ссылке используется e1cib/list/Справочник.ОчередьЗаданий |
Назначение. Справочник хранит запланированные, выполняющиеся и завершённые задачи прикладного уровня. Конфигурация использует его как собственную очередь: элемент связывает вызываемый метод, параметры, расписание, пользователя, состояние выполнения и идентификатор платформенного фонового задания.
Через очередь могут запускаться обмен данными, отправка и получение электронных документов, регламентные операции, построение отчётов и обслуживание данных. Для работы с ЭСФ, виртуальным складом и СНТ предназначена Информационная система ЭСФ (ИС ЭСФ); справочник в 1С обеспечивает выполнение соответствующих прикладных процедур конфигурации.
Объект обслуживается программными механизмами конфигурации. Администратор использует его для мониторинга состояния, анализа ошибок и управления повторным запуском. Ручное изменение реквизитов элемента без анализа связанного фонового задания может нарушить последовательность выполнения очереди.
2. Реквизиты и табличные части
2.1 Реквизиты шапки
| Имя | Тип | Заполнение | Назначение |
|---|---|---|---|
| Использование | Булево | Задаётся механизмом очереди | Определяет, включено ли задание в обработку планировщиком |
| ЗапланированныйМоментЗапуска | Дата и время | Задаётся при планировании | Хранит момент, начиная с которого задание может быть запущено |
| Миллисекунды | Число | Заполняется при необходимости | Уточняет момент запуска и помогает упорядочить задания с одинаковым временем |
| СостояниеЗадания | Перечисление.СостоянияЗаданий | Изменяется механизмом очереди | Хранит текущее состояние задания: ожидание, выполнение, завершение или ошибка |
| ИсполняющееФоновоеЗадание | UUID | Заполняется после запуска | Содержит идентификатор платформенного фонового задания, исполняющего задачу |
| ЭксклюзивноеВыполнение | Булево | Задаётся при постановке | Указывает, что задача должна выполняться без конкурирующего запуска заданий с тем же условием эксклюзивности |
| Шаблон | Справочник.ШаблоныЗаданийОчереди | Заполняется для задания по шаблону | Связывает элемент очереди с шаблоном метода, параметров и расписания |
| НомерПопытки | Число | Изменяется автоматически | Хранит номер текущей попытки выполнения |
| ИмяМетода | Строка | Задаётся при постановке | Содержит имя экспортного метода конфигурации, вызываемого при выполнении |
| Параметры | Хранилище значения | Задаётся при постановке | Хранит сериализованные параметры вызова метода |
| ДатаНачалаПоследнегоЗапуска | Дата и время | Заполняется автоматически | Фиксирует фактическое время начала последней попытки |
| ДатаЗавершенияПоследнегоЗапуска | Дата и время | Заполняется автоматически | Фиксирует фактическое время завершения последней попытки |
| Ключ | Строка | Задаётся при постановке | Идентифицирует задание и используется механизмом очереди для контроля повторной постановки |
| ИнтервалПовтораПриАварийномЗавершении | Число | Задаётся для повторов | Хранит интервал в секундах до следующей попытки после аварийного завершения |
| Расписание | Хранилище значения | Задаётся для периодического задания | Хранит сериализованное расписание последующих запусков |
| КоличествоПовторовПриАварийномЗавершении | Число | Задаётся для повторов | Ограничивает количество повторных попыток после аварийного завершения |
| ИмяПользователя | Строка | Задаётся при постановке | Хранит имя пользователя информационной базы, в контексте которого выполняется задание |
Стандартные реквизиты справочника — Код, Наименование, ПометкаУдаления, Предопределённый и Ссылка — используются платформой 1С. Для прикладной идентификации задания механизм очереди применяет прежде всего реквизиты Ключ и ИсполняющееФоновоеЗадание.
2.2 Табличные части
У справочника «ОчередьЗаданий» в релизе 3.0.74.2 табличные части отсутствуют. Параметры вызова и расписание сохраняются в реквизитах типа «Хранилище значения», поэтому отдельные строки табличной части для них не создаются.
3. Формы
Основной административный сценарий — просмотр списка элементов очереди. Состав форм объекта и назначенные основные формы можно посмотреть по пути: Конфигуратор → Конфигурация → Открыть конфигурацию → Справочники → ОчередьЗаданий → Формы.
| Форма | Назначение |
|---|---|
| Форма списка | Показывает элементы очереди и их реквизиты: состояние, запланированный момент запуска, вызываемый метод, номер попытки и даты последнего выполнения |
| Форма элемента | Предоставляет карточку конкретного элемента очереди с параметрами запуска, расписанием, признаками использования и сведениями о повторных попытках |
| Форма выбора | Используется в тех интерфейсах конфигурации, где требуется выбрать ссылку на существующий элемент очереди |
Элементы очереди создаются прикладным кодом. Формы предназначены преимущественно для просмотра и диагностики, а не для регулярного ручного ввода заданий пользователем.
4. Ключевые процедуры модулей
Исполняемый алгоритм распределён между модулем менеджера справочника и общими модулями подсистемы очереди. Конкретные экспортные процедуры релиза 3.0.74.2 следует просматривать по пути: Конфигуратор → Конфигурация → Открыть конфигурацию → Справочники → ОчередьЗаданий → Модуль менеджера, а вызовы объекта — через поиск ссылок на Справочник.ОчередьЗаданий во всех текстах модулей.
Модуль менеджера и программный интерфейс постановки:
- создают новый элемент очереди либо находят существующий элемент по ключу;
- заполняют имя вызываемого метода и упаковывают параметры в хранилище значения;
- назначают момент запуска, расписание и режим использования;
- задают количество повторов и интервал между попытками после аварийного завершения;
- связывают задание с шаблоном и пользователем выполнения.
Диспетчер очереди:
- отбирает включённые элементы, для которых наступил запланированный момент запуска;
- создаёт платформенное фоновое задание и сохраняет его UUID в реквизите ИсполняющееФоновоеЗадание;
- меняет состояние элемента и записывает дату начала последней попытки;
- после окончания записывает результат и дату завершения;
- при аварийном завершении сопоставляет номер попытки с установленным количеством повторов и назначает следующий запуск через заданный интервал;
- после перезапуска рабочего процесса сопоставляет состояние элемента очереди с наличием соответствующего платформенного фонового задания.
Для анализа конкретного сбоя администратор сопоставляет Ключ, ИмяМетода, НомерПопытки, даты запуска и завершения, состояние задания и UUID фонового задания. Затем по имени метода определяется общий модуль, выполняющий прикладную операцию.
5. Проведение и движения
«ОчередьЗаданий» относится к классу справочников, поэтому у объекта отсутствует механизм проведения документов. Его данные описывают параметры, расписание и состояние фонового выполнения.
Прикладной метод, вызванный из очереди, работает по правилам своей подсистемы. Например, задание может инициировать обмен электронными документами, формирование отчёта или выполнение регламентной операции. Результат следует анализировать по журналу регистрации, состоянию элемента очереди и данным той прикладной операции, метод которой указан в реквизите ИмяМетода.
При диагностике важно разделять состояние элемента очереди и результат прикладной процедуры. Статус «Завершено» показывает окончание вызова механизма задания, а сведения об обработанных документах и сообщениях находятся в соответствующей подсистеме конфигурации.
6. Связанные объекты и ввод на основании
- Справочник.ШаблоныЗаданийОчереди — источник шаблона, связанный с элементом через реквизит Шаблон.
- Перечисление.СостоянияЗаданий — набор состояний жизненного цикла, используемый в реквизите СостояниеЗадания.
- Платформенные фоновые задания — непосредственные исполнители; связь хранится в реквизите ИсполняющееФоновоеЗадание в виде UUID.
- Регламентное задание диспетчера — периодически анализирует очередь и запускает подготовленные элементы.
- Прикладные подсистемы — обмен данными, электронные документы, отчёты и регламентные операции, которые передают свои задачи механизму очереди.
Ввод на основании для служебного справочника не используется. Элемент создаётся программно при постановке задачи, чтобы одновременно записать ключ, метод, параметры, расписание и правила повторного выполнения.
7. Точки расширения
- Расширение конфигурации. Для дополнительного аудита можно использовать расширение и подписки на события записи объекта. Обработчик должен выполняться быстро, поскольку запись элементов происходит в том числе в фоновых сеансах.
- Собственные фоновые операции. Постановку следует выполнять через программный интерфейс подсистемы очереди, сохраняя предусмотренный порядок заполнения ключа, метода, параметров и расписания.
- Мониторинг. Отчёт или внешняя обработка может отбирать задания по состоянию, номеру попытки, запланированному моменту и длительности последнего выполнения.
- Обработка ошибок. КоличествоПовторовПриАварийномЗавершении и ИнтервалПовтораПриАварийномЗавершении задают поведение конкретного задания после сбоя.
- Распределённые базы. Состав передаваемых данных определяется планом обмена конкретной информационной базы. Служебную очередь каждого узла необходимо рассматривать отдельно от синхронизируемых прикладных данных.
Перед изменением механизма через расширение следует найти все обращения к справочнику, его шаблонам и перечислению состояний. Это позволяет сохранить согласованность постановки, запуска, завершения и повторного выполнения заданий.
8. Вопросы и ответы
Можно ли вручную создать элемент справочника «ОчередьЗаданий»?
Для штатной работы элемент ставится в очередь программным интерфейсом конфигурации. Ручная запись карточки не воспроизводит весь алгоритм постановки: вместе должны быть согласованно заполнены ключ, имя метода, параметры, состояние, расписание и правила повторов.
Где посмотреть очередь заданий в релизе 3.0.74.2?
Структура объекта доступна по пути: Конфигуратор → Конфигурация → Открыть конфигурацию → Справочники → ОчередьЗаданий. Список элементов можно открыть навигационной ссылкой e1cib/list/Справочник.ОчередьЗаданий при наличии соответствующих прав.
Что проверять, если задание долго остаётся в состоянии выполнения?
Сопоставьте состояние элемента, UUID в реквизите ИсполняющееФоновоеЗадание, дату начала последнего запуска и наличие активного фонового задания. После этого найдите общий модуль по реквизиту ИмяМетода и проанализируйте записи журнала регистрации за тот же период.
Как очередь повторяет задание после ошибки?
Механизм использует НомерПопытки, КоличествоПовторовПриАварийномЗавершении и ИнтервалПовтораПриАварийномЗавершении. При допустимом числе попыток назначается новый момент запуска, а номер попытки увеличивается.
Как связаны шаблон и элемент очереди?
Реквизит Шаблон содержит ссылку на Справочник.ШаблоныЗаданийОчереди. Шаблон задаёт повторно используемые параметры постановки, а элемент очереди хранит состояние и сведения о выполнении конкретного задания.
