Добрый час суток. Когда на секции задаются фильтры - то соответственно появляется запись в таблице SysProfileData и при переходах по разделам и т.д. после захода вновь на эту секцию фильтры остаются - всё ок. Нужно реализовать "сохранение" фильтров на детали,чтобы при переходах они соответственно не терялись,а сохранялись. Переопределил setFilter и переписал метод saveFilter для BaseGridDetailV2. Запись теперь появляется в SysProfileData(когда ставишь фильтры на детали,до этого не появлялась). И поле Key = Имеет структуру [Имя_страницы][Имя_детали]+"Filters". Как следствие - фильтры все так же не появляются. Правильно ли формируется для этого Key? или нужно другой шаблон/способ? Может не только 1 запись должа вставляться в таблицу а какая то вспомогательная?
Переписанное на BaseGridDetailV2 имеет вид:
methods: {
            setFilter: function(key, value, filtersValue) {
                var filters = this.get("DetailFilters");
                if (key) {
                    if (filters.find(key)) {
                        filters.remove(filters.get(key));
                    }
                    filters.add(key, value);
                    // 
                    this.saveFilter(key, filtersValue, value);
                    //
                } else if (value) {
                    value.each(function(filter) {
                        this.setFilter(filter.key, filter);
                    }, this);
                }
            },
            saveFilter: function(filterKey, filterValue, filter) {
                    if (!filterValue) {
                        return;
                    }
                    var sessionFilters = this.getSessionFilters();
                    var profileFilters = this.getProfileFilters();
                    var serializableFilter = this.getSerializableFilter(filter);
                    switch (filterKey) {
                        case "CustomFilters":
                            Terrasoft.each(filterValue, function(item) {
                                var f = item.filter = item.value || "";
                                var isSerializedFilter = (typeof f === "string" && f.indexOf("[") >= 0 && f.indexOf("]") >= 0 &&
                                    f.indexOf("{") >= 0 && f.indexOf("}") >= 0);
                                if (!isSerializedFilter) {
                                    item.filter = Terrasoft.encode(serializableFilter);
                                }
                            });
                            if (this.isNotEmpty(filterValue)) {
                                sessionFilters[filterKey] = profileFilters[filterKey] = filterValue;
                            } else {
                                delete sessionFilters.CustomFilters;
                                delete profileFilters.CustomFilters;
                            }
                            Terrasoft.saveUserProfile(this.getFiltersKey(), profileFilters, false);
                            this.set("ProfileFilters", profileFilters);
                            break;
                        case "FolderFilters":
                            sessionFilters[filterKey] = profileFilters[filterKey] = filterValue;
                            Terrasoft.saveUserProfile(this.getFiltersKey(), profileFilters, false);
                            this.set("ProfileFilters", profileFilters);
                            break;
                        case "FixedFilters":
                            filterValue.filter = Terrasoft.encode(serializableFilter);
                            profileFilters[filterKey] = {Fixed: filterValue};
                            Terrasoft.saveUserProfile(this.getFiltersKey(), profileFilters, false);
                            this.set("ProfileFilters", profileFilters);
                            break;
                        case "TagFilters":
                            serializableFilter.tags = filterValue;
                            profileFilters[filterKey] = [serializableFilter];
                            Terrasoft.saveUserProfile(this.getFiltersKey(), profileFilters, false);
                            this.set("ProfileFilters", profileFilters);
                            break;
                        default:
                            sessionFilters[filterKey] = profileFilters[filterKey] = [
                                {
                                    filter: filter.serialize()
                                }
                            ];
                            Terrasoft.saveUserProfile(this.getFiltersKey(), profileFilters, false);
                    }
            },
            getSessionFilters: function() {
                var storage = Terrasoft.configuration.Storage.Filters = Terrasoft.configuration.Storage.Filters || {};
                var sessionFilters = storage[this.name] = storage[this.name] || {};
                return sessionFilters;
            },
            getProfileFilters: function() {
                    return this.get("ProfileFilters") || {};
            },
            getSerializableFilter: function(filter) {
                    filter.serializationInfo = {serializeFilterManagerInfo: true};
                    var serializableFilter = {};
                    filter.getSerializableObject(serializableFilter, filter.serializationInfo);
                    return serializableFilter;
            },
            getFiltersKey: function() {
                    var schemaName = this.name;
                    var cardName = this.values.CardPageName;
                    return cardName + schemaName + "Filters";
            }
        },