Хочу добавить в сотрудники в Карьеру фильтруемое справочное поле, не получается составить запрос
"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;
}
]
}
}
}
};
});и сделал такой запрос, но все еще не работает, что я мог тут сделать не так?