Имя: Пароль:
1C
1С v8
Изменение запроса
0 frotchn
 
11.04.18
18:25
Добрый день всем. Помогите подправить запрос.

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

Как добавить в запрос еще одну цену? Условно назовем её "Розничная РУБЛИ"
1 Cyberhawk
 
11.04.18
18:28
Добавь еще одно левое соединение
2 frotchn
 
11.04.18
18:30
(1) Так?

Запрос = Новый Запрос("ВЫБРАТЬ
    |    Номенклатура1.НаименованиеПолное,
    |    Номенклатура1.Артикул,
    |    Номенклатура1.Код,
    |    ЦеныНоменклатурыСрезПоследних.Цена,
    |    Номенклатура1.ЕдиницаИзмерения
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура1
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |        ПО Номенклатура1.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |            И (ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = ""Розничная ЕВРО"")
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |        ПО Номенклатура1.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |            И (ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = ""Розничная РУБЛИ"")
    |ГДЕ
    |    НЕ Номенклатура1.ПометкаУдаления
    |    И НЕ Номенклатура1.ЭтоГруппа");
3 frotchn
 
11.04.18
18:37
Что то не то получается, ругается на повторяющийся псевдоним
4 Cyberhawk
 
11.04.18
18:38
Раскинь мозгами еще
5 Джинн
 
11.04.18
18:40
(0) Вот это ЦеныНоменклатурыСрезПоследних.ВидЦены.Наименование = ""Розничная ЕВРО"" явный признак криворукости.
6 frotchn
 
11.04.18
18:44
(5) Да может быть, я вообще в коде не разбираюсь, есть обработка, выгружает таблицу, надо добавить еще один столбец с другой ценой. Если кто знает, помогите плиз
7 Cyberhawk
 
11.04.18
18:45
"надо добавить еще один столбец с другой ценой" //
1. Кому надо?
2. Сколько платят?
8 frotchn
 
11.04.18
18:47
(7) Врядли платят, тут что-то очевидное подправить надо
9 ejikbeznojek
 
11.04.18
18:49
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних2
    |        ПО Номенклатура1.Ссылка = ЦеныНоменклатурыСрезПоследних2.Номенклатура
    |            И (ЦеныНоменклатурыСрезПоследних2.ВидЦены.Наименование = ""Розничная РУБЛИ"")

1 из соединений переделай немного замени ЦеныНоменклатурыСрезПоследних на ЦеныНоменклатурыСрезПоследних2
10 ejikbeznojek
 
11.04.18
18:52
(9) А ещё лучше добавь это 2е соединение в конструкторе запросов, а не руками пиши.
11 Cyberhawk
 
11.04.18
19:01
(8) Безоплатно что ли работаешь? А ты там кем?
12 unregistered
 
11.04.18
19:08
У задачи как минимум 3 варианта решения
1. Два соединения.
2. Одно соединение с использованием ВЫБОР КОГДА ТОГДА.
3. Объединение двух запросов с последующей группировкой.
13 Tateossian
 
11.04.18
20:40
(12) Еще есть вариант - Использовать конструкцию В ("РУБЛИ", "ЕВРО")