|
Как получить всех контрагентов и их телефоны и фактический адрес в запросе ? | ☑ | ||
---|---|---|---|---|
0
Eeelena
27.10.14
✎
06:57
|
Подскажите, как получить список всех контрагентов и их телефоны и фактический адрес в запросе ? конфигурация комплексна автоматизация
|
|||
1
1cVandal
27.10.14
✎
07:00
|
Строишь вт по регистру сведений контактная информация, где вид ки телефон и фактадрес, обьеденяешь по олю владелец со справочником контрагенты. Или тебе готовый запрос?
|
|||
2
Eeelena
27.10.14
✎
07:04
|
(1) спасибо, сейчас попробую сама, если не получится напишу)
|
|||
3
Eeelena
27.10.14
✎
07:14
|
(1) сделала вот так, но в запрос попадают не только контрагенты, но например контактные лица контрагентов
ВЫБРАТЬ КонтактнаяИнформация.Объект, КонтактнаяИнформация.Тип, КонтактнаяИнформация.Вид, КонтактнаяИнформация.Представление ПОМЕСТИТЬ КонтактнаяИнф ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) ИЛИ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ КонтактнаяИнф.Объект, КонтактнаяИнф.Тип, КонтактнаяИнф.Вид, КонтактнаяИнф.Представление ИЗ КонтактнаяИнф КАК КонтактнаяИнф ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты |
|||
4
Мимохожий Однако
27.10.14
✎
07:18
|
Используй Выразить для Объекта
|
|||
5
Enterprise
27.10.14
✎
07:18
|
(3) ЛЕВОЕ СОЕДИНЕНИЕ сделай ко временной таблице
|
|||
6
Enterprise
27.10.14
✎
07:21
|
(5) а может внутреннее лучше \о/
|
|||
7
anaed
27.10.14
✎
07:22
|
индексируй вт
Потом запрос к справочнику контрагентов с двумя левыми соединениями к вт, оба по объекту, но по разным типам Это даст список всех контрагентов, даже если нет телефона и адреса, а не только тех у кого заполнен хотя бы один "реквизит". |
|||
8
Eeelena
27.10.14
✎
07:25
|
(7) а можно сам текст запроса?
|
|||
9
Мимохожий Однако
27.10.14
✎
07:29
|
(7)Ты ей расшифруй "по объекту,но по разным типам"
|
|||
10
Eeelena
27.10.14
✎
07:38
|
сделала вот так
ВЫБРАТЬ КонтактнаяИнформация.Объект, КонтактнаяИнформация.Тип, КонтактнаяИнформация.Вид, КонтактнаяИнформация.Представление ПОМЕСТИТЬ КонтактнаяИнф ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) ИЛИ КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес) И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ КонтактнаяИнф.Объект, КонтактнаяИнф.Тип, КонтактнаяИнф.Вид, КонтактнаяИнф.Представление, Контрагенты.Ссылка, Контрагенты.НаименованиеПолное ИЗ Справочник.Контрагенты КАК Контрагенты ВНУТРЕННЕЕ СОЕДИНЕНИЕ КонтактнаяИнф КАК КонтактнаяИнф ПО Контрагенты.Ссылка = КонтактнаяИнф.Объект.Ссылка |
|||
11
Мимохожий Однако
27.10.14
✎
07:39
|
Ну и?
|
|||
12
anaed
27.10.14
✎
07:43
|
ВЫБРАТЬ
КонтактнаяИнформация.Объект КАК Объект, КонтактнаяИнформация.Представление, КонтактнаяИнформация.Тип ПОМЕСТИТЬ втКИ ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента) ИЛИ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента) ИНДЕКСИРОВАТЬ ПО Объект ; ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, ЕСТЬNULL(Адрес.Представление, "не указан") КАК Адрес, ЕСТЬNULL(Телефон.Представление, "не указан") КАК Телефон ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ втКИ КАК Телефон ПО Контрагенты.Ссылка = Телефон.Объект И (Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)) ЛЕВОЕ СОЕДИНЕНИЕ втКИ КАК Адрес ПО Контрагенты.Ссылка = Адрес.Объект И (Адрес.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)) ГДЕ НЕ Контрагенты.ЭтоГруппа АВТОУПОРЯДОЧИВАНИЕ |
|||
13
Skom
27.10.14
✎
07:44
|
(10) если сделваешь ВНУТРЕННЕЕ СОЕДИНЕНИЕ, то в выборку не попадут те контрагенты, у которых нет КИ.
Если сделаешь ЛЕВОЕ, то попадут. |
|||
14
Skom
27.10.14
✎
07:49
|
А еще можно все выбрать из регистра КИ, и не надо джойнить справочник контрагентов.
Просто в условиях в регистру КИ поставить фильтр на тип объекта - справочник контрагенты |
|||
15
Мимохожий Однако
27.10.14
✎
07:50
|
(14)Ей уже это советовали. Но она не знает как. Подскажи.
|
|||
16
Skom
27.10.14
✎
07:52
|
(15) сейчас найду комплексную у себя
|
|||
17
Eeelena
27.10.14
✎
07:58
|
Ребята, еще вопрос, у меня у контрагентов несколько телефонов, а в отчет мне нужно чтоб все телефоны были в одной строке через запятую, как это можно сделать?
|
|||
18
Skom
27.10.14
✎
08:00
|
ВЫБРАТЬ
КонтактнаяИнформация.Объект, КонтактнаяИнформация.Тип, КонтактнаяИнформация.Вид, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ ТИПЗНАЧЕНИЯ(КонтактнаяИнформация.Объект) = ТИП(Справочник.Контрагенты) И ((КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) ИЛИ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента))) |
|||
19
Skom
27.10.14
✎
08:01
|
+18, только в этом варианте не попадут те контрагенту, у которых НЕТ контактной информации
|
|||
20
Skom
27.10.14
✎
08:01
|
+18 - ну и учитывать надо, что в справочнике контрагентов могут быть и держатели дисконтных карт, в общем доп. фильтры накладывать надо.
|
|||
21
Eeelena
27.10.14
✎
08:02
|
(19) нет мне нужны все, мне нужно получить всех контрагентов, для каждого контрагента все телефоны, которые у него имеются и фактический адрес, причем в отчет нужно как то вывести все телефоны через запятую в одной строке
|
|||
22
Skom
27.10.14
✎
08:04
|
(21)
ВЫБРАТЬ Контры.Ссылка, КИ.Тип, КИ.Вид, КИ.Представление ИЗ Справочник.Контрагенты КАК Контры ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ КонтактнаяИнформация.Объект, КонтактнаяИнформация.Тип, КонтактнаяИнформация.Вид, КонтактнаяИнформация.Представление ИЗ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация ГДЕ ТИПЗНАЧЕНИЯ(КонтактнаяИнформация.Объект) = ТИП(Справочник.Контрагенты) И ((КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) ИЛИ КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента))) ) КАК КИ ПО КИ.Объект = Контры.Ссылка |
|||
23
Skom
27.10.14
✎
08:06
|
Только (22) без учета (17)
|
|||
24
Eeelena
27.10.14
✎
08:07
|
а как можно сделать 17? (23)
|
|||
25
Skom
27.10.14
✎
08:08
|
хотя нет. с учетом.
|
|||
26
Мимохожий Однако
27.10.14
✎
08:08
|
(24)А это можно сделать потом, при обработке выборки
|
|||
27
Skom
27.10.14
✎
08:08
|
ну ты попробуй в консоли выполни этот запрос и увидишь что получится.
У тебя есть "консоль запросов"? умеешь ею пользоваться? |
|||
28
Eeelena
27.10.14
✎
08:09
|
(27) да я по ней и смотрю результат запроса)
|
|||
29
Skom
27.10.14
✎
08:10
|
(24) на каждого контрагента будет в результирующей выобрке по запросу из (22) столько строк по каждому контрагенту, сколько записей есть в регистре КИ.
т.е. если 1 адрес и 2 телефона, то будет 3 строки в результирующей выборке |
|||
30
Eeelena
27.10.14
✎
08:10
|
(26) я пыталась сделать при обработке выборки, но у меня не получается(( я уж тут такое наворотила, что сама запуталась(
|
|||
31
Eeelena
27.10.14
✎
08:11
|
(29) да я понимаю, но не знаю как мне сгруппировать или что сделать, чтоб получить в итоге запись общую
|
|||
32
kumena
27.10.14
✎
08:15
|
Я извиняюсь, а что в КА нет такого типового отчета?
|
|||
33
Eeelena
27.10.14
✎
08:18
|
(32) такого как мне нужно нет
|
|||
34
Skom
27.10.14
✎
08:24
|
ну это уже при обработке выборки надо думать как сделать
|
|||
35
Eeelena
27.10.14
✎
08:26
|
(34) я думала может выгрузить в таблицу значений и свернуть ее, но это не помогло(
|
|||
36
Skom
27.10.14
✎
08:36
|
(35)
Ну можно в запрос добавить группировки и обход результатов выполнять по группировкам В общем, сорри, но сейчас некогда думать над этой задачей, принесли срочнячок( |
|||
37
Eeelena
27.10.14
✎
08:39
|
(36) ничего, попробую что нибудь придумать, спасибо за помощь!)
|
|||
38
Skom
27.10.14
✎
10:49
|
ну что, придумала?
|
|||
39
Eeelena
27.10.14
✎
11:08
|
(38) сделала группировку, он делает группировку по всем полям, то есть строки с другими телефонами исчезают, сейчас пытаюсь сочинить что нибудь в переборе выборки, но пока безуспешно(
|
|||
40
Eeelena
27.10.14
✎
11:54
|
(38) сделала) в запросе сделала итоги по контрагенту и дальше обход результатов выполняла по группировкам)а в переборе детальных записей суммировала строки с телефонами
|
|||
41
второй Вах
27.10.14
✎
12:42
|
из 1С каждый дурак может, а слабо сабж в гугле запросом?
|
|||
42
Timon1405
27.10.14
✎
12:46
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |