Имя: Пароль:
1C
1С v8
Как проверить, что в свойстве битая ссылка?
, ,
0 victor79
 
12.11.15
17:58
Как проверить, что в свойстве битая ссылка?
1 Горогуля
 
12.11.15
17:59
.ссылка
2 victor79
 
12.11.15
18:03
свойство .Ссылка не возвращает булевское выражение, а сравнение его результата с Неопределено не дает истинности при битой ссылке. Проверил.
3 Горогуля
 
12.11.15
18:04
ссылка.ссылка вроде как нуллом должно быть
4 VikingKosmo
 
12.11.15
18:07
проще всего проверить запросом
5 MadJhey
 
12.11.15
18:08
Что за объект. Если документ, всегда должен быть номер и дата.
Справочник - код.
6 victor79
 
12.11.15
18:08
.Ссыбка.Ссылка - нет, сейчас смотрю в отладчике через вычисление. ПолучитьОбъект() дает для таких неопределено, но грузить все реквизиты не хочется.
7 victor79
 
12.11.15
18:21
прокатило
Попытка
    выборка.ТестируемоеСвойство.ПолучитьОбъект();
Исключение
    // ОбработкаБитойСсылки
КонецПопытки;
Есть другие варианты? И как в запросе проверить?
8 Горогуля
 
12.11.15
18:23
(7) спроси у MadJhey
9 Cyberhawk
 
12.11.15
18:23
Свойство "ВерсияДанных" будет пустой строкой у битых ссылок...
10 Cyberhawk
 
12.11.15
18:23
А кода у справочника может и не быть... как и наименования
11 Cyberhawk
 
12.11.15
18:26
+(9) пустой строкой, если через метод XMLТипЗнч. А через запрос - Null
12 Cyberhawk
 
12.11.15
18:29
+(9) у пустых ссылок в запросе, правда, тоже Null в версии данных. Поэтому дополнительно на непустую ссылку проверку

ВЫБРАТЬ
    СписаниеСРасчетногоСчета.Ссылка,
    СписаниеСРасчетногоСчета.Ответственный,
    СписаниеСРасчетногоСчета.Ответственный.ВерсияДанных
ИЗ
    Документ.СписаниеСРасчетногоСчета КАК СписаниеСРасчетногоСчета
ГДЕ
    СписаниеСРасчетногоСчета.Ответственный.ВерсияДанных ЕСТЬ NULL
    И НЕ СписаниеСРасчетногоСчета.Ответственный = Значение(Справочник.Пользователи.ПустаяСсылка)
13 VikingKosmo
 
12.11.15
18:29
(10) я бы сказал, что в 90% код справочнику не уперся ни с какой стороны
14 Cyberhawk
 
12.11.15
18:30
Что, впрочем, равносильно левому соединению с таблицей "битого" объекта по ссылке по условию Null, так что фантазия не ограничена
15 Cyberhawk
 
12.11.15
18:31
(13) так это ты делал справочник "Партнеры" в УТ 11? )))))
16 VikingKosmo
 
12.11.15
18:32
(15) я был причастен ;) А ты можешь объяснить нафейхоа справочникам коды? ;)
17 Cyberhawk
 
12.11.15
18:33
(16) Однознчно идентифицировать объект (элемент справочника) в кратком виде (доступном пользователю для передачи)
18 VikingKosmo
 
12.11.15
18:35
(17) 1С считает, что однозначно идентифицировать объект должна ссылка. И опять таки, а если коды уникальны только в пределах группы?
19 VikingKosmo
 
12.11.15
18:36
Единственное, что с ходу полезного могу вспомнить про код, так это в РИБ, видно по префиксу кода, в каком узле создавался элемент справочника.
20 Cyberhawk
 
12.11.15
18:38
(18) Думаю, придумать случаев, когда код в справочнике не несет смысла, можно много. Равно как и случаев, когда он этот смысл несет (для примера - коды задач в какой-нибудь системе учета задач, когда тебе надо узнать, а как дела по задаче с кодом таким-то).
Я специально поэтому к "однозначно идентифицировать" добавил "в кратком виде (для пользователя)".
21 VikingKosmo
 
12.11.15
18:39
(20) Согласен, все зависит от конкретной поставовки задачи
22 Фокусник
 
12.11.15
18:49
(18) бывает, пользователи вводят данные кодами. Ещё удобно по коду с внешними базами (например сайт) связывать... Опять же пользователю это нагдяднен...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс