Добрый день.

Я добавил кнопку  в схему раздела, что бы отображалась при совмещенном режиме. 

Кнопка отображается но не выполняет те действия что прописаны для нее.

Тоесть, при нажатии, в поле на странице должен загружаться текущий пользователь, который ее нажал, но ничего не происходит.

 

onTakeToWorkButtonClick: function () {

this.set("Srv_ApplExecutor",Terrasoft.SysValue.CURRENT_USER.displayValue);}

 

Но если на кнопку повесить скрипт открытия диалогового окна, 

onTakeToWorkButtonClick: function () {

                this.showInformationDialog("!!!!");}

то все работает, окно появляется. 

 

Не могу понять, почему данные не загружаются в поле страницы, возможно есть какме-то идеи?

Спасибо.

 

Нравится

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

Добрый день!

Если вы используете пример с данной статьи, то тогда this.set не сработает, поскольку в this храниться не совсем нужное значение.

В этом случае необходимо использовать другой способ обновления записи, например через UpdateQuery:

if (activeRow) {
                    this.showInformationDialog("!!!!");
					var update = Ext.create("Terrasoft.UpdateQuery", { rootSchemaName: "Account" });
					update.filters.add("IdFilter", 
                    	update.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Id", activeRow));
                	update.setParameterValue("UsrTestString", "Some test", Terrasoft.DataValueType.TEXT);
                	update.execute();
                }

 

Добавил в скрипт ActiweRow, но не помогло

methods: {

            

            onTakeToWorkButtonClick: function () {

                

                var activeRow = this.get("ActiveRow");

                    if (activeRow) {

                    return    this.set("Srv_ApplExecutor",Terrasoft.SysValue.CURRENT_USER.displayValue);

                    }    

               }

        },

Добрый день!

Если вы используете пример с данной статьи, то тогда this.set не сработает, поскольку в this храниться не совсем нужное значение.

В этом случае необходимо использовать другой способ обновления записи, например через UpdateQuery:

if (activeRow) {
                    this.showInformationDialog("!!!!");
					var update = Ext.create("Terrasoft.UpdateQuery", { rootSchemaName: "Account" });
					update.filters.add("IdFilter", 
                    	update.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Id", activeRow));
                	update.setParameterValue("UsrTestString", "Some test", Terrasoft.DataValueType.TEXT);
                	update.execute();
                }

 

Дима Вовченко,

Добрый день. 

Спасибо за совет.  Попробую реализовать. 

Но так как я с не давних пор начал работать с системой, есть несколько уточняющих вопросов:

1. 

update.filters.add("IdFilter", 

 IdFilter - мне надо подставить сюда свое значение по которому будут отфильтровываться записи? 

 

2.

сpdate.createColumnFilterWithParameter

(Terrasoft.ComparisonType.EQUAL, "Id", activeRow));

Id - аналогичный вопрос как в п.1. 

 

Спасибо.

 

 

Разобрался, работает. 

IdFilter не трогал, под остальные подставил свои данные и норм. 

Но для того что бы отобразились загружаемые данные, сейчас необходимо перегрузить страницу. 

Добавил this.reloadEntity(), не помогло

Есть же еще варианты по обновлению страницы после нажатия на кнопку?

 

 

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