Имя: Пароль:
1C
1С v8
Отбор в отчете ВСписке
,
0 GaikA_13rus
 
01.03.13
14:58
Добрый день!
Помогите пожалуйста, никак не могу сообразить...
Есть отчет на основе универсального. В нем нужно чтобы для пользователя отображались документы только нескольких ответственных. На одного ответственного написала, а на двух никак не могу (((
Вот код отбора на одного пользователя:


Если ИмяПользователя() = "Кузьмина Аня (Оператор)"
       Тогда
       Отбор = УниверсальныйОтчет.ПостроительОтчета.Отбор;
       ОтборПоОтветственному = Отбор.Найти("ДокументПродажиОтветственный");
       Если ОтборПоОтветственному <> Неопределено
           Тогда
           Отбор.Удалить(Отбор.Индекс(ОтборПоОтветственному));
       КонецЕсли;
       ЭлементОтбора = Отбор.Добавить("ДокументПродажи.Ответственный");
       ЭлементОтбора.Установить(Справочники.Пользователи.НайтиПоНаименованию("Магазин №2                                        "));
   КОнецЕсли;
1 Тролль главный
 
01.03.13
14:59
Если ИмяПользователя() = "Кузьмина Аня (Оператор)"

замуж, срочно!
2 GaikA_13rus
 
01.03.13
15:00
Уже замужем ))) Поэтому фамилию менять не будет.
3 Тролль главный
 
01.03.13
15:03
(2) я про тебя
4 Wobland
 
01.03.13
15:04
(2) для того, чтобы не менять фамилию, не обязательно не вступать в брачные отношения...
5 GaikA_13rus
 
01.03.13
15:04
(3) А другие советы будут?
6 Wobland
 
01.03.13
15:05
(5) это дельный совет - не делать так. как по-хорошему, уже не скажу
7 Волшебник
 
01.03.13
15:06
(0) >> Если ИмяПользователя() = "Кузьмина Аня (Оператор)"

Это плохой стиль программирования
8 GaikA_13rus
 
01.03.13
15:06
Ок
9 GaikA_13rus
 
01.03.13
15:07
Если РольДоступна("Оператор")    Тогда
       Отбор = УниверсальныйОтчет.ПостроительОтчета.Отбор;
       ОтборПоОтветственному = Отбор.Найти("ДокументПродажиОтветственный");
       Если ОтборПоОтветственному <> Неопределено
           Тогда
           Отбор.Удалить(Отбор.Индекс(ОтборПоОтветственному));
       КонецЕсли;
       ЭлементОтбора = Отбор.Добавить("ДокументПродажи.Ответственный");
       ЭлементОтбора.Установить(Справочники.Пользователи.НайтиПоНаименованию("Магазин №2                                        "));
   КОнецЕсли;
10 Тролль главный
 
01.03.13
15:13
(7) это не стиль, а быдлокод
11 Тролль главный
 
01.03.13
15:13
ЭлементОтбора.Установить(Справочники.Пользователи.НайтиПоНаименованию("Магазин №2                                        "));

тужа же
12 Тролль главный
 
01.03.13
15:14
>>Есть отчет на основе универсального. В нем нужно чтобы для пользователя отображались документы только нескольких ответственных

RLS
13 hhhh
 
01.03.13
15:14
(9) вот так надо

ЭлементОтбора.Установить(Справочники.Пользователи.НайтиПоНаименованию("Магазин №2"))
14 hhhh
 
01.03.13
15:20
но вообще-то если список, то

Список = НОвый СписокЗначений;
Список.Добавить(Справочники.Пользователи.НайтиПоНаименованию("Магазин №2"));
Список.Добавить(Справочники.Пользователи.НайтиПоНаименованию("Магазин №3"));
Список.Добавить(Справочники.Пользователи.НайтиПоНаименованию("Магазин №4"));
ЭлементОтбора.ВидСравнения = ВидСравнения.ВСписке;
ЭлементОтбора.Значение = Список;
ЭлементОтбора.Использование = Истина;
15 Тролль главный
 
01.03.13
15:23
(13)(14) не надо так
16 GaikA_13rus
 
01.03.13
15:36
(12) Если использовать RLS то они остальных пользователей не будут видеть совсем, в том числе и самих себя...
17 Тролль главный
 
01.03.13
15:37
(16) права разные бывают
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой