Ситуация такая. Очень много товара продалось в минус и соответственно списание товаров по партиям и запись в регистр накопления ПродажиСебестоимость не произошло.
Для исправления ситуации создал новый отчет - по типу цены. Идея такова - берем все данные с регистра накопления - Продажи, для каждой номенклатуры получаем цену закупки на тот момент времени. ЦенаПродажи - ЦенаЗакупки = Чистая прибыль.
Есть табличная часть Товары с реквизитами - Номенклатура, Количество, СуммаПродажи, Себестоимость, ЧистаяПрибыль.
Вот код запроса:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Продажи.Номенклатура,
| Продажи.Количество,
| Продажи.Стоимость КАК СуммаПродажи,
| ВЫРАЗИТЬ(ЦеныНоменклатурыСрезПоследних.Цена * Продажи.Количество КАК ЧИСЛО(15, 2)) КАК Себестоимость,
| ВЫРАЗИТЬ(Продажи.Стоимость - ЦеныНоменклатурыСрезПоследних.Цена * Продажи.Количество КАК ЧИСЛО(15, 2)) КАК ЧистаяПрибыль
|ИЗ
| РегистрНакопления.Продажи КАК Продажи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
| ПО Продажи.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
|ГДЕ
| Продажи.Период МЕЖДУ &ДатаНач И &ДатаКон
| И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен";
Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач));
Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
Запрос.УстановитьПараметр("ТипЦен", ТипЦеныСебестоимости);
Товары.Загрузить(Запрос.Выполнить().Выгрузить());
Товары.Свернуть("Номенклатура","Количество,СуммаПродажи,Себестоимость,ЧистаяПрибыль");
Проблема в том что себестоимость, т.е. закупочную цену получаем не за тот момент времени когда продавался товар, а просто последнюю цену и естественно часто получаем что закупка больше чем продажа.
Ставил в запросе - ЛЕВОЕ СОЕДИНЕНИЕ - не помогло.
Дописывал
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
| ПО Продажи.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И Продажи.Период = ЦеныНоменклатурыСрезПоследних.Период
Но так вообще ничего не выводит.
Подскажите как правильно сформировать данный запрос. Спасибо.
Сообщение отредактировал Fabri - 22.04.14, 20:27