Имя: Пароль:
1C
1С v8
Возможен ли в языке запросов следующий синтаксис чтоб поле было подзапросом
0 Cerera
 
12.11.13
16:07
Мне вот нужно реализовать нечто подобное:

ВЫБОР
    КОГДА ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору = &Килограмм
        ТОГДА ПродажиОбороты.КоличествоОборот
    ИНАЧЕ
    ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Значение
        ИЗ
            РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ГДЕ
            ЗначенияСвойствОбъектов.Объект = &Объект
        И ЗначенияСвойствОбъектов.Свойство = &Свойство
КОНЕЦ

То есть в зависимости от условия, поле берётся из регистра,либо из результата запроса. Как это можно реализовать?
Я конечно могу отдельную временную таблицу сделать и в ней уже получить результат, а потом соединение сделать, но хочется покрасивее решение.
1 mikecool
 
12.11.13
16:11
нет
2 mikecool
 
12.11.13
16:11
лепи левое соединение
3 Мимохожий Однако
 
12.11.13
16:13
"покрасивее".. в чём критерии красивости?
4 Cerera
 
12.11.13
16:14
(3)ну чтоб отдельную выборку не делать.
5 patapum
 
12.11.13
16:16
(0) а если я вложенный запрос (который после ИНАЧЕ) напишу таким, что он вернет не одну строку?
6 Cerera
 
12.11.13
16:20
(5)ну тогда пусть вешается 1с или SQL сервер. но мне же надо чтоб одно значение вернул только.
7 Sabbath
 
12.11.13
16:22
(4) ты ее все равно собрался делать, только так, как нельзя (0) так нет, но можно не так)
8 kosts
 
12.11.13
16:24
(0) Что будет в твоем поле для сотен строк основного запроса.
Т.е. как твой выбор должен определить по какой например номенклатуре (объект) нужно сделать сравнение?

пусть, (схематично)

Выбрать
ВЫБОР
    КОГДА ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору = &Килограмм
        ТОГДА ПродажиОбороты.КоличествоОборот
    ИНАЧЕ
    ВЫБРАТЬ
    ЗначенияСвойствОбъектов.Значение
        ИЗ
            РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ГДЕ
            ЗначенияСвойствОбъектов.Объект = &Объект
        И ЗначенияСвойствОбъектов.Свойство = &Свойство
КОНЕЦ,
Номенклатура.Наименование

Из
Справочник.Номенклатура как Номенклатура
9 Sabbath
 
12.11.13
16:25
(8) надо выбрать первые 1 ))
10 kosts
 
12.11.13
16:30
(9) Я про отбор
11 mikecool
 
12.11.13
16:36
(8) то же, что и при аналогичном левом соединении, мультиплицирование
12 mikecool
 
12.11.13
16:36
+11 скуль так и работает
13 Cerera
 
12.11.13
16:38
Я понял всё. пошел только ещё одну ветку создават. про другой запрос.
14 mikecool
 
12.11.13
16:47
(13) горшочек, не вари!
15 Cerera
 
12.11.13
17:09
Вот я что сделал
ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.ХарактеристикаНоменклатуры,
    ПродажиОбороты.КоличествоОборот,
    ЗначенияСвойствОбъектов1.Значение КАК Вес,
    ЗначенияСвойствОбъектов.Значение
ИЗ
    РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов1
            ПО ЗначенияСвойствОбъектов.Объект = ЗначенияСвойствОбъектов1.Объект
        ПО ПродажиОбороты.ХарактеристикаНоменклатуры = ЗначенияСвойствОбъектов.Объект
ГДЕ
    ЗначенияСвойствОбъектов.Свойство = &УчестьКоэфф
    И ЗначенияСвойствОбъектов.Значение = Истина
    И ЗначенияСвойствОбъектов1.Свойство = &ВестТЗР
16 azernot
 
12.11.13
17:12
(15) Левое соединение превратил во внутреннее..
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой