Имя: Пароль:
1C
1С v8
СКД и привилегированный режим
0 s-n-a-y
 
29.10.20
14:45
Нужно сформировать отчет в привилегированном режиме. Пишу


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    
    УстановитьПривилегированныйРежим(Истина);    
    
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки,,,Ложь);

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

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

    ПроцессорВывода.НачатьВывод();

    ЭлементРезультата = ПроцессорКомпоновки.Следующий();
    Пока ЭлементРезультата <> Неопределено Цикл
        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();
    КонецЦикла;
    ПроцессорВывода.ЗакончитьВывод();
    
КонецПроцедуры


Но тогда при формировании начинает ругаться на вычисляемое поле:
Синтаксическая ошибка "Контроль.СформироватьПредставлениеПредмета(ПредметКонтроля)"
Вычисляемое поле определено здесь:
https://d.radikal.ru/d32/2010/98/968e1d9527cc.png
Отчет является клоном типового. Как исправить?
1 s-n-a-y
 
29.10.20
14:47
Т.е. в вычисляемом поле вызывается общий модуль. Если ПриКомпоновкеРезультата() не трогать, то отчет формируется нормально
2 ДенисЧ
 
29.10.20
14:50
А если не включать режим?
И да - отчёт часом не внешний?
3 s-n-a-y
 
29.10.20
14:53
(2) Если не включать,  все равно ругается. Отчет не внешний
4 rozer76
 
29.10.20
14:55
а если у ОМ поставить "привилегированный" ?
5 ДенисЧ
 
29.10.20
14:55
(3) Как модуль объявлен? Как процедура?
6 youalex
 
29.10.20
14:56
ПроцессорКомпоновкиДанных (DataCompositionProcessor)
Инициализировать (Initialize)
Синтаксис:
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>, <ОграничиватьПолучениеПолейПоСсылкамПоПравуПросмотр>)

ВозможностьИспользованияВнешнихФункций - не оно?
7 rozer76
 
29.10.20
14:59
+ (6) глазастый )
8 ДенисЧ
 
29.10.20
14:59
(6) И то правда, постоянно про это забываю ))
9 s-n-a-y
 
29.10.20
15:00
(6) Оно! Спасибо