|
СКД + ТЗ + сортировка | ☑ | ||
---|---|---|---|---|
0
Сформировать Отчет
09.10.12
✎
11:21
|
Создал отчет на основе СКД, набор данных - ТЗ с одной колонкой "СсылкаНаДокумент".
Хочу отсортировать результат вывода по дате документа. Добавил в Настройках СКД в Сортировке новое поле Ссылка.Дата При формировании отчета вылетает ошибка: "МакетДляВывода = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); по причине: Ошибка компоновки макета по причине: Поле не найдено "Ссылка.Date"" В чем может быть проблема, как исправить? Спасибо |
|||
1
IronDemon
09.10.12
✎
12:14
|
Ссылка типизирована в ТЗ?
|
|||
2
Сформировать Отчет
09.10.12
✎
12:20
|
(1) Да, ссылка типизирована
|
|||
3
Kashemir
09.10.12
✎
12:28
|
(2) У поля в самой схеме явно укажи все доступные типы
|
|||
4
Сформировать Отчет
09.10.12
✎
12:29
|
(3) в СКД тип указан
|
|||
5
Kashemir
09.10.12
✎
12:30
|
(4) Значит есть еще какой-то неучтенный тип, неявляющийся документом
|
|||
6
Сформировать Отчет
09.10.12
✎
12:35
|
(5)
Используется только дин тип документа. Колонка ТЗ имеет аналогичный вид. |
|||
7
Kashemir
09.10.12
✎
12:36
|
(6) Тогда это мистика
|
|||
8
Сформировать Отчет
09.10.12
✎
12:44
|
Вот как это все выглядит:
http://s004.radikal.ru/i205/1210/cb/ad021f6ab090.jpg http://s48.radikal.ru/i119/1210/1c/eb99b46bacf1.jpg http://s019.radikal.ru/i631/1210/5a/2c237890efb3.jpg Не могу понять в чем может быть проблема |
|||
9
Сформировать Отчет
09.10.12
✎
12:52
|
В ТЗ содержатся только документы Реализация товаров и услуг, проверял в отладчике
|
|||
10
Kashemir
09.10.12
✎
12:54
|
(8) Все правильно. С правами все полный ок ? - есть разрешения на просмотр всех реквизитов ?
|
|||
11
Сформировать Отчет
09.10.12
✎
12:54
|
(10) Полные права
|
|||
12
Kashemir
09.10.12
✎
12:55
|
(11) Тогда у меня идеи закончились
|
|||
13
Сформировать Отчет
09.10.12
✎
13:02
|
(12) ок, спасибо и на этом
|
|||
14
IronDemon
09.10.12
✎
13:07
|
С другими полями такая-же беда при сортировке?
Просто вывести поле получается? |
|||
15
IronDemon
09.10.12
✎
13:10
|
Весь код формирования СКД покажи
|
|||
16
Сформировать Отчет
09.10.12
✎
13:11
|
(14) Если в сортировку добавить другое поле, ошибка аналогичная:
{Форма.ФормаОтчета.Форма(244)}: Ошибка при вызове метода контекста (Выполнить) МакетДляВывода = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, мДанныеРасшифровки); по причине: Ошибка компоновки макета по причине: Поле не найдено "Документ.Комментарий" |
|||
17
Сформировать Отчет
09.10.12
✎
13:16
|
(16)
Функция ПолучитьТаблицуДляСКД() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка КАК Документ |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Дата >= &ДатаНач | И РеализацияТоваровУслуг.Дата <= &ДатаКон"; Запрос.Установитьпараметр("ДатаНач", ДатаНач); Запрос.Установитьпараметр("ДатаКон", ДатаКон); Возврат Запрос.Выполнить().Выгрузить(); КонецФункции Процедура СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина) Экспорт ЭлементыФормы.Результат.Очистить(); ТЗ = ПолучитьТаблицуДляСКД(); Если ТЗ = Неопределено ИЛИ ТЗ.Количество()=0 Тогда Возврат; КонецЕсли; СтруктураДляИнициализацииВнешнихИсточников = Новый Структура("ТЗ", ТЗ); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; мДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; МакетДляВывода = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, мДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетДляВывода, СтруктураДляИнициализацииВнешнихИсточников, мДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат); ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультата = ПроцессорКомпоновки.Следующий(); Если ЭлементРезультата = Неопределено Тогда Прервать; Иначе ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); КонецПроцедуры |
|||
18
Сформировать Отчет
09.10.12
✎
13:23
|
(15) если в настройках вывести поле Документ.Дата, то ошибка не возникает, даже если добавить сортировку по дате.
очень странно, но работает)) |
|||
19
IronDemon
09.10.12
✎
13:23
|
В запросе Документ, в СКД Ссылка.
:) |
|||
20
IronDemon
09.10.12
✎
13:23
|
Имена разные
|
|||
21
Kashemir
09.10.12
✎
13:24
|
(17) Вот... и зачем спрашивается обманывал http://s004.radikal.ru/i205/1210/cb/ad021f6ab090.jpg
|
|||
22
Сформировать Отчет
09.10.12
✎
13:25
|
(19) нет, это моя опечатка, я пробовал менять название Ссылка на Документ, не помогло
|
|||
23
Сформировать Отчет
09.10.12
✎
13:25
|
(17) не обманывал, просто код не совсем прваильно выложил
вообщем проблема решилась добавлением поля Дата в Выбранные поля настройки СКД |
|||
24
Сформировать Отчет
09.10.12
✎
13:26
|
видимо это такая особенность СКД
|
|||
25
IronDemon
09.10.12
✎
13:28
|
Нет. У меня все работает.
|
|||
26
IronDemon
09.10.12
✎
13:29
|
Попробуй сортировку не для отчета сделать а для группировки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |