Немного поспишь, немного подремлешь, немного, сложив руки, полежишь: 
И придет, как прохожий, бедность твоя, и нужда твоя, как разбойник.
(книга притчей Соломоновых)
8 (926) 177-35-78

Проверка на битую ссылку в 1С 8

31.03.2018

 

 

Если речь идет о регистре, допустим, о пустом значении одного из его измерений, то в запросе поможет подобная инструкция:

 

...
ИЗ    
РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах ГДЕ     ПартииТоваровНаСкладах.ДокументОприходования.Ссылка ЕСТЬ NULL

 


 

Такой запрос поможет, если необходимо проверить на пустую ссылку измеренияДокументОприходования.

 

В некоторых случаях необходимо проверять на NULL не саму ссылку, а ее представление:

ГДЕ      ПартииТоваровНаСкладах.ДокументОприходования.Ссылка.Представление ЕСТЬ NULL

 

 

2. Есть другой способ, через конвертацию в строку:

Найти(Строка(Ссылка),"<Объект не найден>") <> 0

 

3. Есть еще способ через функцию ПолучитьОбъект():

 

Ссылка.ПолучитьОбъект() = Неопределено 

 

Это будет выполняться только в случае, если ссылка битая.

 

4. Последний способ касается универсальной функции, которая определяет для любого значения ссылки, является ли она битой:

 

Функция ОбъектБДСуществует(ТестоваяСсылка) Экспорт        МД = Метаданные.НайтиПоТипу(ТипЗнч(ТестоваяСсылка));      ИмяОбъекта = МД.Имя;      ПолноеИмяОбъекта = МД.ПолноеИмя();        Запрос = новый Запрос();      Запрос.Текст =      "ВЫБРАТЬ      |   " + ИмяОбъекта + ".Ссылка КАК СсылкаБД      |ИЗ      |   " + ПолноеИмяОбъекта + " КАК " + ИмяОбъекта + "      |ГДЕ      |   " + ИмяОбъекта + ".Ссылка = &Cсылка";      Запрос.УстановитьПараметр("Cсылка", ТестоваяСсылка);      РезультатЗапроса = Запрос.Выполнить();        Возврат Не РезультатЗапроса.Пустой();    КонецФункции

 

Если у Вас есть планшет и Вас беспокоит его внешний вид, хотите сохранить его в целости, то рекомендуем заказать чехол на планшет.

Назад к списку новостей