Сумма в отчете

1. user1008893 15.10.18 15:28 Сейчас в теме
Ребят,уже неделю с этим мучаюсь. Может кто поможет? Не выводится сумма.
мТекстЗапроса = "ВЫБРАТЬ
	                |	СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
	                |	СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
	                |	СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
	                |	ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ТипЦен, &ТипЦен) КАК типЦен,
	                |	ВЫБОР
	                |		КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) = 0
	                |			ТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних1.Цена, 0)
	                |		ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)
	                |	КОНЕЦ КАК Цена
	                |ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
	                |ИЗ
	                |	РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
	                |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
	                |				&ДатаКон,
	                |				ТипЦен = &ТипЦен
	                |					И ВариантИсполнения <> ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка)) КАК ЦеныНоменклатурыСрезПоследних
	                |		ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
	                |			И СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
	                |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
	                |				&ДатаКон,
	                |				ТипЦен = &ТипЦен
	                |					И ВариантИсполнения = ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка)) КАК ЦеныНоменклатурыСрезПоследних1
	                |		ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних1.Номенклатура
	                |ГДЕ
	                |	ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
	                |	И ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка)
	                |
	                |ИНДЕКСИРОВАТЬ ПО
	                |	Фирма,
	                |	Номенклатура,
	                |	ВариантИсполнения
	                |;
	                |
	                |////////////////////////////////////////////////////////////­////////////////////
	                |ВЫБРАТЬ
	                |	ТаблОстаткиИОбороты.Филиал,
	                |	ТаблОстаткиИОбороты.Фирма,
	                |	ТаблОстаткиИОбороты.Склад,
	                |	ТаблОстаткиИОбороты.Номенклатура,
	                |	ТаблОстаткиИОбороты.ВариантИсполнения,
	                |	ТаблОстаткиИОбороты.КПриемкеОТК,
	                |	СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоНачальныйОстаток,
	                |	СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоКонечныйОстаток,
	                |	СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоПриход,
	                |	СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоРасход,
	                |	СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
	                |	СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
	                |	СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
	                |	СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
	                |	СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
	                |	СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
	                |	СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
	                |	СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
	                |	ТаблОстаткиИОбороты.Вес,
	                |	ТаблОстаткиИОбороты.Объем,
	                |	ТаблОстаткиИОбороты.Коэффициент,
	                |	ТаблОстаткиИОбороты.Период,
	                |	ТаблОстаткиИОбороты.Регистратор,
	                |	СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаНачальныйОстаток,
	                |	СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаКонечныйОстаток,
	                |	СУММА(ТаблОстаткиИОбороты.КолПриход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаПриход,
	                |	СУММА(ТаблОстаткиИОбороты.КолРасход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаРасход
	                |{ВЫБРАТЬ
	                |	Филиал.*,
	                |	Фирма.*,
	                |	Склад.*,
	                |	Номенклатура.*,
	                |	ВариантИсполнения.*,
	                |	КПриемкеОТК,
	                |	ВесНачальныйОстаток,
	                |	ВесКонечныйОстаток,
	                |	ВесПриход,
	                |	ВесРасход,
	                |	ОбъемНачальныйОстаток,
	                |	ОбъемКонечныйОстаток,
	                |	ОбъемПриход,
	                |	ОбъемРасход,
	                |	Вес,
	                |	Объем,
	                |	Коэффициент,
	                |	Период,
	                |	Регистратор.*,
	                |	КоличествоНачальныйОстаток,
	                |	КоличествоКонечныйОстаток,
	                |	КоличествоПриход,
	                |	КоличествоРасход,
	                |	ТаблОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.* КАК ЕдИзм,
	                |	ТаблОстаткиИОбороты.ПериодДень,
	                |	ТаблОстаткиИОбороты.ПериодНеделя,
	                |	ТаблОстаткиИОбороты.ПериодДекада,
	                |	ТаблОстаткиИОбороты.ПериодМесяц,
	                |	ТаблОстаткиИОбороты.ПериодКвартал,
	                |	ТаблОстаткиИОбороты.ПериодПолугодие,
	                |	ТаблОстаткиИОбороты.ПериодГод,
	                |	СуммаНачальныйОстаток,
	                |	СуммаКонечныйОстаток,
	                |	СуммаПриход,
	                |	СуммаРасход}
	                |ИЗ
	                |	(ВЫБРАТЬ
	                |		ОстаткиТМЦОстаткиИОбороты.Филиал КАК Филиал,
	                |		ОстаткиТМЦОстаткиИОбороты.Фирма КАК Фирма,
	                |		ОстаткиТМЦОстаткиИОбороты.Склад КАК Склад,
	                |		ОстаткиТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
	                |		ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
	                |		ОстаткиТМЦОстаткиИОбороты.КПриемкеОТК КАК КПриемкеОТК,
	                |		ОстаткиТМЦОстаткиИОбороты.КолНачальныйОстаток КАК КолНачальныйОстаток,
	                |		ОстаткиТМЦОстаткиИОбороты.КолКонечныйОстаток КАК КолКонечныйОстаток,
	                |		ОстаткиТМЦОстаткиИОбороты.КолПриход КАК КолПриход,
	                |		ОстаткиТМЦОстаткиИОбороты.КолРасход КАК КолРасход,
	                |		ВЫБОР
	                |			КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес = 0
	                |				ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Вес
	                |			ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес
	                |		КОНЕЦ КАК Вес,
	                |		ВЫБОР
	                |			КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем = 0
	                |				ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Объем
	                |			ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем
	                |		КОНЕЦ КАК Объем,
	                |		ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.Коэффициент КАК Коэффициент,
	                |		ОстаткиТМЦОстаткиИОбороты.Период КАК Период,
	                |		НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ДЕНЬ) КАК ПериодДень,
	                |		НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, НЕДЕЛЯ) КАК ПериодНеделя,
	                |		НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ДЕКАДА) КАК ПериодДекада,
	                |		НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
	                |		НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, КВАРТАЛ) КАК ПериодКвартал,
	                |		НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
	                |		НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ГОД) КАК ПериодГод,
	                |		ОстаткиТМЦОстаткиИОбороты.Регистратор КАК Регистратор
	                |	ИЗ
	                |		РегистрНакопления.ОстаткиТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(Филиал).*, (Фирма).*, (Склад).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК ОстаткиТМЦОстаткиИОбороты
	                |	{ГДЕ
	                |		ОстаткиТМЦОстаткиИОбороты.Филиал.*,
	                |		ОстаткиТМЦОстаткиИОбороты.Фирма.*,
	                |		ОстаткиТМЦОстаткиИОбороты.Склад.*,
	                |		ОстаткиТМЦОстаткиИОбороты.Номенклатура.*,
	                |		ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.*,
	                |		ОстаткиТМЦОстаткиИОбороты.КПриемкеОТК,
	                |		(ВЫБОР
	                |				КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес = 0
	                |					ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Вес
	                |				ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес
	                |			КОНЕЦ) КАК Вес,
	                |		(ВЫБОР
	                |				КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем = 0
	                |					ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Объем
	                |				ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем
	                |			КОНЕЦ) КАК Объем,
	                |		ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.Коэффициент КАК Коэффициент,
	                |		ОстаткиТМЦОстаткиИОбороты.Регистратор.*,
	                |		ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.* КАК ЕдИзм}) КАК ТаблОстаткиИОбороты
	                |		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьТМЦ КАК ВТ_СтоимостьТМЦ
	                |		ПО ТаблОстаткиИОбороты.ВариантИсполнения = ВТ_СтоимостьТМЦ.ВариантИсполнения
	                |			И ТаблОстаткиИОбороты.Номенклатура = ВТ_СтоимостьТМЦ.Номенклатура
	                |			И ТаблОстаткиИОбороты.Фирма = ВТ_СтоимостьТМЦ.Фирма
	                |{ГДЕ
	                |	(СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоНачальныйОстаток,
	                |	(СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоКонечныйОстаток,
	                |	(СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоПриход,
	                |	(СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоРасход,
	                |	(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
	                |	(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
	                |	(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
	                |	(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
	                |	(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
	                |	(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
	                |	(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
	                |	(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
	                |	(СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ВТ_СтоимостьТМЦ.Цена)) КАК СуммаНачальныйОстаток,
	                |	(СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток * ВТ_СтоимостьТМЦ.Цена)) КАК СуммаКонечныйОстаток,
	                |	(СУММА(ТаблОстаткиИОбороты.КолПриход * ВТ_СтоимостьТМЦ.Цена)) КАК СуммаПриход,
	                |	(СУММА(ТаблОстаткиИОбороты.КолРасход * ВТ_СтоимостьТМЦ.Цена)) КАК СуммаРасход}
	                |
	                |СГРУППИРОВАТЬ ПО
	                |	ТаблОстаткиИОбороты.Филиал,
	                |	ТаблОстаткиИОбороты.Фирма,
	                |	ТаблОстаткиИОбороты.Склад,
	                |	ТаблОстаткиИОбороты.Период,
	                |	ТаблОстаткиИОбороты.Регистратор,
	                |	ТаблОстаткиИОбороты.Номенклатура,
	                |	ТаблОстаткиИОбороты.ВариантИсполнения,
	                |	ТаблОстаткиИОбороты.КПриемкеОТК,
	                |	ТаблОстаткиИОбороты.Вес,
	                |	ТаблОстаткиИОбороты.Объем,
	                |	ТаблОстаткиИОбороты.Коэффициент
	                |{УПОРЯДОЧИТЬ ПО
	                |	Филиал.*,
	                |	Фирма.*,
	                |	Склад.*,
	                |	Номенклатура.*,
	                |	ВариантИсполнения.*,
	                |	КПриемкеОТК,
	                |	Вес,
	                |	Объем,
	                |	Период,
	                |	Регистратор.*,
	                |	ТаблОстаткиИОбороты.ПериодДень,
	                |	ТаблОстаткиИОбороты.ПериодНеделя,
	                |	ТаблОстаткиИОбороты.ПериодДекада,
	                |	ТаблОстаткиИОбороты.ПериодМесяц,
	                |	ТаблОстаткиИОбороты.ПериодКвартал,
	                |	ТаблОстаткиИОбороты.ПериодПолугодие,
	                |	ТаблОстаткиИОбороты.ПериодГод}
	                |ИТОГИ
	                |	СУММА(КоличествоНачальныйОстаток),
	                |	СУММА(КоличествоКонечныйОстаток),
	                |	СУММА(КоличествоПриход),
	                |	СУММА(КоличествоРасход),
	                |	СУММА(ВесНачальныйОстаток),
	                |	СУММА(ВесКонечныйОстаток),
	                |	СУММА(ВесПриход),
	                |	СУММА(ВесРасход),
	                |	СУММА(ОбъемНачальныйОстаток),
	                |	СУММА(ОбъемКонечныйОстаток),
	                |	СУММА(ОбъемПриход),
	                |	СУММА(ОбъемРасход),
	                |	СУММА(СуммаНачальныйОстаток),
	                |	СУММА(СуммаКонечныйОстаток),
	                |	СУММА(СуммаПриход),
	                |	СУММА(СуммаРасход)
	                |ПО
	                |	ОБЩИЕ
	                |{ИТОГИ ПО
	                |	Филиал.*,
	                |	Фирма.*,
	                |	Склад.*,
	                |	Номенклатура.*,
	                |	ВариантИсполнения.*,
	                |	КПриемкеОТК,
	                |	Период,
	                |	Регистратор.*,
	                |	ТаблОстаткиИОбороты.ПериодДень,
	                |	ТаблОстаткиИОбороты.ПериодНеделя,
	                |	ТаблОстаткиИОбороты.ПериодДекада,
	                |	ТаблОстаткиИОбороты.ПериодМесяц,
	                |	ТаблОстаткиИОбороты.ПериодКвартал,
	                |	ТаблОстаткиИОбороты.ПериодПолугодие,
	                |	ТаблОстаткиИОбороты.ПериодГод}"
Показать
Прикрепленные файлы:
ОстаткиТМЦ1.erf
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
118. bmk74 234 17.10.18 12:18 Сейчас в теме +1 $m
(100)
Я же вам написал как надо делать, и про задвоение написал в 40 посту...
Примерно то что ван надо...
ВЫБРАТЬ
                    |    СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
                    |    СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
                    |    СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
                    |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ТипЦен, &ТипЦен) КАК типЦен,
                   |   СУММА( ВЫБОР
                    |        КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
                    |            ТОГДА 0
                    |      КОГДА ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения ТОГДА 
                    |         ЦеныНоменклатурыСрезПоследних.Цена
                    |       ИНАЧЕ 0
                    |      КОНЕЦ) как ЦенаОсновная
                    |   СУММА( ВЫБОР
                    |        КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
                    |            ТОГДА 0
                    |      КОГДА ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка) ТОГДА
                    | ЦеныНоменклатурыСрезПоследних.Цена
                    |        ИНАЧЕ 0
                    |    КОНЕЦ КАК )Цена_Пустая
                    |ПОМЕСТИТЬ ВТ_ЦеныТМЧ
                    |ИЗ
                    |    РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
                    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
                    |        ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
                    |            И (СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
                    |                ИЛИ ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка))
                    |
                    | СГРУППИРОВАТЬ ПО
                    |    СтоимостьТМЦОстаткиИОбороты.Фирма ,
                    |    СтоимостьТМЦОстаткиИОбороты.Номенклатура,
                    |    СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения,
                    |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ТипЦен, &ТипЦен)
|;
|////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­//////////
|ВЫБРАТЬ
                    |    ЦеныТМЦ.Фирма КАК Фирма,
                    |    ЦеныТМЦ.Номенклатура КАК Номенклатура,
                    |    ЦеныТМЦ.ВариантИсполнения КАК ВариантИсполнения,
                    |    ЦеныТМЦ.ТипЦен КАК типЦен,
                   |   ВЫБОР
                    |        КОГДА ЦеныТМЦ.ЦенаОсновная > 0 
                    |            ТОГДА ЦеныТМЦ.ЦенаОсновная
                    |      ИНАЧЕ
                    |         ЦеныТМЦ.ЦенаПустая
                    |      КОНЕЦ как Цена
                    |ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
                    |ИЗ
                    |    ВТ_ЦеныТМЧ КАК ЦеныТМЦ
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
118. bmk74 234 17.10.18 12:18 Сейчас в теме +1 $m
(100)
Я же вам написал как надо делать, и про задвоение написал в 40 посту...
Примерно то что ван надо...
ВЫБРАТЬ
                    |    СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
                    |    СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
                    |    СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
                    |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ТипЦен, &ТипЦен) КАК типЦен,
                   |   СУММА( ВЫБОР
                    |        КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
                    |            ТОГДА 0
                    |      КОГДА ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения ТОГДА 
                    |         ЦеныНоменклатурыСрезПоследних.Цена
                    |       ИНАЧЕ 0
                    |      КОНЕЦ) как ЦенаОсновная
                    |   СУММА( ВЫБОР
                    |        КОГДА ЦеныНоменклатурыСрезПоследних.Цена ЕСТЬ NULL
                    |            ТОГДА 0
                    |      КОГДА ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка) ТОГДА
                    | ЦеныНоменклатурыСрезПоследних.Цена
                    |        ИНАЧЕ 0
                    |    КОНЕЦ КАК )Цена_Пустая
                    |ПОМЕСТИТЬ ВТ_ЦеныТМЧ
                    |ИЗ
                    |    РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , {(Фирма).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК СтоимостьТМЦОстаткиИОбороты
                    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
                    |        ПО СтоимостьТМЦОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
                    |            И (СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения = ЦеныНоменклатурыСрезПоследних.ВариантИсполнения
                    |                ИЛИ ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка))
                    |
                    | СГРУППИРОВАТЬ ПО
                    |    СтоимостьТМЦОстаткиИОбороты.Фирма ,
                    |    СтоимостьТМЦОстаткиИОбороты.Номенклатура,
                    |    СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения,
                    |    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ТипЦен, &ТипЦен)
|;
|////////////////////////////////////////////////////////////­////////////////////////////////////////////////////////////­//////////
|ВЫБРАТЬ
                    |    ЦеныТМЦ.Фирма КАК Фирма,
                    |    ЦеныТМЦ.Номенклатура КАК Номенклатура,
                    |    ЦеныТМЦ.ВариантИсполнения КАК ВариантИсполнения,
                    |    ЦеныТМЦ.ТипЦен КАК типЦен,
                   |   ВЫБОР
                    |        КОГДА ЦеныТМЦ.ЦенаОсновная > 0 
                    |            ТОГДА ЦеныТМЦ.ЦенаОсновная
                    |      ИНАЧЕ
                    |         ЦеныТМЦ.ЦенаПустая
                    |      КОНЕЦ как Цена
                    |ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
                    |ИЗ
                    |    ВТ_ЦеныТМЧ КАК ЦеныТМЦ
Показать
121. user1008893 17.10.18 12:55 Сейчас в теме
(118) спасибо,на тестовой работает,попозже попробую на реальной
125. user1008893 17.10.18 16:07 Сейчас в теме +1 $m
(118)Все работает,Спасибо огромное)))))))
129. user1008893 19.10.18 08:05 Сейчас в теме
(118)блин,сейчас выяснилось что сумму неправильно считает(( Короче цену задваивает.
Прикрепленные файлы:
130. YannikAlx 43 19.10.18 10:33 Сейчас в теме
(129) Заочно с этого сайта все равно вам не сделают конфетку...
Если вы сами не можете понять причину почему задваивает
То
Попробуйте хотя бы для себя вариант с Характеристиками Номенклатуры.
Совершенно естественное решение - использовать Характеристики в качестве вариантов исполнения, они изначально для этого задуманы были давным давно...
При их использовании
- во-первых невозможно задать некорректные цены, как у вас сейчас запросто задают , а потом получают задвоения...
- во-вторых гораздо проще обновление вашей конфигурации, сейчас вы явно либо вообще не обновляетесь, либо с танцами...
- в-третьих будут работать все стандартные отчеты конфигурации...
На рисунке пример стандартного отчета "Суммовая оценка склада"

И если вы поймете, что ваши задачи вполне решаются характеристиками, останется убедить руководство - вернуться к более простому варианту.
Прикрепленные файлы:
131. bmk74 234 19.10.18 12:56 Сейчас в теме
(129)Что получает в запросе ВТ_СтоимостьТМЦ ?, задвоенную цену ? или тут нормальная цена
Если тут задвоенная замените в предыдущем запросе, СУММУ yf МАКСИМУМ...посмотрите что выдаст, хотя по идее не должно задваивать...
132. user1008893 19.10.18 13:29 Сейчас в теме
(131)все,все работает. Поменяла Сумму На максимум))) Спасибо))
101. user1008893 16.10.18 17:30 Сейчас в теме
(99)ВЫБРАТЬ
СтоимостьТМЦОстаткиИОбороты.Фирма КАК Фирма,
СтоимостьТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
СтоимостьТМЦОстаткиИОбороты.КолНачальныйОстаток,
СтоимостьТМЦОстаткиИОбороты.КолКонечныйОстаток,
СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
ЦеныНоменклатурыСрезПоследних.ВариантИсполнения КАК ВариантИсполненияЦен,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.ТипЦен, "Нет цены") КАК типЦен,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена
ПОМЕСТИТЬ ВТ_СтоимостьТМЦ
ИЗ
РегистрНакопления.СтоимостьТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, , , ) КАК СтоимостьТМЦОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СтоимостьТМЦОстаткиИОбороты.Номенклатура)
И (ВЫБОР
КОГДА ЦеныНоменклатурыСрезПоследних.ВариантИсполнения <> ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка)
ТОГДА ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = СтоимостьТМЦОстаткиИОбороты.ВариантИсполнения
ИНАЧЕ ЦеныНоменклатурыСрезПоследних.ВариантИсполнения = ЗНАЧЕНИЕ(Справочник.ВариантыИсполнения.ПустаяСсылка)
КОНЕЦ)
Вот этот отчет работает правильно,кроме задваивания
102. YannikAlx 43 16.10.18 17:36 Сейчас в теме
Результатом нашей работы стало формирование первой части таблицы цен - для того товара где все нормально установлено.
Теперь через ОБЪЕДИНИТЬ ВСЕ мы добавим вторую часть , где для тех товаров у которых не заполнен Вариант - возьмем с пустым значением и будет вам счастя.
103. YannikAlx 43 16.10.18 17:43 Сейчас в теме
Нереальное количество, возможно было до исправления - я же писал , что исправил - сравните вот сейчас должен правильно считать для тех у кого установлены цены
104. YannikAlx 43 16.10.18 17:48 Сейчас в теме
Итак приступим ко второй части запроса .
105. YannikAlx 43 16.10.18 18:06 Сейчас в теме
Проверьте итоговый вариант пожалуйста

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

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

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

