СКД посчитать соотношение

1. user594489_reif2 22.02.21 23:26 Сейчас в теме
Как посчитать соотношения одного материала к другому в скд?

К примеру у меня есть 3 материала и 3 их количества 100 200 300. Надо посчитать с каким соотношением тратится материал.
может быть 300+300 и тогда надо уже с 600 считать. Это через вычислительное поле делается? Может кто пример такой видел?
Найденные решения
3. PerlAmutor 124 23.02.21 08:58 Сейчас в теме
Если средствами СКД не получится решить, то можно так попробовать:

ВЫБРАТЬ
ВЫБРАТЬ
	"М1" КАК Материал,
	100 КАК КолВо
ПОМЕСТИТЬ ВтДанные

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

ВЫБРАТЬ
	"М2",
	200

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

ВЫБРАТЬ
	"М3",
	300

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

ВЫБРАТЬ
	"М2",
	300
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Т1.Материал КАК Материал,
	ВЫБОР
		КОГДА Т2.ОбщееКолВо <> 0
			ТОГДА СУММА(Т1.КолВо) / Т2.ОбщееКолВо
		ИНАЧЕ 0
	КОНЕЦ КАК КоэФФ
ПОМЕСТИТЬ ВтКоэффициенты
ИЗ
	ВтДанные КАК Т1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			СУММА(Т.КолВо) КАК ОбщееКолВо
		ИЗ
			ВтДанные КАК Т) КАК Т2
		ПО (ИСТИНА)

СГРУППИРОВАТЬ ПО
	Т2.ОбщееКолВо,
	Т1.Материал
Показать


Если надо не общее соотношение, а соотношение каждого материала друг к другу, то еще такой запрос добавить:

ВЫБРАТЬ
	Т1.Материал М1,
	Т2.Материал М2,
	Т1.Коэфф М1Коэфф,
	Т2.Коэфф М2Коэфф,
	ВЫБОР КОГДА Т2.Коэфф <> 0 ТОГДА
		Т1.Коэфф / Т2.Коэфф
	ИНАЧЕ
		0
	КОНЕЦ КАК Соотн
ИЗ
	ВтКоэффициенты КАК Т1
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКоэффициенты КАК Т2 ПО Т1.Материал <> Т2.Материал
УПОРЯДОЧИТЬ ПО
	Т1.Материал, Т2.Материал
Показать

Тут видно будет насколько частей один материал отличается от другого
Прикрепленные файлы:
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. alxarz 32 23.02.21 08:17 Сейчас в теме
(1) есть служебные поля у ресурсов при добавлении в выбранных полях - процент в группе, общий в иерархии, посмотри их, может подойдут
3. PerlAmutor 124 23.02.21 08:58 Сейчас в теме
Если средствами СКД не получится решить, то можно так попробовать:

ВЫБРАТЬ
ВЫБРАТЬ
	"М1" КАК Материал,
	100 КАК КолВо
ПОМЕСТИТЬ ВтДанные

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

ВЫБРАТЬ
	"М2",
	200

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

ВЫБРАТЬ
	"М3",
	300

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

ВЫБРАТЬ
	"М2",
	300
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Т1.Материал КАК Материал,
	ВЫБОР
		КОГДА Т2.ОбщееКолВо <> 0
			ТОГДА СУММА(Т1.КолВо) / Т2.ОбщееКолВо
		ИНАЧЕ 0
	КОНЕЦ КАК КоэФФ
ПОМЕСТИТЬ ВтКоэффициенты
ИЗ
	ВтДанные КАК Т1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			СУММА(Т.КолВо) КАК ОбщееКолВо
		ИЗ
			ВтДанные КАК Т) КАК Т2
		ПО (ИСТИНА)

СГРУППИРОВАТЬ ПО
	Т2.ОбщееКолВо,
	Т1.Материал
Показать


Если надо не общее соотношение, а соотношение каждого материала друг к другу, то еще такой запрос добавить:

ВЫБРАТЬ
	Т1.Материал М1,
	Т2.Материал М2,
	Т1.Коэфф М1Коэфф,
	Т2.Коэфф М2Коэфф,
	ВЫБОР КОГДА Т2.Коэфф <> 0 ТОГДА
		Т1.Коэфф / Т2.Коэфф
	ИНАЧЕ
		0
	КОНЕЦ КАК Соотн
ИЗ
	ВтКоэффициенты КАК Т1
	ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВтКоэффициенты КАК Т2 ПО Т1.Материал <> Т2.Материал
УПОРЯДОЧИТЬ ПО
	Т1.Материал, Т2.Материал
Показать

Тут видно будет насколько частей один материал отличается от другого
Прикрепленные файлы:
4. user594489_reif2 23.02.21 15:33 Сейчас в теме
Оставьте свое сообщение
Вопросы с вознаграждением