Дополнительные сведения в динамическом списке документов #799529


#0 by Mikhail Volkov
Понадобилось в УТ11 в списке заказов клиентов выводить одно из дополнительных сведений. Обычно ими не пользуются, они в основном заполняются на сайте. Список динамический формируется запросом. В него вставил: ИЗ     Документ.ЗаказКлиента КАК ДокументЗаказКлиента : :         ПО ДокументЗаказКлиента.Ссылка = ДополнительныеСведения.Объект : : и оказалось, что некоторые заказы, которые не сайта пришли, не отображаются в списке!? Убрал свои доработки - стали отображаться. Открываю их Дополнительные сведения - не заполнены, но есть же. Почему они перестают отображаться в моем списке? Как сделать, чтобы все отображались?
#1 by Zyka
Вместо полного соединения + условия "ГДЕ" в запросе, используйте левое соединения + условие в связях.
#2 by sFAQer
Потому что их нет, то что они на форме есть, не значит они на самом деле есть..
#3 by Mikhail Volkov
ЛЕВОЕ СОЕДИНЕНИЕ - было (после заменил на ПОЛНОЕ - не помогло). А условие в связях - это как?
#4 by sFAQer
ПО ДополнительныеСведения.Свойство.Наименование = "Заказ оплачен"
#5 by lodger
"ЛЕВОЕ СОЕДИНЕНИЕ - было (после заменил на ПОЛНОЕ - не помогло)" вы вообще понимаете различие между видами соединений?
#6 by polosov
Используй левое соединений, ЕстьNULL, а свойство передавай параметром. ДополнительныеСведения.Свойство.Наименование = "Заказ оплачен" - это тормоз.
#7 by sFAQer
Очевидно что нет, чё ты глупые вопросы задаёшь?
#8 by Zyka
Ты ставишь условие своё " ДополнительныеСведения.Свойство.Наименование = "Заказ оплачен"" в запросе. В этом случае тебе отбираются только записи удовлетворяющие этому условию. Согласно твоей задаче, тебе необходимо убрать условие из "ГДЕ" и сделать:         ПО (ДокументЗаказКлиента.Ссылка = ДополнительныеСведения.Объект И ДополнительныеСведения.Свойство.Наименование = "Заказ оплачен") или через ЕСТЬNULL
#9 by Timon1405
ЛЕВОЕ СОЕДИНЕНИЕ ПО ДокументЗаказКлиента.Ссылка = ДополнительныеСведения.Объект И ДополнительныеСведения.Свойство.Наименование = "Заказ оплачен" наложение где на поля левой таблицы превратило ваше ЛЕВОЕ соединение во ВНУТРЕННЕЕ
#10 by polosov
Да. Для избежания ему надо два условия делать в левом соединении
#11 by Mikhail Volkov
, Спс, вроде заработало так:                 И ДополнительныеСведения.Свойство.Наименование = "Заказ оплачен") А если еще одно свойство понадобится, то еще по ИЛИ добавлять: ДополнительныеСведения.Свойство.Наименование = "еще свойство"?
#12 by h-sp
нет, второе левое соединение.
#13 by Zyka
Если сделать так: ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения ПО (ДокументЗаказКлиента.Ссылка = ДополнительныеСведения.Объект И (ДополнительныеСведения.Свойство.Наименование = "Заказ оплачен" ИЛИ ДополнительныеСведения.Свойство.Наименование = "Заказ просран")) То у вас скорей всего будут дубли ключевого поля "Ссылка" и дин. список сломается, поэтому необходимо будет городить ещё одну связь и тянуть поле из новой таблицы: ПО (ДокументЗаказКлиента.Ссылка = ДополнительныеСведения_Просраны.Объект И ДополнительныеСведения_Просраны.Свойство.Наименование = "Заказ просран")
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С