Волшебство
программирования на 1С:Предприятие 7.7 и 8.0
Выпуск 77 / 24.09.2004
v8:
Пустые ссылки
В 8.0 ссылки бывают пустыми. Тогда у нее идентификатор равен
00000000-0000-0000-0000-000000000000
У обычной ссылки уникальный идентификатор можно получить так:
уник = Ссылка.УникальныйИдентификатор();
например "7c9706eb-eaba-11d8-bca8-000c6efdd521"
Получить пустую ссылку можно методом:
Справочники.Номенклатура.ПустаяСсылка()
Проверить на пустую ссылку можно так:
Если Ссылка.Пустая() Тогда
Или так:
Если Ссылка = Справочники.Номенклатура.ПустаяСсылка() Тогда
Пустые ссылки возвращаются методами НайтиПоНаименованию, НайтиПоКоду, НайтиПоНомеру
в случае, когда объект не найден. Пустые ссылки являются значениями по умолчанию
для реквизитов ссылочных типов. Если реквизит имеет составной тип данных,то
значением по умолчанию для него является Неопределено.
Неопределено <> NULL <> "" <> 0 <> пустая
ссылка <> Битая ссылка
У пустой ссылки есть все поля (реквизиты, табличные часть) и к ним можно
обращаться. Они будут незаполнены (для чисел - 0, для ссылок - пустые ссылки,
для строк переменной длины - "", для строк фиксированной длины
- опр. количество пробелов). Табличные части будут иметь 0 строк.
Пустые ссылки можно "разыменовать" (обращаться через точку с
свойствам). Следующий фрагмент кода вполне работоспособен:
ПустойПользователь = Справочники.Пользователи.ПустаяСсылка();
ЦФО = ПустойПользователь.Сотрудник.Подразделение.ЦФО;
Т.е. не нужно лишних проверок в программных модулях. Может кому пригодится.
Есть еще такое понятие, как "битая ссылка" (условное название).
Когда объект был удален непосредственно, то все ссылки на него в справочниках,
в документах, в регистрах стали битыми и отображаются следующим образом:
<Объект не найден> (16:bca8000c6efdd52111d8eaba7c9706eb)
Битая ссылка не является пустой. Т.е. метод Пустая() возвращает Ложь. Определить,
что ссылка битая можно так:
Если Ссылка.ПолучитьОбъект() = Неопределено Тогда
//битая ссылка
КонецЕсли;
или так (ненадежно):
Если Лев(СокрЛП(Ссылка),18) = "<Объект не найден>" Тогда
--------
Ветки
по 8.0 за 24 сентября 2004 г
Смелее задавайте
вопросы по 8.0 и 7.7 на форуме www.forum.mista.ru
Используйте поиск и отбор по рубрике
- это очень удобно,
а также экономит наше и ваше время.
См. также:
1С:Предприятие 7.7: учебник, курс
лекций, статьи, ссылки
Книга "Разработка в системе 1С:Предприятие 8.0" -
http://www.v8.1c.ru/book/v8develop.htm
Официальный
сайт рассылки - www.mista.ru
Волшебный форум - www.forum.mista.ru,
Форум по 1С - http://www.forum.mista.ru/index.php?forum=1c
Архив выпусков этой рассылки - http://www.mista.ru/subscribe
Новое!
Раздел
форума исключительно по 8.0 - http://www.forum.mista.ru/index.php?forum=1c&v8=1
С уважением,
Станислав Митичкин (Волшебник)
stasmit@mail.ru
<< Предыдущий
выпуск | Список
выпусков |
Следующий выпуск >>
|