Остатки по неделям

1. kazzuss 7 05.09.18 16:01 Сейчас в теме
Доброго времени суток! Есть задача - отчет по продажам и остаткам в деньгах по неделям. Сделал отчет: если период равен 1-2 недели, то все нормально, но если появляется третья и более "промежуточные недели", то выходят не верные остатки по этим неделям (остатки только по товарам с движениями). Причем за первую и последнюю неделю остатки верные (по товарам без движения в том числе)

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

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


На скрине результат отчета.
В общем, поможИте начинающему ))
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. akim2040 41 06.09.18 07:12 Сейчас в теме
Тут больше интересует не сам запрос, а как роли полей настроены? верно указаны роли начальный/конечный остаток?
Так же не вижу что бы в запросе был регистратор. Для адекватного расчета остатков нужен регистратор и период . и сделать эти поля обязательными.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот