Имя: Пароль:
1C
1С v8
Как отчет на СКД управляемые формы выполнить в превилигированном режиме?
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) сорри попутал с безопасным режимом
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой