Ошибки фильтрации в задачах!

Здравствуйте обитатели форума! Столкнулся я с такой проблемой, во время работы с разделом задача, при попытке сделать быстрый фильтр по задачам, а именно по заголовку задачи, система начинает ругаться и выдает в лог такое сообщение : (E) Ошибка выполнения метода 'dlTasksOnDatasetBeforeOpen'. 'null' is null or not an object «Call Stack», а дебагер ругается на следующую строчку : var TeamFilter = Filter.ItemsByCode('tcTeam');, иногда фильтрация проходит удачно и без ошибок, но при снятии и установлении флагов фильтрации задач по периоду (показать за период : сегодня, текущая неделя...) или при установлении/снятии флага фильтрации по ответственному выходит такая же ошибка ... Подскажите, это только у меня такое возникает, или все же есть не доработка?

Нравится

11 комментариев

1. Какая версия сборки и на какой СУБД?
2. В разделе "Задачи" делались доработки или это базовая?

--
www.it-sfera.com.ua

Версия сборки 3.3.1, СУБД SQL 2005, раздел задач без доработок, базовый.

Если вы плюёте мне в спину, значит я впереди вас!

Только-что проверил на базовой TS XRM 3.3.1.45
не наблюдается описанная Вами проблема!

--
www.it-sfera.com.ua

Простите сборка 3.3.1.31

Если вы плюёте мне в спину, значит я впереди вас!

У меня есть только последняя 45... Возможно, в 31 и была какая-то проблема, но если конфигурация базовая - это Вам лучше на support писать! :smile:

--
www.it-sfera.com.ua

Спасибо! Обязательно так и сделаю. :smile:

Если вы плюёте мне в спину, значит я впереди вас!

если ошибка возникает хаотично то возможно нехватает этого кода

var Filter = BaseFilters.ItemsByCode('ContactIDs');
if (!Assigned(Filter)) {
Filter = BaseFilters.Items(0).ItemsByCode('ContactIDs');
}

var Parameters = Dataset.SelectQuery.Parameters;
var TeamFilter = Filter.ItemsByCode('tcTeam');

там присутствует код приведенный ниже, а переменная "Filter" уже существует, где мне сделать модификацию кода? Спасибо!
var IDs = GetContactsFilterArray();
SetAttribute(Self, 'ContactsFilterArray', IDs);
var Filter = Dataset.SelectQuery.Items(0).Filters.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;

Если вы плюёте мне в спину, значит я впереди вас!

var IDs = GetContactsFilterArray();
SetAttribute(Self, 'ContactsFilterArray', IDs);
var Filter = Dataset.SelectQuery.Items(0).Filters.Items(0)
.ItemsByCode('ContactIDs');
if (!Assigned(Filter)) {
Filter = Dataset.SelectQuery.Items(0).Filters.Items(0).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;

Спасибо огромное! Теперь все заработала как надо :)

Если вы плюёте мне в спину, значит я впереди вас!

Разработчики написали код... Вы его установили... А потом, кто-то подумал о значение null... Добавили заплатку... А Вам уж, звиняйте, нужно ручками дописывать :biggrin:

--
www.it-sfera.com.ua

Показать все комментарии