Ссылка на процесс
Eng: Link
Назначение: выполняет указанный подпроцесс. Путь до его файла задается либо в строке на панели элемента, либо в свойстве «Путь к процессу».
На панели элемента также находятся кнопки:
-
Открыть
- автоматически открывает в проекте вкладку с указанным подпроцессом.
-
Аргументы
- вызывает окно с аргументами подпроцесса. Пример:
Для каждого аргумента возможно создать переменную (или аргумент) и указать ее в столбце Назначение.
В окне поддерживается сочетание клавиш:Ctrl
+K
- для создания переменной. Переменная создается для выбранного аргумента в соответствии с его типом данных. Добавленная переменная отобразится в столбце Назначение, а также на панели переменных активного процесса.Ctrl
+Alt
+K
- для создания аргумента. Тип данных назначается в соответствии с выбранным аргументом подпроцесса.
Свойства
Описание общих свойств элемента см. в разделе Свойства элемента .
Символ *
в названии свойства указывает на обязательность заполнения.
Процесс:
- Путь к процессу* [String] - Путь к файлу подпроцесса. Пример:
"./Main.ltw"
- Маппинг* [LTools.Common.Model. VariablesMapping] - Маппинг аргументов подпроцесса
- Кешировать [Boolean] - Определите, нужно ли кешировать подпроцесс Песочница:
- Запуск в песочнице [Boolean] - Нужно ли запускать процесс в Песочнице Windows
- Закрывать [Boolean] - Нужно ли закрывать Песочницу по завершении. По умолчанию закрывается
- Таймаут старта* [Int32] - Таймаут запуска Песочницы в миллисекундах. По умолчанию
60000
- Таймаут завершения* [Int32] - Таймаут завершения работы робота в миллисекундах (0 - бесконечно). По умолчанию
0
- Параллельно [Boolean] - Нужно ли запускать Песочницу параллельно с основным процессом
Песочница
«Песочница» (SandBox) - инструмент Windows 10, 11 для безопасного запуска приложений в изолированной виртуальной среде. Программы, установленные и запущенные внутри Песочницы, изолированы от остальной системы и работают независимо от главного компьютера. Песочница является временной. При ее закрытии все находящееся в ней программное обеспечение, все файлы и данные о состоянии удаляются. При каждом открытии приложения вы получаете новый экземпляр Песочницы.
Установка песочницы:
- Убедитесь, что на вашем компьютере используется Windows 10 Pro или Windows 10 Корпоративная с версией сборки 18305 или Windows 11.
- Виртуализация на компьютере:
- Если вы используете физический компьютер, убедитесь, что возможности виртуализации включены в BIOS.
- Если вы используете виртуальную машину, запустите эту команду PowerShell, чтобы включить вложенную виртуализацию:
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
- В строке поиска на панели задач введите Включение или отключение компонентов Windows, чтобы получить доступ к инструменту дополнительных компонентов Windows. Выберите Песочницу Windows, а затем нажмите ОК. Перезапустите компьютер при появлении соответствующего запроса.
- Если вариант Песочница Windows недоступен, то компьютер не соответствует требованиям для запуска Песочницы. Если вы считаете, что это не так, просмотрите список предварительных требований , а также шаги 1 и 2.
Работа с Песочницей
Для запуска процесса в Песочнице необходимо:
- Установить флаг Запуск в песочнице в свойствах элемента:
‼️Основной и вспомогательный робот могут обмениваться только простыми данными (String, Double , DateTime , Boolean и т.д.) либо коллекциями простых данных (List<String>, List<DateTime> и т.д.)
- Чтобы Песочница закрывалась по завершении работы процесса, используйте флаг Закрывать.
- Свойство Таймаут старта - это количество миллисекунд, которое нужно ожидать до старта дополнительного робота.
- Свойство Таймаут завершения - это количество миллисекунд, которое нужно ожидать до завершения работы дополнительного робота (в не-параллельном режиме). Значение
0
- ожидать бесконечно. - Робота можно запускать параллельно с основным роботом (флаг Параллельно), но в этом случае аргументы, возвращенные дополнительным роботом, получены не будут.
Обучающий пример
Перейдите по ссылке , чтобы скачать процессы, демонстрирующие работу элемента: Ссылка на процесс.ltw
и Ссылка на процесс 1.ltw
(подпроцесс). Чтобы ознакомиться с работой процессов, загрузите их в нужный проект и откройте в Студии.
Только код
Пример использования элемента в процессе с типом Только код (Pure code):
{% tabs %} {% tab title=“C#” %}
//Создаем аргументы
List<LTools.Workflow.Model.SequenceLinkArg> args = new List<LTools.Workflow.Model.SequenceLinkArg>();
args.Add(new LTools.Workflow.Model.SequenceLinkArg() { Name = "arg1", Value = "val1" });
//Вызываем процесс
args = LTools.Workflow.Elements.WFSequenceLink.CallWorkflow(wf, @"C:\Project\Process.ltw", args);
//Получаем аргументы
string ret = args.Where(it => it.Name == "arg1").FirstOrDefault().Value as string;
{% endtab %}
{% tab title=“Python” %}
#Создаем аргументы
args = List[LTools.Workflow.Model.SequenceLinkArg]()
args.Add(LTools.Workflow.Model.SequenceLinkArg("arg1", "val1"))
#Вызываем процесс
args = LTools.Workflow.Elements.WFSequenceLink.CallWorkflow(wf, "C:\\Project\\Process.ltw", args)
#Получаем аргументы
ret = ret[0].Value
{% endtab %}
{% tab title=“JavaScript” %}
let host = new _lib.Microsoft.ClearScript.HostFunctions();
//Создаем аргументы
let args = host.newObj(_lib.System.Collections.Generic.List(_lib.LTools.Workflow.Model.SequenceLinkArg));
args.Add(new _lib.LTools.Workflow.Model.SequenceLinkArg("arg1", "val1"));
//Вызываем процесс
args = _lib.LTools.Workflow.Elements.WFSequenceLink.CallWorkflow(wf, "C:\\Project\\Process.ltw", args, false);
//Получаем аргументы
let ret = args[0];
{% endtab %} {% endtabs %}