helpf.pro
Регистрация

v8: Получить цену номенклатуры

ElenaT
08.12.2016 16:06Прочитано: 4697

Как в запросе получить цену номенклатуры с характеристиками по остаткам товаров на складах. В РС Цены номенклатуры часть ном-ры имеет цену с учетом характеристики, а часть только  цену номенклатуры без характеристики.

Yandex
Возможно, вас также заинтересует
Реклама на портале
ElenaT
08.12.2016 17:04Ответ № 1
Вопрос закрыт!
ElenaT
08.12.2016 17:36Ответ № 2
ElenaT
08.12.2016 17:39Ответ № 3

ВЫБРАТЬ

ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,

ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,

ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,

ЦеныНоменклатурыСрезПоследних.Цена,

ВЫРАЗИТЬ(ТоварыНаСкладахОстатки.КоличествоОстаток * ЦеныНоменклатурыСрезПоследних.Цена КАК ЧИСЛО(15, 2)) КАК Сумма,

ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры1

ИЗ

РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, Номенклатура =Номенклатура) КАК ТоварыНаСкладахОстатки

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен =ТипЦен) КАК ЦеныНоменклатурыСрезПоследних

ПО (ВЫБОР

КОГДА ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)

ТОГДА ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

И ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)

ИНАЧЕ ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры

КОНЕЦ)

УПОРЯДОЧИТЬ ПО

ТоварыНаСкладахОстатки.Номенклатура.Наименование

ИТОГИ

СУММА(Сумма)

ПО

Номенклатура

Запрос все равно возвращает 2 строки для номенклатуры в остатках с характеристикой, по которой есть цена в РС, а надо, чтобы всегда была одна строка.

ElenaT
10.12.2016 11:38Ответ № 4

Осенило, если кому понадобится:

ВЫБРАТЬ

ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,

ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,

ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток,

ЦеныНоменклатурыСрезПоследних.Цена КАК Цена

ПОМЕСТИТЬ ЦеныБезХарактристики

ИЗ

РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, ) КАК ТоварыНаСкладахОстатки

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен =ТипЦен) КАК ЦеныНоменклатурыСрезПоследних

ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

И (ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))

;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ

ЦеныБезХарактристики.Номенклатура КАК Номенклатура,

ЦеныБезХарактристики.ХарактеристикаНоменклатуры,

ЦеныБезХарактристики.КоличествоОстаток,

ВЫБОР

КОГДА ЦеныБезХарактристики.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры

ТОГДА ЦеныНоменклатурыСрезПоследних.Цена

ИНАЧЕ ЦеныБезХарактристики.Цена

КОНЕЦ КАК Цена

ИЗ

ЦеныБезХарактристики КАК ЦеныБезХарактристики

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен =ТипЦен) КАК ЦеныНоменклатурыСрезПоследних

ПО ЦеныБезХарактристики.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура

И ЦеныБезХарактристики.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры

УПОРЯДОЧИТЬ ПО

ЦеныБезХарактристики.Номенклатура.Наименование

ИТОГИ ПО

Номенклатура ИЕРАРХИЯ

Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.