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