Упорядочить по
Номенклатура
106. user1008893 17.10.18 07:57 Сейчас в теме
(105)количество задваивает все у того же матраца
107. user1008893 17.10.18 08:43 Сейчас в теме
(105) Надо наверно если 2 цены,то брать последнюю
108. YannikAlx 43 17.10.18 08:50 Сейчас в теме
Все хорошо - осталось только исключить НУЛЕВЫЕ цены
вот проверяйте


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

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

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

Упорядочить по
Номенклатура
109. YannikAlx 43 17.10.18 08:50 Сейчас в теме
Проверяйте матрац в первую очередь
110. user1008893 17.10.18 09:35 Сейчас в теме
(109)все хорошо,но бывают и вот такие номенклатуры. Это я в тестовой базе могу менять.Поэтому эксперементирую на матраце. И если вот так,то тоже задваивает
Прикрепленные файлы:
114. YannikAlx 43 17.10.18 10:05 Сейчас в теме
(110) Когда существует конкретная Неопределенность, как вы предлагаете е разруливать
Скажем есть матрац у него есть варианты "Проужинный" , "Беспружинный", "Паролонный",
А цены у вас заполнены для "Пружинный" и есть цена без варианта.

Как прикажете считать для "Беспружинного" и "Паролонного"?

Это и есть неопределенность, кроме того директор конечно может дать команду считать для всех у кого нет цены с вариантом по безвариантной схеме, но это совершенно нелогично. И самое главное ЗАЧЕМ в этой ситуации тогда вообще придумали свои варианты, если задаете цены с пустотой вместо варианта?
115. user1008893 17.10.18 10:07 Сейчас в теме
(114)сейчас,все решается с ценами. Поправляют теперь
116. YannikAlx 43 17.10.18 10:35 Сейчас в теме
(115) Я думаю мы справились с основной задачей - если есть цена без варианта, то она может быть использована для всех вариантов, если нет неопределенности и одновременно не существует цены с вариантом и без варианта.

