|
СКД Временные таблицы в тексте запроса | ☑ | ||
---|---|---|---|---|
0
Air777
27.05.21
✎
13:59
|
В 8.3.17 Добавлена возможность обращаться к ВТ прямо в тексте запроса.
Есть даже примеры : https://infostart.ru/1c/articles/1229680/ https://free1c.ru/index.php/stati/61-ispolzovanie-vneshnikh-tablits-znachenij-v-otchete-1s-na-skd-na-realnom-primere Авторы предлагают сформировать ВТ положить ее в менеджер и отправить в метод Инициализировать процессора компоновки. Вроде все логично. Вроде.. ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,, ДанныеРасшифровки, Истина,, МенеджерВременныхТаблиц); Только вот 1й параметр у этого метода - макет компоновки а в нем собственно запрос с обращением к ВТ. И я ловлю ошибку уже на этапе МакетКомпоновкиДанных= КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройка); который идет первым, и там в тексте запроса обращение к ВТ похоже я недопонимаю порядок вызовов... Как сделать видимой ВТ в тексте запроса схемы??? Поделитесь кто в курсе. Спасибо. |
|||
1
ildary
27.05.21
✎
14:38
|
(1) а эта штука (возможность обращаться к ВТ прямо в тексте запроса) - совместима ли с текущим режимом совместимости базы?
|
|||
2
Air777
27.05.21
✎
14:43
|
Совместимость отключена вовсе, само собой.
Платформа 8.3.18.1483 |
|||
3
acht
27.05.21
✎
14:46
|
(0) Дык на инфостарте в первом же комментарии написано про типы полей временной таблицы
|
|||
4
aka MIK
27.05.21
✎
14:53
|
(0) код в ПриКомпоновке выложите
|
|||
5
acht
27.05.21
✎
14:55
|
И текст ошибки =)
|
|||
6
Air777
27.05.21
✎
15:00
|
МВТ=Новый МенеджерВременныхТаблиц;
ТекстЗапроса=" |ВЫБРАТЬ |Ссылка |ПОМЕСТИТЬ ВТ |ИЗ |Справочник.Номенклатура"; Запрос=Новый Запрос(ТекстЗапроса); Запрос.МенеджерВременныхТаблиц=МВТ; Запрос.Выполнить(); СхемаКомпоновкиДанных1=ЭтотОбъект.ПолучитьМакет("Обработка"); Настройка1=СхемаКомпоновкиДанных1.НастройкиПоУмолчанию; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных1, Настройка1, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); // Создадим и инициализируем процессор компоновки ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки,Истина,,МВТ); Результат=Новый ТаблицаЗначений; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновки,Истина); В схеме простой запрос Выбрать * ИЗ ВТ Вылетает на этапе получения макета: Ошибка при вызове метода контекста (Выполнить) МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных1, Настройка1, , ,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); по причине: Ошибка компоновки макета по причине: Ошибка генерации макета по причине: Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: Поле не найдено |
|||
7
acht
27.05.21
✎
15:02
|
(6) > Выбрать * ИЗ ВТ
Хороший пример, почему за звездочки в запросе надо карать. ВЫБРАТЬ ВЫРАЗИТЬ(ВТ.Ссылка КАК Справочник.Номенклатура) ИЗ ВТ КАК ВТ |
|||
8
Kassern
27.05.21
✎
15:04
|
(6) а как же 2ой пункт из https://free1c.ru/index.php/stati/61-ispolzovanie-vneshnikh-tablits-znachenij-v-otchete-1s-na-skd-na-realnom-primere ? // и далее передаем в Менеджер временных таблиц через новый запрос
|
|||
9
acht
27.05.21
✎
15:07
|
(8) А это там ритуальные пляски для получения поля КадровыеДанныеСтрокой. На суть не влияет.
|
|||
10
Air777
27.05.21
✎
15:08
|
(7)ничего не дало
(8) в примере прогоном добавляется колонка к ВТ, мне это не надо. Я ловлю ошибки даже в конструкторе набора данных СКД. Нет таблицы ВТ и ничего про нее не знает конструктор. Поэтому у меня и подозрение что я гдето важнейшую вещь упускаю |
|||
11
acht
27.05.21
✎
15:11
|
(10) Галочку "Автозаполнение" сними
|
|||
12
Air777
27.05.21
✎
15:13
|
||||
13
Air777
27.05.21
✎
16:16
|
Похоже отчеты имеют свой режим совместимости который нигде не видно.
когда я создал новый пустой с 0 - все работает, подключил отчет в конфу - тоже работает. Чудесаааа |
|||
14
Air777
27.05.21
✎
16:24
|
Вопрос закрыт
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |