Вот такой код :
{
MessageBox('aaa');
ApplyDatasetIncludeFilter(TurnoverMonthDataset, 'AssortmentID', List, true); MessageBox('bbb');
}
MessageBox('ccc');
Сообщение 'aaa' я еще вижу, а ни 'bbb, ни 'ccc' уже не выдается.
Так же нет сообщения об ошибке. Просто дальше ничего не отрабывается.
В соседнем скрипте все тоже самое работает. Вроде все служебные скрипты подключены. В чем может быть дело?
Нравится
Еще странную вещь наблюдаю. Добавляю необходимый скрипт - scr_DB, и при нажатии на Ctrl (на фнкции ApplyDatasetIncludeFilter) я перехожу в скрипт scr_DB именно на эту процедуру. После запуска моего фильтра (где собственно и находится выше указанный код), и после "остановки" программы, я не могу опять (через Ctrl ) перейти на ApplyDatasetIncludeFilter. Тогда я удаляю scr_DB, вставляю ее заново - и могу перейти.
Вопрос снимается. Оказывается я неправильно в select_query указала этот фильтр. Я указала AssortmentID в WHERE и как параметр. А нужно было только в WHERE.
И все-таки проблема есть. В случае, если фильтр участвует в подзапросе, опять возникает ситуация, описанная мною в первом посте. Вот вид подзапроса :
Опять никакой реакции после строки ApplyDatasetIncludeFilter
Наталия, ознакомьтесь с примером включения IncludeFilter, расположенного в подзапросе, в скрипте scr_TasksWorkspace, в функции ApplyContactFilter.
Фрагмент кода:
BaseFilters = Dataset.SelectQuery.Items(0).Filters.Items(0); var Filter = BaseFilters.ItemsByCode('ContactIDs'); if (!Assigned(Filter)) { Filter = BaseFilters.Items(0).ItemsByCode('ContactIDs'); } var Parameters = Dataset.SelectQuery.Parameters; var TeamFilter = Filter.ItemsByCode('tcTeam'); var SubSelectFilter = TeamFilter.TestExpression .ExpressionSelectQuery.Items(0).Filters; var OwnerIDsFilter = Filter.ItemsByCode('tcOwnerIDs'); var ContactIDsFilter = Filter.ItemsByCode('tcContactIDs'); var SubContactIDsFilter = SubSelectFilter.ItemsByCode('tcContactIDs'); ApplyIncludeFilter(OwnerIDsFilter, IDs, true, null, Parameters); ApplyIncludeFilter(ContactIDsFilter, IDs, true, null, Parameters); ApplyIncludeFilter(SubContactIDsFilter, IDs, true, null, Parameters); TeamFilter.IsEnabled = true; Filter.IsEnabled = true;