logo

[ELMA3] Отображение списка контактов клиента

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

Контакты контрагента можно записать в выпадающий список в сценарии при изменении переменной Контрагент.
Для работы сценария необходимо подключить сборку:
EleWise.ELMA.CRM

Контекстные переменные:

  • context.Kontakt – выпадающий список, в свойствах которого нужно установить флажок Выбор только из списка;
  • context.Klient – переменная типа Контрагент.
Текст сценария:
context.Kontakt=null; 
var settings = (DropDownListSettings)context.GetSettingsFor(c => c.Kontakt); 
settings.Items.Clear(); 
if(context.Klient!=null) 
{ 
  foreach (var item in context.Klient.Contacts.ToList())
  {
    settings.Items.Add(new DropDownItem 
    { 
      Key = item.Id.ToString(), 
      Value = string.Format("{0} {1} {2}",item.Surname, item.Firstname, item.Middlename) //Фамилия, Имя, Отчество
    });      
  }
 
} 
settings.Save();           

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