Добрый день всем !
Посоветуйте, пожалуйста, есть ли возможность для своего пакета создать набор параметров сеанса, который будет инициализироваться при авторизации пользователя. Чтобы этот набор можно было читать на клиенте. Что-то вроде глобальных переменных как Terrasoft.SysValue.CURRENT_USER.value.
В моей задаче по интеграции при нажатии на кнопку, я формирую строку запроса в зависимости от двух системных настроек и данных о пользователе, для хранения которых я добавил раздел. Изучаю BPMOnline недавно, поэтому работающий код получается такой, что я запускаю три запроса подряд, хочется оптимизировать.
Привожу отрывок кода, кот. выполняется при нажатии на кнопку на форме записи Opportunity:
this.Terrasoft.SysSettings.querySysSettingsItem("SAMServerURL", function(_SAMServerUrl) {
                    SAMServerUrl = _SAMServerUrl;
                }, this);                
this.Terrasoft.SysSettings.querySysSettingsItem("SAMServerOrganizationID", function(_OrgID) {
                    OrganizationID = _OrgID;
                }, this);       
                var UserName = "";
                var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
                    rootSchemaName: "G2MHGroup"
                });              
                esq.addColumn("G2FirstName", "FirstName");
                esq.addColumn("G2BPMUser", "BPMUser");
                esq.filters.add("G2BPMUser", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "G2BPMUser", Terrasoft.SysValue.CURRENT_USER.value));
                esq.getEntityCollection(function (result) {
                    if (!result.success) {
                        this.showInformationDialog("Ошибка запроса данных схемы G2MHGroup");
                        return;
                    }
                    result.collection.each(function (item) {
                        UserName = item.get("FirstName"); 
                ReadOnlyFlag = "false";
                RequestString = SAMServerUrl + "ShowSheet.aspx?OrgID="+OrganizationID+"&Popup=Y&User="+UserName+"&Product=Bluesheet%20&ProductKey="+activeRow+"&ReadOnly="+ReadOnlyFlag+"","Blue Sheet"
                
                var str = "width=1003, height=674, scrollbars=yes, status=0, menubar=no, resizable=yes";              
                window.open(RequestString, str);
                    });
                }, this);
Хочется сделать один запрос к серверу чтобы прочитать все что нужно. И его можно сделать один раз при авторизации а не каждый раз при нажатии на кнопку.
Спасибо !