Не выводятся незаполненные дополнительные реквизиты в запросе

1. krokchel 24.04.19 07:50 Сейчас в теме
Может кто нибудь подскажет, вопрос такой:
В Справочнике ВнутренниеДокументы добавлены несколько дополнительных реквизитов с разными типами. Некоторые заполнены некоторые нет.
Цель - получить все эти реквизиты в запросе.

Запрос следующий:
ВЫБРАТЬ
|	ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ВТ_Свойства
|ИЗ
|	ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
|ГДЕ
|	ДополнительныеРеквизитыИСведения.НаборСвойств = &НаборСвойств
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	ВнутренниеДокументыДополнительныеРеквизиты.Свойство КАК Свойство,
|	ВнутренниеДокументыДополнительныеРеквизиты.Значение КАК Значение
|ИЗ
|	ВТ_Свойства КАК ВТ_Свойства
|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
|		ПО ВТ_Свойства.Ссылка = ВнутренниеДокументыДополнительныеРеквизиты.Свойство
Показать


При этом в результате запроса выводятся только заполненные реквизиты. Пробовал разные соединения, проверку на null, ничего не помогает.
По теме из базы знаний
Найденные решения
7. dhurricane 24.04.19 08:25 Сейчас в теме
(5) Так Вы и ничего не сделали из того, что Вам порекомендовали. Еще раз: в последнем запросе пакета свойство нужно брать не из временной таблицы документа, а из временной таблицы плана видов характеристик.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dhurricane 24.04.19 07:53 Сейчас в теме
(1) Полагаю, здесь ошибка - это выборка поля "Свойство" из ТЧ документа, а не из временной таблицы.
4. dhurricane 24.04.19 08:00 Сейчас в теме
(1) Плюс не учитываются общие дополнительные реквизиты и сведения, у которых свойство "НаборСвойств" не заполняется. Чтобы их учесть, если не ошибаюсь, корректнее написать первый запрос пакета так:
ВЫБРАТЬ
   ДопРеквизиты.Свойство
ИЗ
   Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК ДопРеквизиты
ГДЕ
   ДопРеквизиты.Ссылка = &НаборСвойств

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   ДопСведения.Свойство
ИЗ
   Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК ДопСведения
ГДЕ
   ДопСведения.Ссылка = &НаборСвойств
Показать

Ну а если есть возможность, используйте лучше программный интерфейс подсистемы (общий модуль "УправлениеСвойствами").
3. waitklassik 24.04.19 07:59 Сейчас в теме
ну да скорее всего если обращаться к временной таблице все получится
5. krokchel 24.04.19 08:14 Сейчас в теме
ВЫБРАТЬ
|	ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка
|ПОМЕСТИТЬ ВТ_Свойства
|ИЗ
|	ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
|ГДЕ
|	ДополнительныеРеквизитыИСведения.НаборСвойств = &НаборСвойств
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	ВнутренниеДокументыДополнительныеРеквизиты.Свойство КАК Свойство,
|	ВнутренниеДокументыДополнительныеРеквизиты.Значение КАК Значение
|ПОМЕСТИТЬ ВТ_СвойстваДок
|ИЗ
|	Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ВнутренниеДокументыДополнительныеРеквизиты
|ГДЕ
|	ВнутренниеДокументыДополнительныеРеквизиты.Ссылка = &Док
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
|	ВТ_СвойстваДок.Свойство КАК Свойство,
|	ВТ_СвойстваДок.Значение КАК Значение
|ИЗ
|	ВТ_Свойства КАК ВТ_Свойства
|		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвойстваДок КАК ВТ_СвойстваДок
|		ПО ВТ_Свойства.Ссылка = ВТ_СвойстваДок.Свойство
Показать


Теперь снизу появилось два пустых свойства, а те которые мне нужны (тест12111 и епрекрр) так и не вышли с пустыми значениями
Прикрепленные файлы:
7. dhurricane 24.04.19 08:25 Сейчас в теме
(5) Так Вы и ничего не сделали из того, что Вам порекомендовали. Еще раз: в последнем запросе пакета свойство нужно брать не из временной таблицы документа, а из временной таблицы плана видов характеристик.
8. krokchel 24.04.19 08:30 Сейчас в теме
(7) Спасибо огромное, все получилось!)
6. krokchel 24.04.19 08:24 Сейчас в теме
в таблицу ВТ_СвойстваДок попадают почему то только заполненные реквизиты
9. krokchel 24.04.19 09:53 Сейчас в теме
а как теперь связать эти доп реквизиты с документом?
Прикрепленные файлы:
10. dhurricane 24.04.19 10:07 Сейчас в теме
(9) Как-то так:
ВЫБРАТЬ
    ВнутренниеДокументы.Ссылка КАК Документ,
    ВТ_Свойства.Ссылка КАК Свойство,
    ДопРеквизиты.Значение КАК Значение
ИЗ
    Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Свойства КАК ВТ_Свойства
        ПО ИСТИНА
        ЛЕВОЕ СОЕДИЕНИ Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ДопРеквизиты
        ПО ВнутренниеДокументы.Ссылка = ДопРеквизиты.Ссылка
            И ВТ_Свойства.Ссылка = ДопРеквизиты.Свойство
ГДЕ
    ВнутренниеДокументы.Ссылка = &Док
Показать
11. dhurricane 24.04.19 10:10 Сейчас в теме
(9) Можно все одним запросом:
ВЫБРАТЬ
    ВнутренниеДокументы.Ссылка КАК Документ,
    ТаблицаСвойств.Ссылка КАК Свойство,
    ТаблицаЗначений.Значение КАК Значение
ИЗ
    Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ТаблицаСвойств
        ПО ТаблицаСвойств.НаборСвойств = &НаборСвойств
        ЛЕВОЕ СОЕДИЕНИЕ Справочник.ВнутренниеДокументы.ДополнительныеРеквизиты КАК ТаблицаЗначений
        ПО ВнутренниеДокументы.Ссылка = ТаблицаЗначений.Ссылка
            И ТаблицаСвойств.Ссылка = ТаблицаЗначений.Свойство
ГДЕ
    ВнутренниеДокументы.Ссылка = &Док
Показать
user909363; d.zhukov; sys1c; Elvina; krokchel; Anyu-n; +6 Ответить
13. Anyu-n 28 25.04.19 00:30 Сейчас в теме
(11) Просто спаситель!!! Очень вовремя!!! Спасибо огромное вам!
14. Elvina 5 09.09.19 22:26 Сейчас в теме
(11) большое спасибо! В прошлый раз выкрутилась как-то с помощью вложенных запросов, теперь сделала всё красиво))
15. d.zhukov 1400 31.01.20 07:28 Сейчас в теме
(11) Опечатка у вас в тексте " ЛЕВОЕ СОЕДИЕНИЕ". Правильно "ЛЕВОЕ СОЕДИНЕНИЕ". А так все ок. спасибо)
16. M_I_V_91 05.04.22 18:18 Сейчас в теме
(11)
НаборСвойств
что нужно передавать в переменную "Набор свойств"?
12. krokchel 24.04.19 10:51 Сейчас в теме
Еще раз Спасибо! Очень помогли
Оставьте свое сообщение

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