|
Чем проверить ссылку на элемент справочника? |
☑ |
0
TolBmw
13.03.12
✎
12:19
|
Чем проверить ссылку на элемент справочника, если сработало RLS и для пользователя значение <объект не обнаружен>?
|
|
1
TolBmw
13.03.12
✎
12:20
|
<объект не найден>
|
|
2
Нуф-Нуф
13.03.12
✎
12:20
|
что значит проверить?
|
|
3
Cube
13.03.12
✎
12:21
|
Проверь вольтметром.
|
|
4
Reset
13.03.12
✎
12:22
|
Корявый вопрос, отвечу коряво.
Выбрать разрешенные из Справочник.БлаБла.Ссылка Где Справочник.БлаБла.Ссылка=&Ссылка
...
Если Запрос.Пустой() // Значит низя.
|
|
5
Reset
13.03.12
✎
12:24
|
Некоряво - когда такие ссылки до пользователя не доползают.
|
|
6
Omskdizel
13.03.12
✎
12:25
|
(5) Ну может товарищ и хочет, чтоб значица не доползли :)
|
|
7
TolBmw
13.03.12
✎
12:33
|
код из типовой
Если НЕ ЗначениеЗаполнено(Объект.Договор) Тогда
Объект.Договор = Объект.Контрагент.ДоговорПоУмолчанию;
КонецЕсли;
если на спр. Договоры установлены RLS по Организации, вот и лезет, берут ссылу из реквизита спр. Контрагента
|
|
8
Cube
13.03.12
✎
12:34
|
Кто-нибудь что-нибудь понял?)))
|
|
9
Reset
13.03.12
✎
12:34
|
(7) В этом случай правильно не предоставлять Объект.
|
|
10
TolBmw
13.03.12
✎
12:42
|
разжую, реквизит спр. Контрагент (тип СправочникСсылка.ДоговорыКонтрагентов), значение подставляется в документ и если на спр. ДоговораКонтрагентов RLS, то элемент справочника не доступен пользователю, который работает от лица другой Организации. Вот и нужно проверить, что бы тому кому доступно подставлялось, а кому не нужно нет
|
|
11
Defender aka LINN
13.03.12
✎
12:43
|
(10) Запросом
|
|
12
Sarmen
13.03.12
✎
12:56
|
1. Привилегированный модуль
2. УстановитьПривилегированныйРежим
|
|
13
Omskdizel
13.03.12
✎
13:00
|
(9) Там не Объект подставляется вроде.
(8) Вроде понял :)
В (7) по-моему вполне хороший ответ на вопрос, даже чуть меньше обращений к базе
|
|
14
ptiz
13.03.12
✎
13:20
|
Попытка
Объект.Договор = Объект.Контрагент.ДоговорПоУмолчанию;
Исключение
Сообщить("Сработал РЛС!");
КонецПопытки;
|
|
15
Reset
13.03.12
✎
13:45
|
(14) Не сработает(шибки не будет) -> нужно Объект.Контрагент.ДоговорПоУмолчанию.Код например
или (4)
или совсем некрасиво Строка(Объект.Контрагент.ДоговорПоУмолчанию)="<Объект не найден>" (фу, не верю что я это написал. Ну пусть будет для полноты)
|
|
16
Reset
13.03.12
✎
13:45
|
Ошибки*
|
|
17
ptrtss
13.03.12
✎
14:48
|
>> Строка(Объект.Контрагент.ДоговорПоУмолчанию)="<Объект не найден>"
Быстрее и понятнее всего. Красотища!
Но конечно же надо
Найти(Объект.Контрагент.ДоговорПоУмолчанию, <Объект не найден>) = 1
|
|
18
ptrtss
13.03.12
✎
14:50
|
Найти(Объект.Контрагент.ДоговорПоУмолчанию, "<Объект не найден") = 1
Посты не редактируются? Никак?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший