|
как выбрать контрагентов у которых нет координат в РС.КонтактнаяИнформация | ☑ | ||
---|---|---|---|---|
0
LivingStar
26.07.13
✎
06:47
|
Ребят подскажите как выбрать контрагентов по которым нет координат в регистре сведений контактная информация. Вот запрос который выбирает всех контрагентов у которых есть координаты в регистре сведений контактная информация. Я поднимал уже тему, советовали наложить условия:
И ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) = "" И ПОДСТРОКА(КонтактнаяИнформация.Представление, 1, 1) = "" ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) = ВЫРАЗИТЬ("" КАК СТРОКА(100)) И ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(100)) = неопределено Но ничего не помогало, при установке любого из условий запрос переставал отбирать. В этом случае нужно в соединении кажется устанавливать условие, подскажите как? Выбрать контрагентов у которых отсутствуют координаты в контактной информации так и не получилось. ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление КАК ГеографическаяШирота, РеквизитыТТСрезПоследних.МенеджерТорговойТочки ПОМЕСТИТЬ ВТ_ГеографическаяШирота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеквизитыТТ.СрезПоследних КАК РеквизитыТТСрезПоследних ПО Контрагенты.Ссылка = РеквизитыТТСрезПоследних.Контрагент ГДЕ КонтактнаяИнформация.Вид.Код = "000000036" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление, РеквизитыТТСрезПоследних.МенеджерТорговойТочки ПОМЕСТИТЬ ВТ_ГеографическаяДолгота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеквизитыТТ.СрезПоследних КАК РеквизитыТТСрезПоследних ПО Контрагенты.Ссылка = РеквизитыТТСрезПоследних.Контрагент ГДЕ КонтактнаяИнформация.Вид.Код = "000000037" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ГеографическаяДолгота.Ссылка КАК ТорговаяТочка, ВТ_ГеографическаяДолгота.Представление КАК ГеографическаяДолгота, ВТ_ГеографическаяШирота.ГеографическаяШирота, ВТ_ГеографическаяДолгота.МенеджерТорговойТочки КАК ТА ИЗ ВТ_ГеографическаяШирота КАК ВТ_ГеографическаяШирота ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ГеографическаяДолгота КАК ВТ_ГеографическаяДолгота ПО ВТ_ГеографическаяШирота.Ссылка = ВТ_ГеографическаяДолгота.Ссылка УПОРЯДОЧИТЬ ПО //ТорговаяТочка, ТА |
|||
1
Галахад
гуру
26.07.13
✎
06:55
|
Таблица контрагентов. К ней левое соединение таблица контактной информации. Где null-ы там и нету.
Хотя похоже это уже советовали. В запросах жесть. |
|||
2
mih_io
26.07.13
✎
06:56
|
Тут надо понимать, есть ли сама запись в РС с пустым значением нужного реквизита.
Смысл следующий. Контрагентов по левому соединению объединяешь с РС и делаешь отбор тех записей, где нужный тебе реквизит из РС null. Если сама запись в РС есть, но значение нужного реквизита пустое, то делаешь в итоге отбор тех записей где значение реквизита не null, а пустой тип нужного тебе реквизита. |
|||
3
andreymongol82
26.07.13
✎
07:08
|
(2) Лучше будет не Если-если, а объединить оба запроса
|
|||
4
Живой Ископаемый
26.07.13
✎
08:01
|
Автор просто не может догнать этой идеи, ему уже говорили несколько раз
|
|||
5
Starhan
26.07.13
✎
08:30
|
Автора пора ужо книгу рекордов Мисты.
|
|||
6
Поросенок Петр
26.07.13
✎
08:41
|
(5) +100500
Конечно трудно научиться думать своей головой, если каждый встречный вопрос задавать на мисте (и дают ответ). Реально, каждый день по несколько веток: http://www.forum.mista.ru/index.php?user_id=6293 |
|||
7
cw014
26.07.13
✎
08:53
|
Судя по всему ТС не хочет ничего решать... Он хочет iPhone белый
|
|||
8
alextom81
26.07.13
✎
09:36
|
(7) Да. 7 лет на Мисте не проходят даром.
(0) Делай как говорит (1) Контрагенты-ЗаписиРегистра (две таблицы) - потом соединяешь, просто (где не КонтрегентСсылка = ЗаписиРегистра.Контрагент) |
|||
9
viktor_vv
26.07.13
✎
09:48
|
Вот это, жесть конечно ,
КонтактнаяИнформация.Вид.Код = "000000037" перенеси в условие соединения а в где Где КонтактнаяИнформация.Объект IS NULL |
|||
10
capitanjack1
26.07.13
✎
10:00
|
можно так
ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Объект ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты ПО КонтактнаяИнформация.Объект = Контрагенты.Ссылка ГДЕ НЕ Контрагенты.Ссылка В (ВЫБРАТЬ КонтактнаяИнформация.Объект КАК ссылка ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация) |
|||
11
capitanjack1
26.07.13
✎
10:01
|
опечатался, вот:
ВЫБРАТЬ Контрагенты.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ НЕ Контрагенты.Ссылка В (ВЫБРАТЬ КонтактнаяИнформация.Объект КАК ссылка ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация) |
|||
12
alextom81
26.07.13
✎
11:12
|
(11) Надо также условие по виду контактной информации накладывать - не забудь !
|
|||
13
LivingStar
26.07.13
✎
11:59
|
Спасибо большое, дойдет очередь, переберу все варианты!
Просто в голове крутилось что я так и не выбрал то что нужно, вот и задал вопрос, так как нужно его решить в любом случае. |
|||
14
LivingStar
29.07.13
✎
11:36
|
так ничего не выбирает, что я не так делаю?
ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление КАК ГеографическаяШирота ПОМЕСТИТЬ ВТ_ГеографическаяШирота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект ГДЕ КонтактнаяИнформация.Вид.Код = "000000036" И ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК Строка(100)) = "" И Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление ПОМЕСТИТЬ ВТ_ГеографическаяДолгота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект ГДЕ КонтактнаяИнформация.Вид.Код = "000000037" И ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК Строка(100)) = "" И Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ГеографическаяДолгота.Ссылка, ВТ_ГеографическаяДолгота.Представление КАК ГеографическаяДолгота, ВТ_ГеографическаяШирота.ГеографическаяШирота, ВТ_ГеографическаяДолгота.Ссылка.ОсновнойМенеджерПокупателя ИЗ ВТ_ГеографическаяШирота КАК ВТ_ГеографическаяШирота ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ГеографическаяДолгота КАК ВТ_ГеографическаяДолгота ПО ВТ_ГеографическаяШирота.Ссылка = ВТ_ГеографическаяДолгота.Ссылка |
|||
15
LivingStar
29.07.13
✎
11:39
|
и так тоже не выбирает
ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление КАК ГеографическаяШирота ПОМЕСТИТЬ ВТ_ГеографическаяШирота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект И ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК Строка(100)) = null ГДЕ КонтактнаяИнформация.Вид.Код = "000000036" И Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление ПОМЕСТИТЬ ВТ_ГеографическаяДолгота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект И ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК Строка(100)) = Null ГДЕ КонтактнаяИнформация.Вид.Код = "000000037" И Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ГеографическаяДолгота.Ссылка, ВТ_ГеографическаяДолгота.Представление КАК ГеографическаяДолгота, ВТ_ГеографическаяШирота.ГеографическаяШирота, ВТ_ГеографическаяДолгота.Ссылка.ОсновнойМенеджерПокупателя ИЗ ВТ_ГеографическаяШирота КАК ВТ_ГеографическаяШирота ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ГеографическаяДолгота КАК ВТ_ГеографическаяДолгота ПО ВТ_ГеографическаяШирота.Ссылка = ВТ_ГеографическаяДолгота.Ссылка |
|||
16
LivingStar
29.07.13
✎
11:45
|
во, понял, вот так кажется будет отбирать!!!
ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление КАК ГеографическаяШирота ПОМЕСТИТЬ ВТ_ГеографическаяШирота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект И КонтактнаяИнформация.Вид.Код = "000000036" ГДЕ Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление ПОМЕСТИТЬ ВТ_ГеографическаяДолгота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект И КонтактнаяИнформация.Вид.Код = "000000037" ГДЕ Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ГеографическаяДолгота.Ссылка, ВТ_ГеографическаяДолгота.Представление КАК ГеографическаяДолгота, ВТ_ГеографическаяШирота.ГеографическаяШирота, ВТ_ГеографическаяДолгота.Ссылка.ОсновнойМенеджерПокупателя ИЗ ВТ_ГеографическаяШирота КАК ВТ_ГеографическаяШирота ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ГеографическаяДолгота КАК ВТ_ГеографическаяДолгота ПО ВТ_ГеографическаяШирота.Ссылка = ВТ_ГеографическаяДолгота.Ссылка |
|||
17
viktor_vv
29.07.13
✎
11:47
|
ГДЕ
Контрагенты.ОсновнойМенеджерПокупателя = &ТА И КонтактнаяИнформация.Объект IS NULL |
|||
18
LivingStar
29.07.13
✎
12:05
|
(17) да, тоже вариант, аналог же (16) ?
|
|||
19
viktor_vv
29.07.13
✎
12:09
|
(18) Ткни пальцем где там условие "КонтактнаяИнформация.Объект IS NULL" ?
|
|||
20
hhhh
29.07.13
✎
12:13
|
(5) имхо у них там целый отдел под этим ником. Когда приходит новый чел, он по-новой задает те же самые вопросы. Получается эффект, что автор ничего не помнит сегодня из того, что делал вчера.
|
|||
21
viktor_vv
29.07.13
✎
12:14
|
И в твоем варианте можно и так делать
ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформацияШирота.Представление КАК ГеографическаяШирота, КонтактнаяИнформацияДолгота.Представление КАК ГеографическаяДолгота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформацияШирота ПО Контрагенты.Ссылка = КонтактнаяИнформацияШирота.Объект И КонтактнаяИнформацияШирота.Вид.Код = "000000036" ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформацияДолгота ПО Контрагенты.Ссылка = КонтактнаяИнформацияДолгота.Объект И КонтактнаяИнформацияДолгота.Вид.Код = "000000037" ГДЕ Контрагенты.ОсновнойМенеджерПокупателя = &ТА // Для условия И (КонтактнаяИнформацияДолгота.Объект IS NULL ИЛИ КонтактнаяИнформацияШирота.Объект IS NULL) ; |
|||
22
hhhh
29.07.13
✎
12:14
|
день хомячка
|
|||
23
viktor_vv
29.07.13
✎
12:16
|
(21)+ И убрал бы ты нафиг эти сравнения с кодом в запросе.
|
|||
24
LivingStar
29.07.13
✎
12:19
|
(21) а ну да, это условие задает уже фильтрацию только на тех у кого нет координат в контактной информации
(23) это коды географической широты и географической долготы, у контрагнета может быть контактная информация но другая, как если не по кодам отслеживать координаты7 |
|||
25
LivingStar
29.07.13
✎
12:24
|
(21) у которых пусто объект не равен null
|
|||
26
viktor_vv
29.07.13
✎
12:36
|
(24) Я имел ввиду в запросе убери
ВидДолгота = Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("000000037") ; Запрос.УстановитьПараметр("ВидДолгота",ВидДолгота); |
|||
27
viktor_vv
29.07.13
✎
12:37
|
(25) Это тогда еще надо проверять на заполненность представления для существующих записей.
Сейчас отбираются те у кого вообще записи в регистре нет. |
|||
28
viktor_vv
29.07.13
✎
12:42
|
ПО Контрагенты.Ссылка = КонтактнаяИнформацияШирота.Объект
И КонтактнаяИнформацияШирота.Вид.Код = "000000036" И Выразить(КонтактнаяИнформацияШирота.Представление КАК Строка(10)) <> "" |
|||
29
viktor_vv
29.07.13
✎
12:42
|
То есть
И Выразить(КонтактнаяИнформацияШирота.Представление КАК Строка(10)) <> """" |
|||
30
LivingStar
29.07.13
✎
12:47
|
(27) вот по этому запросу отбираются те у которых есть координаты и те у которых нет координат, есть и те и те. Но не вижу тех для которых задается проверка с постфиксом ТТ. И не пойму в чем дело.
не все там так просто с этими условиями ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление КАК ГеографическаяШирота, КонтактнаяИнформация.Объект ПОМЕСТИТЬ ВТ_ГеографическаяШирота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Вид.Код = "000000036") ГДЕ Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Контрагенты.Ссылка, КонтактнаяИнформация.Представление КАК ГеографическаяДолгота, КонтактнаяИнформация.Объект ПОМЕСТИТЬ ВТ_ГеографическаяДолгота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Вид.Код = "000000037") ГДЕ Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ГеографическаяДолгота.Ссылка, ВТ_ГеографическаяШирота.ГеографическаяШирота, ВТ_ГеографическаяДолгота.ГеографическаяДолгота, ВТ_ГеографическаяДолгота.Ссылка.ОсновнойМенеджерПокупателя ИЗ ВТ_ГеографическаяШирота КАК ВТ_ГеографическаяШирота ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ГеографическаяДолгота КАК ВТ_ГеографическаяДолгота ПО ВТ_ГеографическаяШирота.Ссылка = ВТ_ГеографическаяДолгота.Ссылка |
|||
31
viktor_vv
29.07.13
✎
12:59
|
Ну так где в этом запросе эти твои ТТ. И в первоначальном у тебя условий на них нет, только вывод менеджера.
|
|||
32
LivingStar
30.07.13
✎
05:08
|
(31) как только на менеджера, Контрагенты.Ссылка - ТТ являются контрагентами с постфиксом ТТ, че их вообще ни одной небыло в списке не пойму, буду далее разбираться.
|
|||
33
LivingStar
30.07.13
✎
06:41
|
ВЫБРАТЬ
Контрагенты.Ссылка, ЕСТЬNULL(КонтактнаяИнформация.Представление, "") КАК ГеографическаяШирота, КонтактнаяИнформация.Объект ПОМЕСТИТЬ ВТ_ГеографическаяШирота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Вид.Код = "000000036") ГДЕ Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Контрагенты.Ссылка, ЕСТЬNULL(КонтактнаяИнформация.Представление, "") КАК ГеографическаяДолгота, КонтактнаяИнформация.Объект ПОМЕСТИТЬ ВТ_ГеографическаяДолгота ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ПО Контрагенты.Ссылка = КонтактнаяИнформация.Объект И (КонтактнаяИнформация.Вид.Код = "000000037") ГДЕ Контрагенты.ОсновнойМенеджерПокупателя = &ТА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ_ГеографическаяДолгота.Ссылка, ВТ_ГеографическаяШирота.ГеографическаяШирота, ВТ_ГеографическаяДолгота.ГеографическаяДолгота, ВТ_ГеографическаяДолгота.Ссылка.ОсновнойМенеджерПокупателя ИЗ ВТ_ГеографическаяШирота КАК ВТ_ГеографическаяШирота ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ГеографическаяДолгота КАК ВТ_ГеографическаяДолгота ПО ВТ_ГеографическаяШирота.Ссылка = ВТ_ГеографическаяДолгота.Ссылка ГДЕ (ВЫРАЗИТЬ(ВТ_ГеографическаяДолгота.ГеографическаяДолгота КАК СТРОКА(20))) = "" ИЛИ (ВЫРАЗИТЬ(ВТ_ГеографическаяШирота.ГеографическаяШирота КАК СТРОКА(20))) = "" |
|||
34
LivingStar
01.08.13
✎
05:14
|
(33) Даже этот запрос выбирал не понятно что. А конечный результат получился такой, - последний в связи участвовал регистр сведений, из которого и выбирались данные, левым соединением с контрагентом и условием на менеджера, так как он заполнен был только в регистре сведений.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |