Как в запросе проверить заполненность табличной части документа и вывести этот результат дополнительной колонкой на ФормуСписка

1. Max0n57 24.08.23 11:23 Сейчас в теме
Все привет, подскажите, пожалуйста ка реализовать следующую. доработку. Мне необходимо добавить в ФормуСписка дополнительную колонку, в которой будет отображаться информация о заполненности табличной части документа. Как это реализовать, дополнив запрос динамического списка? Я попробовал добавить дополнительное поле в запрос со следующим произвольным выражением:
ВЫБОР
	КОГДА ЗаказыНаПроизводствоОстаткиИОбороты.ЗаказНаПроизводство.Запасы.НомерСтроки ЕСТЬ НЕ NULL 
		ТОГДА ИСТИНА
	ИНАЧЕ ЛОЖЬ
КОНЕЦ

Может быть необходимо составить вложенный запрос?
В результате запроса у меня получилось, что там где в табличной части есть данные выводится столько "Да", сколько строк в табличной части. Как сделать так, чтобы выводилось только одно значение.
По теме из базы знаний
Найденные решения
2. RustamZz 24.08.23 11:43 Сейчас в теме
(1) Через Левое соединение с первой строкой ТЧ и по is null проверять.
lmnlmn; Max0n57; newlogin1; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 24.08.23 11:43 Сейчас в теме
(1) Через Левое соединение с первой строкой ТЧ и по is null проверять.
lmnlmn; Max0n57; newlogin1; +3 Ответить
7. Max0n57 24.08.23 15:42 Сейчас в теме
Скажите, пожалуйста, мне таблицу документа соединить с проверяемой ТЧ нужно? Или добавить табличную часть (ЗаказНаПроизводствоЗапасы и сделать левое соединение?
ВЫБРАТЬ
 ЗаказНаПроизводство.Ссылка КАК Ссылка,
 ВЫБОР
  КОГДА ЕСТЬNULL(ЗаказНаПроизводствоЗапасы.НомерСтроки, 0) > 0
   ТОГДА ИСТИНА
  ИНАЧЕ ЛОЖЬ
 КОНЕЦ КАК Поле1
ИЗ
 Документ.ЗаказНаПроизводство.Запасы КАК ЗаказНаПроизводствоЗапасы
  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
  ПО (ЗаказНаПроизводствоЗапасы.Ссылка = ЗаказНаПроизводство.Ссылка)
   И (ЗаказНаПроизводствоЗапасы.НомерСтроки = 1)
Показать
3. Max0n57 24.08.23 12:34 Сейчас в теме
Правильно ли я понял, что мне нужно присоединить левым соединением таблице запроса, на основе которого формируется форма списка, таблицу с результатами вложенного запроса, где я проверяю заполненность табличной части документа.
4. RustamZz 24.08.23 13:22 Сейчас в теме
8. Max0n57 24.08.23 15:57 Сейчас в теме
(4) Получается, если вложенный запрос не нужен, то текст запроса так будет выглядить?
ВЫБОР
		КОГДА ЕСТЬNULL(ЗаказНаПроизводствоЗапасы.НомерСтроки, 0) > 0
			ТОГДА ИСТИНА
		ИНАЧЕ ЛОЖЬ
	КОНЕЦ КАК Поле1
ИЗ
	Документ.ЗаказНаПроизводство КАК ДокументЗаказНаПроизводство
		{ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыНаПроизводство.ОстаткиИОбороты КАК ЗаказыНаПроизводствоОстаткиИОбороты
		ПО (ДокументЗаказНаПроизводство.Ссылка = ЗаказыНаПроизводствоОстаткиИОбороты.ЗаказНаПроизводство)}
		{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
		ПО (ДокументЗаказНаПроизводство.Ссылка = НаличиеФайлов.ОбъектСФайлами)}
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Запасы КАК ЗаказНаПроизводствоЗапасы
		ПО (ЗаказНаПроизводствоЗапасы.Ссылка = ДокументЗаказНаПроизводство.Ссылка)
			И (ЗаказНаПроизводствоЗапасы.Ссылка = 1)
Показать
9. Max0n57 24.08.23 15:59 Сейчас в теме
(8)Только второе условия соединения таблиц должно быть ЗаказНаПроизводствоЗапасы.НомерСтроки = 1?
10. RustamZz 24.08.23 18:11 Сейчас в теме
5. Said-We 24.08.23 13:24 Сейчас в теме
Соединяй не с табличной частью, а с
(Выбрать тч.Ссылка, макс(тч.НомерСтроки) Из Док.ТабличнаяЧасть как тч Сгруппировать по тч.Ссылка)

А в чистом SQL обычно не заморачиваются и пишут примерно такую конструкцию:
sel ect
    t1.id_doc
    isnull((select top 1 t2.nomer_str fr om tabchast as t2 wh ere t1.id_doc = t2.id_doc order by t2.nomer_str), 'NO', 'YES') as pole2
fr om tdoc as t1..... 
6. Max0n57 24.08.23 13:58 Сейчас в теме
Соединяй не с табличной частью, а с
(Выбрать тч.Ссылка, макс(тч.НомерСтроки) Из Док.ТабличнаяЧасть как тч Сгруппировать по тч.Ссылка)

Получается это текст вложенного запроса? Можете, пожалуйста, пошагово объяснить, что мне нужно сделать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот