Всем пример
Делаю быстрый фильтр по примеру из документации.
Визуально фильтры создаются, но они не заполнены значениями и фильтрация соответственно не работает.
Кейс простой при клике на элементе "Контрагенты"- отобразить уже отфильтрованный реестр.
Подскажите где моя ошибка или чего я не понимаю
define("AccountSectionV2", ["BaseFiltersGenerateModule","jQuery"], function(BaseFiltersGenerateModule) { return { entitySchemaName: "Account", details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/, diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/, attributes: { }, methods: { initFilters: function() { console.log("initFilters"); this.initFilterActions(); this.initFixedFiltersConfig(); this.subscribeFiltersChanged(); this.subscribeFilterGetConfigMessages(); this.loadFiltersModule(); }, initQueryFilters: function(esq) { //this.callParent(arguments); console.log("initQueryFilters"); var filters = this.getFilters(); if (filters) { console.log(filters); esq.filters.addItem(filters); } }, // Инициализирует фиксированные фильтры. initFixedFiltersConfig: function() { console.log("initFixedFiltersConfig"); // Создание конфигурационного объекта. var fixedFilterConfig = { // В качестве схемы объекта для фиксированных фильтров указывается схема объекта раздела. entitySchema: this.entitySchema, // Массив фильтров. filters: [ // Фильтр периода. { // Название фильтра. name: "PeriodFilter", // Заголовок фильтра. caption: this.get("Resources.Strings.PeriodFilterCaption"), // Тип данных — дата. dataValueType: this.Terrasoft.DataValueType.DATE, // Дата начала периода фильтрации. startDate: { // Фильтруются данные из колонки [Date]. columnName: "StartDate", // Значение по умолчанию. defValue: this.Terrasoft.startOfWeek(new Date()) }, // Дата завершения периода фильтрации. dueDate: { columnName: "StartDate", defValue: this.Terrasoft.endOfWeek(new Date()) } }, // Фильтр ответственного. { // Название фильтра. name: "Owner", // Заголовок фильтра. caption: this.get("Resources.Strings.OwnerFilterCaption"), // Фильтрация данных из колонки [Owner]. columnName: "Owner", // В качестве значения по умолчанию указывается контакт текущего пользователя. // Значение берется из системной настройки. defValue: this.Terrasoft.SysValue.CURRENT_USER_CONTACT, // Тип данных — справочник. dataValueType: this.Terrasoft.DataValueType.LOOKUP, // Фильтр. filter: BaseFiltersGenerateModule.OwnerFilter } ] }; // Колонке [FixedFilterConfig] присваивается ссылка на созданный конфигурационный объект. this.set("FixedFilterConfig", fixedFilterConfig); } } }; });
Нравится
1) Сложно без кода страницы что-то конкретное сказать.
2) У вас точно колонка Owner в объекте есть? И точно ли она ссылается на Контактов.
3) " ...при клике на элементе "Контрагенты"..." — При чём тут контрагенты?
Варфоломеев Данила,
1. Код щас приложу
2. Owner - точно есть
3. Мне надо показать пользователю в реестре только созданных им контрагентов
1) Resources.Strings.OwnerFilterCaption не определён в localizableStrings, поэтому на скрине пустота
2) Пусто внутри выборки контрагентов потому, что срабатывает фильтр
filter: BaseFiltersGenerateModule.OwnerFilter
Подробнее - посмотрите в BaseFiltersGenerateModule, если не нужна фильтрация - закомментируйте эту строчку