Сценарии для работы с документами в карточке контрагента
В данной статье рассматриваются варианты работы с документами в карточке контрагента в сценариях.
Примеры сценариев с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарии, указанные ниже, актуальны для версий системы ELMA до 3.12.1 включительно.
Контекстные переменные:
- context.Kontragent - переменная типа Контрагент;
- context.Kontragent2 - переменная типа Контрагент;
- context.Dokument - переменная типа Документ.
1. Сценарий для добавления документа в карточку контрагента
Пространство имен:
1 | using EleWise.ELMA.API; |
Текст сценария:
1 2 3 4 | var att = PublicAPI.CRM.Objects.CRMAttachment.Create(); att.Contractor = context.Kontragent; att.Documents.Add(context.Dokument); att.Save(); |
2. Сценарий для удаления документов компании
Текст сценария:
1 2 | var links = PublicAPI.CRM.Objects.CRMAttachment.Filter().Contractor(context.Kontragent).Find().ToList(); links.ForEach(l =>{PublicAPI.CRM.Objects.CRMAttachment.Delete(l);}); |
3. Сценарий для переноса документов из карточки компании, к которой они привязаны, в другую компанию
Текст сценария:
1 2 | var links = PublicAPI.CRM.Objects.CRMAttachment.Filter().Contractor(context.Kontragent).Find().ToList(); links.ForEach(l => {l.Contractor = context.Kontragent2;}); |
Примеры сценариев без использования PublicAPI
Список контекстных переменных:
- context.Kompaniya1 - переменная типа Контрагент;
- context.Kompaniya2 - переменная типа Контрагент;
- context.Dokument - переменная типа Документ.
Для работы сценариев необходимо подключить сборки:
EleWise.ELMA.CRM;
EleWise.ELMA.Documents;
EleWise.ELMA.Documents.Docflow;
Пространства имен:
1 2 3 4 5 6 | using EleWise.ELMA.CRM; using EleWise.ELMA.CRM.Managers; using EleWise.ELMA.CRM.Models; using EleWise.ELMA.Documents; using EleWise.ELMA.Documents.Docflow; using EleWise.ELMA.Model.Services; |
1. Сценарий для добавления документа в карточку контрагента
1 2 3 4 | var att = CrmAttachmentManager.Instance.Create(); // создание связи att.Contractor = context.Kompaniya1; // определение Контрагента att.Documents.Add(context.Dokument); // добавление документа att.Save(); // сохранение привязки |
2. Сценарий для удаления документов компании
1 2 3 4 5 | //поиск связей для конкретных компаний var links = CrmAttachmentManager.Instance.Find(l => l.Contractor == context.Kompaniya1); //удаление связей с документами links.ForEach(l => { CrmAttachmentManager.Instance.Delete(l); }); |
3. Сценарий для переноса документов из карточки компании, к которой они привязаны, в другую компанию
1 2 3 4 5 | //поиск связей для конкретных компаний var links = CrmAttachmentManager.Instance.Find(l => l.Contractor == context.Kompaniya1); //переписывание найденных связей на другого контрагента links.ForEach(l => { l.Contractor = context.Kompaniya2;});} |