Добавление пользовательских фильтров по полям связаной таблицы
если кому нужно дать возможность юзеру
фильтровать раздел по полям другой таблицы, например
фильтровать раздел "Договора" по полям таблицы tbl_Account
связаной с договорами используйте модуль scr_DynamicFilter
нужно вызвать фн. AddUserFilterInDatasetByDataset и все
параметри прокоментированы в скрипте
большое спасибо за консультации:
Андрей Громовой, Дмиртрий Гамора, Генов Евгений, Калишенко Станислав
Уже можно фильтровать по деталям !
// AddUserFilterInDatasetByDataset -- основная функция
// dsSource -- датасет откуда перетягиваем фильтры
// dsTarget -- датасет куда мы хочем перетянуть фильтры
// TargetAliasForSourceTable -- алиас таблицы фильтры из которой мы хотим
// перетянуть в целевом датасете или
// если IsDetail == true то SQLName для таблицы детали
// IsDetail -- ствим true если хотим фильтровать по детали
// ParentFieldName поле из таблицы детали по которому они связываютьса
function AddUserFilterInDatasetByDataset(dsSource, dsTarget, TargetAliasForSourceTable, IsDetail, ParentFieldName) {
var Ln = dsSource.DataFields.Count;
var sqTarget = dsTarget.SelectQuery;
var GroupCode = dsSource.Caption;
for (var fc = 0; fc Ln; fc++) {
var DataField = dsSource.DataFields.Items(fc);
if (DataField.IsFilteringField) {
AddFilterByField(sqTarget, DataField, GroupCode,
TargetAliasForSourceTable, IsDetail, ParentFieldName);
}
}
}