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

        //Значения всех вышестоящих группировок        
        ВывестиЗначениеГруппировки(Расшифровка, СтруктураРасшифровки);
        
        ФормаРасшифровки = ПолучитьФорму("ФормаРасшифровки");
        ФормаРасшифровки.Открыть();
        ФормаРасшифровки.СформироватьОтчетРасшифровки("СхемаКомпоновкиДанныхРасшифровки",
            СтруктураРасшифровки,
            "Расшифровка ячейки """ + ТипРасшифровки + """");
        
    ИначеЕсли ТипРасшифровки = "Справочник" Тогда
        
        СтандартнаяОбработка = Ложь;
        ОткрытьЗначение(Поле.Значение);

    КонецЕсли;


Вывод отчета

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

    РасшифровкаПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    РасшифровкаПроцессорКомпоновкиДанных.Инициализировать(РасшифровкаМакетКомпоновки, , РасшифровкаДанныеРасшифровки);

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

Ошибка
Цитата
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(15, 55)}: Не задано значение параметра "КонецПериода"
ЖДНакладнаяВагоны.Ссылка.Д ата МЕЖДУ &НачалоПериода И <<?>>&КонецПериода

Может кто делал подобное на обычных формах и может поделиться опытом?
В расшифровку должны попасть 3 параметра, НАчало и конец даты + номер вагона по которому делается расшифровка
Форма отчета и макет компановки данных для расшифровски создан отдельно
Vofka
Надо необходимо зарегистрироваться для просмотра ссылки.
Nikitaje
Vofka @ Сегодня, 8:31 необходимо зарегистрироваться для просмотра ссылки ,
Интересно конечно. Но Суть в том что Мне надо с одной формы взять вагон + даты и передать в другую ну а там запустить отчет.
Vofka
Посмотрел ещё код, который вы показали. Параметры у вас похоже заполняются:

//Параметры
ДобавитьЗначениеПараметраРасшифровки("НачалоПериода",НачалоДня(НачалоПериода));
ДобавитьЗначениеПараметраРасшифровки("КонецПериода",КонецДня(КонецПериода));


Что такое в отчете НачалоПериода и КонецПериода? Реквизиты? Установите их и будет счастье.
Nikitaje
Vofka @ Вчера, 10:00 необходимо зарегистрироваться для просмотра ссылки ,
Реквизиты на форме ну и параметры в запросе также завутся
Vofka
Цитата(Nikitaje @ 12.06.20, 3:39) необходимо зарегистрироваться для просмотра ссылки
Реквизиты на форме

Сомнительно, судя по коду СформироватьОтчетРасшифровки.
sava1
Цитата(Nikitaje @ 11.06.20, 7:26) необходимо зарегистрироваться для просмотра ссылки
ДобавитьЗначениеПараметраРасшифровки("НачалоПериода",НачалоДня(НачалоПериода));


1 - это где?
2 - где инициализация компоновщика в расшифровке. - получили макет, инициализировали компоновщик, установили параметры....
Nikitaje
sava1 @ 12.06.20, 12:29 необходимо зарегистрироваться для просмотра ссылки ,

1)в модуле формы расшифровке отчета.


необходимо зарегистрироваться для просмотра ссылки
Nikitaje
Nikitaje @ Сегодня, 2:38 необходимо зарегистрироваться для просмотра ссылки ,
Процедура ДобавитьЗначениеПараметраРасшифровки(Параметр, Значение)
    
    Для Каждого ЭлементПараметр из РасшифровкаСхемаКомпоновкиДанных.Параметры Цикл
        Если ЭлементПараметр.Имя = Параметр Тогда
            ЭлементПараметр.Значение = Значение;
        КонецЕсли;
    КонецЦикла;    

КонецПроцедуры
sava1
Цитата(Nikitaje @ 11.06.20, 7:26) необходимо зарегистрироваться для просмотра ссылки
РасшифровкаНастройки = РасшифровкаСхемаКомпоновкиДанных.НастройкиПоУмолчанию;


попробуйте закомментировать
Nikitaje
sava1 @ Сегодня, 7:47 необходимо зарегистрироваться для просмотра ссылки ,
Используется ниже
РасшифровкаМакетКомпоновки = РасшифровкаКомпоновщикМакета.Выполнить(РасшифровкаСхемаКомпоновкиДанных, РасшифровкаНастройки, РасшифровкаДанныеРасшифровки, МакетОформленияКомпоновкиДанных);
sava1
тогда параметры заполняйте в РасшифровкаНастройки
Nikitaje
sava1 @ 15.06.20, 11:16 необходимо зарегистрироваться для просмотра ссылки ,
Да действительно вы были правы
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.