Версия для печати темы (https://pro1c.org.ua/index.php?s=a05c112c896cde175c50b58d8b422146&showtopic=59555)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ Расшифровка поля отчета другим отчетом обычные формы

Автор: Nikitaje 11.06.20, 6:26

Всем привет друзья. Сталкнулся с проблемой и не могу понять как сделать правильно.
Предприятие 1С:Предприятие 8.3 (8.3.16.1063). Конфигурация самописная с нуля
Задача:
Сделать расшифровку поля другим отчетом, запрос такой же лишь Меняются параметры. Пользуясь гуглом и собирая код из разных частей сделал так
Приведу код ниже.

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
    Поле = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля()[0];
    ТипРасшифровки = Поле.Поле;
    
    Если ТипРасшифровки = "Вагон" Тогда
        
        //ОчиститьСообщения();
        
        СтандартнаяОбработка = Ложь;
        СтруктураРасшифровки = Новый Структура;

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

    КонецЕсли;


Вывод отчета

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

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

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

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

Может кто делал подобное на обычных формах и может поделиться опытом?
В расшифровку должны попасть 3 параметра, НАчало и конец даты + номер вагона по которому делается расшифровка
Форма отчета и макет компановки данных для расшифровски создан отдельно

Автор: Vofka 11.06.20, 8:31

Надо https://pro1c.org.ua/topic/programmno-ustanovit-znachenie-parametra-skd-v-otchete-40252/.

Автор: Nikitaje 11.06.20, 8:55

Vofka @ Сегодня, 8:31 * ,
Интересно конечно. Но Суть в том что Мне надо с одной формы взять вагон + даты и передать в другую ну а там запустить отчет.

Автор: Vofka 11.06.20, 9:00

Посмотрел ещё код, который вы показали. Параметры у вас похоже заполняются:

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


Что такое в отчете НачалоПериода и КонецПериода? Реквизиты? Установите их и будет счастье.

Автор: Nikitaje 12.06.20, 2:39

Vofka @ Вчера, 10:00 * ,
Реквизиты на форме ну и параметры в запросе также завутся

Автор: Vofka 12.06.20, 8:17

Цитата(Nikitaje @ 12.06.20, 3:39) *
Реквизиты на форме

Сомнительно, судя по коду СформироватьОтчетРасшифровки.

Автор: sava1 12.06.20, 11:29

Цитата(Nikitaje @ 11.06.20, 7:26) *
ДобавитьЗначениеПараметраРасшифровки("НачалоПериода",НачалоДня(НачалоПериода));


1 - это где?
2 - где инициализация компоновщика в расшифровке. - получили макет, инициализировали компоновщик, установили параметры....

Автор: Nikitaje 15.06.20, 1:38

sava1 @ 12.06.20, 12:29 * ,

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


https://pro1c.org.ua/redirect.php?https://drive.google.com/file/d/1L7VZ72oncB2T_1GRdgduTYbHQmyBB2VY/view?usp=sharing

Автор: Nikitaje 15.06.20, 2:45

Nikitaje @ Сегодня, 2:38 * ,

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

КонецПроцедуры

Автор: sava1 15.06.20, 6:47

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


попробуйте закомментировать

Автор: Nikitaje 15.06.20, 7:48

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

Автор: sava1 15.06.20, 10:16

тогда параметры заполняйте в РасшифровкаНастройки

Автор: Nikitaje 17.06.20, 9:27

sava1 @ 15.06.20, 11:16 * ,
Да действительно вы были правы

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua