Добрый день!
Помогите разобраться. При выгрузке отчета выскакивает ошибка "Ошибка выполнения метода 'wnd_ReportFiltersOnPrepare'. Объект не поддерживает это свойство или метод "Call Stack", информация по ошибке прикреплен. Такая ошибка выскакивает только на нескольких машинах. TS_XRM 3.3.2
Нравится
Здравствуйте!
Из-за маленького разрешения изображение не удалось проанализировать ошибки.
Вы пробовали очистить кэш и перерегистрировать библиотеки?
На всякий случай прикрепляю инструкцию.
instrukciya.docx
Дмитрий, спасибо, но очистка кэша и перерегистрация библиотек не помогла. Сегодня информация об ошибке немного изменилась. Файл прикрепил
Дмитрий, установите компонент «ScriptControl» (прикрепил архив к комментарию) и почистите, пожалуйста, Cache.
Приятного дня!
При выполнении скрипта ругается на 24 строку
[javascript]
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 }
[/javascript]
Дмитрий, ошибка возникает на стандартном отчете или пользовательском?
Необходимо понять, в каком элементе возникает ошибка.
Можно заменить код, чтобы понять, стоит значение XMLStorage илии нет:
[csharp]
XMLStorage.LoadFromText(FiltersXML, ForceEncoding);
fbcMain.DataFieldsList.Deserialize(XMLStorage.RootNode);
[/csharp]
на:
[csharp]
if (XMLStorage) {
XMLStorage.LoadFromText(FiltersXML, ForceEncoding);
fbcMain.DataFieldsList.Deserialize(XMLStorage.RootNode);
} else {
Log.Write(lmtError, 'XMLStorage is null');
}
[/csharp]
Есть вероятность, что в данном элементе значение стоит Null.
Отчет сам выводится, если игнорировать ошибку и нажать на "ОК" в окне фильтрации. Ввиду всего этого, предполагаю, что ошибка не в отчете, а в каком то методе фильтрации. На всякий случай прикрепил J-script.
Дмитрий, возможно ошибка возникает на уровне прав.
Вы формируете отчеты под пользователем, который имеет максимальные права? Например, под Supervisor.
Попробуйте сформировать стандартный отчет "Задачи по типу" под Supervisor. В данном отчете присутствуют фильтрация.
Также, уточните, если убрать фильтрацию, отчет формируется корректно?
Спасибо Дмитрий!
Попробовал под Supervisor-ом как на пользовательском отчете, так и на стандартном отчете, ошибка не исчезла. Если убрать фильтрацию, отчет формируется корректно.
Может быть проблема в компонентах Винды, хотя я пробовал обновлять, не помогло? Пытался откатиться тоже не помогло.
Дмитрий, необходимо определиться с чем возникает данная ошибка, в БД или на уровне бинарных файлах приложения.
Напишите, пожалуйста, письмо с запросом на предоставления приложения, указав точную версию и название продукта (например, 3.3.2.127 XRM или 3.3.2.165 XRM + Service Desk)
А также уточните, какую СУБД Вы используете.
Далее, когда получите приложение, то разверните рядышком чистую базу и приложение. И затем проверьте следующие комбинации (необходимо сформировать стандартный отчет с фильтрацией):
- Новые бинарные файлы и чистая база данных;
- Старые бинарные файлы и предоставленная чистая база;
- Новые бинарные файлы и Ваша база данных.
Электронный адрес тех. поддержки: support@terrasoft.ru