Перейти к содержанию

Заполнение коллекции выбранной таблицей

Для того чтобы в рамках процесса заполнить коллекцию в текущем объекте какой-либо таблицей, введите следующее выражение:

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 void Main(Comindware.Process.Api.Data.ScriptContext context)
    {     
        var query = new Comindware.TeamNetwork.Api.Data.DatasetQuery
        {
            DatasetId = "lst.53"
        };
        var sessionsData = Api.TeamNetwork.DatasetService.QueryData(query).Rows;
        if (sessionsData == null) { return; } //проверяем, что в таблице есть записи
        
        var objectId = context.BusinessObjectId; //текущая запись
        List<string> ApplicationIds = new List<string>();
        foreach (var row in sessionsData) 
        {
            ApplicationIds.Add(row.Id);
        }
        var data = new Dictionary<string, object>
        {
            { "Applications", ApplicationIds} //вторым аргументом пишем лист idшников
        };
        
        Api.TeamNetwork.ObjectService.EditWithAlias("Register", objectId, data); //записываем коллекцию в текущем объекте.
    }
}

Здесь:

Значение Описание
lst.53 ID таблицы, на основе которой будет заполняться коллекция.
Applications Системное имя атрибута типа «Коллекция» в текущем шаблоне записи. В этот атрибут нужно записать выбранные записи.
Register Системное имя текущего шаблона записи.
К началу

Ассистент базы знаний Comindware

Загрузка ассистента...
Запрос отправлен в ИИ-ассистент Открыть вкладку