Хочу добавить в сотрудники в Карьеру фильтруемое справочное поле, не получается составить запрос
"DerivedClients": {
"dataValueType": Terrasoft.DataValueType.LOOKUP,
"lookupListConfig": {
/* Массив фильтров, которые применяются к запросу для формирования данных поля-справочника. */
"filters": [
function() {
var filterGroup = Ext.create("Terrasoft.FilterGroup");
filterGroup.add("IsUser", Terrasoft.createColumnIsNotNullFilter("[SysAdminUnit:Account].UsrLookup3"));
filterGroup.add("IsActive",
Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL,
"[SysAdminUnit:Account].UsrLookup3",
true));
return filterGroup;
}
]
}
},
нужно сравнить со значением справочника "наш сотрудник" только не понимаю как, накорябал что-то но не уверен что это правильно
Нравится
Александр, добрый день!
Привожу пример построения фильтра по справочному полю.
Есть объект StTrip и необходимо отфильтровать справочное поле StTransport по определённому параметру:
"StTransport": { "dataValueType": Terrasoft.DataValueType.LOOKUP, "lookupListConfig": { "filters": [ function() { var filterGroup = Ext.create("Terrasoft.FilterGroup"); filterGroup.add("IsActive", Terrasoft.createColumnFilterWithParameter( Terrasoft.ComparisonType.GREATER, "[StTransport:Id].StMaxWeight", this.get("StWeight"))); return filterGroup; } ] } }
Обратите внимание на формулировку StTransport:Id. Надеюсь данный пример поможет вам с вашей задачей.
это точно полезно, но пока что я не понимаю, как сделать то что мне требуется, можете подсказать где мне почитать об этом?
В итоге я сделал как в документации, переопределил модуль EmployeeCareerPag
схему
define("EmployeeCareerPage", [], function() { return { /* Название схемы объекта страницы записи. */ "entitySchemaName": "Employee", /* Атрибуты модели представления. */ "attributes": { /* Колонка модели представления. */ "DerivedClients": { /* Тип данных колонки модели представления. */ "dataValueType": Terrasoft.DataValueType.LOOKUP, /* Конфигурационный объект атрибута типа LOOKUP. */ "lookupListConfig": { /* Массив фильтров, которые применяются к запросу для формирования данных поля-справочника. */ "filters": [ function() { var filterGroup = Ext.create("Terrasoft.FilterGroup"); //filterGroup.add("IsUser", Terrasoft.createColumnIsNotNullFilter("[Account:UsrLookup3].Id")); filterGroup.add("IsUser", Terrasoft.createColumnIsNotNullFilter("[Account:AccountType].Name")); filterGroup.add("IsUser", Terrasoft.createColumnFilterWithParameter( Terrasoft.ComparisonType.EQUAL, "[Account:AccountType].Name" === "наш сотрудник", true)); return filterGroup; } ] } } } }; });
и сделал такой запрос, но все еще не работает, что я мог тут сделать не так?