Рассчет итогов по конкретным группировкам

1. Cool_vsi 02.12.16 10:47 Сейчас в теме
Делаю отчет, вывожу в следующей группировке
1) Ответственный
2)Организация
3) Номенклатура
4) Характеристика
5) День

в Характеристике необходимо отображать средний остаток по всем дням, в остальных группировках сумму группировок по Характеристике( то среднее значение, а не сумму по дням), все получилось
Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(КоличествоКонечныйОстаток)","ХарактеристикаНоменклатуры))


но в общем итоге выводит средний остаток по организациям а не сумму, в чем проблема подскажите?
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ганс 02.12.16 10:58 Сейчас в теме
"Количество конечный остататок", установите "расчитывать по" нужное правило для Итогов(на вкладке ресурсов), или скинте скрин вкладки ресурсов!
4. Cool_vsi 02.12.16 11:12 Сейчас в теме
(2)
овите "расчитывать по" нужное правило для Итогов(на вкладке ресурсов), или скинте скрин вкладки ресурсов!
если так сделать он в общий итог выводит все сумму, сумму остатка по каждому дню
6. Ганс 02.12.16 11:26 Сейчас в теме
(4) Можно скрин ресурсов?)
Где-то пересчитывает, Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(КоличествоКонечныйОстаток)","ХарактеристикаНоменклатуры)) для итогов установлено? или там установлено для всех полей?
7. Cool_vsi 02.12.16 11:27 Сейчас в теме
(6) Установлено для всего , для всех считает правильно кроме общего итога =(
3. dusha0020 1120 02.12.16 11:00 Сейчас в теме
Создайте еще один ресурс "КоличествоКонечныйОстаток". Для него укажите группировочную функцию СУММА и область расчета "Общий Итог"
5. Cool_vsi 02.12.16 11:18 Сейчас в теме
(3)
если так сделать он в общий итог выводит все сумму, сумму остатка по каждому дню
он посчитает сумму всех строк, а если посчитать сумму остатков по каждому дню получается неправильно
11. dusha0020 1120 02.12.16 11:53 Сейчас в теме
(5) Вы можете вычислить выражение только по нужным группировкам, через просто ВычислитьВыражение. Не нужно зацикливаться на одной функции и на одном способе получить ресурс. Равно как и на одном способе отражения ресурса в группировках. Собственно об этом был мой совет.
Как это приложить конкретно у Вашим данным и Вашим потребностям решайте сами.
12. Cool_vsi 02.12.16 11:55 Сейчас в теме
(11)
(5) Вы можете вычислить выражение только по нужным группировкам, через просто ВычислитьВыражение. Не нужно зацикливаться на одной функции и на одном способе получить ресурс. Равно как и на одном способе отражения ресурса в группировках. Собственно об этом был мой совет.
Как это приложить конкретно у Вашим данным и Вашим потребностям решайте сами.
подскажите пожалуйста как это сделать?
13. Ганс 02.12.16 12:32 Сейчас в теме
(12) Видимо Имеется в виду ВычислитьВыражение("Среднее(КоличествоКонечныйОстаток)", "ХарактеристикаНоменклатуры") ), а потом с этим что-то придумывать, но тут вроде и так всё уже посчитано, просто итог считается странным способом
8. Cool_vsi 02.12.16 11:30 Сейчас в теме
скриншот ресурсов, и итога, почему-то для всех группировок кроме общего итога, правильно считает
Прикрепленные файлы:
9. Ганс 02.12.16 11:49 Сейчас в теме
(8) на скриншоте нет "количествоКонечныйОстаток" расчёта по характеристики... Стоимость рассчитывается нормально или та же история?
Ради эксперемента можно добавить "количествоКонечныйОстаток" с расчётом по общимИтогам с текстом Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(КоличествоКонечныйОстаток)","Организация"))
а так вроде всё должно правильно отрабатывать судя по скрину...
10. Cool_vsi 02.12.16 11:51 Сейчас в теме
(9) Стоимость тоже не правильно считает, самое интересное если убрать организацию то общий итог правильно считает, попробовал
Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(КоличествоКонечныйОстаток)","Организация")) 
он посчитал общий остаток по всем строкам с учетом дней, и получилось неправильно
14. Cool_vsi 02.12.16 13:31 Сейчас в теме
идей не у кого нет как можно решить проблему? (
15. Cool_vsi 09.12.16 11:49 Сейчас в теме
Вот запрос -
ВЫБРАТЬ
	ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
	ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Период,
	СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
	ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
	ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток,
	ПартииТоваровНаСкладахОстаткиИОбороты.Склад
ПОМЕСТИТЬ Остатки
ИЗ
	РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, День, , {(Номенклатура).* КАК Номенклатура}) КАК ПартииТоваровНаСкладахОстаткиИОбороты
{ГДЕ
	ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.*,
	ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.*,
	ПартииТоваровНаСкладахОстаткиИОбороты.Склад.Подразделение.Владелец.* КАК Организация}

