Добрый день!
Помогите разобраться. При выгрузке отчета выскакивает ошибка "Ошибка выполнения метода 'wnd_ReportFiltersOnPrepare'. Объект не поддерживает это свойство или метод "Call Stack", информация по ошибке прикреплен. Такая ошибка выскакивает только на нескольких машинах. TS_XRM 3.3.2
Нравится
Здравствуйте!
Из-за маленького разрешения изображение не удалось проанализировать ошибки.
Вы пробовали очистить кэш и перерегистрировать библиотеки?
На всякий случай прикрепляю инструкцию.
instrukciya.docx
Дмитрий, спасибо, но очистка кэша и перерегистрация библиотек не помогла. Сегодня информация об ошибке немного изменилась. Файл прикрепил
Дмитрий, установите компонент «ScriptControl» (прикрепил архив к комментарию) и почистите, пожалуйста, 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