Для настройки процесса последовательно нажмите на кнопку “+” (1) на панели инструментов и выберите строку “Процесс” (2) (рис. 107)
В результате выбора в области ведения объектов проекта появится Процесс (1) (рис. 108) , который сразу переименуйте в “Определение координат”.
Выберите из списка основных операторов (2) оператор "ForEach" и перетащите его в рабочую область настройки объектов проекта. Оператор “ForEach” предназначен для последовательного прохода по записям данных.
В результате в рабочей области появится оператор “ForEach”, а справа область настройки выбранного оператора (рис. 109). Последовательно откройте Базу и схему “education” в области ведения объектов проекта.
В схеме “education” находится таблица с адресами образовательных организаций, которые мы должны “обогатить” координатами для получения возможности помещения образовательных организаций на виджет “Карта”. Перетащите с помощью мышки таблицу “Образовательные организации” в поле “Данные” (1) (рис. 109).
Перетащите из области ведения объектов проекта сервис “Геокодер” (1) в рабочую область настройки объектов проекта (рис. 110). Имя сервиса “Геокодер 1” (наименование можно изменить). “Геокодер” - сервис геокодирования предназначен для получения координат по адресу.
Свяжите мышкой:
управление последовательностью (серая толстая стрелка):
начало процесса с запуском оператором “ForEach” (2);
окончание работы оператора “ForEach” с завершением процесса (3);
передачу управления для каждой записи “ForEach” на запуск сервиса “Геокодер 1" (4);
возврат управления в оператор “ForEach” в случае ошибки сервиса “Геокодер 1” (5);
управление данными (синяя тонкая стрелка):
передачу порции данных из оператора “ForEach” для обработки в сервис “Геокодер 1” (6).
Для настройки источника данных:
выберите оператор “ForEach1” для редактирования
в поле данных перетяните из Куба исходный срез “Образовательные организации” (7).
После “обогащения” данных координатами их необходимо записать в базу данных, для этого:
выберите из раздела “Хранилище” оператор "DB Store" и перетащите его в рабочую область настройки объектов проекта (1) (рис. 111). Оператор “DB Store” предназначен для записи содержимого порта в таблицу базы данных;
Свяжите мышкой:
управление последовательностью (серая толстая стрелка):
начало записи в БД “DB Store 1” с завершением процесса получения координат “Геокодер 1” (2);
окончание записи в базу данных “DB Store 1” с переходом на следующую запись “ForEach1” (3);
окончание процесса в случае ошибки записи в БД (4);
управление данными (синяя тонкая стрелка):
передачу порции данных из оператора “Геокодер 1” для сохранения в БД “DB Store 1” (5).
Для настройки сервиса геокодирования выберите “Геокодер” (6) (рис. 111). В правой части экрана откроются настройки (рис. 112), в которых:
выберите из списка сервис геокодирования - Яндекс (1);
выберите поле, в котором расположен адрес - “Адрес” (4);
выберите из списка вариант сохранения результата - в отдельных столбцах (5);
поставьте в соответствие широту и долготу (5).
Для настройки сервиса сохранения в базу данных выберите “DB Store 1” (7) (рис. 111). В правой части экрана откроются настройки (рис. 113), в которых:
перенесите из области ведения объектов проекта базу данных - “База” (1);
пропишите схему базы данных - education (2);
пропишите имя таблицы базы данных, в которую будут записаны координаты школ - ИНН адрес координаты (3);
выберите из списка вид записи если таблица существует - добавить в существующую (4);
проверять существующие записи - да (5);
выберите ключевой столбец (столбцы) для проверки уникальности строки - Адрес (6);
выберите режим пропускать записи, если строка существует (7);
выполнить процедуру записи на стороне СУБД - да (8); ограничение: выполнять процедуру записи на стороне СУБД можно если и источник, и целевая база находятся в рамках одной СУБД.
После настройки всех операторов можно протестировать процесс обработки данных. Для этого в рабочей области настройки объектов проекта предусмотрена кнопка со стрелкой (1) (рис.114), которая позволяет пошагово передавать управление от оператора к оператору, при этом стрелка передачи управления приобретает зеленый цвет, который с каждым последующим шагом становится светлее.
На рисунке 114 зафиксирован момент, когда кнопка была нажата 3 раза:
первое нажатие - процесс запустился - управление передано “ForEach1” (2);
второе нажатие - считана первая запись среза “Образовательные организации” - управление и данные переданы “Геокодер 1” (3);
третье нажатие - получен ответ от геосервиса Яндекса - управление и данные переданы для сохранения в базу данных (4);
при следующем нажатии после безошибочного сохранения записи в базу данных зеленым цветом окрасится стрелка (7) и управление будет передано “ForEach1” для считывания следующей записи среза “Образовательные организации”, при этом стрелки (2), (3), (4) посветлеют.
После третьего нажатия выберите сервис “Геокодер 1” - под рабочей областью появится 2 таблицы, показывающие данные:
на входе сервиса (4) - первая закладка - координат нет;
на выходе сервиса (5) - вторая закладка - в поток данных добавились координаты.
Что бы начать процесс отладки нажмите кнопку (8) - процесс остановится, управление и данные сбросятся.
После успешной отладки запустите процесс по кнопке “Play” (9).
Процесс обработки данных может быть запущен:
разово по кнопке (9) (рис. 114);
по расписанию, для чего (рис. 115):
в области ведения объектов проекта выберите процесс “Определение координат” (1);
в рабочей области настройки объектов проекта в сегменте “Автозапуск” включите режим “Активен” (2);