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

Может быть необходимо составить вложенный запрос?
В результате запроса у меня получилось, что там где в табличной части есть данные выводится столько "Да", сколько строк в табличной части. Как сделать так, чтобы выводилось только одно значение.
1 Волшебник
 
24.08.23
15:13
"КОГДА поле ЕСТЬ НЕ NULL" - что-то бредовое
2 Chameleon1980
 
24.08.23
15:14
когда не фывафыва есть нулл
3 Chameleon1980
 
24.08.23
15:14
выбор когда ЕстьNull(ЗаказыНаПроизводствоОстаткиИОбороты.ЗаказНаПроизводство.Запасы.НомерСтроки,0) > 0
4 Chameleon1980
 
24.08.23
15:15
наверное
5 Eiffil123
 
24.08.23
15:16
(0) левое соединение с таблицей табличной части, связь по ссылке и номер строки 1. Дальше уже условием проверить, нулл или не нулл.
6 Max57
 
24.08.23
15:26
Правильно ли я понял, что я должен соединить таблицу документа с нужной мне табличной частьютлевым соединением? Затем наложить условие. Посмотрите, пожалуйста
ВЫБРАТЬ
ЗаказНаПроизводство.Ссылка КАК Ссылка,
ВЫБОР
  КОГДА ЗаказНаПроизводствоЗапасы.НомерСтроки ЕСТЬ НЕ NULL
   ТОГДА ИСТИНА
  ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Поле1
ИЗ
Документ.ЗаказНаПроизводство.Запасы КАК ЗаказНаПроизводствоЗапасы
  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
  ПО (ЗаказНаПроизводствоЗапасы.Ссылка = ЗаказНаПроизводство.Ссылка)
   И (ЗаказНаПроизводствоЗапасы.НомерСтроки = 1)
ГДЕ
ЕСТЬNULL(ЗаказНаПроизводствоЗапасы.НомерСтроки, 0) > 0
7 Max57
 
24.08.23
15:36
Получается это будет текстом выложенного запроса?
ВЫБРАТЬ
ЗаказНаПроизводство.Ссылка КАК Ссылка,
ВЫБОР
  КОГДА ЕСТЬNULL(ЗаказНаПроизводствоЗапасы.НомерСтроки, 0) > 0
   ТОГДА ИСТИНА
  ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Поле1
ИЗ
Документ.ЗаказНаПроизводство.Запасы КАК ЗаказНаПроизводствоЗапасы
  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
  ПО (ЗаказНаПроизводствоЗапасы.Ссылка = ЗаказНаПроизводство.Ссылка)
   И (ЗаказНаПроизводствоЗапасы.НомерСтроки = 1)
8 Max57
 
24.08.23
15:48
(5) Получается это будет текстом выложенного запроса?
ВЫБРАТЬ
ЗаказНаПроизводство.Ссылка КАК Ссылка,
ВЫБОР
  КОГДА ЕСТЬNULL(ЗаказНаПроизводствоЗапасы.НомерСтроки, 0) > 0
   ТОГДА ИСТИНА
  ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Поле1
ИЗ
Документ.ЗаказНаПроизводство.Запасы КАК ЗаказНаПроизводствоЗапасы
  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
  ПО (ЗаказНаПроизводствоЗапасы.Ссылка = ЗаказНаПроизводство.Ссылка)
   И (ЗаказНаПроизводствоЗапасы.НомерСтроки = 1)
9 Волшебник
 
24.08.23
16:11
ВЫБРАТЬ
  ЗаказНаПроизводство.Ссылка КАК Заказ,
  ЕСТЬNULL(МАКСИМУМ(ТЧ_Запасы.НомерСтроки),0) КАК КоличествоСтрок
ИЗ Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Запасы КАК ТЧ_Запасы
	ПО ТЧ_Запасы.Ссылка = ЗаказНаПроизводство.Ссылка
СГРУППИРОВАТЬ ПО ЗаказНаПроизводство.Ссылка
10 Max57
 
24.08.23
16:02
(9) это если делать через вложенный запрос, я правильно понимаю?
Подскажите, пожалуйста, если делать без него, то верно ли я сделал?

ВЫБОР
  КОГДА ЕСТЬNULL(ЗаказНаПроизводствоЗапасы.НомерСтроки, 0) > 0
   ТОГДА ИСТИНА
  ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Поле1
ИЗ
Документ.ЗаказНаПроизводство КАК ДокументЗаказНаПроизводство
  {ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыНаПроизводство.ОстаткиИОбороты КАК ЗаказыНаПроизводствоОстаткиИОбороты
  ПО (ДокументЗаказНаПроизводство.Ссылка = ЗаказыНаПроизводствоОстаткиИОбороты.ЗаказНаПроизводство)}
  {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
  ПО (ДокументЗаказНаПроизводство.Ссылка = НаличиеФайлов.ОбъектСФайлами)}
  ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Запасы КАК ЗаказНаПроизводствоЗапасы
  ПО (ЗаказНаПроизводствоЗапасы.Ссылка = ДокументЗаказНаПроизводство.Ссылка
    И ЗаказНаПроизводствоЗапасы.НомерСтроки = 1)
11 Волшебник
 
24.08.23
16:06
(10) Если результат Вас устраивает, то верно.
12 Eiffil123
 
24.08.23
16:16
(0) как-то так. В реквизите "ЕстьСтроки" будет булево значение

ВЫБРАТЬ
    ДокументЗаказНаПроизводство.Ссылка КАК Ссылка,
    ДокументЗаказНаПроизводство.ПометкаУдаления КАК ПометкаУдаления,
    ДокументЗаказНаПроизводство.Номер КАК Номер,
    ДокументЗаказНаПроизводство.Дата КАК Дата,
    ДокументЗаказНаПроизводство.Проведен КАК Проведен,
    НЕ ЗаказНаПроизводствоЗапасы.НомерСтроки ЕСТЬ NULL КАК ЕстьСтроки
ИЗ
    Документ.ЗаказНаПроизводство КАК ДокументЗаказНаПроизводство
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказНаПроизводство.Запасы КАК ЗаказНаПроизводствоЗапасы
        ПО ДокументЗаказНаПроизводство.Ссылка = ЗаказНаПроизводствоЗапасы.Ссылка
            И (ЗаказНаПроизводствоЗапасы.НомерСтроки = 1)
13 Max57
 
24.08.23
16:30
(11) (12) (3) Благодарю за помощь
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс