Шаги сценария (старый интерфейс)

Для настройки каждого шага на вкладке «Шаги сценария (старый интерфейс)» предусмотрены управляющие элементы:

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

При добавлении шагов сценария следует заполнить поля:

Поле Назначение поля Правила заполнения и работы
Кнопка «Включить / Выключить» Выключить шаг, т.е. пропускать шаг при авто-выполнении сценария Для выключения шага необходимо нажать на кнопку «Выключить»
Вид шага Выбор вида скрипта Выбрать из: «SQL-запрос» / «1C-запрос» / «Произвольный код на языке 1С»
Тип шага Выбор типа шага Выбрать из трех значений:
«EXEC» — исполняемый,
«SEL» — выборка данных, «Вложенный запрос» — результаты шага будут доступны в последующих шагах сценария
Запускать 1 раз Признак, что шаг допустимо выполнять только один раз Если допускается только однократное выполнение шага, то установить флаг и тогда при ошибке выполнения скрипта система не будет делать несколько попыток выполнить шаг (количество попыток устанавливается в системных настройках)
Текст запроса Текст запроса Заполнить текст запроса на языке SQL или 1C
Имя таблицы Текстовое поле, отражающее название таблицы, в которую вносятся изменения на этом шаге сценария Заполняется вручную, используется для графического изображения процесса обработки данных. Графическое изображение можно включить в пакете обработки (подробно см. в этом разделе
Комментарий Описание для шага Заполнить описание шага

Настройка сценария, используя шаблоны шагов сценария

Для облегчения настройки шагов возможно воспользоваться готовыми преднастроенных шаблонов (мастеров). Текст скрипта на языке SQL / 1С сформируется автоматически на основании выбранных пользователем настроек.

Для использования шаблонов нужно при создании нового шага сценария, выбрать шаблон из списка «Шаблоны шагов сценария»:

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

Для того, чтобы изменить параметры в мастере шага сценария,необходимо перейти по ссылке с наименованием шаблона «Группировка».

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

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

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

Просмотр текста скрипта для шаблона шага доступен в справочнике «Шаблоны шагов сценария» на вкладке «Текст запроса»:

Настройка параметров шаблонов шага при помощи мастера

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

Для создания шага с помощью шаблона необходимо нажать кнопку «Задать шаблон».

После выбора необходимого шаблона открывается мастер, например, «Произвольная выборка данных»:

Далее на примере «Произвольной выборки данных» будут описаны особенности интерфейса и управляющие элементы, характерные для других шаблонов (мастеров).

При использовании шаблона «Произвольная выборка данных» необходимо:

  1. выбрать таблицу, из которой нужно получить данные;
  2. настроить связи между таблицами, в случае если запрос необходимо сформировать к нескольким таблицам;
  3. настроить необходимые поля целевой выборки данных;
  4. настроить отбор данных, в случае если необходимо отфильтровать какие-либо строки целевой выборки.

Описанные этапы настройки представлены на рисунках ниже.

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

Форма настройки полей также позволяет настроить произвольное выражение, форма доступна при нажатии на кнопку «fx» . Это позволяет применить, например, строковые, календарные, числовые и другие функции:

Настройка связей между таблицами состоит из шести шагов.

  1. Для установки связи между таблицами нужно перенести одну таблицу на другую (см. рисунок ниже, 1), переход к детальной настройке связи осуществляется двойным кликом.
  2. выбор типа соединения (см. рисунок ниже, 2).
    Доступные варианты: левое; правое; внутреннее; внешнее (полное).
  3. выбор поля первой таблицы (см. рисунок ниже, 3);
  4. выбор оператора соединения (см. рисунок ниже, 4).
    Доступные варианты операторов: «=» — равно; «<>» — не равно; «<» — меньше; «<=» — меньше или равно; «>» — больше; «>=» — больше или равно.
  5. выбор поля второй таблицы (см. рисунок ниже, 5):

Настройка отбора данных состоит из трёх шагов:

  1. выбор поля таблицы, к которому применяется отбор (см. рисунок ниже, 1);
  2. выбор вида сравнения (см. рисунок ниже, 2). Например, «Равно», «Больше или равно», «В списке», «Заполнено» и т.п.;
  3. ввод значения для применения отбора данных (см. рисунок ниже, 3);

Для возможности использования логики «ИЛИ», а также формирования других логических конструкций необходимо воспользоваться кнопкой «Сгруппировать условия» (см. рисунок ниже).

Пример: «значение поля больше или равно, или значение поля не заполнено»:

В результате шаг сценария будет содержать SQL-запрос по указанным настройкам мастера:

Группировка шагов сценария

Шаги сценария можно объединять в логические группы.

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

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

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

Настройка группировки шагов

Для создания группы в дереве сценария необходимо нажать на кнопку «Группа». Для добавления нового шага в группу необходимо установить курсор в дереве сценария на группу и добавить шаг, нажав на кнопку «Шаг»:

Для добавления существующего шага в группу необходимо выбрать шаг и в поле «Шаг родитель» указать группу, в которую необходимо перенести выбранный шаг:

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

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

В этом режиме в группе создаются служебные шаги:

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

Добавляя шаги обработки данных в такую группу, служебные шаги создания временной таблицы и смены имен таблиц останутся на своих предзаданных позициях:

В служебном шаге «Создание временной таблицы» формируется таблица-копия с аналогичной структурой исходной таблицы. Наименование таблицы-копии формируется по маске «Имя таблицы_TMP_yyyyMMddHHmmssfff».

Далее все манипуляции с данными необходимо производить в таблице-копии. Например, используя шаблон «Мэппинг полей 2х таблиц» генерируется SQL-запрос, в котором операция вставки данных производится в таблицу-копию. Мастер шаблона определяет, что шаг сценария расположен в группе с типом «Безопасное обновление данных таблицы» и подменяет наименование таблицы-приемника на системную переменную «{!Контекст_ИмяВременнойТаблицы!}».

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

Настройка шагов сценария как подзапросов

Для возможности использовать результаты выполнения шага в других шагах сценария необходимо указать тип шага «Вложенный запрос».

Ниже приведен пример настройки шага сценария.

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

В результате формируется шаг сценария с типом «Вложенный запрос».

Создаем второй шаг сценария с видом шага «SQL» и типом «SEL». В блоке «Текст запроса» указываем запрос, например, select from и далее перейдя по ссылке «Вложенные» необходимо выбрать ранее созданный шаг:

В результате текст запроса в шаге дополнится строкой вида

«select from ({!системный идентификатор!}) AS Step_1»

Запуск сценария

Существуют три варианта запуска шагов сценария

  • запускать каждый шаг или группу шагов по кнопке «Выполнить шаг» в дереве сценария;
  • запустить выполнение всех шагов сценария по кнопке на вкладке «Основное»;
  • запустить выполнение всех шагов сценария в интерфейсе WorkFlow по кнопке «Запустить» — как было описано выше.

При запуске на выполнение всех шагов сценария открывается интерфейс, в котором показывается ход выполнения шагов сценария:

После завершения работы сценария — открывается «Лог выполнения сценария»: