Имя: Пароль:
1C
1С v8
Запрос, контактная информация.
,
0 d3N4eGG
 
04.09.12
11:34
8.2 УФ.
Добрый день.
Требуется следующее: на форму списка контрагентов вывести его фактический адрес.
Есть динамический список, с произвольным запросом, вытаскиваю нужные поля, но не получается вытащить адрес, делал так:

ВЫБОР
   КОГДА СправочникКонтрагенты.КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
   И СправочникКонтрагенты.КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)
        ТОГДА СправочникКонтрагенты.КонтактнаяИнформация.Представление
КОНЕЦ КАК ФактАдрес

Попробовал и вложенным запросом сделать, тоже не получилось.
Подскажите, пожалуйста, что не так делаю
1 salvator
 
04.09.12
11:34
ИНАЧЕ ...
2 Godofsin
 
04.09.12
11:35
а чо, УправлениеКонтактнойИнформацией нету?
3 Stim213
 
04.09.12
11:35
(2) нету
4 Godofsin
 
04.09.12
11:36
(3) пичаль...
5 d3N4eGG
 
04.09.12
11:40
ВЫБРАТЬ
   СправочникКонтрагенты.Ссылка,
   СправочникКонтрагенты.Наименование,
   СправочникКонтрагенты.ИНН,
   ВложенныйЗапрос.ФактАдресКонтрагента
ИЗ
   Справочник.Контрагенты КАК СправочникКонтрагенты,
   (ВЫБРАТЬ
       ВЫБОР
           КОГДА КонтрагентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
                   И КонтрагентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)
               ТОГДА КонтрагентыКонтактнаяИнформация.Представление
           ИНАЧЕ 0
       КОНЕЦ КАК ФактАдресКонтрагента
   ИЗ
       Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация) КАК ВложенныйЗапрос


