logo

Динамические формы задач БП: Выбор связанных объектов

Одной из частых задач является выбор на форме задачи БП связанных друг с другом объектов – например, Сделок по выбранному клиенту. Рассмотрим пример, каким способом это делается.
В контексте создаются переменные двух типов:
  • Объект Контрагент;
  • Объект Сделка.
На форме задачи размещается сценарий, вызываемый при изменении переменной с типом Контрагент. Сценарий добавляет на контекстную переменную Сделки фильтр – и на протяжении экземпляра в данной переменной выбор будет доступен только по записям, прошедшим фильтр.
public void deal_choise(Context context, EleWise.ELMA.Model.Views.FormViewBuilder<Context> form)
{
    var settings = (EntitySettings)context.GetSettingsFor(c=>c.Sdelka);
    settings.FilterQuery = "Contractor = " + context.Klient.Id;
    settings.Save();
}