Имя: Пароль:
1C
1С v8
Динамический список и табличная часть
0 MaxKor
 
26.09.18
17:57
Добрый день! Подскажите пожалуйста, возможно ли в запросе выбрать поля из ТЧ документа. ТЧ имеет два реквизита Параметр и Значение. И она состоит из строк, где есть разные параметры и их значения. Можно ли в запросе дин списка выбрать некоторые из этих параметров?
Пример запроса:
ВЫБРАТЬ
    ВЫБОР
        КОГДА ЗапросКотировокПараметрыЗапросаКотировок.Идентификатор = "Марка"
            ТОГДА ЗапросКотировокПараметрыЗапросаКотировок.Значение
        ИНАЧЕ ""
    КОНЕЦ КАК Марка,
    ВЫБОР
        КОГДА ЗапросКотировокПараметрыЗапросаКотировок.Идентификатор = "Модель"
            ТОГДА ЗапросКотировокПараметрыЗапросаКотировок.Значение
        ИНАЧЕ ""
    КОНЕЦ КАК Модель
ИЗ
    Документ.ЗапросКотировок.ПараметрыЗапросаКотировок КАК ЗапросКотировокПараметрыЗапросаКотировок

Он выбирает абсолютно все строки ТЧ, а не только Марка и Модель. Возможно ли как то наложить отбор на это?
Спасибо.
1 Остап Сулейманович
 
26.09.18
18:00
(0) "Возможно ли как то наложить отбор на это?"
Йес. Для этого в языке существует предложение ГДЕ.

Например :
ГДЕ ЗапросКотировокПараметрыЗапросаКотировок.Идентификатор = "Марка" ИЛИ ЗапросКотировокПараметрыЗапросаКотировок.Идентификатор = "Модель"
2 MaxKor
 
26.09.18
18:09
(1) Спасибо. Но в этом случае всё выводится две одинаковые строки в списке. В одной заполнена Марка, в другой Модель. А надо бы чтобы всё этой в одной строке было.
3 Остап Сулейманович
 
26.09.18
18:12
(2) Нифига не понятно. Если в одной заполнена марка (и не заполнена модель), а в другой модель (и не заполнена марка) - это разные строки.
Пож. коротко но внятно о том, что все же нужно получить.
4 Остап Сулейманович
 
26.09.18
18:17
+ (3) Насчет двух строк
У тебя так и написано :
КОГДА Идентификатор = "Марка" ТОГДА выбираем Значение если нет -  пишем ""
КОГДА Идентификатор = "Модель" ТОГДА выбираем Значение если нет -  пишем ""

И никогда не выбирается марка и модель одновременно.
5 Остап Сулейманович
 
26.09.18
18:22
+ (4) Нарисуй пример исходной таблички и правильного результата.
6 Вафель
 
26.09.18
18:23
нужно 2 соединения
7 MaxKor
 
26.09.18
18:47
(5) исходная таблица - тч документа, в ней две строки,1) марка - audi. 2) модель - a3. В форме списка документов хочу увидеть одну строку с колонками, например : дата, марка, модель.
Я знаю, что мой запрос никогда не выберет все в одну строку, поэтому и спросил, можно ли это сделать вообще.
8 dmt
 
26.09.18
19:42
(7) например так

выбрать Максимум(Марка), Максимум(Модель)
из
(
выбрать Т.Значение КАК Марка, NULL КАК Модель
из Т
где Т.Ид = "Марка"

объединить

выбрать NULL КАК Марка, Т.Значение КАК Модель
из Т
где Т.Ид = "Модель"
)