СГРУППИРОВАТЬ ПО
	ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
	ПартииТоваровНаСкладахОстаткиИОбороты.Период,
	ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
	ПартииТоваровНаСкладахОстаткиИОбороты.СтоимостьКонечныйОстаток,
	ПартииТоваровНаСкладахОстаткиИОбороты.Склад
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК Период
ПОМЕСТИТЬ Календарь
ИЗ
	РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
	РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &КонецПериода
	И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &НачалоПериода
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Остатки.Номенклатура,
	Календарь.Период КАК ПериодКалендаря,
	Остатки.Период КАК ПериодПоОстатку,
	Остатки.КоличествоКонечныйОстаток,
	Остатки.ХарактеристикаНоменклатуры,
	Остатки.СтоимостьКонечныйОстаток,
	Остатки.Склад
ПОМЕСТИТЬ КалендИОстаткиОбщая
ИЗ
	Календарь КАК Календарь
		ЛЕВОЕ СОЕДИНЕНИЕ Остатки КАК Остатки
		ПО Календарь.Период >= Остатки.Период
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КалендИОстаткиОбщая.Номенклатура,
	КалендИОстаткиОбщая.ПериодКалендаря,
	МАКСИМУМ(КалендИОстаткиОбщая.ПериодПоОстатку) КАК ПериодПоОстатку,
	КалендИОстаткиОбщая.ХарактеристикаНоменклатуры,
	КалендИОстаткиОбщая.Склад
ПОМЕСТИТЬ МаксДатаИзОстатка
ИЗ
	КалендИОстаткиОбщая КАК КалендИОстаткиОбщая

СГРУППИРОВАТЬ ПО
	КалендИОстаткиОбщая.Номенклатура,
	КалендИОстаткиОбщая.ПериодКалендаря,
	КалендИОстаткиОбщая.ХарактеристикаНоменклатуры,
	КалендИОстаткиОбщая.Склад
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	КалендИОстаткиОбщая.Номенклатура,
	КалендИОстаткиОбщая.ПериодКалендаря,
	СУММА(КалендИОстаткиОбщая.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
	КалендИОстаткиОбщая.ХарактеристикаНоменклатуры,
	СУММА(КалендИОстаткиОбщая.СтоимостьКонечныйОстаток) КАК СтоимостьКонечныйОстаток,
	КалендИОстаткиОбщая.Склад.Подразделение.Владелец КАК Организация
ПОМЕСТИТЬ ПодИтогОстатки
ИЗ
	КалендИОстаткиОбщая КАК КалендИОстаткиОбщая
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ МаксДатаИзОстатка КАК МаксДатаИзОстатка
		ПО КалендИОстаткиОбщая.Номенклатура = МаксДатаИзОстатка.Номенклатура
			И КалендИОстаткиОбщая.ПериодКалендаря = МаксДатаИзОстатка.ПериодКалендаря
			И КалендИОстаткиОбщая.ПериодПоОстатку = МаксДатаИзОстатка.ПериодПоОстатку
			И КалендИОстаткиОбщая.ХарактеристикаНоменклатуры = МаксДатаИзОстатка.ХарактеристикаНоменклатуры
			И КалендИОстаткиОбщая.Склад = МаксДатаИзОстатка.Склад

СГРУППИРОВАТЬ ПО
	КалендИОстаткиОбщая.Номенклатура,
	КалендИОстаткиОбщая.ПериодКалендаря,
	КалендИОстаткиОбщая.ХарактеристикаНоменклатуры,
	КалендИОстаткиОбщая.Склад.Подразделение.Владелец
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ПодИтогОстатки.Номенклатура,
	СУММА(ПодИтогОстатки.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
	ПодИтогОстатки.ХарактеристикаНоменклатуры,
	СУММА(ПодИтогОстатки.СтоимостьКонечныйОстаток) КАК СтоимостьКонечныйОстаток,
	ПодИтогОстатки.Организация,
	НАЧАЛОПЕРИОДА(ПодИтогОстатки.ПериодКалендаря, ДЕНЬ) КАК День,
	НАЧАЛОПЕРИОДА(ПодИтогОстатки.ПериодКалендаря, МЕСЯЦ) КАК МЕСЯЦ,
	НАЧАЛОПЕРИОДА(ПодИтогОстатки.ПериодКалендаря, КВАРТАЛ) КАК КВАРТАЛ,
	НАЧАЛОПЕРИОДА(ПодИтогОстатки.ПериодКалендаря, ГОД) КАК ГОД
ПОМЕСТИТЬ ИтогОстатки
ИЗ
	ПодИтогОстатки КАК ПодИтогОстатки
{ГДЕ
	ПодИтогОстатки.Организация.*}

СГРУППИРОВАТЬ ПО
	ПодИтогОстатки.Номенклатура,
	ПодИтогОстатки.ХарактеристикаНоменклатуры,
	ПодИтогОстатки.Организация,
	НАЧАЛОПЕРИОДА(ПодИтогОстатки.ПериодКалендаря, ДЕНЬ),
	НАЧАЛОПЕРИОДА(ПодИтогОстатки.ПериодКалендаря, МЕСЯЦ),
	НАЧАЛОПЕРИОДА(ПодИтогОстатки.ПериодКалендаря, КВАРТАЛ),
	НАЧАЛОПЕРИОДА(ПодИтогОстатки.ПериодКалендаря, ГОД)
;

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

СГРУППИРОВАТЬ ПО
	ПродажиОбороты.Номенклатура,
	ПродажиОбороты.Организация,
	ПродажиОбороты.ХарактеристикаНоменклатуры,
	НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ),
	НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, КВАРТАЛ),
	НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ),
	НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ГОД)
;

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

СГРУППИРОВАТЬ ПО
	ВпТ2.Номенклатура,
	ВпТ2.ХарактеристикаНоменклатуры,
	ВпТ2.Организация,
	ВпТ2.День,
	ВпТ2.Месяц,
	ВпТ2.Год,
	ВпТ2.Квартал
;

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

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ИтогВП.Номенклатура,
	0,
	ИтогВП.ХарактеристикаНоменклатуры,
	0,
	ИтогВП.Организация,
	ИтогВП.День,
	ИтогВП.Месяц,
	ИтогВП.Квартал,
	ИтогВП.Год,
	ИтогВП.СтоимостьПродажи,
	ИтогВП.СебестоимостьПродажи,
	ИтогВП.КоличествоПродажи,
	ИтогВП.ВаловаяПрибыль,
	ИтогВП.СредняяНаценка
ИЗ
	ИтогВП КАК ИтогВП
;

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

СГРУППИРОВАТЬ ПО
	ПОдИтогГЛавный.Номенклатура,
	ПОдИтогГЛавный.КВАРТАЛ,
	ПОдИтогГЛавный.День,
	ПОдИтогГЛавный.ГОД,
	ПОдИтогГЛавный.ХарактеристикаНоменклатуры,
	ПОдИтогГЛавный.МЕСЯЦ,
	ПОдИтогГЛавный.Организация
Показать
16. Cool_vsi 13.12.16 17:53 Сейчас в теме
Методом тыка получилось
Сумма(ВычислитьВыражениеСГруппировкойМассив("Среднее(КоличествоКонечныйОстаток)","Организация, номенклатура, ХарактеристикаНоменклатуры"))
я так понимаю проблема была в том что я не все группировку для расчета указывал.
Теперь новая проблема , если из отчета убрать дни, то он остатки по дням не правильно показывает, можно как -то в скд сделать чтобы поля было обязательно , то есть чтобы скд запрос не упрощал, но при этом данное поле в отчет не рисовалось ?
17. Cool_vsi 13.12.16 18:01 Сейчас в теме
(16) Поставил в скд в колонке роль галку "Обязательное", и заработало, я правильно сделала?
Оставьте свое сообщение

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