![]() |
![]() |
|
Как проверить переменную на "Объект не найден" ? | ☑ | ||
---|---|---|---|---|
0
iva77ru
15.07.10
✎
15:41
|
Пожалуйста, помогите разобраться:
Организация = Справочники.Организации.НайтиПоКоду("000000001"); Возвращает в Организация - Объект не найден, тип СправочникСсылка.Организации. Так и должно, т.к. код равен "00001". Но как проверить переменную на предмет выбранного значения? Метод ЗначениеЗаполнено(Организация) - возвращает ИСТИНА, Организация.Пустая()- возвращает ЛОЖЬ. При попытки Организация.Наименование - "Нарущение прав доступа, ошибка чтения... ". Сразу скажу права есть и их достаточно. Элемент справочника открывается на чтение (ФормаЭлемента) без проблем. |
|||
1
Ненавижу 1С
гуру
15.07.10
✎
15:42
|
Метод ЗначениеЗаполнено(Организация) - возвращает ИСТИНА, Организация.Пустая()- возвращает ЛОЖЬ
врешь! |
|||
2
Чайник Рассела
15.07.10
✎
15:42
|
Искомое = Справочники.Организации.НайтиПоКоду("000000001");
Если Искомое.Пустая() Тогда |
|||
3
Aleksey_3
15.07.10
✎
15:42
|
ПолучитьОбъект()
|
|||
4
acsent
15.07.10
✎
15:43
|
Так у тебя RLS а не битая ссылка
|
|||
5
Aleksey_3
15.07.10
✎
15:43
|
А вообще Книга знаний: v8: Пустые ссылки
|
|||
6
iva77ru
15.07.10
✎
15:43
|
Ненавижу1С - сам врешь.
|
|||
7
acsent
15.07.10
✎
15:44
|
Битую ссылку нельзя найти по коду
|
|||
8
zzerro
15.07.10
✎
15:45
|
Метод ЗначениеЗаполнено(Организация) - возвращает ИСТИНА, Организация.Пустая()- возвращает ЛОЖЬ - тут вроде все верно, значение в Организация есть... думаю всеж РЛС
|
|||
9
Один С
15.07.10
✎
15:46
|
|ГДЕ Организация.Номер ЕСТЬ NULL;
|
|||
10
Serg_1960
15.07.10
✎
15:46
|
"Нарущение прав доступа, ошибка чтения... Сразу скажу права есть и их достаточно" - нет, не достаточно.
|
|||
11
kuromanlich
15.07.10
✎
15:46
|
я переводил в строку и искал "Объект не найден"
|
|||
12
nbIx
15.07.10
✎
15:46
|
(11) Я тоже так делал))
|
|||
13
nbIx
15.07.10
✎
15:47
|
(3) это слишком накладно, представляешь у тебя объект - документ в 10 тыс. строк
|
|||
14
Jolly Roger
15.07.10
✎
15:49
|
выбрать ссылка из <...> где ссылка = &битаяСсылка
|
|||
15
Serg_1960
15.07.10
✎
15:59
|
Сорри, коллеги. Мне кажется, - вы не в "ту сторону" смотрите. Возможно ссылка не "битая" и не "пустая" - это проделки РЛС (имхо).
Обращение к "Организация.Наименование" порождает чтение всего объекта. Возможно, на один из реквизитов наложен запрет на чтение. А в форме элемента - его нет и показ элемента происходит без ошибок... |
|||
16
H A D G E H O G s
15.07.10
✎
16:01
|
Выбрать
ИСТИНА ИЗ Справочник.Номенклатура как Номенклатура Где Номенклатура.Ссылка=&Ссылка |
|||
17
H A D G E H O G s
15.07.10
✎
16:02
|
Кстати интересно, прочтется ли так справочник, если на него прав нет
|
|||
18
iva77ru
15.07.10
✎
16:06
|
Спасибо, за помощь. Оказалось есть элемент справочника с кодом "000000001" и "00001". Но на элемент справочника с кодом "000000001" стоит запрет на чтение от RLS.
Обошел, вот так: Если ЗначениеЗаполнено(Организация) Тогда Попытка Наименование = Организация.Наименование; Исключение Сообщить("Не удалось выбрать Организацию!"); Возврат; КонецПопытки; КонецЕсли; |
|||
19
H A D G E H O G s
15.07.10
✎
16:07
|
(18) Это плохо.
|
|||
20
iva77ru
15.07.10
✎
16:09
|
Что плохо и как тогда обходить правильно?
|
|||
21
H A D G E H O G s
15.07.10
✎
16:16
|
Попытка
Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ИСТИНА |ИЗ | Справочник.Организации КАК Организации |ГДЕ | Организации.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка",Организация); Если Запрос.Выполнить().Пустой() Тогда Сообщить("Не удалось выбрать Организацию!"); Возврат; КонецЕсли; Исключение Сообщить("Не удалось выбрать Организацию!"); Возврат; КонецПопытки; |
|||
22
Serg_1960
15.07.10
✎
16:21
|
Не забывай про ВЫБРАТЬ РАЗРЕШЕННЫЕ - иначе, однажды, вывалишься по ошибке :)
|
|||
23
H A D G E H O G s
15.07.10
✎
16:23
|
(22) Раскажи подробнее, плиз
|
|||
24
H A D G E H O G s
15.07.10
✎
16:24
|
Есть справочник
Номенклатура с реквизитом ВидНоменклатуры. Права на Чтение Номенклатуры есть, на чтение ВидаНом. - нет. Можно ли выполнить Выбрать Номенклатура.ВидНоменклатуры ??? |
|||
25
nbIx
15.07.10
✎
16:24
|
Если Найти( Строка(Ссылка), "<Объект не найден>") = 0 Тогда
КонецЕсли; |
|||
26
MM
15.07.10
✎
16:32
|
(11), (25) Так делать не надо, достаточно сменить язык платформы и это гарантировано не будет работать!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |