Использование скриптового языка JavaScript в условных операторах для копирования файла
В этом примере мы разберем операцию копирования файлов из одной директории C:\Atlas365\data\ в поддиректории: короткие_имена и длинные_имена, в зависимости от длины имени файла. Фактически это распределение файлов в различные директории по длине имени файла. Файлы к этому примеру находятся в директории C:\Atlas365\examples\Scripting\JavaScriptlInCondition
Шаг 1
Скопируем файлы «Example.xls» и «Example long filename.xls» в директорию C:\Atlas365\data\
Эти файлы будут служить в качестве триггера для запуска процесса копирования файлов.
Шаг 2
Сформировать файл процесса. Процесс программы будет проверять директорию C:\Atlas365\data\ на предмет нахождения .xls файлов. Для этого примера файл уже сформирован: «ProcessJSlInCondition.xml» и находится в директории C:\Atlas365\examples\Scripting\JavaScriptInCondition\. Ниже рассмотрим пошаговое создание такого файла вручную.
- Откроем редактор процессов Atlas365 (Пуск -> Все программы -> Atlas365 –> Edit Atlas365 processes).
- Создадим стартовое (кнопка «Start event») и конечное (кнопка «End event») события:

- Откроем настройки стартового события («Start»).

На панели Files установим следующие параметры:
Path to the file: C:\Atlas365\data\*.xls
Check every: PT5S
И нажмите кнопку «Select this trigger». - Добавим Gateway (условие):

Условие будет такое: если длина имени файла превышает 15 символов, то файл будет скопирован в директорию «длинные_имена», в противном случае – в директорию «короткие_имена». - Добавим задачи (кнопка «Task») для копирования файлов, расположим их так, как показано на рисунке ниже.

- Войдем в настройки задач.
В задаче, копирующей файлы в папку «длинные_имена» установим следующее значения Parameter 1 на вкладке File Copy в разделе File Functions
C:\Atlas365\data\длинные_имена\
Аналогично для задачи выполняющей копирование файлов в директорию «короткие_имена»:
Нажмем кнопку «Select this task» и сохраним изменения. - Соединим все элементы соединительными линиями, чтобы получилось так, как показано на рисунке:

- Теперь напишем условия, по которым будут распределяться файлы по длине имени. Для этого необходимо войти в свойства связи, соединяющей условие (gateway) и соответствующую задачу. Для этого необходимо левой кнопкой мыши нажать на соответствующую связь. Для связи, соединяющей условие и задачу копирования файлов в директорию «длинные_имена» установим следующие значения параметров:
Language: JavaScript
Условие: INFILENAMEONLY.length>15
Default flow for gateway: включено
Аналогично поступим со связью между условием (gateway) и задачей копирования файлов в директорию «короткие_имена»:
Language: JavaScript
Условие: INFILENAMEONLY.length<=15
Default flow for gateway: выключено
Здесь переменная INFILENAMEONLY содержит имя файла. Для получения справки о других параметрах, см. раздел «Gateways» в руководстве пользователя редактора процессов. - Проверим только что созданную структуру на наличие ошибок, нажав на кнопку «Validate structure». Если есть ошибки, то будет выдано соответствующее сообщение.
- Сохраним созданный процесс в файл при помощи кнопки «Save as» под именем «ProcessJSInCondition.xml» в директории C:\Atlas365\examples\Scripting\JavaScriptInCondition\.
- Закроем редактор процессов. На этом этапе пример создания файла процесса с помощью редактора процессов завершен.
Шаг 3
Настроить файл конфигурации программы. Для этого необходимо запустить ConfigEditor, создать сервер процессов (если не создан), настроить и подключить созданный на предыдущем шаге файл процесса. Для удобства пользователя, этот конфигурационный файл также уже создан для этого примера, и находится по следующему адресу: C:\Atlas365\examples\Scripting\JavaScriptInCondition\ ExampleJSInConditionConfig.atlas:
Необходимо проверить и при необходимости подключить файл процесса (ProcessJSInCondition.xml) и сделать его активным:
Шаг 4
Запустить программу и проверить, что всё работает. Программа запускается нажатием на кнопку «Запуск». Проверим что файлы «Example.xls» находится в директории C:\Atlas365\data\короткие_имена\:
А файл «Example long filename.xls» находится в соответствующей директории C:\Atlas365\data\длинные_имена\:
На этом мы заканчиваем пример копирования файлов в директорию в условиях переменной длины файла с помощью скриптового языка JavaScript.