Имя: Пароль:
1C
1С v8
УТ- отчет ВаловаяПрибыль -> Универсальный отчет отбор по Подразделению???
0 Обработка
 
03.04.17
13:36
Возникла задача в отчете "Валовая прибыль" в УТ2 каз.(считай-УТ10.2) запретить некоторым пользователям видеть прибыль по чужим подразделениям. А дать доступ только по своему подразделению.
Поковырялся в отчете понял что все через универсальный отчет реализовано.
Думаю решить можно тремя путями.
1. РЛС но для меня муторно и долго.
2. Просто запретить этот отчет тем пользователям и написать для них свой отчет.
3. Все-таки попытаться с отчета валовая прибыль передавать отбор со значением в универсальный и получить результат. а в настройках как-то запретить отбор по подразделению.

Вот у меня вопрос как можно решить по третей схеме???
1 Обработка
 
03.04.17
13:38
+ Понимаю для многих это не сложно может даже б о я н.
Но я с универсальным отчетами почти не работал.
Вчера поковырялся и понял что не все так просто.
Я с 1с 77 сразу на 1с 8.3 прыгнул... )
2 DrShad
 
03.04.17
13:49
прыгай назад
3 Обработка
 
03.04.17
13:56
(2) ну вот рыгаю обратно..))
4 Михаил Козлов
 
03.04.17
13:56
В отчете установить отбор по доступным подразделениям.
Я это делал прямо в универсальном отчете (чтобы не писать для каждого отчета, где это нужно).
Что-то типа:
в универсальном отчете в СформироватьОтчет(...) поставить вызов:
ДобавитьОтборВПостроитель(ПостроительОтчета, "Подразделение", списокПодразделений);

А где-нибудь в общем модуле (или здесь же) добавить:
Процедура ДобавитьОтборВПостроитель(ПостроительОтчета, ИмяОтбора, список) ЭКСПОРТ
  Если ПостроительОтчета.ДоступныеПоля.Найти(ИмяОтбора)<>НЕОПРЕДЕЛЕНО Тогда
        Отбор = ПостроительОтчета.Отбор;
        нашли = ЛОЖЬ; инд = Отбор.Количество()-1;
        ПОКА НЕ нашли И (инд>=0) Цикл
            эо = Отбор[инд];
            нашли = эо.ПутьКДанным = ИмяОтбора;
            инд = инд-1;
        КонецЦикла;    
        Если НЕ нашли Тогда
            эо = Отбор.Добавить(ИмяОтбора);
        КонецЕсли;
        Если НЕ эо.Использование Тогда
            эо.ВидСравнения = ВидСравнения.ВСписке;
            эо.Использование = ИСТИНА;    
            эо.Значение = список;
        КонецЕсли;    
    КонецЕсли;    
КонецПроцедуры
5 Обработка
 
03.04.17
14:10
(4) Спасибо за совет.
А это применимо если части юзеров надо разрешить а части юзеров запретить отбор с уже введенным значением его подразделения взятых с настроек спр пользватели?
6 Обработка
 
03.04.17
14:13
и где именно передавать подразделение из отчета валовая прибыль? Или лучше это отработать прям в Универсальном?
7 Михаил Козлов
 
03.04.17
14:35
(5) Заводили настройку пользователя - признак фильтра по подразделениям.
(6) Доступные подразделения брались из справочника групп пользователей (из состава группы).
Я бы, все-таки посмотрел в сторону РЛС. Можно взять механизм из, скажем, комплексной 1.1.
8 Обработка
 
03.04.17
14:59
(7) Спасибо за совет.
За РЛС можно бы взяться но заказчику выйдет дороже.
В общем все получается по схеме как в (4)
9 Михаил Козлов
 
03.04.17
15:54
(8) Ну хоть на справочник подразделений РЛС наложите. А то пользователь в отчете будет выбирать не свои.