Помогите рассчитать маржу

1. user1015647 02.05.19 15:21 Сейчас в теме
ЕСТЬNULL(МАРЖА ,0)-ЕСТЬNULL(МАРЖА ,14)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alxarz 32 02.05.19 15:37 Сейчас в теме
(1)
рассчитать отклонение от маржи за 2 периода?
за 2 периода, т.е. в сумме или в процентах?
5. user1015647 02.05.19 20:09 Сейчас в теме
(2)за два периода в сумме. ЕстьNULL(Маржа,0) -ЕстьNULL(Маржа1,0) = Отклонение от марже. Но я не могу добавить в запрос маржу1
3. tusv 212 02.05.19 15:46 Сейчас в теме
(1) Вы делаете запрос к физическим таблицами регистров накоплений. Может быть проще к виртуальными таблицами Обороты с группировкой по месяцам
6. user1015647 03.05.19 09:13 Сейчас в теме
(3)мне нужно сравнить по годам .Пример Период1 28.02.2018 Период2 28.02.2019
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахБухгалтерскийУчет.Период, МЕСЯЦ) КАК Поле1,
	ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
	ВЫБОР
		КОГДА ТИПЗНАЧЕНИЯ(ПартииТоваровНаСкладахБухгалтерскийУчет.Регистратор) = ТИП(Документ.РасчетСебестоимостиВыпуска)
			ТОГДА ПартииТоваровНаСкладахБухгалтерскийУчет.ДокументДвижения
		ИНАЧЕ ПартииТоваровНаСкладахБухгалтерскийУчет.Регистратор
	КОНЕЦ КАК ТипДокумента,
	СУММА(ПартииТоваровНаСкладахБухгалтерскийУчет.Количество) КАК Количество,
	СУММА(ПартииТоваровНаСкладахБухгалтерскийУчет.Стоимость) КАК Стоимость,
	ПартииТоваровНаСкладахБухгалтерскийУчет.НомерСтрокиСписанныхТоваров,
	ПартииТоваровНаСкладахБухгалтерскийУчет.Склад
ПОМЕСТИТЬ ВТ_Себестоимость
ИЗ
	РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет
ГДЕ
	(ГОД(ПартииТоваровНаСкладахБухгалтерскийУчет.Период) = ГОД(ДОБАВИТЬКДАТЕ(&ДатаНачало, ГОД, -1))
			ИЛИ ГОД(ПартииТоваровНаСкладахБухгалтерскийУчет.Период) = ГОД(&ДатаНачало))
	И МЕСЯЦ(ПартииТоваровНаСкладахБухгалтерскийУчет.Период) = МЕСЯЦ(&ДатаНачало)

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ) КАК Период,
	Продажи.Регистратор,
	ВТ_Себестоимость.ТипДокумента,
	Продажи.НомерСтроки,
	Продажи.Номенклатура КАК Номенклатура,
	Продажи.Количество,
	ВЫРАЗИТЬ(Продажи.Стоимость КАК ЧИСЛО(15, 2)) КАК Стоимость,
	Продажи.СтоимостьБезСкидок - Продажи.НДС КАК РеализацияБезНДС,
	ВЫРАЗИТЬ(Продажи.НДС КАК ЧИСЛО(15, 2)) КАК НДС,
	Продажи.Акциз,
	ВЫРАЗИТЬ(Продажи.СтоимостьБезСкидок КАК ЧИСЛО(15, 2)) КАК СтоимостьБезСкидок,
	ВЫРАЗИТЬ(ВТ_Себестоимость.Стоимость КАК ЧИСЛО(15, 2)) КАК Себестоимость,
	Продажи.СтоимостьБезСкидок - Продажи.НДС - ВТ_Себестоимость.Стоимость - ВТ_Себестоимость.Стоимость / 100 КАК КоэфНаценки,
	ВЫРАЗИТЬ(Продажи.СтоимостьБезСкидок - Продажи.НДС - ВТ_Себестоимость.Стоимость КАК ЧИСЛО(15, 2)) КАК Маржа
ИЗ
	РегистрНакопления.Продажи КАК Продажи
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Себестоимость КАК ВТ_Себестоимость
		ПО Продажи.Номенклатура = ВТ_Себестоимость.Номенклатура
			И Продажи.Регистратор = ВТ_Себестоимость.ТипДокумента
			И Продажи.НомерСтроки = ВТ_Себестоимость.НомерСтрокиСписанныхТоваров
ГДЕ
	(ГОД(Продажи.Период) = ГОД(ДОБАВИТЬКДАТЕ(&ДатаНачало, ГОД, -1))
			ИЛИ ГОД(Продажи.Период) = ГОД(&ДатаНачало))
	И МЕСЯЦ(Продажи.Период) = МЕСЯЦ(&ДатаНачало)
	И ДЕНЬ(Продажи.Период) = ДЕНЬ(&ДатаНачало)

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

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


Здесь мне нужно еще Период2 . как ее получить или добавить ,вот в чем вопрос
7. tusv 212 05.05.19 09:16 Сейчас в теме
(6)Честно 4 года с УПП не работал. Забыл уже. По простому ,без подводных камней Когда Документы реализации формируют движение по продажам и себестоимости и в другие документы смотреть не нужно.
1. Получаем ВТ с маржой сразу за текущий и сравниваемый период(В Где Период = 01.02.2018 и 01,02,2019), соединив ПартииТоваровНаСкладахБухгалтерскийУчет и Продажи по регистратору и товару. Группируем по товару и периоду вида 01.02.2019 и 01.02.2018
2.В результирующем запросе выбираем записи из Вт с маржой по текущему периоду(Где Текущий.Период = 01.02.2019) и соединяем её же за сравниваемый период(ПО Прошлый.Период = 01.02.2018)
4. tusv 212 02.05.19 15:57 Сейчас в теме
Или все же ставить условие на вид движения, ГДЕ ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
Оставьте свое сообщение

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