Имя: Пароль:
1C
1С v8
Помогите программно вывести из СКД
,
0 picom
 
29.01.24
13:39
в табличное поле документа + Нужно задать параметры.

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;  
    
    СКД = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СКДНедооформлено");
    СКД.Параметры.ДатаНач.Значение = Период.ДатаНачала;
    СКД.Параметры.ДатаНач.Значение = Период.ДатаОкончания;
    
    НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки();
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СКД,
        КомпоновщикНастроек.Настройки, , ,
    Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТДНедооформленныеЗаявки);  
    ПроцессорВывода.НачатьВывод();
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);        
    ПроцессорВывода.ЗакончитьВывод();

1. Нужно установить параметр ДатаНачала
2. На форме пустота... допишу после установки даты
2 vicof
 
29.01.24
13:46
КомпоновщикНастроек.Настройки заменить на НастройкиКомпоновки
3 picom
 
29.01.24
13:52
(2) несоответствие типов пишет
4 vicof
 
29.01.24
14:27
Схема = СхемаКомпоновкиДанных;
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки);
    
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
5 toypaul
 
гуру
29.01.24
14:55
параметры заполняются не в схеме, а в настройках.
6 picom
 
30.01.24
06:40
Прикольно, переименовал НастройкиКомпоновки в Настройки и все прошло, видимо забронированное название
7 picom
 
30.01.24
07:38
Есть идеи, почему на форму не выводится результат?

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    Схема = РеквизитФормыВЗначение("Объект").ПолучитьМакет("СКДНедооформлено");
    //СКД.Параметры.ДатаНач.Значение = Период.ДатаНачала;
    КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема));
    //КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;  
    Настройки = КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки();
    
    Настройки.ПараметрыДанных.Элементы[0].Значение = Период.ДатаОкончания;
    Настройки.ПараметрыДанных.Элементы[1].Значение = Период.ДатаНачала;
    
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Схема,
        Настройки, , ,
    //Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")
    );

    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);

    //ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТДНедооформленныеЗаявки);  
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
8 d4rkmesa
 
30.01.24
08:25
(7) В отладчике после последней строки в ТДНедооформленныеЗаявки есть данные?
9 picom
 
30.01.24
08:58
(8) нет их, что-то не формирует. Может вариант (основной и единственный) не учитывает?
10 d4rkmesa
 
30.01.24
09:01
(7) В параметрах Использование включите или через БСП заполняйте параметры.
http://forum.infostart.ru/forum9/topic131718/message1360388/#message1360388
11 picom
 
30.01.24
09:19
(10) Спасибо, теперь выводится, но только видно параметры.
Самого результата, как я вижу в СКД нету (
2 + 2 = 3.9999999999999999999999999999999...