Имя: Пароль:
1C
1С v8
Получение данных СКД программно в обработке
,
0 Блондинка_
 
27.02.19
13:05
Добрый день! Когда-то писала обработку с программным получением результата СКД. Брала пример из интернета, все было прекрасно. Код такой
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ИнициализироватьКомпоновкуДанных(Ложь);
    
КонецПроцедуры

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

На форме отбор типа КомпоновщикНастроекКомпоновкиДанных.Настройки.Отбор

Кнопка выполнить выполняет следующий код

Реализации.Очистить();

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

Результата нет, пусто. Потому что в Компоновщике макета вообще нет наборов данных. В СхемаКомпоновкиДанных набор данных есть. Первый раз делала - вообще не тот запрос был в наборе, но хотя бы был. Стала переделывать - вообще исчез. Где он теряется?) уже все перепроверила)
1 toypaul
 
гуру
27.02.19
13:20
то есть в МакетКомпоновки.НаборыДанных пусто?

надо проверить ОтборНаФорме.Настройки перед Выполнить. что там? возможно группировок нет. тогда и наборов не будет
2 Блондинка_
 
27.02.19
13:32
Перед выполнить в отборе на форме не пусто. В группировках есть доступные поля.
Странно, попробовала старую рабочую обработку - все ок, а новые не работают. Что-то я не то делаю(
3 Блондинка_
 
27.02.19
15:01
Очень помогла тема
v8: В МакетКомпоновкиДанных не попадают НаборыДанных из СхемаКомпоновкиДанных
Оказывается, у меня в детальных записях в макете скд стояло "авто", в итоге по-видимому не выводилось ни одного поля.
Никогда бы не подумала, что из-за этого не получается набор данных. Только установила поля - все заработало!
Спасибо  Kashemir из этой темы
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший