Sugar CRM предзаполнение поля поиска в окне выбора элемента

В Sugar CRM есть поля, для запонения которых открывается новое окно со списком элементов. При этом список можно ограничить воспользовавшись поиском. Задача сделать так что-бы для поиска не надо было заполнять форму, а значение поля или полей бралось из данных записи, которую в данный момент редактирует пользователь.

Предположим что поле в основной записи, которое заполняется таким образом, называется field1.

В описании формы редактирования (файл metadata/editviewdefs.php) это поле может быть заданно следующим образом

0 => array (
  'name' => 'field1',
  'studio' => 'visible',
  'label' => 'LBL_FIELD1'
);

Добавим в это поле параметр displayParams

0 => array (
  'name' => 'field1',
  'studio' => 'visible',
  'label' => 'LBL_FIELD1'
  'displayParams' => array(
    'initial_filter' => '&search1_advanced=1',
  ),
);

Теперь pop-up окно для выбора элемента будет открываться с параметром search1_advanced и равным «1». При этом поле search1 в форме поиска будет заполненно значением «1».

Так же возможно динамическое формирование этого значения

'initial_filter' => '&search1_advanced="+encodeURIComponent(document.getElementById("relate_field").value)+"',

В этом случае берется значение поля с id равным relate_field и передается в форму поиска элементов в новом окне, в поле search1.

В примере показано предзаполнение одного поля формы. Возможно реализовать работу с несколькими полями.

Запись опубликована в рубрике Sugar CRM с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий