В 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.
В примере показано предзаполнение одного поля формы. Возможно реализовать работу с несколькими полями.