SuiteCRM добавить пользовательский поисковый запрос

Я пытаюсь понять, как создать текстовое поле в модуле «Продукты», где я могу указать имя клиента, и с помощью созданного мной запроса отображаются цены на продукт для этого клиента. У меня есть построенный запрос, и таблица, которая связывает учетные записи с продуктами, все, что мне не хватает, это то, как это сделать, настроить поиск


person Crazy Alien    schedule 07.08.2015    source источник


Ответы (1)


Хорошо, ребята, я разобрался :)
В include/LisView/ListViewData.php есть запрос, обрабатывающий все данные, которые могут понадобиться модулю для его списка
перейдите к этой строке:

$main_query = $ret_array['select'] . $params['custom_select'] . $ret_array['from'] . $params['custom_from'] . $ret_array['inner_join']. $ret_array['where'] . $params['custom_where'] . $ret_array['order_by'] . $params['custom_order_by'];

здесь вы видите запрос, получающий все строки из текущего модуля (продукты, учетные записи, контакты, ..), поскольку он обрабатывает все модули, убедитесь, что ваши изменения изменяют только нужный модуль:

if($this->seed->module_name == "AOS_Products"
     Your changes

Не по теме, но очень полезно, если вам нужна дополнительная информация из другой таблицы, как это сделал я (учетная запись)
используйте глобальную переменную db $accountPrice = $GLOBALS['db']->query("SELECT shipping_address_street as price FROM " ." accounts WHERE name LIKE '".$array[$try]."'"); $accountCodePrice = $GLOBALS['db']->fetchByAssoc($accountPrice);
Ура

person Crazy Alien    schedule 11.08.2015
comment
Я нашел способ доступа к базе данных полезным для модульных тестов при импорте файла (+1). - person Albert Hendriks; 08.12.2015