[ELMA3] Конвертация возможности в контрагента сценарием
Рассмотрен пример сценария для конвертации возможности в контрагента (Тип клиента – Юридическое лицо).
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.15.38 включительно.
Контекстные переменные:
- context.Vozmozhnostj – переменная типа Возможность.
Пространство имен:
using EleWise.ELMA.API;Текст сценария:
var contractor = PublicAPI.CRM.Lead.ConvertLeadToContractorLegal(context.Vozmozhnostj);
Пример сценария без использования PublicAPI
Контекстные переменные:
- context.Vozmozhnostj – переменная Возможность, тип – объект Возможность;
- context.Kontragent – переменная Контрагент, тип – объект Контрагент.
Для работы сценария необходимо подключить сборки:
Elewise.ELMA.CRM
Пространства имен:
using EleWise.ELMA.CRM; using EleWise.ELMA.CRM.Managers; using EleWise.ELMA.CRM.Models; using EleWise.ELMA.Model.Entities; using EleWise.ELMA.Model.Managers; using EleWise.ELMA.Model.Mappings; using EleWise.ELMA.Model.Services; using EleWise.ELMA.Services;
Текст сценария:
var lead=context.Vozmozhnostj; var contractorUid = InterfaceActivator.UID<IContractorLegal>(); var entityType = Locator.GetService<IMetadataRuntimeService>().GetTypeByUid(contractorUid); var contractor = (IContractor)InterfaceActivator.Create(entityType); var map = LeadManager.Instance.ConvertToContractorMap(contractor.GetType()); PropertyMapHelper.Map(lead, contractor, map); var map1 = LeadManager.Instance.ConvertToContactMap(); contractor.Contacts.Clear(); foreach (var leadContact in lead.Contacts) { var contact = InterfaceActivator.Create<IContact>(); PropertyMapHelper.Map(leadContact, contact, map1); contact.Contractor = contractor; contractor.Contacts.Add(contact); } LeadManager.Instance.ConvertComplete(lead, contractor, contractor.Contacts, null, null, null); context.Kontragent=(Contractor)contractor;