PublicAPI CRMApiRoot PublicAPI.CRM.SaleДокументация ELMA API
Сделка
Путь доступа: PublicAPI.CRM.Sale
Методы

  ИмяОписание
Открытый методAddAuthorPermission
Добавить автору привилегию на контрагента
Открытый методAddComment(Sale, String)
Добавить комментарий к сделке
Открытый методAddComment(Sale, String, User)
Добавить комментарий к сделке
Открытый методAddPermission(Sale, OrganizationItem, Permission)
Предоставить должности привилегию на действия с контрагентом
Открытый методAddPermission(Sale, User, Permission)
Предоставить пользователю привилегию на действия с контрагентом
Открытый методAddPermission(Sale, UserGroup, Permission)
Предоставить группе пользователей привилегию на действия с контрагентом
Открытый методCount 
Возвращает количество всех объектов этого типа
Открытый методCount(IEntityFilter)
Получить количество всех объектов по фильтру
Открытый методCreate
Создать новую сущность (без записи в БД)
Открытый методCreateInpayment
Создание поступления, привязанного к сделке. Создает объект без сохранения в БД
Открытый методDelete
Удалить объект
Открытый методDeleteAuthorPermission
Удалить у автора привилегию на контрагента
Открытый методDeletePermission(Sale, OrganizationItem)
Удалить все права у должности на контрагента
Открытый методDeletePermission(Sale, User)
Удалить все права у пользователя на контрагента
Открытый методDeletePermission(Sale, UserGroup)
Удалить все права у группы пользователей на контрагента
Открытый методDeletePermission(Sale, OrganizationItem, Permission)
Забрать привилегию на действия с контрагентом у должности
Открытый методDeletePermission(Sale, User, Permission)
Забрать привилегию на действия с контрагентом у пользователя
Открытый методDeletePermission(Sale, UserGroup, Permission)
Забрать привилегию на действия с контрагентом у пользователя
Открытый методDisableInheritPermissions
Выключить наследование прав из категории
Открытый методEnableInheritPermissions
Включить наследование прав из категории
Открытый методFilter
Создает помощник для работы с фильтром объекта "Сделка"
Открытый методFind(FetchOptions)
Найти объекты в соответствии с параметрами выборки
Открытый методFind(String)
Найти объекты в соответствии с фильтром на языке EQL
Открытый методFind(IEntityFilter, FetchOptions)
Найти объекты в соответствии с фильтром и параметрами выборки
Открытый методFindByIdArray
Найти все объекты по идентификаторам из массива
Открытый методGetAllInpayments
Получить все поступления сделки
Открытый методIsDirty
Проверить, есть ли несохраненные изменения в объекте
Открытый методIsNew
Проверить, является ли объект новым (не сохранен в БД)
Открытый методLoad(Guid)
Загрузить по уникальному идентификатору. Если не найдена - вызывается исключение
Открытый методLoad(Int64)
Загрузить по идентификатору. Если не найдена - вызывается исключение
Открытый методLoadOrCreate(Guid)
Загрузить по идентификатору. Если не найден - возвращается новый объект
Открытый методLoadOrCreate(Int64)
Загрузить по идентификатору. Если не найден - возвращается новый объект
Открытый методLoadOrNull(Guid)
Загрузить по уникальному идентификатору. Если не найдена - возвращается null
Открытый методLoadOrNull(Int64)
Загрузить по идентификатору. Если не найдена - возвращается null
Открытый методLoadSaleTypeOrNull
Загрузить тип сделки по названию, если такого нет - вернет null
Открытый методRefresh
Обновить (перечитать) объект из БД
Открытый методSave
Сохранить объект в БД
Открытый методSetActiveStatus
Выставить статус "Активна"
Открытый методSetNegativeClosedStatus
Выставить статус "Закрыто(неуспех)"
Открытый методSetPositiveClosedStatus
Выставить статус "Закрыто(успех)"
Открытый методSetPostponedStatus
Выставить статус "Отложена"
Открытый методSetStage
Изменить стадию сделки
Открытый методSetStatus
Изменить статус сделки
В начало страницы
Свойства

  ИмяОписание
Открытое свойствоTypeUid
Возвращает уникальный идентификатор объекта "Сделка"
В начало страницы
Заметки

Раздел содержащий методы для работы со сделками
Примеры

Создадим сделку для контрагента, который был создан тут

var mySale = PublicAPI.CRM.Contractor.CreateSale(myContractor);

Прежде чем работать с переменной mySale, нужно заполнить обязательные поля этой переменной (кроме поля "Контрагент", т.к. оно уже заполнено)

//Имя сделки
mySale.Name = "Продажа оборудования для ООО Новый Мир";
//Ответственный за сделку, загружаем администратора
mySale.Responsible = PublicAPI.Security.User.LoadOrNull(1);
//Загружаем тип сделки по имени и передаем его в сделку
mySale.SaleType = PublicAPI.CRM.Sale.LoadSaleTypeOrNull("Тип сделки");

Добавим комментарий к нашей сделке

PublicAPI.CRM.Sale.AddComment(mySale, "mySale - сделка, созданная для контаргента myContarctor");

Не забываем сохранить объект в базу для его корректной работы

После создания постпупления денег и добавления его к сделке, изменим статус сделки с "Активна" на "Закрыто(Успех)"

PublicAPI.CRM.Sale.SetPositiveClosedStatus(mySale, "Сделка прошла успешно, замечаний нет");

См. также