Глобальный поиск ищет данные по полям таблиц например таблицы счета. Теперь вопрос возможно ли организовать поиск и по детали которая относится например к тому же счету и несет в себе информацию о продуктах в счете? Если это возможно подскажите пожалуйста как. Заранее спасибо!

Нравится

2 комментария

Добрый день.

Для того, чтобы добавить другие таблицы для поиска кроме разделов, Вам необходимо выполнить следующее:

  1. В скрипте wnd_GlobalSearchOptionsScript есть функция, которая определяет таблицы, которые учавствуют в поиске, она обращается на sq_ReportService, где установлены фильтры, которые возвращают результат.
    function GetWorkspaceTablesSelectQuery() {
             var SelectQuery = GetSingleItemByCode('sq_ReportService',
                       'mds_GlobalSearchObject');
             ApplySelectQueryFilter(SelectQuery, 'ServiceTypeCode', 'Table', true);
             EnableSelectQueryFilters(SelectQuery, true, ['Workspaces']);
             var Select = SelectQuery.Items(0);
             var Columns = Select.Columns;
             EnableColumns(Columns, false, 'Path');
             Columns.ItemsByAlias('Caption').OrderType = otAsc;
             return SelectQuery;
    }
  2. В данной функции описано, что в поиске учавствуют только таблицы разделов.
  3. В сервисе выборки интересующего Вас рздела (например, при неоходимости искать в деталях раздела Контрагенты - это sq_Account) в блоке WHERE добавить набор фильтров с условием OR.
    q_account_1.png
  4. Указать для него произвольный код и установить логический оператор OR:
    q_account_2.png
  5. Реализацию самих фильтров можно посмотреть, например здесь: add_filter.zip в ветке форума http://www.community.terrasoft.ru/forum/topic/8626

Спасибо за исчерпывающий ответ!

Показать все комментарии