Что не так? =(
6 ptiz
 
04.09.12
11:41
жесть...
7 ptiz
 
04.09.12
11:43
(5) Конструктором настрой левое соединение СправочникКонтрагенты с ВложенныйЗапрос по полю Ссылка
8 alkorolev
 
04.09.12
11:44
---
ВЫБРАТЬ
   СправочникКонтрагенты.Ссылка,
   СправочникКонтрагенты.ВерсияДанных,
   СправочникКонтрагенты.ПометкаУдаления,
   СправочникКонтрагенты.Предопределенный,
   СправочникКонтрагенты.Родитель,
   СправочникКонтрагенты.ЭтоГруппа,
   СправочникКонтрагенты.Код,
   СправочникКонтрагенты.Наименование,
   СправочникКонтрагенты.НаименованиеПолное,
   СправочникКонтрагенты.ДокументУдостоверяющийЛичность,
   СправочникКонтрагенты.ДополнительноеОписание,
   СправочникКонтрагенты.ГоловнойКонтрагент,
   СправочникКонтрагенты.ИсточникИнформацииПриОбращении,
   СправочникКонтрагенты.КодПоОКПО,
   СправочникКонтрагенты.Комментарий,
   СправочникКонтрагенты.ИНН,
   СправочникКонтрагенты.КПП,
   СправочникКонтрагенты.ОсновноеКонтактноеЛицо,
   СправочникКонтрагенты.ОсновнойБанковскийСчет,
   СправочникКонтрагенты.ОсновнойВидДеятельности,
   СправочникКонтрагенты.ОсновнойДоговорКонтрагента,
   СправочникКонтрагенты.ОсновнойМенеджерПокупателя,
   СправочникКонтрагенты.Покупатель,
   СправочникКонтрагенты.Поставщик,
   СправочникКонтрагенты.РасписаниеРаботыСтрокой,
   СправочникКонтрагенты.СрокВыполненияЗаказаПоставщиком,
   СправочникКонтрагенты.ЮрФизЛицо,
   СправочникКонтрагенты.НеЯвляетсяРезидентом,
   СправочникКонтрагенты.ОКОПФ,
   СправочникКонтрагенты.Регион,
   СправочникКонтрагенты.ГруппаДоступаКонтрагента,
   КонтактнаяИнформация.Представление КАК Адрес
ИЗ
   Справочник.Контрагенты КАК СправочникКонтрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
       ПО (КонтактнаяИнформация.Объект = СправочникКонтрагенты.Ссылка)
           И (КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
           И (КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента))
9 d3N4eGG
 
04.09.12
11:46
(8) в 8.2 КонтактнаяИнформация  - не регистр сведений, а тч объекта. все же, спасибо
10 alkorolev
 
04.09.12
11:49
(9) это что а конфигурация такая, где контактная информация в ТЧ, а не в регистре?
11 d3N4eGG
 
04.09.12
11:49
унф
12 d3N4eGG
 
04.09.12
12:00
Все равно не получается( Делать вложенный запрос и уже по нему левое соединение?
13 alkorolev
 
04.09.12
12:07
да тоже самое
ВЫБРАТЬ
   СправочникКонтрагенты.Ссылка,
   СправочникКонтрагенты.ВерсияДанных,
   СправочникКонтрагенты.ПометкаУдаления,
   СправочникКонтрагенты.Предопределенный,
   СправочникКонтрагенты.Родитель,
   СправочникКонтрагенты.ЭтоГруппа,
   СправочникКонтрагенты.Код,
   СправочникКонтрагенты.Наименование,
   СправочникКонтрагенты.НаименованиеПолное,
   СправочникКонтрагенты.ЮрФизЛицо,
   СправочникКонтрагенты.ИНН,
   СправочникКонтрагенты.КПП,
   СправочникКонтрагенты.КодПоОКПО,
   СправочникКонтрагенты.БанковскийСчетПоУмолчанию,
   СправочникКонтрагенты.ДоговорПоУмолчанию,
   СправочникКонтрагенты.КонтактноеЛицо,
   СправочникКонтрагенты.ФизическоеЛицо,
   СправочникКонтрагенты.СчетУчетаРасчетовСПокупателем,
   СправочникКонтрагенты.СчетУчетаАвансовПокупателя,
   СправочникКонтрагенты.СчетУчетаРасчетовСПоставщиком,
   СправочникКонтрагенты.СчетУчетаАвансовПоставщику,
   СправочникКонтрагенты.Комментарий
ИЗ
   Справочник.Контрагенты КАК СправочникКонтрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
       ПО СправочникКонтрагенты.Ссылка = КонтрагентыКонтактнаяИнформация.Ссылка
           И (КонтрагентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
           И (КонтрагентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента))
14 alkorolev
 
04.09.12
12:08
+(13) основная таблица - Справочник.Контрагенты
15 d3N4eGG
 
04.09.12
12:13
Спасибо!
16 ПиН
 
04.09.12
12:17
"в 8.2 КонтактнаяИнформация  - не регистр сведений, а тч объекта" - какая-то 8.2 у вас неправильная
17 d3N4eGG
 
04.09.12
12:19
не дописал название конфигурации( хотел 8.2 унф написать
18 d3N4eGG
 
04.09.12
13:01
Хочу еще кое-что спросить.

А как быть если мне надо две колонки на форме списка - Фиктический адрес и юридический адрес?

Переделал немного, получилось примерно следующее
ВЫБРАТЬ
   СправочникКонтрагенты.Ссылка,
   БЛАБЛАБЛА,
   ВЫБОР
       КОГДА КонтрагентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)
           ТОГДА КонтрагентыКонтактнаяИнформация.Представление
       ИНАЧЕ 0
   КОНЕЦ КАК ФактАдрес,
   ВЫБОР
       КОГДА КонтрагентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента)
           ТОГДА КонтрагентыКонтактнаяИнформация.Представление
       ИНАЧЕ 0
   КОНЕЦ КАК ЮрАдрес
ИЗ
   Справочник.Контрагенты КАК СправочникКонтрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
       ПО СправочникКонтрагенты.Ссылка = КонтрагентыКонтактнаяИнформация.Ссылка
           И (КонтрагентыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))


Пишет, что происходит дублирование ссылок что-то такое, я понимаю, в принципе, из-за чего это происходит :/ но как правильно сделать? =/ Ладно, если бы могло быть Одно поле или юр адрес или факт. А так как они могут оба быть, я не знаю как записать в запросе
19 alkorolev
 
04.09.12
13:05
---
ФактАдрес.Представление КАК АдресФактический,
ЮрАдрес.Представление КАК АдресЮридический
ИЗ
   Справочник.Контрагенты КАК СправочникКонтрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК ФактАдрес
       ПО СправочникКонтрагенты.Ссылка = ФактАдрес.Ссылка
           И (ФактАдрес.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
           И (ФактАдрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента))
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК ЮрАдрес
       ПО СправочникКонтрагенты.Ссылка = ЮрАдрес.Ссылка
           И (ЮрАдрес.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
           И (ЮрАдрес.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента))
20 d3N4eGG
 
04.09.12
13:14
Огромное спасибо! Буду знать :)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс