1С: Проверка на пустое значение в запросе

На самом деле это не так просто сделать. Есть несколько вариантов, для разных типов значений:

  • Дата: СК_ИскВходящий.ДатаВступленияРешенияВСилу = ДАТАВРЕМЯ(1, 1, 1)
  • Если тип значения не составной, то: Аппеляция.ВидОбжалования ЕСТЬ NULL
  • А вот с составным весело — почему то сравнение с NULL не работает в этом случае. Приходится использовать сравнение типов. Как-то так у меня вышло:
ВЫБОР
	КОГДА СК_ИскВходящий.Обжалование = ЛОЖЬ
			И (ТИПЗНАЧЕНИЯ(СК_ИскВходящий.ИтоговыйСудебныйАкт) <> ТИП(СТРОКА)
				И ТИПЗНАЧЕНИЯ(СК_ИскВходящий.ИтоговыйСудебныйАкт) <> ТИП(Перечисление.СК_ГР_ИтоговыйСудебныйАкт))
		ТОГДА "Находится на рассмотрении в суде первой инстанции"
	КОГДА СК_ИскВходящий.Обжалование = ЛОЖЬ
			И СК_ИскВходящий.ДатаВступленияРешенияВСилу = ДАТАВРЕМЯ(1, 1, 1)
			И СК_ИскВходящий.ДатаСудебногоАкта > ДАТАВРЕМЯ(1, 1, 1)
			И СК_ИскВходящий.ИтоговыйСудебныйАкт = ЗНАЧЕНИЕ(Перечисление.СК_ГР_ИтоговыйСудебныйАкт.РешениеОбУдовлетворенииТребований)
		ТОГДА "Вынесен судебный акт, не вступил в законную силу"
	КОГДА СК_ИскВходящий.Обжалование = ИСТИНА
			И НЕ Аппеляция.ВидОбжалования ЕСТЬ NULL
			И СК_ИскВходящий.ИтоговыйСудебныйАкт = ЗНАЧЕНИЕ(Перечисление.СК_ГР_ИтоговыйСудебныйАкт.РешениеОбУдовлетворенииТребований)
			И СК_ИскВходящий.ДатаСудебногоАкта > ДАТАВРЕМЯ(1, 1, 1)
			И СК_ИскВходящий.ДатаВступленияРешенияВСилу = ДАТАВРЕМЯ(1, 1, 1)
		ТОГДА "Вынесен судебный акт, обжалуется в апелляционной инстанции"
	КОГДА ТИПЗНАЧЕНИЯ(СК_ИскВходящий.ИтоговыйСудебныйАкт) <> ТИП(СТРОКА)
			И ТИПЗНАЧЕНИЯ(СК_ИскВходящий.ИтоговыйСудебныйАкт) <> ТИП(Перечисление.СК_ГР_ИтоговыйСудебныйАкт)
			И СК_ИскВходящий.ДатаСудебногоАкта > ДАТАВРЕМЯ(1, 1, 1)
			И СК_ИскВходящий.ДатаВступленияРешенияВСилу > ДАТАВРЕМЯ(1, 1, 1)
			И НЕ Кассация.ВидОбжалования ЕСТЬ NULL
			И РАЗНОСТЬДАТ(&ТекДата, СК_ИскВходящий.ДатаСудебногоАкта, МЕСЯЦ) < 3
		ТОГДА "Судебный акт вступил в законную силу, но не вышел срок для кассационного обжалования"
	КОГДА СК_ИскВходящий.ИтоговыйСудебныйАкт = ЗНАЧЕНИЕ(Перечисление.СК_ГР_ИтоговыйСудебныйАкт.РешениеОбУдовлетворенииТребований)
			И СК_ИскВходящий.ДатаСудебногоАкта > ДАТАВРЕМЯ(1, 1, 1)
			И СК_ИскВходящий.ДатаВступленияРешенияВСилу = ДАТАВРЕМЯ(1, 1, 1)
			И НЕ Кассация.ВидОбжалования ЕСТЬ NULL
			И Кассация2Инстанция.ДатаВозвратаИзСуда = ДАТАВРЕМЯ(1, 1, 1)
		ТОГДА "Вынесен судебный акт, обжалуется в кассационной инстанции"
	ИНАЧЕ "Неопределено"
КОНЕЦ

Тут в принципе можно подсмотреть все варианты