Имя: Пароль:
1C
1С v8
Не могу вкурить СКД
0 ejiki
 
10.10.14
12:49
Левым соединением соединяю регистрНакопления.ОстаткиТоваров с РегистрСведений.ЦеныНоменклатуры

Получаю по каждой позиции 2 строки, причина номенклатура в разрезе Измерения (Сорт), 2ва Сорта всего и у Номенклатуры 2ва вида Цен. На выходе получаю:
Номенклатура Сорт1 Цена1
Номенклатура Сорт1 Цена2
Номенклатура Сорт2 Цена1
Номенклатура Сорт2 Цена2

Как и где указать в СКД условие "Если Сорт1 Тогда Цена1 Иначе Если Сорт2 Тогда Цена2" ?? Помогите товарищи разобраться в двух соснах.
1 HEKPOH
 
10.10.14
12:51
в условии соединения
2 shuhard_серый
 
10.10.14
12:51
(0) ну и напиши это в запросе, в чем проблема ?
3 Cube
 
10.10.14
12:51
(0) В связях. Показал бы запрос, ответил бы подробнее.
4 ejiki
 
10.10.14
12:54
(2) Вот ткни пальцем где именно и как правильней? Читал вариант про размещение в отборах но не разобрался еще как.

(3) прошу



ВЫБРАТЬ
    ОстаткиПродукцииОстаткиИОбороты.Номенклатура,
    ОстаткиПродукцииОстаткиИОбороты.Подразделение,
    ОстаткиПродукцииОстаткиИОбороты.Дизайн,
    ОстаткиПродукцииОстаткиИОбороты.Сорт,
    ОстаткиПродукцииОстаткиИОбороты.КоличествоНачальныйОстаток,
    ОстаткиПродукцииОстаткиИОбороты.КоличествоПриход,
    ОстаткиПродукцииОстаткиИОбороты.КоличествоРасход,
    ОстаткиПродукцииОстаткиИОбороты.КоличествоКонечныйОстаток,
    ЦеныНоменклатурыСрезПоследних.Цена,
ИЗ
    РегистрНакопления.ОстаткиПродукции.ОстаткиИОбороты КАК ОстаткиПродукцииОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних
        ПО ОстаткиПродукцииОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    

[\1c]
5 Cube
 
10.10.14
12:59
(4) Как то так:

ВЫБРАТЬ
    ОстаткиПродукцииОстаткиИОбороты.Номенклатура,
    ОстаткиПродукцииОстаткиИОбороты.Подразделение,
    ОстаткиПродукцииОстаткиИОбороты.Дизайн,
    ОстаткиПродукцииОстаткиИОбороты.Сорт,
    ОстаткиПродукцииОстаткиИОбороты.КоличествоНачальныйОстаток,
    ОстаткиПродукцииОстаткиИОбороты.КоличествоПриход,
    ОстаткиПродукцииОстаткиИОбороты.КоличествоРасход,
    ОстаткиПродукцииОстаткиИОбороты.КоличествоКонечныйОстаток,
    ЦеныНоменклатурыСрезПоследних.Цена,
ИЗ
    РегистрНакопления.ОстаткиПродукции.ОстаткиИОбороты КАК ОстаткиПродукцииОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних({(&КонецПериода)}, ) КАК ЦеныНоменклатурыСрезПоследних
        ПО ОстаткиПродукцииОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И (ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен1
                    И ОстаткиПродукцииОстаткиИОбороты.Сорт = &Сорт1
                ИЛИ ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен2
                    И ОстаткиПродукцииОстаткиИОбороты.Сорт = &Сорт2)
6 ejiki
 
10.10.14
13:00
(5) Спасибо большущее сейчас попробую, хотя я уже так пробовал. Видимо что-то упустил..
7 ejiki
 
10.10.14
13:09
Но все же что-то не так, задвоение строк ушло, поле цена пустует. Сейчас покурю эту идейку со всех сторон)) может к чему и приду)) еще раз спасибо за совет!
8 ejiki
 
10.10.14
13:44
Блин, что я делаю не так?! Ну не выводит цену и хоть убейся..
9 vicof
 
10.10.14
13:44
Покажи, как параметры задаешь.
10 ejiki
 
10.10.14
13:50
11 vicof
 
10.10.14
13:52
(10) Ну так они не заданы, вот когда задашь, тогда и цена появится
12 ejiki
 
10.10.14
13:58
(11) Блин, ты кругом прав!!! я затупил жестко!!!