Имя: Пароль:
1C
1С v8
Условие произвольного запроса 1С
,
0 Gossar1C
 
26.02.13
13:18
Можно ли сделать так чтобы в произвольный запрос списка в зависимости от условия в модуле формы списка (ПриСозданииНаСервере() доступна ли роль
РольДоступна(Метаданные.Роли.ПолныеПрава) для менеджера)Если не доступна то в произвольный запрос добавить условие:
|ГДЕ
| ЗаказКлиента.Менеджер = &ТекущийПИБ

если доступна, то можно просматривать все сделки

Заранее спасибо!
1 Gossar1C
 
26.02.13
13:18
тоесть если доступна, то произвольный запрос остается как есть в оригинале
2 Maxus43
 
26.02.13
13:19
|ГДЕ
| ЗаказКлиента.Менеджер = &ТекущийПИБ ИЛИ &Все
3 Cube
 
26.02.13
13:19
ГДЕ ЗаказКлиента.Менеджер = &ТекущийПИБ ИЛИ &ТекущийПИБ = Значение(Справочник.Пользователи.ПустаяСсылка)
4 Gossar1C
 
26.02.13
13:22
(3) я в 1с начинающий, если неправильно понял не судите строго, если мы в параметр передадим ПустуюСсылку он всеравно будет следовать этому условию? и не выведет ниодного документа
5 wladimir90
 
26.02.13
13:22
Если Не РольДоступна(Метаданные.Роли.ПолныеПрава) Тогда
ТекстЗапроса = ТекстЗапроса + "ГДЕ  ЗаказКлиента.Менеджер = &ТекущийПИБ"
6 Cube
 
26.02.13
13:23
(4) Нет, если передали пустую ссылку, то покажет по всем менеджерам.
7 kosts
 
26.02.13
13:25
(6) Не путай "=" и "В"
8 Cube
 
26.02.13
13:26
(7) Сам не путай :)
9 wladimir90
 
26.02.13
13:26
(7) Он прав. Пустая ссылка = показывать все.
10 kosts
 
26.02.13
13:28
(9) Ну да для конструкции (3)
Я подумал что речь про (0)
11 Gossar1C
 
26.02.13
13:28
Всем большое спасибо)
12 Deon
 
26.02.13
13:30
(5) А мне больше нравится цельный красивый запрос уже потом менять:
   
Если Не РольДоступна(Метаданные.Роли.ПолныеПрава) Тогда
   ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ЗаказКлиента.Менеджер = &ТекущийПИБ", "ИСТИНА");
13 samozvanec
 
26.02.13
13:52
рлс не предлагать?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший