Приведу небольшой пример, чтобы легче было въехать (мне так и самому всегда проще)
X++:
// Спецификация к договору
DynamicEntity do_salescontractspec = new DynamicEntity("do_salescontractspec");
do_salescontractspec.Properties.Add(new OwnerProperty("ownerid", new Owner("systemuser", ((Owner)_quote["ownerid"]).Value)));
Lookup quoteLookup = new Lookup();
quoteLookup.Value = quoteid;
quoteLookup.type = EntityName.quote.ToString();
//связываю с ком. предложением
do_salescontractspec.Properties.Add(new LookupProperty("do_quote", quoteLookup));
//указываею имя, как и у ком. пред.
do_salescontractspec.Properties.Add(new StringProperty("do_name", _quote["name"].ToString()));
//customer
do_salescontractspec.Properties.Add(new LookupProperty("do_account", new Lookup("account", ((Customer)_quote["customerid"]).Value)));
//do_account - client customerid
//firma
do_salescontractspec.Properties.Add(new LookupProperty("do_firm", new Lookup("do_firms", ((Lookup)_quote["do_firm"]).Value)));
//vid torgovli
do_salescontractspec.Properties.Add(new PicklistProperty("do_sale_type", new Picklist(((Picklist)_quote["do_paymenttype"]).Value)));
//tip ucheta
do_salescontractspec.Properties.Add(new PicklistProperty("do_accountingtype", new Picklist(((Picklist)_quote["do_accountingtype"]).Value)));
//Создаю спецификаю и сразу же получаю ее Guid, чтобы потом привязывать к ней продукты
Guid specGuid = crmService.Create(do_salescontractspec);
Lookup specLookup = new Lookup();
specLookup.Value = specGuid;
specLookup.type = "do_salescontractspec";
Обратите внимание на
X++:
//Создаю спецификаю и сразу же получаю ее Guid, чтобы потом привязывать к ней продукты
Guid specGuid = crmService.Create(do_salescontractspec);
Lookup specLookup = new Lookup();
specLookup.Value = specGuid;
specLookup.type = "do_salescontractspec";
Я создаю новую запись и сразу получаю ее гуид, ну а затем уже привязываю и делаю все что мне надо