Старт процесса по записям списка (кнопка)
Для того, чтобы на запустить процесс по каждой из записей определенного списка, введите следующее выражение:
using System; using System.Collections.Generic; using System.Linq; using Comindware.Data.Entity; using Comindware.TeamNetwork.Api.Data.UserCommands; using Comindware.TeamNetwork.Api.Data;
class Script { public static UserCommandResult Main(UserCommandContext userCommandContext, Comindware.Entities entities) { string result_ = "Операция выполнена"; var result = new UserCommandResult { Success = true, Commited = true, ResultType = UserCommandResultType.Navigate, NavigationResult = new UserCommandNavigationResult { Context = ContextType.Task, ObjectId = null }, Messages = new[] { new UserCommandMessage { Severity = SeverityLevel.Normal, Text = result_ } } };
var sessionsObjectAppId = Api.TeamNetwork.ObjectAppService.List().First(oa => oa.Alias == "TEMP_VAR").Id; var containerLists = Api.TeamNetwork.DatasetConfigurationService.List(sessionsObjectAppId); var receptionList = containerLists.FirstOrDefault(list => list.Alias == "newList1"); var query = new Comindware.TeamNetwork.Api.Data.DatasetQuery { DatasetId = receptionList.Id, Filter = receptionList.Filter }; var sessionsData = Api.TeamNetwork.DatasetService.QueryData(query).Rows;
if (sessionsData == null) { result_ = "Список пуст"; result.Success = false; return result; } foreach (var row in sessionsData) { Api.Process.ProcessObjectService.CreateWithObjectId("pa.2", null, row.Id); } return result; } }
|
где:
"TEMP_VAR" - системное имя Шаблона записи, где хранится нужный список;
"newList1" - системное имя необходимого списка;
"pa.2" - ИД Шаблона процесса, который нужно запустить для каждой записи из выбранного списка.
Номер Статьи: 5018
Размещено: Mon, Jan 25, 2021
Последнее обновление: Fri, Feb 18, 2022
Online URL: https://kb.comindware.ru/article/start-processa-po-zapisyam-spiska-knopka-5018.html