8.х Не могу открыть номенклатуру в отчете

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Silent_Rain, 13 мар 2015.

  1. TopicStarter Overlay
    Silent_Rain
    Offline

    Silent_Rain

    Регистрация:
    21 июл 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    Добрый день!
    Создан внешний отчет под УФ с использованием СКД. В модуле формы процедур, относящихся к формированию отчета нету. В модуле объекта имеется следущий код:

    Код:
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)Экспорт
        СтандартнаяОбработка = Ложь;   
        //Получаем схему из макета
        Если РасчитатьПоОпциям = Истина Тогда
            СхемаКомпоновкиДанных = ПолучитьМакет("СхемаКомпоновкиПоОпциям");
           
            //Из схемы возьмем настройки по умолчанию
            Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
           
            Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ВидЦены",         ВидЦены);
            Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок",       "Расчет себестоимости продукции по опциям");
            Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("СсылкаДокумент",  ЗаказПокупателя);
        Иначе
            СхемаКомпоновкиДанных = ПолучитьМакет("СхемаКомпоновкиПоСпецификации");
           
            //Из схемы возьмем настройки по умолчанию
            Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
           
            Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ВидЦены",         ВидЦены);
            Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок",       "Расчет себестоимости продукции по спецификации");
            Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДокументСсылка",  ЗаказПокупателя);
           
        КонецЕсли;
        //Создаем данные расшифровке
        ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
       
        КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
       
        //Формируем макет, с помощью компоновщика макета
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
       
        //Передаем в макет компоновки схему, настройки и данные расшифровки
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
       
        //Выполним компоновку с помощью процессора компоновки
        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
       
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
       
        //Очищаем поле табличного документа
        ДокументРезультат.Очистить();
       
        //Выводим результат в табличный документ
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
       
    КонецПроцедуры
    При выполнении отчета все выводится, но я не могу открыть номенклатуру.
    Отчет.jpg
    Подскажите, что я забыла дописать?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Текст запроса СКД покажите.
  3. xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    или добавьте к сообщению схему СКД
  4. TopicStarter Overlay
    Silent_Rain
    Offline

    Silent_Rain

    Регистрация:
    21 июл 2014
    Сообщения:
    30
    Симпатии:
    0
    Баллы:
    1
    В общем проблема решилась указанием основной схемы компоновки данных, но возникла другая проблема: имеется 2 СКД, использую каждый при определенном условии, но не получается получить настройки из СКД, который не указан как основной. Решила я ее конечно немного извращенным способом, добавив 2 реквизита отчета, выведя их на форму и на основе них заполняю параметры СКД в модуле объекта, весь код представлен выше. Хотелось бы конечно все сделать правильно, но к сожалению пока не нашла нормального ответа.

Поделиться этой страницей