Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программный вывод отчета
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
alex040269
Есть код :
    Схема = ПолучитьМакет("ПрочиеНачисления");
    Настройки = Схема.НастройкиПоУмолчанию;
    
    Сообщить(Настройки.ДоступныеПоляВыбора.Элементы.Количество());
    Сообщить(Настройки.ДоступныеПоляОтбора.Элементы.Количество());
    Сообщить(Настройки.ДоступныеПоляГруппировок.Элементы.Количество());


результат:
Цитата
0
0
0


в результате отчет не выводится, можно вывести только, если не накладывать никаких отборов!

Если вставляю схему в новый отчет, то все генерится замечательно и в отладчике есть все списки доступных элементов!

Что я делаю не так?

Спасибо.
sava1
Надо загрузить пользовательские настройки. Пример

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

&НаКлиенте
Процедура СформироватьОтчет(Команда)
    
    СформироватьОтчетНаСервере(Результат);
    
КонецПроцедуры
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.