Имя: Пароль:
1C
1С v8
Функция в СКД
0 seraf
 
29.11.19
16:21
Подскажите, надо быстренько сделать.
Есть функция в общем модуле, возвращающая таблицу значений (выгрузка результата запроса).
В неё передается договор.

Мне надо в СКД построить отчет состоящий из колонок Договор и рядом с каждым грубо говоря для начала эту таблицу вывести
Как делается?
1 Консультант Баранов
 
29.11.19
16:23
2 seraf
 
29.11.19
16:25
Короче есть условно данные

Сотрудник
Договор

они передаются построчно в функцию которая возвращает ТЗ

Значение1 - Остаток1
Значение2 - Остаток2
Значение3 - Остаток3

Хочу получить отчет

Сотрудник, Договор, Значение1, Значение2, Значение3
                      Остаток1, Остаток2, Остаток3
3 Консультант Баранов
 
29.11.19
16:25
У нас свободная страна - хотеть не запрещено, можно сколько угодно.
4 shuhard
 
29.11.19
16:27
(2) используй набор данных - объект
или передай ТЗ как параметр и оберни временной таблицей
5 seraf
 
29.11.19
16:31
Как построчно передать, если бы одно значение возвращала функция то вычисляемое поле, а тут надо ТЗ по каждой строке, передавая туда параметры.. не соображу пока, пример бы(
6 seraf
 
29.11.19
16:34
Вначале мне нужно получается выполнить цикл запросов, обращаясь к функции и получая в ответ по нескольку строк на пару параметров, и к каждой должны быть присоединены доп колонки Договор и Сотрудник чтобы понять чьи строки.

Всё это в результате должно стать таблице исходных данных, из которых слеплю отчет.
В модуле наверно можно было бы подготовить ТЗ, но лучше как-то в конструкторе
7 shuhard
 
29.11.19
16:36
(6) в третий и последний раз, вывести ТЗ в СКД не является проблемой
8 Ник080808
 
29.11.19
16:37
(4) "или передай ТЗ как параметр и оберни временной таблицей" это как?
9 hhhh
 
29.11.19
16:39
(8) ВЫБРАТЬ * ПОМЕСТИТЬ ВременнаяТЗ ИЗ &ТЗ
10 seraf
 
29.11.19
16:39
(7) спасибо, я гуглю как и параллельно спрашиваю, ибо не работал, а надо срочно
11 seraf
 
29.11.19
16:41
одним конструктором обойтись можно?
12 Ник080808
 
29.11.19
16:56
(9) в скд?
13 hhhh
 
29.11.19
16:57
(12) да. Тут же про СКД
14 seraf
 
29.11.19
17:01
Простой вроде вопрос.
Создаю в СКД элементарный запрос из 2 колонок.
Каждую эту строку хочу передавая в функцию соединить с данными, возвращаемыми этой функцией.
Как это в конструкторе выглядит не нахожу пока примера(
15 Ник080808
 
29.11.19
17:03
(13) это с какой версии скд дает в параметр таблицу значений задать
16 Ник080808
 
29.11.19
17:11
не дает он тзшку в скд юзать не через объект
17 hhhh
 
29.11.19
17:28
(16) ну через объект. какие проблемы. в 8.2 вот

Процедура ДоработатьКомпоновщикПередВыводом(ВнешниеНаборыДанных) Экспорт
    
    ВнешниеНаборыДанных = Новый Структура;
    ВыборкаДанных = ПолучитьВыборку();
    ВнешниеНаборыДанных.Вставить("ТаблицаДанных", ВыборкаДанных);


10 лет уже работает.
18 Ник080808
 
29.11.19
17:44
(17) та через объект понятно. я думал что так можно = ВЫБРАТЬ * ПОМЕСТИТЬ ВременнаяТЗ ИЗ &ТЗ прям в скд. Это было бы круто. бывает что нужно взять пару тзшек использовать их с другими данными в запросе, а не клепать соединения и объединения с наборами объектами
19 seraf
 
29.11.19
18:43
Создаю ТЗ вручную, добавил внешний источник, расписал колонки.
Отчет крутится в цикле, но чего-то завершается Итератор не определен.
взял код отсюда, там корректно?
20 seraf
 
29.11.19
18:44
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка    = Ложь;
    
    НаборыДанных    = Новый Структура("ВходящиеДанные", ТаблицаЗначенийВходящихДанных);
    
    Схема   = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    
    КМ      = Новый КомпоновщикМакетаКомпоновкиДанных;
    
    Макет   = КМ.Выполнить(Схема, КомпоновщикНастроек.Настройки);
    
    ПК  = Новый ПроцессорКомпоновкиДанных;
    ПК.Инициализировать(Макет, НаборыДанных);
    
    ПВ  = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПВ.УстановитьДокумент(ДокументРезультат);
    ПВ.Вывести(ПК, Истина);
КонецПроцедуры
21 seraf
 
29.11.19
18:47
Когда я наполнил внешний источник данных и создаю еще обычный набор данных, там эту ТЗ не вижу в качестве ВТ или еще как-то? Их только связать можно
22 Другая
 
30.11.19
03:28
А что мешает заделать это все одним запросом, а потом группировать как хочется?
23 Другая
 
30.11.19
03:29
Если запросом никак - то можно формировать ТЗ программно и выводить через СКД