Имя: Пароль:
1C
1С v8
Перестала срабатывать Процедура ПриКомпоновкеРезультата
0 СЕсин
 
01.06.18
09:55
Всем привет! 1С:Предприятие 8.3 (8.3.11.3034) УТ 11 (11.4.3.123)
Был у меня отчет "Прайс с картинками", сделанный на СКД по известной технологии, многократно описанной в статьях в интернете. Подход сводится к тому, что вызывается предопределенная Процедура ПриКомпоновкеРезультата и там в ячейки подставляются картинки.
После перехода на 11.4 эта предопределенная(!) процедура перестала срабатывать. Я полагаю, что в связи с отключением режима совместимости. Классический код вывода отчета выглядел примерно так:

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

И раньше при выполнении этого кода срабатывала процедура ПриКомпоновкеРезультата. А теперь она срабатывает только в том случае, если принудительно вызвать процедуру СкомпоноватьРезультат(ТабличныйДокумент). Но в этом случае в табличный документ отчет выводится без оформления, очень кривой. Видимо, потому что мы не используем процессор вывода результата.
Подскажите пожалуйста, как мне выйти из этой ситуации? Т.е. я так понимаю, я вынужден использовать теперь метод СкомпоноватьРезультат, но не могу разобраться, как мне сохранить при этом прежний внешний вид отчета.
1 Mankubus
 
01.06.18
10:05
(0) написанная процедура вызывается при нажатии на свою не типовую кнопку?
2 kittystark
 
01.06.18
10:14
перенеси весь этот код в ПриКомпоновкеРезультата()
3 kittystark
 
01.06.18
10:14
от своей кнопки избавься, пользуйся стандартной
4 СЕсин
 
01.06.18
15:12
(2) Да, все получилось, спасибо!
И с нестандартной кнопкой тоже срабатывает. В процедуре "ВывестиОтчет" написал одну строку СкомпоноватьРезультат(ТабличныйДокумент) и старый код перенес, как посоветовали. Все заработало.