Добрый день, помогите пожалуйста, при попытке добавить новые столбцы в расширенный

фильтр из детали, указывается лишь кол-во и дата

как добавить в фильтрации и другие колонки из этой таблицы? Нужно вывести информацию взаимосвязи по контрагентам и контактам.

Нравится

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

Доброе утро.

Все верно, так и должно быть.

В колонке выбираете количество, после этого в самой области фильтра 'количество' можно сменить на 'существует' или 'не существует' и в области подфильтра уже работать с табличкой детали и настраивать нужные фильтры.

Более подробно о том, как построить exist-фильтр можно почитать на Академии по ссылке (подтема 'Установка агрегирующего фильтра').

Доброе утро.

Все верно, так и должно быть.

В колонке выбираете количество, после этого в самой области фильтра 'количество' можно сменить на 'существует' или 'не существует' и в области подфильтра уже работать с табличкой детали и настраивать нужные фильтры.

Более подробно о том, как построить exist-фильтр можно почитать на Академии по ссылке (подтема 'Установка агрегирующего фильтра').

Алла Савельева,

Дело в том, что при такой фильтрации невозможно отобразить данное поле в таблице поиска для дальнейшего экспорта в отчетКак можно добавить в настройки колонок тип взаимосвязи? что бы не отображалось количеством, а данными из этой таблицы. Данном случае бывший работодатель

Касымов Сакен,

в данном случае, у вас никак не получится - т.к. это деталь, то бывших работодателей может быть неограниченное количество, а колонку таблицы вы можете добавить только одно значение. В вашем случае это нужно делать средствами разработки, как мне кажется.

Нашел другой способ, создал вьюшку в БД и объект, поставил галочку в "Представление в БД"в этой вьюшке есть есть значения с "NULL" (это не проблема?)

и когда пытаюсь добавить данную вьюшку в дашборд, то график не строится, выводятся по группированной колоке все значения, но в самих группах пусто

Касымов Сакен,

А какой график нужно получить в итоге?

Возможно, неправильно сделали представление.

Посмотрите в SQL Management Studio, какие данные возвращает Ваше представление.

Может быть, дело в том, что в созданном view не уникальный Id, которые есть в каждой обычной таблице и которые может пытаться использовать движок графиков.

Превратить Null в пустую или какую угодно строку можно функцией IsNull со вторым параметром.

Также при создании пользовательских представлений для корректной их работы необходимо наследование от схемы BaseEntity, где есть стандартные колонки. 

Зверев Александр пишет:
Также при создании пользовательских представлений для корректной их работы необходимо наследование от схемы BaseEntity, где есть стандартные колонки

Не согласна с этим утверждением.

Все зависит от того для реализации какой функциональности создается то или другое представление. 

Алла, можно и не наследоваться, но тогда при необходимости сразу создавать колонки, если они окажутся нужными в стандартной логике разных механизмов системы. Как минимум, должен быть уникальный Id и настроенное текстовое первичное поле для отображения.

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

Неоднократно задавал тут вопрос: возможно ли применить функционал расширенного фильтра к объекту "справочник".

Официальный ответ саппорта - нет не возможно, но пожелание адресовали разработчикам для возможности реализации этого в будущих релизах.

на самом деле мне удалось этого добиться, правда не совсем стандартным способом...

  1. Создал раздел внутренними механизмами BPM
  2. Дропнул тейбл раздела в БД
  3. Создал представление (с inner join из 2 таблиц) с таким же названием в БД из п.2.
  4. Внес изменения в объект в БПМ - создал columns точь-в-точь как в представлении + установил признак "представление БД" (!)
  5. Закастомил страницу реестра.

Правда теперь не понимаю может ли эти изменения как-то негативно повлиять на работу приложения в целом?

Нравится

4 комментария

Использовать схемы на основе view вполне допустимо, парой сообщений ниже Алла Савельева как раз предлагает такое для решения вопроса с графиком.

Только обычно создают в обратном порядке: сначала — схему с установленной галкой, потом — view в базе с такими же полями. Таблицы при этом не создаётся.

Обычно в названии объекта для ясности вначале пишут Vw, можете посмотреть такие в стандартной системе.

По поводу негативного влияния, всё зависит от кода view. Если он содержит ошибки или при наложении каких-то фильтров получится очень тяжёлый запрос на выборку, то база может «задуматься».

Зверев Александр,

ключевое слово - расширенный фильтр.

К справочнику его не применить.

Соответственно создал раздел, (руками его создавать - неблагодарное дело). А уже потом ахалай-махалай с Vw...

Случайно обнаружил: подобное действие с разделом привело к ошибке (см. принт-скрин).

  УРЛ https://[url_app]/0/ServiceModel/EntityDataService.svc/ для меня крайне важен...

Значит, у нового раздела на основе view получилось совпадающее с существующим значение названия или чего-подобного. В результате при попытке системы построить список объектов, доступных по OData натыкается на пару дублей и не может однозначно выбрать.

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

Добрый вечер!
Вопрос такой, нужно в разделе "Контрагенты" сформировать список клиентов, у которых в "фактическом" адресе указан город Москва (с чем я разобрался) и присутствует также "юридический" адрес. Не могу понять, как включить в выборку условие с "юридическим" адресом?


 

Нравится

3 комментария

Вот пример Как я его понял исходя из условий Задачи

Михаил, не уверен, что получится именно то, что хочет автор. У Вас найдёт где есть или тот, или тот тип адреса.

Лучше так:

 

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

Добрый день, коллеги, поделитесь решением вопроса:

  1. Создал справочник 
  2. Создал модуль унаследованный от "Конфигурационный раздел базового справочника ( UIv2 )"
  3. Удалил унаследованный грид, и определил грид "зебра".
  4. Добавил фильтр по датам, по аналогии как в активностях

Вопрос: подскажите, метод добавления расширенного фильтра, по аналогии как и в разделах?

Нравится

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

Тут похожий вопрос решается созданием страницы, унаследованной от страницы раздела с некоторыми доработками.

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

Добрый день, коллеги. 

Имеется стандартный справочник с кастомной страницей реестра. 

Вопрос: возможно ли в переопределенной странице реестра отображения справочника подключить расширенный фильтр?
Подскажите метод реализации.
 

Нравится

7 комментариев

А можете перефразировать, что именно вы хотите? Не могу понять, что вы хотите сделать

Наверное лучше я опишу все свои действия, что бы лучше понять мою цель:
1. Создал вьюху на SQL
2. Создал объект в БПМ с именем точь-в-точь как и в п.1
3. Накидал столбцов в объекте из п.2 точь-в-точь как и в п.1
4. В свойствах объекта из п.2 ("ВСЕ") поставил птЫчку "Представление в базе данных"
5. Получил справочник в BPM с наполнением данных из вьюхи п.1. Страница отображения справочника - базовая, а значит с возможностью редактировать поля и с отображением всех кнопок типа "Добавить"
6. Решил сделать "по-феншую" - создал свою страницу с параметром "Родительский объект" = "Конфигурационный раздел базового справочника (UIv2)"
7. Удалил кнопку "Добавить"
8. Определил цвет отображения кнопки "Закрыть" - "Terrasoft.controls.ButtonEnums.style.BLUE"
9. Удалил унаследованный DataGrid
10. Определил свой DataGrid
    {
        "operation": "insert",
        "name": "DataGrid",
        "parentName": "DataGridContainer",
        "propertyName": "items",
        "values": {
            "itemType": Terrasoft.ViewItemType.GRID,
            "listedZebra": true,
            "activeRow": {"bindTo": "ActiveRow"},
            "collection": {"bindTo": "GridData"},
            "isEmpty": {"bindTo": "IsGridEmpty"},
            "isLoading": {"bindTo": "IsGridLoading"},
            "primaryColumnName": "Id",
            "sortColumn": {"bindTo": "sortColumn"},
            "sortColumnDirection": {"bindTo": "GridSortDirection"},
            "sortColumnIndex": {"bindTo": "SortColumnIndex"},
            "needLoadData": {"bindTo": "needLoadData"}
        }
    }

Суть вопроса: данная страница имеет Фильтр с одной возможностью "Добавить условие". 
Интересует возможность добавления "Перейти в расширенный режим" или отображение фильтра по датам, как это реализовано в разделе "Активности".

Пытался в п.6. "Родительский объект" = "Базовая схема раздела (NUI)" - получаю необходимый результат, но сама страница некорректно себя ведет при отображении данных. Видимо там много чему нужен "remove", 
однако недостаточно информации чему именно...

Терещенко Алексей,

Попробуйте добавить фильтры как в Активности:

			init: function() {
				this.callParent(arguments);
				this.initFixedFiltersConfig();
			},
			initFixedFiltersConfig: function() {
				var fixedFilterConfig = {
					entitySchema: this.entitySchema,
					filters: [
						{
							name: "PeriodFilter",
							caption: this.get("Resources.Strings.PeriodFilterCaption"),
							dataValueType: this.Terrasoft.DataValueType.DATE,
							startDate: {
								columnName: "UsrDate", //Поле по которому хотите сделать фильтр дат
								defValue: this.Terrasoft.startOfWeek(new Date())
							},
							dueDate: {
								columnName: "UsrDate", //Поле по которому хотите сделать фильтр дат
								defValue: this.Terrasoft.endOfWeek(new Date())
							}
						}
					]
				};
				this.set("FixedFilterConfig", fixedFilterConfig);
			},

 

Литвинко Павел,

Подскажите в какую часть кода необходимо добавить данный код? в 

methods?

Литвинко Павел,

Отлично!!! Спасибо большое! Получилось!

И все таки - возможность добавления "Перейти в расширенный режим" - актуально. Может знает кто как это реализовать?

Тут похожий вопрос решается созданием страницы, унаследованной от страницы раздела с некоторыми доработками. И при открытии лукапа показывает окно раздела, на который он ссылался.

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