|
Как одним запросом получить значение телефона и адреса из рег. КонтактаяИнфо? | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
16.03.13
✎
21:07
|
Все мои знания о языке запросов коту под хвост , раз я не могу справиться с такой легкой задачей. Или может быть сегодня не мой день.
Надо из регистра КонтактнаяИнформация получить и номер телефона контрагента и его адрес. Я уже всяко ставил условия , соединял по разному две таблицы , и не получается. Дело в том , что если нет значения в одной из таблиц ,то результат пустой. На ЕСТЬТЬNULL не срабатывает... :( Как правильно делать? Вот мой запрос ... ВЫБРАТЬ КонтактнаяИнформация.Представление, КонтактнаяИнформация.Вид ПОМЕСТИТЬ Контакты ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &Объект ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Тел.Представление КАК Тел, Тел.Вид, Адр.Представление КАК Адр, Адр.Вид КАК Вид1 ИЗ Контакты КАК Адр, Контакты КАК Тел ГДЕ Адр.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента) И Тел.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента) |
|||
1
Oleg_Kag
16.03.13
✎
21:10
|
А почему "И" в Где?
|
|||
2
H A D G E H O G s
16.03.13
✎
21:11
|
||||
3
Boudybuilder
16.03.13
✎
21:19
|
(1) А что там должно быть?
|
|||
4
shuhard
16.03.13
✎
21:23
|
(0) Объединить все не предлагать ?
|
|||
5
kotletka
16.03.13
✎
21:23
|
(3)одной вт извлекай телефон, др адрес (либо выбор тогда когда), а ты в одной таблице накладываешь условие что и адрес и телефон одновременно д.б, ты такие адреса встречал, два в одном?
|
|||
6
H A D G E H O G s
модератор
16.03.13
✎
21:24
|
ВЫБРАТЬ
КонтактнаяИнформация.Объект, МАКСИМУМ(ВЫБОР КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента) ТОГДА ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(999)) КОНЕЦ) КАК Адрес, МАКСИМУМ(ВЫБОР КОГДА КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента) ТОГДА ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) КОНЕЦ) КАК Телефон ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Объект = &Объект СГРУППИРОВАТЬ ПО КонтактнаяИнформация.Объект |
|||
7
kotletka
16.03.13
✎
21:25
|
(6)с подписью вышел чтобы до тс дошло быстрей? :)
|
|||
8
H A D G E H O G s
16.03.13
✎
21:27
|
(7) Бес попутал.
|
|||
9
Фокусник
16.03.13
✎
21:28
|
(0) запрос к справочнику Контрагентов с отбором по ссылке, к нему 2 левых соединения к регистру сведений контактной информации, в связях отбор по виду контактной информации.
|
|||
10
H A D G E H O G s
16.03.13
✎
21:29
|
(9) Как вы вообще бухгалтеров и методистов то понимаете...
|
|||
11
Фокусник
16.03.13
✎
21:31
|
(10) а что? :)
|
|||
12
kotletka
16.03.13
✎
21:32
|
(10)тебя опять бес попутал, не как он их понимает надо спросить, а как они его понимают
|
|||
13
Фокусник
16.03.13
✎
21:34
|
(12) а я сейчас вроде программисту писал, причем здесь бухи? ;)
|
|||
14
H A D G E H O G s
16.03.13
✎
21:36
|
(11) Ему телефон и адрес нужен отдельными колонками в 1-ой строке.
|
|||
15
Фокусник
16.03.13
✎
21:38
|
(14) верно: одно левое соединение даст адрес (в первой колонке), второе - телефон (во второй колонке). Всегда так делаю. ИМХО, явный отбор будет быстрее, чем "максимум".
|
|||
16
H A D G E H O G s
16.03.13
✎
21:40
|
(15) Нет.
|
|||
17
H A D G E H O G s
16.03.13
✎
21:41
|
(15) Не ищите проблему там, где ее нет.
В (0) явно указана задача. И тупо поиск по таблице КИ будет быстрее, чем поиск по справочнику, потом 2 раза поиск по КИ. |
|||
18
Фокусник
16.03.13
✎
21:45
|
(17) Вот так:
|
|||
19
Фокусник
16.03.13
✎
21:52
|
(17) Я не кодер, чтобы решать ТОЛЬКО задачу, которую "мне поставили", я смотрю шире всегда ;)
Обычно одним запросом нужно получить всё: и наименование, и телефоны, адреса и т.д. Давай-ка через твой вариант выведи контрагента, его наименование, основной договор, ИНН, адреса и телефон, если у него НЕТ адреса И телефона? ;) |
|||
20
Boudybuilder
17.03.13
✎
00:21
|
(17) Это действительно быстро. (18) Легче. ;)
Спасибо , что откликнулись и так широко раскрыли тему. За это у вас будут отличные выходные и ясная голова в понедельник с утра... ;) |
|||
21
Сниф
17.03.13
✎
00:41
|
(20) кому уходит приз или приз не уходит?
|
|||
22
Сниф
17.03.13
✎
00:43
|
(20) сорри, не та ветка) сейчас модно призы раздавать .
|
|||
23
polymorph
17.03.13
✎
02:09
|
(18) у этого запроса есть большой подводный камень. если есть тип контактной информации электронная почта и он заполнен то тогда этот контрагент отфильтруется совсем. запрос вернется пустым.
|
|||
24
polymorph
17.03.13
✎
02:24
|
+(23) точнее даже если у контрагента будет заполнен только телефон или только адрес в выборку он не попадет.
|
|||
25
Boudybuilder
17.03.13
✎
03:18
|
(24) Видимо одним запросом никак...
|
|||
26
sergus_dixi
17.03.13
✎
03:52
|
ик - а почему такой выаод? в (18) вполне работоспосоьный запрос для старта
|
|||
27
sergus_dixi
17.03.13
✎
03:52
|
а в (24) откровенный бред по отношению к (18)
|
|||
28
sergus_dixi
17.03.13
✎
03:54
|
(24) человек похоже не умеет запросы читать наглухо - его вывод БСК
|
|||
29
Klesk
17.03.13
✎
05:02
|
ЗаказКлиента.Менеджер.КонтактнаяИнформация.Получить(0).АдресЭП
это почта, адрес таким же образом, 5 утря - лень думать |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |