Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
08 янв 2026, 02:42

скд в тз

Автор sali, 24 окт 2025, 12:43

0 Пользователей и 1 гость просматривают эту тему.

sali

У меня не получается это сделать. мне возвращается таблица с колонками только без данных. Именно что имеет вид как только создаёшь ее
Тз =. Новый таблицазначений
Тз.кононки.добавить("артикул")
Тз.кононки.добавить("номенклатура")

sali

antoneus, в процессор компоновки данных выгружается там выполняется полноценный запрос в котором отбор есть

sali

А как по другому ?

antoneus

Не надо создавать никакие колонки, скд сама все сделает. Надо создать пустую ТЗ, без колонок, и скормить ее процессору.

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

sali

Цитата: antoneus от 29 окт 2025, 07:27Надо создать пустую ТЗ, без колонок
я создавал , таким образом
КомпоновщикНастроекТЗ = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроекТЗ.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    ВО = СхемаКомпоновкиДанных.ВариантыНастроек.Найти("Основной");
    КомпоновщикНастроекТЗ.ЗагрузитьНастройки(Во.Настройки);
    НастройкиКомпоновщика = КомпоновщикНастроекТЗ.Настройки;
    ПараметрыНастройки = НастройкиКомпоновщика.ПараметрыДанных;

    КоллекцияОтборов = КомпоновщикНастроек.Настройки.Отбор.Элементы; 

    Для каждого настр Из КоллекцияОтборов Цикл
        ЭлементОтбора = НастройкиКомпоновщика.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        ЭлементОтбора.ВидСравнения = настр.ВидСравнения;
        ЭлементОтбора.Использование =настр.Использование;
        ЭлементОтбора.ЛевоеЗначение = Настр.ЛевоеЗначение;
        ЭлементОтбора.ПравоеЗначение = Настр.ПравоеЗначение;
КонецЦикла;       

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

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

возврат ТаблицаДанных;       
мне возвращалось это


sali

Таблица Значений
индекс
колонки
   "выбран"       типданных булево
   "номенклатура" типданных строка


и всё. никаких данных. будто ТЗ только создалась и не заполнялась

sali

вот , да. оно пустое возвращаетсяСнимок экрана 2025-10-29 111728.png

sali

antoneus, может дело в самой схеме ??
Снимок экрана 2025-10-29 114400.pngСнимок экрана 2025-10-29 114407.png 

antoneus

Цитата: sali от 29 окт 2025, 08:44может дело в самой схеме ??

Не исключено!

Но, вообще, наличие данных в тз не так проверяется.

sali

antoneus, были моменты долгой загрузки, когда по отладке заходишь проверить что пришло.  я ждал минуты по три(это уже дофига времени ждать, чтобы загрузилось) - ПУСТО.
я менял схему скд, пробовал с другой. та же история.

Теги:

Похожие темы (1)

Рейтинг@Mail.ru

Поиск