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

 

Начиная с версии ETL 1.6.3.17, по умолчанию в настройках шагов сценария включен интерфейс «WorkFlow». Для новых сценариев рекомендуется использовать «WorkFlow», а для старых сценариев — табличное представление, если «WorkFlow» для них недоступен.

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

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

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

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

Признак, что шаг допустимо выполнять только один раз

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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