![]() |
![]() |
|
Выборка двух видов контактной информации в одном запросе | ☑ | ||
---|---|---|---|---|
0
LivingStar
08.08.13
✎
06:10
|
Имеется запрос, в него передается список выбранных групп. Важно учесть чтобы выбирался адрес контрагента если выбранна группа с контрагентами и адрес торговых точек, если указанны группы с торговыми точками. Вид выборки контактной информации задаю в соединении. Как учесть выборку адресов контрагентов и адресов торговых точек?
И (КонтактнаяИнформация.Вид.Код = ""000000010"") - адрес контрагента И (КонтактнаяИнформация.Вид.Код = ""000000042"")- адрес торговой точки |ВЫБРАТЬ | Контрагенты.Ссылка, | Контрагенты.Наименование КАК Наименование, | ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КАК Адрес |ИЗ | Справочник.Контрагенты КАК Контрагенты | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация | ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект | И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) | И (КонтактнаяИнформация.Вид.Код = ""000000010"") // Юридический адрес контрагента |ГДЕ | Контрагенты.Ссылка В ИЕРАРХИИ(&ГруппыКонтрагентов) | И Контрагенты.ЭтоГруппа = ЛОЖЬ | |УПОРЯДОЧИТЬ ПО | Наименование"; |
|||
1
LivingStar
08.08.13
✎
06:20
|
Торговые точки в справочнике контрагенты значатся с постфиксом ТТ и имеют вид адреса "Адрес торговой точки".
Контрагенты в справочнике контрагенты значатся без постфикса ТТ и имеют вид адреса "Юридический адрес контрагента". |
|||
2
AndyD
08.08.13
✎
12:39
|
как-то так наверно
ВЫБРАТЬ Контрагенты.Ссылка, ВЫБОР КОГДА Контрагенты.Наименование ПОДОБНО "%ТТ" ТОГДА адрес2.Представление ИНАЧЕ адрес1.Представление КОНЕЦ КАК Адрес ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК адрес2 ПО (адрес2.Объект = Контрагенты.Ссылка) И (адрес2.Вид = &Вид2) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК адрес1 ПО (адрес1.Объект = Контрагенты.Ссылка) И (адрес1.Вид = &Вид1) ГДЕ Контрагенты.Ссылка В ИЕРАРХИИ(&Объект) |
|||
3
cw014
08.08.13
✎
12:45
|
А он упорно использует ГДЕ при левом соединении
|
|||
4
LivingStar
09.08.13
✎
05:35
|
(2) В вашем запросе выборка осуществляется по переданной в параметр группе контрагентов, но у них у всех отсутствует поле адрес. Как у контрагентов с видом контактной информации "Юридический адрес контрагента", так и с видом контактной информации "Адрес торговой точки".
|
|||
5
LivingStar
09.08.13
✎
05:41
|
Тут немного по другому, поменял местами адрес1 и адрес2, видимо просто опечатка было, но вот адреса в выборке все же нет ((( А вообще интересный запрос, разбираюсь далее...
ВЫБРАТЬ Контрагенты.Ссылка, ВЫБОР КОГДА Контрагенты.Наименование ПОДОБНО "%ТТ%" ТОГДА адрес1.Представление ИНАЧЕ адрес2.Представление КОНЕЦ КАК Адрес ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК адрес2 ПО (адрес2.Объект = Контрагенты.Ссылка) И (адрес2.Вид = &Вид2) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК адрес1 ПО (адрес1.Объект = Контрагенты.Ссылка) И (адрес1.Вид = &Вид1) ГДЕ Контрагенты.Ссылка В ИЕРАРХИИ(&Объект) |
|||
6
LivingStar
09.08.13
✎
05:53
|
Извиняюсь стало выбирать... Не тот параметр передавал по торговой точке!!!
|
|||
7
LivingStar
09.08.13
✎
06:29
|
(2) спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |