Links
Comment on page

Ссылка на процесс

Eng: Process link
Назначение: выполняет указанный подпроцесс. Путь до его файла задается либо в строке на панели элемента, либо в свойстве «Путь к процессу».
На панели элемента также находятся кнопки:
  1. 1.
    Открыть
    - автоматически открывает в проекте вкладку с указанным подпроцессом.
  2. 2.
    Аргументы
    - вызывает окно с аргументами подпроцесса. Пример:
    Для каждого аргумента возможно создать переменную (или аргумент) и указать ее в столбце Назначение. В окне поддерживается сочетание клавиш:
    • Ctrl + K - для создания переменной. Переменная создается для выбранного аргумента в соответствии с его типом данных. Добавленная переменная отобразится в столбце Назначение, а также на панели переменных активного процесса.
    • Ctrl + Alt + K - для создания аргумента. Тип данных назначается в соответствии с выбранным аргументом подпроцесса.

Свойства

Описание общих свойств элемента см. в разделе Свойства элемента. Символ * в названии свойства указывает на обязательность заполнения.
Свойство
Тип
Описание
Процесс:
Путь к процессу*
String
Путь к файлу подпроцесса. Пример: "C:\\Users\\Username\\Folder\\Primo\\Project\\file.ltw"
Маппинг*
Маппинг аргументов подпроцесса
Кешировать
Boolean
Определите, нужно ли кешировать подпроцесс
Песочница:
Запуск в песочнице
Boolean
Нужно ли запускать процесс в Песочнице Windows
Закрывать
Boolean
Нужно ли закрывать Песочницу по завершении. По умолчанию закрывается
Таймаут старта*
Int32
Таймаут запуска Песочницы в миллисекундах. По умолчанию 60000
Таймаут завершения*
Int32
Таймаут завершения работы робота в миллисекундах (0 - бесконечно). По умолчанию 0
Параллельно
Boolean
Нужно ли запускать Песочницу параллельно с основным процессом

Песочница

«Песочница» (SandBox) - инструмент Windows 10, 11 для безопасного запуска приложений в изолированной виртуальной среде. Программы, установленные и запущенные внутри Песочницы, изолированы от остальной системы и работают независимо от главного компьютера. Песочница является временной. При ее закрытии все находящееся в ней программное обеспечение, все файлы и данные о состоянии удаляются. При каждом открытии приложения вы получаете новый экземпляр Песочницы.
Установка песочницы:
  1. 1.
    Убедитесь, что на вашем компьютере используется Windows 10 Pro или Windows 10 Корпоративная с версией сборки 18305 или Windows 11.
  2. 2.
    Виртуализация на компьютере:
    • Если вы используете физический компьютер, убедитесь, что возможности виртуализации включены в BIOS.
    • Если вы используете виртуальную машину, запустите эту команду PowerShell, чтобы включить вложенную виртуализацию:
      Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
  3. 3.
    В строке поиска на панели задач введите Включение или отключение компонентов Windows, чтобы получить доступ к инструменту дополнительных компонентов Windows. Выберите Песочницу Windows, а затем нажмите ОК. Перезапустите компьютер при появлении соответствующего запроса.
    • Если вариант Песочница Windows недоступен, то компьютер не соответствует требованиям для запуска Песочницы. Если вы считаете, что это не так, просмотрите список предварительных требований, а также шаги 1 и 2.
Работа с Песочницей
Для запуска процесса в Песочнице необходимо:
  • Установить флаг Запуск в песочнице в свойствах элемента:
Основной и вспомогательный робот могут обмениваться только простыми данными (String, Double, DateTime, Boolean и т.д.) либо коллекциями простых данных (List<String>, List<DateTime> и т.д.)
  • Чтобы Песочница закрывалась по завершении работы процесса, используйте флаг Закрывать.
  • Свойство Таймаут старта - это количество миллисекунд, которое нужно ожидать до старта дополнительного робота.
  • Свойство Таймаут завершения - это количество миллисекунд, которое нужно ожидать до завершения работы дополнительного робота (в не-параллельном режиме). Значение 0 - ожидать бесконечно.
  • Робота можно запускать параллельно с основным роботом (флаг Параллельно), но в этом случае аргументы, возвращенные дополнительным роботом, получены не будут.

Обучающий пример

Перейдите по ссылке, чтобы скачать процессы, демонстрирующие работу элемента: Ссылка на процесс.ltw и Ссылка на процесс 1.ltw (подпроцесс). Чтобы ознакомиться с работой процессов, загрузите их в нужный проект и откройте в Студии.

Только код

Пример использования элемента в процессе с типом Только код (Pure code):
C#
Python
JavaScript
//Создаем аргументы
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;
#Создаем аргументы
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
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];