БОЛЬШОЙ запрос тоже нужно подправить немного...


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

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

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

////////////////////////////////////////////////////////////­­////////////////////
  ВЫБРАТЬ
                        ТаблОстаткиИОбороты.Филиал,
                        ТаблОстаткиИОбороты.Фирма,
                        ТаблОстаткиИОбороты.Склад,
                        ТаблОстаткиИОбороты.Номенклатура,
                        ТаблОстаткиИОбороты.ВариантИсполнения,
                        ТаблОстаткиИОбороты.КПриемкеОТК,
                        СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоНачальныйОстаток,
                        СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоКонечныйОстаток,
                        СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоПриход,
                        СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент) КАК КоличествоРасход,
                        СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
                        СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
                        СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
                        СУММА(ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
                        СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
                        СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
                        СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
                        СУММА(ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
                        ТаблОстаткиИОбороты.Вес,
                        ТаблОстаткиИОбороты.Объем,
                        ТаблОстаткиИОбороты.Коэффициент,
                        ТаблОстаткиИОбороты.Период,
                        ТаблОстаткиИОбороты.Регистратор,
                        СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаНачальныйОстаток,
                        СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток * ВТ_СтоимостьТМЦ.Цена) КАК СуммаКонечныйОстаток,
                        СУММА(ТаблОстаткиИОбороты.КолПриход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаПриход,
                        СУММА(ТаблОстаткиИОбороты.КолРасход * ВТ_СтоимостьТМЦ.Цена) КАК СуммаРасход
                    {ВЫБРАТЬ
                        Филиал.*,
                        Фирма.*,
                        Склад.*,
                        Номенклатура.*,
                        ВариантИсполнения.*,
                        КПриемкеОТК,
                        ВесНачальныйОстаток,
                        ВесКонечныйОстаток,
                        ВесПриход,
                        ВесРасход,
                        ОбъемНачальныйОстаток,
                        ОбъемКонечныйОстаток,
                        ОбъемПриход,
                        ОбъемРасход,
                        Вес,
                        Объем,
                        Коэффициент,
                        Период,
                        Регистратор.*,
                        КоличествоНачальныйОстаток,
                        КоличествоКонечныйОстаток,
                        КоличествоПриход,
                        КоличествоРасход,
                        ТаблОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.* КАК ЕдИзм,
                        ТаблОстаткиИОбороты.ПериодДень,
                        ТаблОстаткиИОбороты.ПериодНеделя,
                        ТаблОстаткиИОбороты.ПериодДекада,
                        ТаблОстаткиИОбороты.ПериодМесяц,
                        ТаблОстаткиИОбороты.ПериодКвартал,
                        ТаблОстаткиИОбороты.ПериодПолугодие,
                        ТаблОстаткиИОбороты.ПериодГод,
                        СуммаНачальныйОстаток,
                        СуммаКонечныйОстаток,
                        СуммаПриход,
                        СуммаРасход}
                    ИЗ
                        (ВЫБРАТЬ
                            ОстаткиТМЦОстаткиИОбороты.Филиал КАК Филиал,
                            ОстаткиТМЦОстаткиИОбороты.Фирма КАК Фирма,
                            ОстаткиТМЦОстаткиИОбороты.Склад КАК Склад,
                            ОстаткиТМЦОстаткиИОбороты.Номенклатура КАК Номенклатура,
                            ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения КАК ВариантИсполнения,
                            ОстаткиТМЦОстаткиИОбороты.КПриемкеОТК КАК КПриемкеОТК,
                            ОстаткиТМЦОстаткиИОбороты.КолНачальныйОстаток КАК КолНачальныйОстаток,
                            ОстаткиТМЦОстаткиИОбороты.КолКонечныйОстаток КАК КолКонечныйОстаток,
                            ОстаткиТМЦОстаткиИОбороты.КолПриход КАК КолПриход,
                            ОстаткиТМЦОстаткиИОбороты.КолРасход КАК КолРасход,
                            ВЫБОР
                                КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес = 0
                                    ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Вес
                                ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес
                            КОНЕЦ КАК Вес,
                            ВЫБОР
                                КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем = 0
                                    ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Объем
                                ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем
                            КОНЕЦ КАК Объем,
                            ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.Коэффициент КАК Коэффициент,
                            ОстаткиТМЦОстаткиИОбороты.Период КАК Период,
                            НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ДЕНЬ) КАК ПериодДень,
                            НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, НЕДЕЛЯ) КАК ПериодНеделя,
                            НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ДЕКАДА) КАК ПериодДекада,
                            НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
                            НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, КВАРТАЛ) КАК ПериодКвартал,
                            НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
                            НАЧАЛОПЕРИОДА(ОстаткиТМЦОстаткиИОбороты.Период, ГОД) КАК ПериодГод,
                            ОстаткиТМЦОстаткиИОбороты.Регистратор КАК Регистратор
                        ИЗ
                            РегистрНакопления.ОстаткиТМЦ.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(Филиал).*, (Фирма).*, (Склад).*, (Номенклатура).*, (ВариантИсполнения).*}) КАК ОстаткиТМЦОстаткиИОбороты
                        {ГДЕ
                            ОстаткиТМЦОстаткиИОбороты.Филиал.*,
                            ОстаткиТМЦОстаткиИОбороты.Фирма.*,
                            ОстаткиТМЦОстаткиИОбороты.Склад.*,
                            ОстаткиТМЦОстаткиИОбороты.Номенклатура.*,
                            ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.*,
                            ОстаткиТМЦОстаткиИОбороты.КПриемкеОТК,
                            (ВЫБОР
                                    КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес = 0
                                        ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Вес
                                    ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Вес
                                КОНЕЦ) КАК Вес,
                            (ВЫБОР
                                    КОГДА ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем = 0
                                        ТОГДА ОстаткиТМЦОстаткиИОбороты.Номенклатура.Объем
                                    ИНАЧЕ ОстаткиТМЦОстаткиИОбороты.ВариантИсполнения.Объем
                                КОНЕЦ) КАК Объем,
                            ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.Коэффициент КАК Коэффициент,
                            ОстаткиТМЦОстаткиИОбороты.Регистратор.*,
                            ОстаткиТМЦОстаткиИОбороты.Номенклатура.БазоваяЕдИзм.* КАК ЕдИзм}) КАК ТаблОстаткиИОбороты
                            ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СтоимостьТМЦ КАК ВТ_СтоимостьТМЦ
                            ПО ТаблОстаткиИОбороты.Номенклатура = ВТ_СтоимостьТМЦ.Номенклатура
                                И ТаблОстаткиИОбороты.Фирма = ВТ_СтоимостьТМЦ.Фирма
                    {ГДЕ
                        (СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоНачальныйОстаток,
                        (СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоКонечныйОстаток,
                        (СУММА(ТаблОстаткиИОбороты.КолПриход / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоПриход,
                        (СУММА(ТаблОстаткиИОбороты.КолРасход / ТаблОстаткиИОбороты.Коэффициент)) КАК КоличествоРасход,
                        (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ВесНачальныйОстаток,
                        (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ВесКонечныйОстаток,
                        (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолПриход) КАК ВесПриход,
                        (ТаблОстаткиИОбороты.Вес * ТаблОстаткиИОбороты.КолРасход) КАК ВесРасход,
                        (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолНачальныйОстаток) КАК ОбъемНачальныйОстаток,
                        (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолКонечныйОстаток) КАК ОбъемКонечныйОстаток,
                        (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолПриход) КАК ОбъемПриход,
                        (ТаблОстаткиИОбороты.Объем * ТаблОстаткиИОбороты.КолРасход) КАК ОбъемРасход,
                        (СУММА(ТаблОстаткиИОбороты.КолНачальныйОстаток * ВТ_СтоимостьТМЦ.Цена)) КАК СуммаНачальныйОстаток,
                        (СУММА(ТаблОстаткиИОбороты.КолКонечныйОстаток * ВТ_СтоимостьТМЦ.Цена)) КАК СуммаКонечныйОстаток,
                        (СУММА(ТаблОстаткиИОбороты.КолПриход * ВТ_СтоимостьТМЦ.Цена)) КАК СуммаПриход,
                        (СУММА(ТаблОстаткиИОбороты.КолРасход * ВТ_СтоимостьТМЦ.Цена)) КАК СуммаРасход}
                    
                    СГРУППИРОВАТЬ ПО
                        ТаблОстаткиИОбороты.Филиал,
                        ТаблОстаткиИОбороты.Фирма,
                        ТаблОстаткиИОбороты.Склад,
                        ТаблОстаткиИОбороты.Период,
                        ТаблОстаткиИОбороты.Регистратор,
                        ТаблОстаткиИОбороты.Номенклатура,
                        ТаблОстаткиИОбороты.ВариантИсполнения,
                        ТаблОстаткиИОбороты.КПриемкеОТК,
                        ТаблОстаткиИОбороты.Вес,
                        ТаблОстаткиИОбороты.Объем,
                        ТаблОстаткиИОбороты.Коэффициент
                    {УПОРЯДОЧИТЬ ПО
                        Филиал.*,
                        Фирма.*,
                        Склад.*,
                        Номенклатура.*,
                        ВариантИсполнения.*,
                        КПриемкеОТК,
                        Вес,
                        Объем,
                        Период,
                        Регистратор.*,
                        ТаблОстаткиИОбороты.ПериодДень,
                        ТаблОстаткиИОбороты.ПериодНеделя,
                        ТаблОстаткиИОбороты.ПериодДекада,
                        ТаблОстаткиИОбороты.ПериодМесяц,
                        ТаблОстаткиИОбороты.ПериодКвартал,
                        ТаблОстаткиИОбороты.ПериодПолугодие,
                        ТаблОстаткиИОбороты.ПериодГод}
                    ИТОГИ
                        СУММА(КоличествоНачальныйОстаток),
                        СУММА(КоличествоКонечныйОстаток),
                        СУММА(КоличествоПриход),
                        СУММА(КоличествоРасход),
                        СУММА(ВесНачальныйОстаток),
                        СУММА(ВесКонечныйОстаток),
                        СУММА(ВесПриход),
                        СУММА(ВесРасход),
                        СУММА(ОбъемНачальныйОстаток),
                        СУММА(ОбъемКонечныйОстаток),
                        СУММА(ОбъемПриход),
                        СУММА(ОбъемРасход),
                        СУММА(СуммаНачальныйОстаток),
                        СУММА(СуммаКонечныйОстаток),
                        СУММА(СуммаПриход),
                        СУММА(СуммаРасход)
                    ПО
                        ОБЩИЕ
                    {ИТОГИ ПО
                        Филиал.*,
                        Фирма.*,
                        Склад.*,
                        Номенклатура.*,
                        ВариантИсполнения.*,
                        КПриемкеОТК,
                        Период,
                        Регистратор.*,
                        ТаблОстаткиИОбороты.ПериодДень,
                        ТаблОстаткиИОбороты.ПериодНеделя,
                        ТаблОстаткиИОбороты.ПериодДекада,
                        ТаблОстаткиИОбороты.ПериодМесяц,
                        ТаблОстаткиИОбороты.ПериодКвартал,
                        ТаблОстаткиИОбороты.ПериодПолугодие,
                        ТаблОстаткиИОбороты.ПериодГод}
Показать
119. bmk74 234 17.10.18 12:26 Сейчас в теме
(116)
ЦеныНоменклатурыСрезПоследних.Цен


Он все равно не правильно выведет, задвоит
120. YannikAlx 43 17.10.18 12:43 Сейчас в теме
(119) Ничего не завдвоит. С чего бы он задвоил?
И что задвоит?

Он выдаст все цены , которые есть , то есть по вариантам , а также без варианта если есть.
пустых цен не будет...
122. bmk74 234 17.10.18 13:00 Сейчас в теме
(120)
о есть по вариантам , а также без варианта если есть.
пустых цен не будет...

На пальцах обясняю вы из ТМЦ получили номенклатуру "Стол"Вариант исполнения "Красный"
Далее вы соединяете его с ценами номенклатуры
в ценах по срезу последних вы поучите возможно 2 записи
а может и более но нам важно две
с вариантом исполнения "Красный" И С ПустымВариантом исполнения
Далее в первом случае вы получите Цену для красного И втоая строка С Пустым
Так понятно ?

P.S. При том ведь все разжевал в 40 посту специально, дал наводку...вы все равно упорно что то свое делаете :)
123. YannikAlx 43 17.10.18 14:20 Сейчас в теме
(122) А вам видимо лень было почитать ветку до конца после (40)
ну тогда хотя бы 114 почитайте что ли... :)
И далее ...


Вы просто как носорог упираетесь на выполнении задачи.
Я же пытаюсь анализировать а правомерна ли сама задача, может она по сути неверна или некорректна
124. bmk74 234 17.10.18 16:01 Сейчас в теме
(123)Я никуда не упираюсь :), я сказал что ваш запрос задвоит записи, вы сказали что не может такого быть...ну я и объяснил что может :)..тут все просто.
При том еще в 40 посте я дал этому объяснение...и так же наводку как это разрулить...про то что решение фиговое я там в начале написал, но так как имеем то что "имеем" написал решение...ничего более :)
126. YannikAlx 43 17.10.18 16:20 Сейчас в теме
(124) Такой подход на мой взгляд не совсем разумный....
При таком подходе и рождаются ляпы подобные тому что мы тут видим со справочником ВариантыИсполнения.
Явно руководители програмиста попросили сделать справочник ВариантыИсполнения.
Он и сделал... да еще заработал явно хорошо...
А то что есть более разумные решения кто должен думать?


Я имел ввиду про задвоенность, что если данные будут правильные то никак не задвоит.
А если у них данные ДВОЙНЫЕ , то ясно что мы их и увидим....
Вот они щас как я понял и убирают своих двойников
111. YannikAlx 43 17.10.18 09:43 Сейчас в теме
Ну так оно и будет всегда задваивать, потому что ваши данные ГОРБАТЫЕ!
Исправьте данные, если есть цена с вариантом , то НЕ ДОЛЖНО быть цены без варианта в базе!
112. YannikAlx 43 17.10.18 09:44 Сейчас в теме
ибо невозможно быть одновременно сразу и с вариантом и без варианта
А в ваших данных это существует
113. YannikAlx 43 17.10.18 09:51 Сейчас в теме
думаю что самый простой способ исправления - удалить все цены без варианта, если существуют цены с вариантами на ту же номенклатуру...
А по человечески - вообще цен без вариантов не должно быть!

В базах , где используют стандарнтную систему Характеристик Номенклатуры все решено давно автоматически...
Зачем ваш программист изуродовал систему - я не пойму.
Все необходимые резулдьтаты получаются из стандартных Характеристик Номенклатуры.

И цены и отчеты... И самое главное , что если Номенклатура используется с Характеристиками, то цен ы без характеристики быть не может.
А использование Номенклатуры без характеристики также возможно , указав в настройках этой номенклатуры, и тогда и цены будут без характеристик естественно.

В вашем же варианте НИЧТО не контролирует эту ситуацию и получается полный бардак на ровном месте, а программист получил мешок бабок, за создание глючного и самое главное ненужного механизма.
117. user1008893 17.10.18 11:18 Сейчас в теме
(113)спасибо за помощь,жду теперь когда цены свои подправят
127. acanta 17.10.18 16:25 Сейчас в теме
Характеристики номенклатуры наверняка в конфигурации есть. Но вот я еще не понимаю, как сделать характеристики к технологическим операциям.
128. YannikAlx 43 17.10.18 17:01 Сейчас в теме
(127) вот те на , и зачем технологическим операциям Характеристики. И уж вообще не понятно какая связь , между вашим вопросом и тутошней темой?
Оставьте свое сообщение

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