Имя: Пароль:
1C
1С v8
Запрос. Вывести в две колонки значения дополнительных реквизитов
0 Мимохожий Однако
 
19.10.11
09:41
Конфигурация БП2.0. В справочнике "Контрагенты" добавлено 2 дополнительных реквизита. Требуется вывести список контрагентов с двумя колонками значений этих реквизитов. Попытался вывести следующим запросом.
.
ВЫБРАТЬ
   Значения1.Значение КАК Значение1Свойства,
   Значения2.Значение КАК Значение2Свойства,
   Контрагенты.Ссылка КАК Контрагент
ИЗ
   Справочник.Контрагенты КАК Контрагенты
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Значения1
       ПО Контрагенты.Ссылка = Значения1.Объект
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Значения2
       ПО Контрагенты.Ссылка = Значения2.Объект
ГДЕ
   (Значения1.Свойство = &Свойство1
           ИЛИ Значения2.Свойство = &Свойство2)

СГРУППИРОВАТЬ ПО
   Контрагенты.Ссылка,
   Значения1.Значение,
   Значения2.Значение
..
Но в  результате каждое значение попадает в обе колонки. Как вывести в  нужную колонку только то значение,которое соответствует выбранному дополнительному реквизиту?
1 ZanderZ
 
19.10.11
09:43
объединить
2 Мимохожий Однако
 
19.10.11
10:04
Сделал объединение. Теперь клюв увяз :). Не удается вывести в одной строке значения для одной организации.
ВЫБРАТЬ
   Табл1.Объект КАК Объект,
   Табл1.Значение КАК Знач1,
   0 КАК Знач2
ИЗ
   РегистрСведений.ЗначенияСвойствОбъектов КАК Табл1
ГДЕ
   Табл1.Свойство = &ВыбСвойство1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
   Табл2.Объект,
   0,
   Табл2.Значение
ИЗ
   РегистрСведений.ЗначенияСвойствОбъектов КАК Табл2
ГДЕ
   Табл2.Свойство = &ВыбСвойство2
3 ZanderZ
 
19.10.11
10:06
во временную или вложенную таблицу и группируй
4 Программисточка
 
19.10.11
10:24
В условие к внутреннему соединению добавить Значения1.Свойство = &Свойство1
Чтобы было:
ПО Контрагенты.Ссылка = Значения1.Объект и Значения1.Свойство = &Свойство1
из ГДЕ условие вообще убрать
5 Мимохожий Однако
 
19.10.11
10:41
Удалось вывести список всех контрагентов с нужными колонками. Как убрать тех контрагентов, у которых нет ни одного заполненного значения дополнительного реквизита?
ВЫБРАТЬ
   Значения1.Значение КАК Значение1Свойства,
   Значения2.Значение КАК Значение2Свойства,
   Контрагенты.Ссылка КАК Контрагент
ИЗ
   Справочник.Контрагенты КАК Контрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Значения1
       ПО (Значения1.Свойство = &Свойство1)
           И Контрагенты.Ссылка = Значения1.Объект
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Значения2
       ПО (Значения2.Свойство = &Свойство2)
           И Контрагенты.Ссылка = Значения2.Объект
6 Программисточка
 
19.10.11
10:42
ВНУТРЕННЕЕ СОЕДИНЕНИЕ вернуть
7 Мимохожий Однако
 
19.10.11
22:00
Вот так получилось. Спасибо за помощь.
.
ВЫБРАТЬ
   Контрагенты.Ссылка КАК Контрагент,
   Значения1.Значение КАК Значение1Свойства,
   Значения2.Значение КАК Значение2Свойства
ИЗ
   Справочник.Контрагенты КАК Контрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Значения1
       ПО (Значения1.Свойство = &Свойство1)
           И Контрагенты.Ссылка = Значения1.Объект
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Значения2
       ПО (Значения2.Свойство = &Свойство2)
           И Контрагенты.Ссылка = Значения2.Объект
ГДЕ
   ((НЕ Значения1.Значение = НЕОПРЕДЕЛЕНО)
           ИЛИ (НЕ Значения2.Значение = НЕОПРЕДЕЛЕНО))