1. user1008893 10.10.18 11:02 Сейчас в теме

Меняется количество когда беру цену

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

ИНДЕКСИРОВАТЬ ПО
	Фирма,
	Номенклатура,
	ВариантИсполнения
;

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

СГРУППИРОВАТЬ ПО
	ТаблОстаткиИОбороты.Филиал,
	ТаблОстаткиИОбороты.Фирма,
	ТаблОстаткиИОбороты.Склад,
	ТаблОстаткиИОбороты.Период,
	ТаблОстаткиИОбороты.Регистратор,
	ТаблОстаткиИОбороты.Номенклатура,
	ТаблОстаткиИОбороты.ВариантИсполнения,
	ТаблОстаткиИОбороты.КПриемкеОТК,
	ТаблОстаткиИОбороты.Вес,
	ТаблОстаткиИОбороты.Объем,
	ТаблОстаткиИОбороты.Коэффициент,
	ВТ_СтоимостьТМЦ.Цена
{УПОРЯДОЧИТЬ ПО
	Филиал.*,
	Фирма.*,
	Склад.*,
	Номенклатура.*,
	ВариантИсполнения.*,
	КПриемкеОТК,
	Вес,
	Объем,
	Период,
	Регистратор.*,
	ТаблОстаткиИОбороты.ПериодДень,
	ТаблОстаткиИОбороты.ПериодНеделя,
	ТаблОстаткиИОбороты.ПериодДекада,
	ТаблОстаткиИОбороты.ПериодМесяц,
	ТаблОстаткиИОбороты.ПериодКвартал,
	ТаблОстаткиИОбороты.ПериодПолугодие,
	ТаблОстаткиИОбороты.ПериодГод,
	ВТ_СтоимостьТМЦ.Цена}
ИТОГИ
	СУММА(КоличествоНачальныйОстаток),
	СУММА(КоличествоКонечныйОстаток),
	СУММА(КоличествоПриход),
	СУММА(КоличествоРасход),
	СУММА(ВесНачальныйОстаток),
	СУММА(ВесКонечныйОстаток),
	СУММА(ВесПриход),
	СУММА(ВесРасход),
	СУММА(ОбъемНачальныйОстаток),
	СУММА(ОбъемКонечныйОстаток),
	СУММА(ОбъемПриход),
	СУММА(ОбъемРасход),
	СУММА(СуммаНачальныйОстаток),
	СУММА(СуммаКонечныйОстаток),
	СУММА(СуммаПриход),
	СУММА(СуммаРасход)
ПО
	ОБЩИЕ
{ИТОГИ ПО
	Филиал.*,
	Фирма.*,
	Склад.*,
	Номенклатура.*,
	ВариантИсполнения.*,
	КПриемкеОТК,
	Период,
	Регистратор.*,
	ТаблОстаткиИОбороты.ПериодДень,
	ТаблОстаткиИОбороты.ПериодНеделя,
	ТаблОстаткиИОбороты.ПериодДекада,
	ТаблОстаткиИОбороты.ПериодМесяц,
	ТаблОстаткиИОбороты.ПериодКвартал,
	ТаблОстаткиИОбороты.ПериодПолугодие,
	ТаблОстаткиИОбороты.ПериодГод,
	ВТ_СтоимостьТМЦ.Цена}
Показать
Найденные решения
7. alex-l19041 9 10.10.18 11:26 Сейчас в теме
(5) если в регистре ЦеныНоменклатуры есть записи для разных типов цен, то в запрос надо передать параметром тип цены, которая интересует
Остальные ответы
Избранное Подписка Сортировка: Древо
2. alex-l19041 9 10.10.18 11:15 Сейчас в теме
(1)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
- замените на ЛЕВОЕ. может быть, что для какой-то номенклатуры не установлена цена
5. user1008893 10.10.18 11:21 Сейчас в теме
(2)Поменяла на левое,но ничего не поменялось
7. alex-l19041 9 10.10.18 11:26 Сейчас в теме
(5) если в регистре ЦеныНоменклатуры есть записи для разных типов цен, то в запрос надо передать параметром тип цены, которая интересует
8. user1008893 10.10.18 11:27 Сейчас в теме
(7)Дело в том,что если я не связываю по цене,то количество считается правильное.
9. user1008893 10.10.18 11:29 Сейчас в теме
(8)Цену он пишет правильно
10. catena 96 10.10.18 12:33 Сейчас в теме
(8)При таком соединении с регистром сведений, количество строк может дублироваться по каждому набору измерений регистра сведений. Ведь у регистра ЦеныНоменклатуры в измерениях не только Номенклатура, правда?
11. user1008893 10.10.18 13:31 Сейчас в теме
(10)Дело похоже в типе цен. Не могу добавить параметр тип цен. Надо чтоб брал тип цен=продажа,но ошибка
Значение не является значением объектного типа (УстановитьПараметр)
мТекстЗапроса.УстановитьПараметр("ТипЦен", ТипЦен);
12. catena 96 10.10.18 13:33 Сейчас в теме
(11)Параметры не в текст запроса надо устанавливать, а в объект-запрос.
13. user1008893 10.10.18 13:42 Сейчас в теме
(12)все сделала уже,только теперь сумма перестала считаться
4. dandykry 3 10.10.18 11:17 Сейчас в теме
(1)
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних


на номенклатуру может назначено быть несколько видов цен или ни 1. Соответственно строчек цен будет несколько.
Плюс ко всему если цены нет, то номенклатура не берется в расчет из-за внутреннего соединения
3. alex-l19041 9 10.10.18 11:16 Сейчас в теме
и еще желательно добавить
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена,0)
6. user1008893 10.10.18 11:25 Сейчас в теме
(3)
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена,0)

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

Вакансии

Старший Программист 1С НОВОСИБИРСК
Новосибирск
зарплата до 130 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 75 000 руб.
Полный день



Руководитель проектов 1С
Санкт-Петербург
По совместительству