Имя: Пароль:
1C
1С v8
Программный вывод в СКД
0 Seaman
 
15.09.11
22:18
Есть форма, реквизит формы типа КомпоновщикНастроекКомпоновкиДанных, Таблица на форме связанная с КомпоновщикНастроекКомпоновкиДанных.Настройки.Выбор
Программно создал Схему КД, дал ей запрос к справочнику, интерактивно в таблице на форме ( связанной КомпоновщикНастроекКомпоновкиДанных.Настройки.Выбор) выбрал поля (поля для выбора есть все ок). И вот нажимая на кнопку хочу увидеть результат выполения.
В отладчике посмотрел в переменной КомпоновщикНастроек выбранные поля есть (КомпоновщикНастроек.Настройки.Выбор)
А в Табличном документе пусто, никаких отборов нет, реально в справочнике элементы есть. Чего не так и где копать не пойму. Спасибо!

&НаКлиенте
Процедура Проверить(Команда)
   ТабДок = Новый ТабличныйДокумент;
   
   ВыводПроверить(ТабДок);
   ТабДок.ТолькоПросмотр    = Истина;
   ТабДок.Показать();
   
КонецПроцедуры

&НаСервере
Процедура ВыводПроверить(ТабДок)
       Если ПустаяСтрока(ЭтаФорма.АдресПриемник) Тогда
       Возврат;
   КонецЕсли;
   
   СКД    = ПолучитьИзВременногоХранилища(ЭтаФорма.АдресПриемник);
   Если СКД<>Неопределено Тогда

   КомпоновщикНастроек    = ЭтаФорма.КомпоновщикНастроек;
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

   Макет = КомпоновщикМакета.Выполнить(СКД, КомпоновщикНастроек.Настройки);
   
   //4. исполняем макет
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(Макет);
   ПроцессорКомпоновки.Сбросить();
   
   //5. выводим результат
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ТабДок);
   ПроцессорВывода.Вывести(ПроцессорКомпоновки);
   
   КонецЕсли;

КонецПроцедуры
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший