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