|
Как понять что ссылка не найдена ? | ☑ | ||
|---|---|---|---|---|
|
0
Родной
22.12.10
✎
10:35
|
Есть код:
СсылкаНоменклатура = Справочники.Номенклатура.ПолучитьСсылку(УникИдент); В СсылкаНоменклатура после выполнения ОбъектНеНайден. Как понять что там объект не найден ? Сравнивал и с NULL и c пустаяСсылка - непомогает... |
|||
|
1
Vitello
22.12.10
✎
10:36
|
сравни реквизит этой ссылки с NULL
|
|||
|
2
Salvador Limones
22.12.10
✎
10:36
|
ЗначениеЗаполнено не пашет?
|
|||
|
3
zzerro
22.12.10
✎
10:36
|
(0)Неопределено?
|
|||
|
4
Defender aka LINN
22.12.10
✎
10:37
|
Запрос = Новый Запрос;
Запрос.Текст = "Выбрать Ссылка Из Справочник.Номенклатура где Ссылка = &Ссылка"; ЭтоБитаяСсылка = Запрос.Выполнить().Пустой(); |
|||
|
5
zzerro
22.12.10
✎
10:38
|
Попытка
СсылкаНоменклатура.ПолучитьОбъект(); // есть объект Исключение // нет объекта КонецПопытки |
|||
|
6
Irbis
22.12.10
✎
10:38
|
типЗнч(Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор).получитьОбъект())
|
|||
|
7
Родной
22.12.10
✎
10:38
|
(2)спс
|
|||
|
8
wPa
22.12.10
✎
10:39
|
(0) ПОлучитьОбъект в попытке
|
|||
|
9
dimoff
22.12.10
✎
10:39
|
Найти("" + СсылкаНоменклатура, "<Объект не найден>") = 1
|
|||
|
10
sda553
22.12.10
✎
10:40
|
(5)
А теперь правильный ответ :)!!!! СсылкаНоменклатура = Справочники.Номенклатура.ПолучитьСсылку(УникИдент); Если СсылкаНоменклатура.ПолучитьОбъект() = Неопределено Тогда //О боже, эта ссылка битая КонецЕсли; |
|||
|
11
Defender aka LINN
22.12.10
✎
10:40
|
(5), (8) Получение объекта по битой ссылке - не исключительная ситуация.
|
|||
|
12
Serg_1960
22.12.10
✎
10:41
|
:)
Если ЗначениеЗаполнено(СсылкаНоменклатура.Ссылка) Тогда |
|||
|
13
Defender aka LINN
22.12.10
✎
10:42
|
(10) И что в нем правильного? :)
Правильный - в (4), остальное фигня :) |
|||
|
14
sda553
22.12.10
✎
10:43
|
(12) Сдается мне что ЗначениеЗаполнено(СсылкаНоменклатура.Ссылка)=Истина
так что правильный ответ в 10 |
|||
|
15
sda553
22.12.10
✎
10:43
|
(13) Думаем, думаем.....
|
|||
|
16
Defender aka LINN
22.12.10
✎
10:43
|
(15) Ну вот и подумай :)
|
|||
|
17
wPa
22.12.10
✎
10:44
|
(11) у тебя в базе есть битые ссылки? )
(13) =) |
|||
|
18
Defender aka LINN
22.12.10
✎
10:45
|
(17) Полно. Ибо авторы из нерезиновой.
|
|||
|
19
sda553
22.12.10
✎
10:45
|
(16) Теперь представь что у тебя в некотором объекте есть реквизит с типом СправочникСсылка (любая). Тебе надо проверить не битая ли она.
Думаем дальше сами.... |
|||
|
20
Serg_1960
22.12.10
✎
10:46
|
Ещё один кривой вариант :))
Если Найти(Строка(СсылкаНоменклатуры), "<Объект не найден>") Тогда |
|||
|
21
wPa
22.12.10
✎
10:47
|
(20) ) (9)
|
|||
|
22
Defender aka LINN
22.12.10
✎
10:48
|
(19) Запрос.Текст = "Выбрать Ссылка Из " + ПроверяемаяСсылка.Метаданные().ПолноеИмя() + " где Ссылка = &Ссылка";
Думай дальше. |
|||
|
23
zzerro
22.12.10
✎
10:49
|
(11) А ну да, ты прав
|
|||
|
24
sda553
22.12.10
✎
10:49
|
(22) Еще добавь что нибудь чтобы "Справочники" превращались в "Справочник", ну и для универсальности "Документы" в "Документ" и т.д.
|
|||
|
25
Defender aka LINN
22.12.10
✎
10:51
|
(24) Для зачем?
|
|||
|
26
Serg_1960
22.12.10
✎
10:51
|
(21) У меня другой вариант.
PS: стёбаем дальше по поводу битых? Баян ведь. |
|||
|
27
Defender aka LINN
22.12.10
✎
10:52
|
+(25) А. Ты не знаешь, что ПолноеИмя() возвращает, да? :)
|
|||
|
28
Родной
22.12.10
✎
10:52
|
ЗначениеЗаполнено не работает
|
|||
|
29
sda553
22.12.10
✎
10:54
|
Какая связь между нерезиновском и битыми ссылками?
А вообще тема уже была раскрыта тут Книга знаний: v8: Пустые ссылки |
|||
|
30
sda553
22.12.10
✎
10:55
|
(27) Что то вроде "Справочники.Номенклатура"
Разве нет? |
|||
|
31
wPa
22.12.10
✎
10:55
|
(27) а ТипЗнч(ОбъектПоБитойСсылке) какой будет?
У меня просто их нет и сделать не быстро ) |
|||
|
32
wPa
22.12.10
✎
10:56
|
(29) казалось бы, при чем тут Лужков? (С)
|
|||
|
33
sda553
22.12.10
✎
10:57
|
(30) О нет, позор мне. Пойду приму яду...
|
|||
|
34
Irbis
22.12.10
✎
10:57
|
(31) Неопределено
|
|||
|
35
Defender aka LINN
22.12.10
✎
10:57
|
(29) С битыми ссылками связи нет, а вот с огромным количеством криворуких в нерезиновске - есть :)
(30) Нет. (31) Тип будет правильный. |
|||
|
36
sda553
22.12.10
✎
10:58
|
(31) Ты можешь очень легко сделать битую ссылку даже если ее нет
ИскуственнаяБитаяСсылка = Справочники.Номенклатура.ПолучитьСсылку(НовыйУНикальныйИдентификатор()); ТипЗнч такой же как у обычнойй ссылки |
|||
|
37
Defender aka LINN
22.12.10
✎
10:58
|
+(35) Если тип самой ссылки, конечно имеется в виду.
Но правильный и гарантированно рабочий вариант - (4). :) |
|||
|
38
sda553
22.12.10
✎
10:59
|
(37) А я все равно за (10) так как там кода меньше
|
|||
|
39
wPa
22.12.10
✎
10:59
|
(30) + весь путь по метаданным
|
|||
|
40
wPa
22.12.10
✎
11:00
|
(37) Нет - полученного по битой ссылке Объекта
|
|||
|
41
sda553
22.12.10
✎
11:01
|
(40) Это уже обсуждалось в (10)
|
|||
|
42
Serg_1960
22.12.10
✎
11:02
|
Хм... про значение в УникИдент ещё никто не спрашивал? Ну тогда я буду первый.
|
|||
|
43
Defender aka LINN
22.12.10
✎
11:03
|
(38) У нас, например, модули практически ВСЕГО не компилируются на сервере и в режиме внешнего соединения. Что будет с твоим кодом в этом случае? Ну и получать целиком объект только для того, чтобы проверить, существует ли он в базе - перебор.
|
|||
|
44
sda553
22.12.10
✎
11:03
|
(42) Спрашивай, но что то подсказывает что там уникальный идентификатор
|
|||
|
45
Defender aka LINN
22.12.10
✎
11:03
|
(40) ТипЗнч(Неопределено) = Тип("Неопределено")
|
|||
|
46
sda553
22.12.10
✎
11:05
|
(43) Модули надо нормально писать. С директивами...Будет плохо...
|
|||
|
47
Defender aka LINN
22.12.10
✎
11:07
|
(46) К сожалению, об том и речь. До многих одинэснегов это не доходит.
|
|||
|
48
wPa
22.12.10
✎
11:09
|
(43) убедил с (4). тем более он работает не только по битой ссылке, а и по несуществовавшей с таким гуидом. и объект гонять не нужно
|
|||
|
49
Ненавижу 1С
гуру
22.12.10
✎
11:10
|
чей-то вы так оживились, гляди-ка
перебирают еще: Неопределено, NULL жрите что дают! |
|||
|
50
Defender aka LINN
22.12.10
✎
11:18
|
(49) Тут ничего этого нет, ты промахнулся :)))
|
|||
|
51
Ненавижу 1С
гуру
22.12.10
✎
11:19
|
(50) да вот и хрен тебе: смотри (1) и (3) как пример
|
|||
|
52
Serg_1960
22.12.10
✎
11:19
|
(48) + потеря времени + забыли про RLS
|
|||
|
53
Defender aka LINN
22.12.10
✎
11:20
|
(51) Они не шарят :)
|
|||
|
54
Ненавижу 1С
гуру
22.12.10
✎
11:22
|
(53) зато как тычутся в темноте
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |