Для того, чтобы можно было в процессе удалять связанный объект/ы при определенном условии (в данной статье рассмотрено условие, если значение в атрибуте с типом данных «Число» в связанном объекте/ах равно нулю), введите следующее выражение:
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, Comindware.Entities entities) { try { var id = context.BusinessObjectId; var data = Api.TeamNetwork.ObjectService.GetPropertyValues(new []{id}, new[]{"Link"}); var deletearray = data[id]["Link"] as object[];
foreach(var i in deletearray) { try { var atr = Api.TeamNetwork.ObjectService.GetPropertyValues(new []{i.ToString()}, new[]{"Qty "}); var val = atr[i.ToString()]["Qty "];
if(int.Parse(val.ToString()) == 0) { Api.TeamNetwork.ObjectService.Delete(i.ToString()); } } catch{} } } catch {} } }
|
где:
Link — системное имя атрибута с типом данных «Запись» в текущем шаблоне записи;
Qty — системное имя атрибута с типом данных «Число» в связанном шаблоне записи.