Установка bool значения в section 7.6

На форуме не нашел, решил написать.
Проблема такая:
-В расширенном модуле AccountSectionV2 нужно по нажатию кнопки еще проставлять true на галку.
При создание нового account(а именно на page) все без проблем "завелось", проблема встала именно на section, при редактирование из клиентской части уже имеющегося юр.лица.

Как я понял нужно использовать esq, т.к. this.set("bool",true); не работает, но не нашел как устанавливать значения через esq. Быть может надо по другому. Помогите пожалуйста.

define("AccountSectionV2", [],
        function() {
        return {
                entitySchemaName: "Account",
            // Коллекция методов модели представления страницы редактирования.
            methods: {
                                getChainCardModuleSandboxId: function(typeColumnValue) {
                                        return this.getCardModuleSandboxId() + "_chain" + typeColumnValue;
                                },
                                showExistingRecordSaveButton: function() {
                                        this.set("IsSendToFlextera", true);
                                        return this.get("IsCardInEditMode") && this.get("ShowSaveButton");
                                       
                                },
                                onClickSaveToFlex: function() {
                                   this.set("IsSendToFlextera", true);
                                        var tag = arguments[0] || arguments[3];
                                        this.sandbox.publish("OnCardAction", tag, [this.getCardModuleSandboxId()]);
                                       
                                }
                        },
                               
                        diff: [
                {
                                        "operation": "insert",
                                        "name": "FlexsaveRecordButton",
                                        "parentName": "CombinedModeActionButtonsCardLeftContainer",
                                        "propertyName": "items",
                                        "values": {
                                                "itemType": Terrasoft.ViewItemType.BUTTON,
                                                "caption": {"bindTo": "Resources.Strings.SaveToFlexteraCaption"},
                                                "click": {"bindTo": "IsSendToFlextera"},//"onClickSaveToFlex"},
                                                "visible": {"bindTo": "showExistingRecordSaveButton"},
                                                "classes": {"textClass": ["actions-button-margin-right"]},
                                                "tag": "save"
                                        }
                                }
            ]
                 
         };
        });

Нравится

1 комментарий

Максим, добрый день!

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

var activeRow = this.getActiveRow();
activeRow.set("YourColumnName", columnValue);
activeRow.saveEntity();

Для работы этого кода необходимо, чтобы в коллекции activeRow.columns была колонка с названием YourColumnName и типом Terrasoft.ViewModelColumnType.ENTITY_COLUMN (данная константа равняется 0).

Также обновление значения можно выполнить через запрос примерно так:

var updateQuery = this.Ext.create("Terrasoft.UpdateQuery", {
	rootSchemaName: "EntitySchemaName"
});
var filters = updateQuery.filters;
filters.addItem(this.Terrasoft.createColumnFilterWithParameter(
	this.Terrasoft.ComparisonType.EQUAL, "Id", currentRecordId));
updateQuery.setParameterValue("YourColumnName", columnValue);
updateQuery.execute(callbackFunction, this);
Показать все комментарии