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

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

Рисунок 6. Шаги сценария

Рисунок 6. Шаги сценария

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

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

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

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

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

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

Рисунок 7. Выбор шаблона шага сценария

Рисунок 7. Выбор шаблона шага сценария

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

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

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

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

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

Рисунок 8. Результирующий текст запроса

Рисунок 8. Результирующий текст запроса

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

Рисунок 9. Текст запроса шаблона шага

Рисунок 9. Текст запроса шаблона шага

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

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

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

После выбора необходимого шаблона открывается мастер, например, «Произвольная выборка данных» (см. Рисунок 10).

Рисунок 10. Мастер шаблона «Произвольная выборка данных»

Рисунок 10. Мастер шаблона «Произвольная выборка данных»

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

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

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

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

Рисунок 11. Выбор источника (таблица БД/шаг сценария/временная таблица).

Рисунок 11. Выбор источника (таблица БД/шаг сценария/временная таблица).

Рисунок 12. Настройка полей запроса.

Рисунок 12. Настройка полей запроса.

Рисунок 13. Добавление таблицы для дополнения данных.

Рисунок 13. Добавление таблицы для дополнения данных.

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

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

Рисунок 14. Добавление поля и настройка псевдонима.

Рисунок 14. Добавление поля и настройка псевдонима.

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

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

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

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

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

Рисунок 16. Настройка отбора данных.

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

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

Рисунок 17. Пример группировки условий отбора.

Рисунок 17. Пример группировки условий отбора.

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

Рисунок 18. Текст скрипта для настроенного шага.

Рисунок 18. Текст скрипта для настроенного шага.

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

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

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

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

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

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

Для создания группы в дереве сценария необходимо нажать на кнопку [Группа] Для добавления нового шага в группу необходимо установить курсор в дереве сценария на группу и добавить шаг, нажав на кнопку [Шаг] (см. Рисунок 19).

Рисунок 19. Добавление нового шага в группу.

Рисунок 19. Добавление нового шага в группу.

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

Рисунок 20. Добавление существующего шага в группу.

Рисунок 20. Добавление существующего шага в группу.

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

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

В этом режиме в группе создаются служебные шаги (см. Рисунок 21).

Рисунок 21. Создание группы в режиме «Безопасное обновление данных таблицы».

Рисунок 21. Создание группы в режиме «Безопасное обновление данных таблицы».

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

Рисунок 22. Выбор таблицы в режиме безопасного обновления

Рисунок 22. Выбор таблицы в режиме безопасного обновления

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

Рисунок 23. Включение шага сценария в группу.

Рисунок 23. Включение шага сценария в группу.

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

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

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

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

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

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

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

Рисунок 24. Настройки для шага сценария как подзапроса

Рисунок 24. Настройки для шага сценария как подзапроса

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

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

Рисунок 25. Выбор шага с типом «Вложенный запрос».

Рисунок 25. Выбор шага с типом «Вложенный запрос».

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

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

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

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

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

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

Рисунок 26. Исполнение сценария

Рисунок 26. Исполнение сценария

После завершения работы сценария – открывается «Лог выполнения сценария» (см. Рисунок 27).

Рисунок 27. Лог выполнения сценария

Рисунок 27. Лог выполнения сценария