Вопрос

Обновление страницы

Добрый день, подскажите как автоматически обновлять страницу в ходе выполнения процесса? 

Есть БП запускается по кнопке, которая находится в карточке редактирования ( в самой записи) необходимо без всплывающих окон и т.д. по завершению процесса отобразить страницу редактирования заново.

 

Нравится

5 комментариев

Евгений, добрый день.

Данная возможность реализуема с помощью средств разработки. Алгоритм:

Перезагрузку детали с БП можно сделать следующим образом:

1. В компоненте Сценарий отправляем сообщение на клиент:

UserConnection userConnection = Get<UserConnection>("UserConnection");

MsgChannelUtilities.PostMessage(userConnection, "mySignal", "nothing");

return true;

В Usings процесса добавить Terrasoft.Configuration

2. В замещённой схеме добавляем методы обработки сообщения:

init: function() {

    this.callParent(arguments);

    this.Terrasoft.ServerChannel.on(Terrasoft.EventName.ON_MESSAGE, this.onMessage, this);

},

onMessage: function(scope, message) {

    if (message.Header.Sender === "mySignal") {

     this.reloadEntity();

    }

},

destroy: function() {

    this.Terrasoft.ServerChannel.un(Terrasoft.EventName.ON_MESSAGE, this.onMessage, this);

}

Логвин Андрей Витальевич,

Спасибо, будем пробовать.

Логвин Андрей Витальевич пишет:

this.reloadEntity();

А если пользователь что-то уже успел изменить на странице? 

Владимир Соколов,

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

Можно реализовать перезагрузку только деталей вызовом

this.updateDetail({detail: "Activities"}); или

this.updateDetail({reloadAll: true});

Добрый день. Был подобный вопрос:

https://community.terrasoft.ru/questions/obnovlenie-dannyh-na-stranice-…

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