InternalStorageGuide
Внутреннее хранилище 4.4.1+
Версия 4.6.0
© 2015-2023, ООО "Процессные технологии"
# Общее описание
"Внутреннее хранилище данных" - аналог таблиц базы данных, представленных в виде Excel файлов.
Предназначено для централизованного хранения переменных бизнес-процесса.
# Обработчик хранилища данных
Для работы с внутренним хранилищем в RunaWFE Free используется специальный элемент палитры - "Хранилище данных", связанный с задачей сценарий с помощью пунктирного перехода.
Возможны два варианта связи: “обработчик -> иконка” как показано на рисунке выше, и “иконка -> обработчик”
Выбор обработчика в задаче сценария выполняется автоматически, а установка конфигурации выполняется в зависимости от способа связи.
Параметры обработчика:
- выполняемое действие
При связи “обработчик -> иконка” в конфигурации доступны 3 операции: INSERT, DELETE, UPDATE. При связи “иконка -> обработчик” доступна только операция SELECT
- тип данных
Здесь доступны для выбора определенные в текущем БП пользовательские типы данных с установленной опцией "Таблица БД"
- переменная с данными для вставки (в случае действия INSERT), переменная с данными для обновления (в случае действия UPDATE)
Переменная пользовательского типа с опцией "Таблица БД", которую требуется вставить или обновить в хранилище.
- результирующая переменная
Выходной параметр, используется только в случае действия SELECT. Здесь доступны переменная формата Список(Пользовательский тип), необходима для хранения результата выборки из хранилища данных.
# Действия с данными
INSERT
Предназначено для добавления данных во внутреннее хранилище. Вставка выполняется в следующую свободную строку. В качестве входных данных используется переменная пользовательского типа или список из таких переменных. Например, может быть использовано для вставки во внутреннее хранилище поданной заявки.
SELECT
Предназначено для чтения данных из хранилища, может быть использована с условием. Например, для выборки заявок с определенным статусом.
В качестве результата всегда возвращает список, даже если был получен только один элемент..
UPDATE
Предназначено для обновления переменной в хранилище. Обязательно использование условия для определения переменной, которую требуется обновить.
DELETE
Предназначено для удаления переменной из внутреннего хранилища. Используется с условием.
По клику на ссылку "Добавить условие" можно задать условия при которых выполняется чтение, обновление или удаление данных из хранилища. Условие может быть составное, с использованием логических объединений по OR или AND.
Например, на рисунке ниже представлена конфигурация с действием удаления из внутреннего хранилища тех заявок, у которых тип авто соответствует типу авто заданному в переменной "Заявка.Тип авто" ИЛИ количество мест меньше значения заданного в переменной "Переменная1"
# Настройка и использование внутреннего хранилища данных
Каждому типу переменной с установленной опцией "Таблица БД" соответствует отдельный Excel файл. Строки соответствуют переменным, а столбцы атрибутам пользовательского типа переменной. Название файла совпадает с именем типа.
По умолчанию файлы внутреннего хранилища данных сохраняются в директорию C:\Users\<Пользователь>\AppData\Roaming\runawfe\excelstorage,
Путь можно изменить. Для этого необходимо импортировать с сервера в среду разработки источник данных InternalStorage
изменить путь
и экспортировать обратно
В web интерфейсе RunaWFE Free есть возможность
- посмотреть путь используемый для хранения файлов внутреннего хранилища,
- отобразить файлы внутреннего хранилища,
- скачать excel файлы внутреннего хранилища
Для этого необходимо перейти в меню "Внутреннее хранилище" (доступен только пользователям входящим в группу Administrators)
Как видно из рисунка ниже, файлы внутреннего хранилища располагаются по пути C:\Users\ROMA\AppData\Roaming\runawfe\excelstorage, в хранилище расположены файлы "Заявка", "Архивная заявка" соответствующие пользовательским типам "Заявка" и "Архивная заявка". По клику на название файла будет открыта страница с просмотром его содержимого в виде таблицы.
По клику на имени файла в заголовке таблицы, есть возможность его загрузить.
Подробный пример разработки БП с использованием внутреннего хранилища можно посмотреть в учебных материалах RunaWFE 4.4.1. Практикум. Внутреннее хранилище данных.
# Рекомендации по использованию внутреннего хранилища
- в момент выполнения обработчика, использующего одно из действий INSERT, DELETE, UPDATE, файлы внутреннего хранилища данных не должны быть открыты в системе, иначе действие не будет выполнено
- во избежание проблем с форматом запрещается самостоятельно добавлять данные во внутреннее хранилище. Если есть необходимость использовать заранее заполненное хранилище, создайте для этого отдельный процесс, использующий соответствующий обработчик с действием (insert)
- во время отладки БП рекомендуется останавливать ранее запущенные экземпляры процессов работающих с внутренним хранилищем,
- во время отладки БП рекомендуется чистить файлы хранилища в случае изменения набора атрибутов или их имен в пользовательском типе используемом во внутреннем хранилище