Вопрос

Обновить реестр детали после работы БП

Добрый день!

По кнопке из карточки кастомного раздела запускаю БП.

Он создает по своей логике пачку записей в детали, которая выведена на текущей карточке.

Как после этого обновить реестр детали?

Пользовался следующей ссылкой:

https://academy.terrasoft.ua/documents/technic-sdk/7-13/clientmessagebr…

В ней правда есть только вывод сообщение в консоли.

Это действие планировал заменить как-то так:

//                this.refreshGridData();

или

//                this.location.reload();

Делал все аналогично:

1) бп после сохранения элемента детали

2) логика с родителем ClientMessageBridge 

3) подписка на странице, где выведена деталь

Такое впечатление, что сообщение не доходит и обрывается на каком-то моменте.

Можно ли его судьбу как-то отследить?

Нравится

10 комментариев
Лучший ответ

На самом деле проблема в том что конфигурационный параметр команды в этом обсуждении указан неверно: realoadAll. Должно быть reloadAll. Случайно обнаружил.

this.updateDetail({detail: "UsrMyDetail", realoadAll: true});

Алексей-Карягин,

А само сообщение, которое должно стать инициатором обновления, можно ли как-то отследить?

Я его по аналогии с примером описал (и источник, и приёмник)

Смотря на каком этапе пропадает. Можно рядом с обновлением детали оставить window.console.info из примера, чтобы видеть, дошло до клиента или нет. Сетевую активность между сервером и браузером можно мониторить в Fiddler, запущенном на том же компьютере, где браузер. Если же до отправки сообщения не доходит на стороне БП на сервере, их тоже можно мониторить.

Зверев Александр,

БП по сути только инициирует - там-то проблем быть не должно.

Дальше есть 2 куска логики (клиент и

ClientMessageBridge). Вот у клиента этой логики нет.

Вот для этого и нужно смотреть вышеупомянутыми или другими способами, на каком этапе ещё нормально отработало, а на каком — уже нет.

Добрый день! В моем случае в результате выполнения команды this.updateDetail({detail: "UsrMyDetailName", realoadAll: true}); в детали отображаются все записи из таблицы (как будто слетает фильтр по колонке Id объекта). В чем может быть причина?

Возможно, внутри детали есть какая-то логика, которая при таком запуске не сработала. См. похожие обсуждения тут и тут.

На самом деле проблема в том что конфигурационный параметр команды в этом обсуждении указан неверно: realoadAll. Должно быть reloadAll. Случайно обнаружил.

коллеги в итоге как удалось решить задачу? не могу обновить деталь после выполнения БП.

БП выполняется на сервере, а деталь находится в браузере пользователя. Следовательно, нужно посылать туда сообщение по ClientMessageBridge, ссылка в самом верху.

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