Добрый день, подскажите как автоматически обновлять страницу в ходе выполнения процесса?
Есть БП запускается по кнопке, которая находится в карточке редактирования ( в самой записи) необходимо без всплывающих окон и т.д. по завершению процесса отобразить страницу редактирования заново.
Нравится
Евгений, добрый день.
Данная возможность реализуема с помощью средств разработки. Алгоритм:
Перезагрузку детали с БП можно сделать следующим образом:
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-…