Отчет СКД. Как пересчитывать стоимость номенклатуры - для вывода в отчет в колонку цена, если номенклатура в кг - а в отчет нужны т

1. user1133857 09.02.22 12:25 Сейчас в теме
Добрый день!
Прошу помочь .
Делаю внешний отчет для КА2.4.13.275.
Нужно в отчете , при выводе данных в колонку - Цена - пересчитывать цену номенклатуры , если она в кг, на цену за 1 тонну.
Отчет выводит цены , как есть... и за тонну, если нолменклатура в тоннах и цену за кг... если заводят данные по ценам в кг...
как писать код - не знаю...
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Kongo2019 09.02.22 12:30 Сейчас в теме
Ну например тупо умножить цену на 1000.
3. lostcay 7 09.02.22 13:41 Сейчас в теме
Возможно не правильное соединение где-то. Или, что могло ещё привезти к этой ошибке. Нет никакого соответствия в базе, где было бы расписано, что 1 тонна = 1000 кг и т.п. Если такого нет, то создайте регистр сведений этих соответствий, пристыкуйте к отчету левым соединением и домножайте на ресурс например "Множитель".

Или если это разовая задача, то в значении ресурса нужно прописать этот момент целиком.
4. user1133857 09.02.22 14:15 Сейчас в теме
(3)Спасибо... может посмотрите код?...Номенк5оатура, которая в отчете отражается цена за кг - есть в группе. Я думала сделать условие на группу, если номенклатура в группе, тогда пересчитать стиомсть по формуле 1000/УпакВес*Вр.Цена и 1000/УпакВес*Вр.ЦенаУт - тольо как это и где в конструкторе делать не понимаю...

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

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

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВР.Ссылка КАК Соглашение,
	ВР.Номенклатура КАК Номенклатура,
	ВР.ВидЦены КАК ВидЦеныОб,
	СУММА(ВР.Цена) КАК ЦенаОб,
	ВР.ВидЦеныУт КАК ВидЦеныУт,
	СУММА(ВР.ЦенаУт) КАК ЦенаУт,
	ВР.КонтрикКлиент КАК КонтрикКлиент,
	ВР.ПартнерКлиент КАК ПартнерКлиент,
	ВЫБОР
		КОГДА ВР.ЦенаУт <> 0
			ТОГДА ВР.ВидЦеныУт
		ИНАЧЕ ВР.ВидЦены
	КОНЕЦ КАК ВидЦены,
	ВЫБОР
		КОГДА ВР.ЦенаУт <> 0
			ТОГДА ВР.ЦенаУт
		ИНАЧЕ ВР.Цена
	КОНЕЦ КАК Цена,
	ВР.ЦенаСНДС КАК ЦенаСНДС,
	ВР.ЕдИзмТонна КАК ЕдИзмТонна,
	ВР.УпаковВес КАК УпаковВес
ИЗ
	ВР КАК ВР

СГРУППИРОВАТЬ ПО
	ВР.Ссылка,
	ВР.Номенклатура,
	ВР.ВидЦены,
	ВР.ВидЦеныУт,
	ВР.КонтрикКлиент,
	ВР.ПартнерКлиент,
	ВЫБОР
		КОГДА ВР.ЦенаУт <> 0
			ТОГДА ВР.ВидЦеныУт
		ИНАЧЕ ВР.ВидЦены
	КОНЕЦ,
	ВЫБОР
		КОГДА ВР.ЦенаУт <> 0
			ТОГДА ВР.ЦенаУт
		ИНАЧЕ ВР.Цена
	КОНЕЦ,
	ВР.ЦенаСНДС,
	ВР.ЕдИзмТонна,
	ВР.УпаковВес
Показать
5. lostcay 7 09.02.22 15:04 Сейчас в теме
В запросе можно добавить поле следующего вида:
ВЫБОР
	КОГДА Номенклатура.Вид = Значение(Перечисление.ВидыТоваров.Тонна)
		ТОГДА Заказ.Количества * 0.001
	ИНАЧЕ 
			КОГДА Номенклатура.Вид = Значение(Перечисление.ВидыТоваров.Кг)
				ТОГДА Заказ.Количества * 1000
			ИНАЧЕ Заказ.Количества * 1
КОНЕЦ
Показать

Осталось подставить значения под свою конфигурацию и использовать это поле на вывод.
Жалко, что в 1С нет кейсов, по этому приходится пользоваться вложенными "КОГДА", но работаем с тем, что есть
6. user1133857 09.02.22 15:27 Сейчас в теме
(5)Спасибо, буду пробовать...
еще вопрос - как мне полученную стоимость потом подставить из добавленного поля в отчет? ведь в отчете колонка с ценой одна?
7. lostcay 7 09.02.22 15:35 Сейчас в теме
(6) Во вкладке в запросе псевдонимы или вроде того, поставь ему другое имя например "ЦенаРасчетная" и используй её уже как ресурс
8. user1133857 09.02.22 15:54 Сейчас в теме
(7)
Большое Вам спасибо! :-)
Оставьте свое сообщение

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