Имя: Пароль:
1C
 
В запросе связать ПланВидовХарактеристик и Регистр сведений
0 kIR
 
25.03.16
13:11
Доброго дня!
Заработался и не могу вдуплить:
есть план видов характеристик "свойства договоров". в Договорах,в зависимости от их типа,доступны для заполнения те или иные свойства. Значения этих свойств хранятся в регистре сведений,где измерения Договор и Свойство,а ресурс - значение.
Задача - для все договоров контрагента получить список заполненных и незаполненных свойств,чтобы дозабить то,что незаполнено.

Пробую примерно так:

ВЫБРАТЬ
    СвойстваДоговоров.Ссылка,
    ЗначенияСвойстДоговоров.Договор.Владелец КАК ДоговорВладелец,
    ЗначенияСвойстДоговоров.Договор КАК Договор,
    ЗначенияСвойстДоговоров.Значение как Значение
ИЗ
    РегистрСведений.ЗначенияСвойстДоговоров КАК ЗначенияСвойстДоговоров
        левое СОЕДИНЕНИЕ ПланВидовХарактеристик.СвойстваДоговоров КАК СвойстваДоговоров
        ПО ЗначенияСвойстДоговоров.Свойство = СвойстваДоговоров.Ссылка


Еще кучу вариантов перепробовал - но все равно выводит только те значения,Которые есть в регистре.А как получить те,которых по данному договору нет? например:
Арендатор/ДоговорАренды/СуммаАренды/Null - не получается

Подскажите,где косячу или хотя бы куда копать?
Заранее спасибо
1 NcSteel
 
25.03.16
13:13
Правое соединение
2 kIR
 
25.03.16
13:22
(1) пробовал не помогает
3 kIR
 
25.03.16
13:23
(1) вернее он выводит их,но по 1 разу.то есть в конце списка я получаю 10 записей вида
свойство/null/null/null
4 GenAcid
 
25.03.16
13:27
Полное соединение договоров с ПВХ, потом левое с регистром
5 GenAcid
 
25.03.16
13:29
(4) Точней не соединение, а умножение.
6 kIR
 
25.03.16
13:36
договора напрямую не связаны с ПВХ,разве что по типу....
а что есть умножение?
7 kIR
 
25.03.16
14:03
Да и договора,в принципе,мы можем из регистра спокойно вытаскивать...
8 Nuobu
 
25.03.16
14:17
Выбрать
ДоговораИзРегистра.Договор КАК Договор,
Свойства.ССылка КАК Свойство
Поместить ВТДоговораСвойства
из
(Выбрать Различные
Значения.Договор КАК Договор
из РегистрСведений.ЗначенияСвойстДоговоров КАК Значения) КАК ДоговораИзРегистра,
ПланВидовХарактеристик.СвойстваДоговоров КАК Свойства
;
Выбрать
ДоговораСвойства.Договор КАК Договор,
ДоговораСвойства.Свойство КАК СВойство,
ЗначенияСвойств.Значение КАК Значение
из ВТДоговораСвойства КАК ДоговораСвойства
Левое соединение РегистрСведений.ЗначенияСвойстДоговоров КАК ЗначенияСвойств
ПО ДоговораСвойства.Договор = ЗначенияСвойств.Договор
9 kIR
 
25.03.16
14:25
(8) в значения все равно выводит одно и то же...
https://gyazo.com/7cbc699c6b3bca37185b7f6469f0a54f
хотя чуть подредактиварол,чтобы выбирал только те свойства,которые для данного типа договоров



ВЫБРАТЬ
    ДоговораИзРегистра.Договор КАК Договор,
    Свойства.Ссылка КАК Свойство
ПОМЕСТИТЬ ВТДоговораСвойства
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        Значения.Договор КАК Договор
    ИЗ
        РегистрСведений.ЗначенияСвойстДоговоров КАК Значения) КАК ДоговораИзРегистра
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СвойстваДоговоров КАК Свойства
        ПО ДоговораИзРегистра.Договор.дмВидДоговора = Свойства.ТипыДоговоров.ТипДоговора
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ДоговораСвойства.Договор КАК Договор,
    ДоговораСвойства.Свойство КАК СВойство,
    ЗначенияСвойств.Значение КАК Значение
ИЗ
    ВТДоговораСвойства КАК ДоговораСвойства
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойстДоговоров КАК ЗначенияСвойств
        ПО ДоговораСвойства.Договор = ЗначенияСвойств.Договор
10 Nuobu
 
25.03.16
14:29
(9) Если тебе нужны не только те договора, которые есть в регистре, а вообще все, то

(ВЫБРАТЬ РАЗЛИЧНЫЕ
        Значения.Договор КАК Договор
    ИЗ
        РегистрСведений.ЗначенияСвойстДоговоров КАК Значения) КАК ДоговораИзРегистра

замени на

(ВЫБРАТЬ РАЗЛИЧНЫЕ
        Значения.Договор КАК Договор
    ИЗ
        Справочник.ДоговораКонтрагентов КАК Значения) КАК ДоговораИзРегистра
11 kIR
 
25.03.16
14:33
(10)нес,с договорами то все нормально вроде.а вот значения сами он некорректно выводит...и я не могу поймать ошибку
12 kIR
 
25.03.16
14:36
Допер)
Всем спасибо!


ВЫБРАТЬ
    ДоговораИзРегистра.Договор КАК Договор,
    Свойства.Ссылка КАК Свойство,
    ДоговораИзРегистра.Договор.Владелец
ПОМЕСТИТЬ ВТДоговораСвойства
ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        Значения.Договор КАК Договор
    ИЗ
        РегистрСведений.ЗначенияСвойстДоговоров КАК Значения) КАК ДоговораИзРегистра
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.СвойстваДоговоров КАК Свойства
        ПО ДоговораИзРегистра.Договор.дмВидДоговора = Свойства.ТипыДоговоров.ТипДоговора
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ДоговораСвойства.Договор КАК Договор,
    ДоговораСвойства.Свойство КАК СВойство,
    ЗначенияСвойств.Значение КАК Значение,
    ДоговораСвойства.ДоговорВладелец КАК ДоговорВладелец
ИЗ
    ВТДоговораСвойства КАК ДоговораСвойства
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойстДоговоров КАК ЗначенияСвойств
        ПО ДоговораСвойства.Договор = ЗначенияСвойств.Договор
            И ДоговораСвойства.Свойство = ЗначенияСвойств.Свойство

УПОРЯДОЧИТЬ ПО
    ДоговорВладелец,
    Договор