Имя: Пароль:
1C
1С v8
Вызвать отчет в зависимоти от пользователя в режиме "Управляемое приложение"
0 first_may
 
12.09.13
17:39
Добрый день.

Хотел бы после загрузки 1С в режиме "Управляемое приложение" вызвать отчет в зависимоти от пользователя, кто зашел в систему. Подскажите пожалуйста, как правильно написать. Так как пробую в модуле управляемого приложения написать:

Процедура ПриНачалеРаботыСистемы()
    //ТекПользователь = Справочники.Сотрудники.НайтиПоНаименованию(ИмяПользователя());
КонецПроцедуры

но получаю ошибку
{МодульУправляемогоПриложения(3,20)}: Переменная не определена (Справочники)
    ТекПользователь = <<?>>Справочники.Сотрудники.НайтиПоНаименованию(ИмяПользователя()); (Проверка: Тонкий клиент)
1 Euguln
 
12.09.13
17:44
(0) А посмотреть типовую, не?
2 Нуф-Нуф
 
12.09.13
17:47
ужаснах
3 first_may
 
12.09.13
17:48
Это все понятно :). А конкретно?
4 Нуф-Нуф
 
12.09.13
17:49
с понятием клиент и сервер знаком?
5 Нуф-Нуф
 
12.09.13
17:49
менеджеров не бывает на клиенте
6 first_may
 
12.09.13
17:50
(4) вообще да, но в 1С только начинаю. до сих пор на 7.7 сижу.
7 first_may
 
12.09.13
17:51
(4) ошибся. в 8.2  конечно :).
8 Euguln
 
12.09.13
17:52
Нетленку пытаешься написать, чи шо?
Возьму любую типовую конфу, УТ11 например и посмотри там
9 first_may
 
12.09.13
23:16
Форму отчета, в зависимости от пользователя, получилось вызвать. А как программно нажать на кнопку "Сформировать", что бы выполнился отчет на СКД (параметр которого как раз пользователь, зашедший в 1С)?
10 Max Street
 
13.09.13
01:31
(9)
Процедура ПриОткрытии(Отказ)
    СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
КонецПроцедуры
11 first_may
 
13.09.13
10:18
(10) а это писать при открытии чего? какой формы?
12 first_may
 
13.09.13
10:49
В отчете создал форму - ФормаОтчета (управляемая). В модуле написал:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);
КонецПроцедуры

А затем в модуле объекта написал:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СхемаКомпоновки = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    
    ПараметрАвтор = СхемаКомпоновки.НастройкиПоУмолчанию.ПараметрыДанных.Элементы.Найти("Автор");
    ПараметрАвтор.Значение = Справочники.Сотрудники.НайтиПоНаименованию(ИмяПользователя());
    ПараметрАвтор.Использование = Истина;
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, СхемаКомпоновки.НастройкиПоУмолчанию);
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ,, Истина);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    
    Попытка
        
        ПроцессорВывода.НачатьВывод();
        Пока Истина Цикл
            ЭлементРезультата = ПроцессорКомпоновки.Следующий();
            Если ЭлементРезультата = Неопределено Тогда
                Прервать;
            Иначе
                ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
            КонецЕсли;
        КонецЦикла;
        
    Исключение
        Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
    КонецПопытки;
    
    ПроцессорВывода.ЗакончитьВывод();
КонецПроцедуры
13 first_may
 
13.09.13
10:53
Хотел спросить, почему ПараметрАвтор не заполнен при открытии формы, хотя в отладчиве вижу, что принимает правильное значение?
14 first_may
 
13.09.13
11:59
Подскажите пожалуйста, где в коде у меня ошибка?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn