Вопрос

Ошибка окна фильтра при выгрузке отчета

Добрый день!

Помогите разобраться. При выгрузке отчета выскакивает ошибка "Ошибка выполнения метода 'wnd_ReportFiltersOnPrepare'. Объект не поддерживает это свойство или метод "Call Stack", информация по ошибке прикреплен. Такая ошибка выскакивает только на нескольких машинах. TS_XRM 3.3.2

Нравится

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

Здравствуйте!

Из-за маленького разрешения изображение не удалось проанализировать ошибки.
Вы пробовали очистить кэш и перерегистрировать библиотеки?
На всякий случай прикрепляю инструкцию.
instrukciya.docx

Дмитрий, спасибо, но очистка кэша и перерегистрация библиотек не помогла. Сегодня информация об ошибке немного изменилась. Файл прикрепил


скрин 1


скрин 2

Дмитрий, установите компонент «ScriptControl» (прикрепил архив к комментарию) и почистите, пожалуйста, Cache.

scriptcontrol.rar

Приятного дня!

Дмитрий, Очистка Cache не помогла

При выполнении скрипта ругается на 24 строку

1 function LoadFilters(Window) {
2	var QueryBuilderData = ReportFilters.QueryBuilderData;
3	if (QueryBuilderData) {
4		var QueryFilterData = QueryBuilderData.QueryFilterData;
5		if (QueryFilterData) {
6			fbcMain.DataFieldsList.Deserialize(QueryFilterData.RootNode);
7			fbcMain.Refresh();
8	        return;
9	    }    
10    }
11	if (!Assigned(ReportFilters.FastReport)) {
12		return;
13	}
14	var FiltersXML = ReportFilters.FastReport.FiltersXML;
15	if (FiltersXML) {
16		var XMLStorage = GetNewXMLStorage();
18		var XMLStorage = GetNewXMLStorage();
19		var ForceEncoding = UTF8Encoding;
20		var MatchResult = FiltersXML.match(/encoding="(.*?)"/);
21		if (MatchResult) {
22			ForceEncoding = MatchResult[1];
23		}
24		XMLStorage.LoadFromText(FiltersXML, ForceEncoding);
25		fbcMain.DataFieldsList.Deserialize(XMLStorage.RootNode);
26	}
27 }

Дмитрий, ошибка возникает на стандартном отчете или пользовательском?

Необходимо понять, в каком элементе возникает ошибка.
Можно заменить код, чтобы понять, стоит значение XMLStorage илии нет:

  XMLStorage.LoadFromText(FiltersXML, ForceEncoding);
  fbcMain.DataFieldsList.Deserialize(XMLStorage.RootNode);

на:

 
  if (XMLStorage) {
                 XMLStorage.LoadFromText(FiltersXML, ForceEncoding);
                 fbcMain.DataFieldsList.Deserialize(XMLStorage.RootNode);
        } else {
                        Log.Write(lmtError, 'XMLStorage is null');
                               }

Есть вероятность, что в данном элементе значение стоит Null.

Спасибо Дмитрий! Подставил ваш код, но остановился на той же строке как и раньше
Причем ошибка не на конкретном отчете, а во всех отчетах, где всплывает окно фильтрации. Раньше подобной ошибки не было, и происходит это не на всех машинах

Отчет сам выводится, если игнорировать ошибку и нажать на "ОК" в окне фильтрации. Ввиду всего этого, предполагаю, что ошибка не в отчете, а в каком то методе фильтрации. На всякий случай прикрепил J-script.

Дмитрий, возможно ошибка возникает на уровне прав.

Вы формируете отчеты под пользователем, который имеет максимальные права? Например, под Supervisor.
Попробуйте сформировать стандартный отчет "Задачи по типу" под Supervisor. В данном отчете присутствуют фильтрация.

Также, уточните, если убрать фильтрацию, отчет формируется корректно?

Спасибо Дмитрий!

Попробовал под Supervisor-ом как на пользовательском отчете, так и на стандартном отчете, ошибка не исчезла. Если убрать фильтрацию, отчет формируется корректно.

Может быть проблема в компонентах Винды, хотя я пробовал обновлять, не помогло? Пытался откатиться тоже не помогло.

Дмитрий, необходимо определиться с чем возникает данная ошибка, в БД или на уровне бинарных файлах приложения.

Напишите, пожалуйста, письмо с запросом на предоставления приложения, указав точную версию и название продукта (например, 3.3.2.127 XRM или 3.3.2.165 XRM + Service Desk)
А также уточните, какую СУБД Вы используете.

Далее, когда получите приложение, то разверните рядышком чистую базу и приложение. И затем проверьте следующие комбинации (необходимо сформировать стандартный отчет с фильтрацией):
- Новые бинарные файлы и чистая база данных;
- Старые бинарные файлы и предоставленная чистая база;
- Новые бинарные файлы и Ваша база данных.

Электронный адрес тех. поддержки: support@terrasoft.ru

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