|
Ошибка при выводе отчета | ☑ | ||
---|---|---|---|---|
0
k_aleks80
16.11.18
✎
19:25
|
Приветствую.
В наличии - простой отчет. Есть 2 поля группировки. При снятии галки в настройках с 1-го - падает ошибка: Поле объекта не обнаружено (ТекстЗапроса). Вижу проблему в процедуре ПриКомпоновкеРезультата(). После выполнения строки кода: <code>МакетКомпоновки = КомпоновщикМакета.Выполнить( СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки );</code> в МакетКомпоновки.НаборыДанных.ТекстЗапроса ничего нет. Подскажите, куда копать? |
|||
1
k_aleks80
16.11.18
✎
19:27
|
В СхемеКомпоновкиДанных запрос есть.
Как я понимаю проблема с настройками компоновщика. |
|||
2
palsergeich
16.11.18
✎
19:36
|
(1)
Первое что надо делать при любых проблемах с СКД - переоткрыть окно приложения и конфигуратор Второе - если отчет простой - сделать новый и собрать его заново, не забудь поменять имя отчета, это позволит исключить кэш. Третье - версия платформы в которой разрабатываешь и в которой смотришь идентична? |
|||
3
k_aleks80
16.11.18
✎
19:45
|
Ок, попробую.
|
|||
4
k_aleks80
19.11.18
✎
01:01
|
1) переоткрывание - не помогло;
2) сделал отчет заново (с изменением имени) - не помогло; 3) версии идентичны (8.3.10). |
|||
5
k_aleks80
19.11.18
✎
01:15
|
интересная закономернность (в режиме предприятие, при настройки отчета, поля группировки):
1) при таком варианте ( см. галки использования) - данные выводятся: V День V Ссылка 2) а при таком - нет. День V Ссылка |
|||
6
Franchiser
гуру
19.11.18
✎
01:19
|
Зачем компоновку программно делаешь?
Наверняка намудрил что-нибудь с пользовательскими настройками |
|||
7
k_aleks80
19.11.18
✎
01:37
|
Спасибо за наводку, добрый человек.
-> Вот так отрабатывает: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт ОтчетыСервер.ВывестиОтчет(ЭтотОбъект, СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка); КонецПроцедуры; -> а вот так - уже нет: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт СтандартнаяОбработка = Ложь; ДокументРезультат.Очистить(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить( СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки ); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.НачатьВывод(); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина); ПроцессорВывода.ЗакончитьВывод(); ВывестиДиаграммы(ДокументРезультат); КонецПроцедуры |
|||
8
Franchiser
гуру
19.11.18
✎
01:50
|
1. Что есть СхемаКомпоновкиДанных ? Где это определено?
2. Чтобы получить настройки с наложенным пользовательскими используется метод ПолучитНастройки(), а у тебя этого нет. |
|||
9
Franchiser
гуру
19.11.18
✎
01:56
|
Тут вообще в коде ничего нет про пользовательские настройки: они и не устанавливаются отдельно (ЗагрузитьПользовательскиеНастройки()) и не накладываются через ПооучитьНастройки()
|
|||
10
Franchiser
гуру
19.11.18
✎
01:57
|
Что такое ВывестиДиаграммы()?
Это твой код? |
|||
11
k_aleks80
19.11.18
✎
02:08
|
(8)
1) Схема - это схема и есть. Стек вызова: ОбщийМодуль.ОтчетыСервер.Модуль.СформироватьОтчет(ОтчетОбъект, ТабличныйДокумент, СхемаКомпоновки = Неопределено, КомпоновщикНастроек = Неопределено, Заголовок = "", ДанныеРасшифровки = Неопределено, УникальныйИдентификатор = Неопределено) -> Отчет.Взаимодействия.МодульОбъекта.ПриКомпоновкеРезультата(...) Соответственно схема приезжает из СформироватьОтчет(), там такой код: ... Если НЕ СхемаКомпоновки = Неопределено Тогда ОтчетОбъект.СхемаКомпоновкиДанных = ПолучитьИзВременногоХранилища(СхемаКомпоновки); КонецЕсли; ... 2) не помогло(( |
|||
12
k_aleks80
19.11.18
✎
02:11
|
(10) формируются и выводятся несколько видов диаграмм.
На ошибку не влияют. Комментил. Результат тот же. Код не мой. Исправляю ошибку. Точнее пока разбираюсь. |
|||
13
k_aleks80
19.11.18
✎
09:59
|
Спецы по СКД, ткните куда копать.
|
|||
14
k_aleks80
19.11.18
✎
11:54
|
Победил. Все оказалось просто.
Такой код отрабатывает верно: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Экспорт ОтчетыСервер.ВывестиОтчет(ЭтотОбъект, СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка); ВывестиДиаграммы(ДокументРезультат); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |