Добрый день.

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

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

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

 

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(), не помогло

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

 

 

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

Доброго времени суток.

В системе включаю режим отладки. Всё работает. Переключаюсь на портал - не работает. Как отключить минификацию кода в all-combined.js на портале?

Заранее благодарен

Нравится

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

Попробуйте включить режим отладки для конкретного пользователя через БД.

Таблица с настройками:

select * from SysSettingsValue

where SysSettingsId = 'F7827AB8-2EF2-4ACB-A28B-BFB7EB7A01C3'

 

Можно сделать insert например

GUID_USER - id пользователя, которому нужно включить отладку.

insert into SysSettingsValue

(SysSettingsId, SysAdminUnitId, BooleanValue)

VALUES ('F7827AB8-2EF2-4ACB-A28B-BFB7EB7A01C3', GUID_USER, 0)

 

Либо включить глобально для всех через системные настройки: Режим отладки (IsDebug)

 

Попробуйте включить режим отладки для конкретного пользователя через БД.

Таблица с настройками:

select * from SysSettingsValue

where SysSettingsId = 'F7827AB8-2EF2-4ACB-A28B-BFB7EB7A01C3'

 

Можно сделать insert например

GUID_USER - id пользователя, которому нужно включить отладку.

insert into SysSettingsValue

(SysSettingsId, SysAdminUnitId, BooleanValue)

VALUES ('F7827AB8-2EF2-4ACB-A28B-BFB7EB7A01C3', GUID_USER, 0)

 

Либо включить глобально для всех через системные настройки: Режим отладки (IsDebug)

 

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