logo

[ELMA3] Создание сделки сценарием

Рассмотрим сценарий, с помощью которого можно создать сделку в разделе Работа с клиентами.

Пример сценария с использованием PublicAPI

Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.15.38 включительно.

Контекстная переменная:

  • context.Kontragent - переменная типа Контрагент.

Пространство имен:

using EleWise.ELMA.API;

Текст сценария:

var sale = PublicAPI.CRM.Sale.Create();
sale.Name = "Название сделки";
sale.SaleType = PublicAPI.CRM.Sale.LoadSaleTypeOrNull("Сделка №1"); //Определяем тип сделки по названию
sale.Contractor=context.Kontragent;
sale.Author = PublicAPI.Portal.Security.User.GetCurrentUser(); //автор - текущий исполнитель
sale.Responsible = PublicAPI.Portal.Security.User.GetCurrentUser(); //ответственный - текущий исполнитель
sale.Save();

Пример сценария без использования PublicAPI

В сценарии используются контекстные переменные:

  • context.Kontragent - переменная Контрагент типа Контрагент;
  • context.TipSdelki - переменная Тип сделки типа Тип сделки.

Для работы сценария необходимо подключить сборку:

Elewise.ELMA.CRM

Пространства имен:

using EleWise.ELMA.CRM;
using EleWise.ELMA.CRM.Managers;
using EleWise.ELMA.CRM.Models;
using EleWise.ELMA.Extensions;
using EleWise.ELMA.Model.Entities;
using EleWise.ELMA.Model.Managers;
using EleWise.ELMA.Model.Mappings;
using EleWise.ELMA.Model.Services;
using EleWise.ELMA.Security.Services;
using EleWise.ELMA.Services;
using EleWise.ELMA.Configuration;
Текст сценария:
var sale=SaleManager.Instance.Create();
sale.Name="Название сделки";
sale.SaleType= context.TipSdelki;
sale.Contractor=context.Kontragent;
sale.Author=AuthenticationService.GetCurrentUser<EleWise.ELMA.Security.Models.IUser>(); //автор - текущий исполнитель
sale.Responsible=AuthenticationService.GetCurrentUser<EleWise.ELMA.Security.Models.IUser>(); //ответственный - текущий исполнитель
sale.Save();