attributes: {
"SpeakAddress": {
type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
dataValueType: Terrasoft.DataValueType.LOOKUP,
referenceSchemaName: "AccountAddress",
isLookup: true,
lookupListConfig: {
"filter": function () {
Как написать sql запрос
select ad.id, ad.Address
from
AddressType at,
AccountAddress ad
where
at.Name = 'Собеседования' and
at.Id = ad.AddressTypeId
}
}
//isRequired: true
},
Нравится
Здравствуйте попробуйте что то вроде такого:
lookupListConfig: { "filters": [ function () { var addressTypeId = this.get("AddressType").value; var filterGroup = Ext.create("Terrasoft.FilterGroup"); filterGroup.add("CV", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,"[AccountAddress:AddressType].Name", "Собеседования")); filterGroup.add("Type", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,"[AccountAddress:AddressType].Id", addressTypeId)); return filterGroup; } ] }
как работать с фильтрами описано в статье - https://academy.terrasoft.ru/documents/technic-sdk/7-12/primenenie-filt…
Нигрескул Алексей,
Спасибо.
Своими силами попробовал написать и совпало с вашим советом
"filter": function () {
var filterGroup = Ext.create("Terrasoft.FilterGroup");
filterGroup.add("IsAddressType",
Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL,
"[AccountAddress:AddressType].Id",
"[AccountAddress.AddressType].Id"));//из таблицы
filterGroup.add("IsSpeak",
Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL,
"[AccountAddress:AddressType].Name",
"Собеседования"));
return filterGroup;
}
Делал как раз по той статье, клиентский esq синтаксис - это для наркоманов :)
Добрый день.
Вот оптимизированный sql запрос:
Вот esq строка для фильтра:
Так же проверьте устраивает ли вас результат исходного sql запроса (т.е. выполните запрос непосредственно из SQL Server Management Studio)