Имя: Пароль:
1C
1С v8
Установить значение характеристики по умолчанию
0 tochki
 
05.01.17
08:45
Здравствуйте!
Есть база, где характеристики и карточки заводятся как попало менеджерами. Необходимо высчитать цену себестоимости для товара, у которого в отчете о розничных продажах указана характеристика, по которой нет цены себестоимости.

Мой запрос:
ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.ХарактеристикаНоменклатуры,
    ЦеныНоменклатурыСрезПоследних.Цена,
    ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры1
ИЗ
    РегистрНакопления.Продажи.Обороты(
            &НачалоПериода,
            &КонецПериода,
            Регистратор,
            Номенклатура В ИЕРАРХИИ (&Номенклатура)
                И Подразделение = &Подразделение) КАК ПродажиОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НачалоПериода, ) КАК ЦеныНоменклатурыСрезПоследних
        ПО ПродажиОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
            И (ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен)
            И (ВЫБОР
                КОГДА ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры <> ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
                    ТОГДА ПродажиОбороты.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
                ИНАЧЕ ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
            КОНЕЦ)

Затруднение вызывает последнее условие Выбор. Вместо:
----------
Характеристика номенклатуры    Характеристика номенклатуры1    Количество оборот    Цена
Характеристика 3    Нестандарт 3    2,912    60,00
получаю лишнюю строку, которой по моей задумке быть не должно:
Характеристика 3        2,912    60,00
Характеристика 3    Нестандарт 3    2,912    60,00
----------
Как быть?
1 Cool_Profi
 
05.01.17
08:54
ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = &НужнаяХарактеристика
2 tochki
 
05.01.17
08:59
(1) В параметре передавать характеристику из отчета от розничных продажах? Разве это не оно:
ПродажиОбороты.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры
3 Мимохожий Однако
 
05.01.17
09:19
(0)При переборе игнорируй эту строку, если не получается нужный запрос подобрать.
4 tochki
 
05.01.17
09:24
Видимо придется так и сделать - перебором, без запроса. Пока что это оптимальное решение, но я на досуге буду биться над решением этой задачи путем запроса.