Свою проблему удалось решить (при добавлении строк вызывалась функция обновления таблицы, которая, в случае вывода грида в табе, просто убивала содержимое текущей таблицы и не вносила актуальные данные. Причины верно расписаны Андрей Николаев выше)
В функцию обновления грида добавил правку параметра baseUrl, где указал адрес страницы, где выводится компонент грида:
function reload_table() {
let reloadParams = { apply_filter: 'Y', clear_nav: 'Y'};
let gridObject = BX.Main.gridManager.getById('table_reys2'); // Идентификатор грида
if (gridObject.hasOwnProperty('instance')){
gridObject.instance.baseUrl = '/local/custom_tabs/smart_pr_zayavki_2.php';
gridObject.instance.reloadTable('POST', reloadParams);
}
ps
для решения проблемы как у ТС, добавил следующий обработчик события
BX.addCustomEvent(window, 'BX.Grid.SettingsWindow:show', (source) =>
Удалось решить проблему? Тоже грид в табе отказывается нормально обновляться
Пытался воспользоваться советом выше, но как я понимаю, компонент грида игнорирует заданные параметры OPTIONS_HANDLER_URL и BACKEND_URL. Решил проверить что там по дефолту (при просмотре как в табе, так и на отдельной странице):
[BACKEND_URL] => /local/custom_tabs/smart_pr_zayavki_2.php?by=COMMENT&order=asc&page=2 [страница, где выводится компонента грида]
Но при вызове reloadTable запрос уходит все-ровно на текущую страницу элемента, где открыт таб ((
В функцию обновления грида добавил правку параметра baseUrl, где указал адрес страницы, где выводится компонент грида:
ps
для решения проблемы как у ТС, добавил следующий обработчик события
BX.addCustomEvent(window, 'BX.Grid.SettingsWindow:show', (source) =>