|
Как отчет на СКД управляемые формы выполнить в превилигированном режиме? |
☑ |
0
Shur1cIT
22.07.14
✎
16:36
|
Иметься отчет на управляемых формах, из универсального шаблона на СКД изготовленный. текста в модулях вообще нет, только Шаблон СКД, у пользователей не хватает прав
вопрос: как его в привилегированном режиме выполнять?
|
|
1
Принцип работы синхр
22.07.14
✎
16:40
|
формировать СКД программно в привилигированном режиме.
|
|
2
Shur1cIT
22.07.14
✎
16:43
|
(1) это жесть ! она у меня навороченная, можно её канить автоматом конвертнуть?
|
|
3
Shur1cIT
22.07.14
✎
16:45
|
может есть возможность целиком отчет в привилегированном запустить/открыть?
|
|
4
VikingKosmo
22.07.14
✎
16:45
|
Попробуй скомпоновать отчет в привилегированном режиме...
|
|
5
rozer76
22.07.14
✎
16:46
|
(3)во внешних отчетах - да
|
|
6
Shur1cIT
22.07.14
✎
16:47
|
(4) как? (5) а встроенных?
|
|
7
Принцип работы синхр
22.07.14
✎
16:47
|
(2) а что там сложного?
/ Очистим табличный документ - результат
ЭлементыФормы.Результат.Очистить();
// Сгенерируем макет компоновки данных при помощи компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
// В качестве схемы компоновки будет выступать схема самого отчета
// В качестве настроек отчета - текущие настройки отчета
// Данные расшифровки будем помещать в свойство расширения формы - ДанныеРасшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
// Создадим и инициализируем процессор компоновки
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ,ДанныеРасшифровки);
// Создадим и инициализируем процессор вывода результата
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
// Обозначим начало вывода
ПроцессорВывода.НачатьВывод();
// Основной цикл вывода отчета
Пока Истина Цикл
// Получим следующий элемент результата компоновки
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Если ЭлементРезультата = Неопределено Тогда
// Следующий элемент не получен - заканчиваем цикл вывода
Прервать;
Иначе
// Элемент получен - выведем его при помощи процессора вывода
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЕсли;
КонецЦикла;
// Обозначем завершение вывода
ПроцессорВывода.ЗакончитьВывод();
|
|
8
rozer76
22.07.14
✎
16:51
|
(6) сорри попутал с безопасным режимом
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан