logo

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

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

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

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

  • context.Kontakt – выпадающий список, в свойствах которого нужно установить флажок Выбор только из списка;
  • context.Klient – переменная типа Контрагент.
Текст сценария:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 выдающего списка.