Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 дек 2024, 00:27

Валюта в СКД

Автор Nosferatu112, 10 фев 2023, 10:38

0 Пользователей и 1 гость просматривают эту тему.

Nosferatu112

Как сделать так что бы при выборе валюты в параметре все цены в отчете не зависимо от того какая у них валюта пересчитывались в выбраную валюту в полях цена без скидки, цена со скидкой, сумма скидки. Изначально сделал лёгкую формулу но потом допёр что она пременима только в случае когда в отчёте 1 валюта а не все 3 разом, нашёл как расчитать по кросс курсу но не дошёл как конкретно это сделать

Nosferatu112

Голый текс запроса без формул к пересчёту валюты

ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул,
ЦеныНоменклатурыСрезПоследних.Номенклатура.Производитель КАК Производитель,
ЦеныНоменклатурыСрезПоследних.Цена КАК БезСкидки,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена - ЦеныНоменклатурыСрезПоследних.Цена * (Партнеры.Расш6_Скидка / 100), 0) КАК СоСкидкой,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена / 100 * Партнеры.Расш6_Скидка, 0) КАК Скидка,
ЕСТЬNULL(Партнеры.Расш6_Скидка, 0) КАК СкидкаПроцент,
ЦеныНоменклатурыСрезПоследних.Характеристика.Представление КАК Характеристика
ПОМЕСТИТЬ ВТДанные
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
ПО ЦеныНоменклатурыСрезПоследних.ВидЦены = Партнеры.Расш6_ВидЦены
ГДЕ
Партнеры.Ссылка = &Партнеры
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КурсыВалютСрезПоследних.Валюта КАК Валюта,
КурсыВалютСрезПоследних.Курс КАК Курс
ПОМЕСТИТЬ ВТВалютаКурс
ИЗ
РегистрСведений.КурсыВалют.СрезПоследних(, Валюта = &Валюта) КАК КурсыВалютСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТДанные.Номенклатура КАК Номенклатура,
ВТДанные.Артикул КАК Артикул,
ВТДанные.Производитель КАК Производитель,
ВТДанные.БезСкидки КАК БезСкидки,
ВТДанные.СоСкидкой КАК СоСкидкой,
ВТДанные.Скидка КАК Скидка,
ВТДанные.СкидкаПроцент КАК СкидкаПроцент,
ВТВалютаКурс.Валюта КАК Валюта,
ВТВалютаКурс.Курс КАК Курс,
ВТДанные.Характеристика КАК Характеристика
ИЗ
ВТДанные КАК ВТДанные,
ВТВалютаКурс КАК ВТВалютаКурс

Afinogen

 B) так вам надо иметь 2 курса: курс валюты товара и курс валюты в которую пересчитываете, а вообще все эти пересчеты давно реализованы в типовых конфигурациях

Nosferatu112

Afinogen, Откуда достать курс валюты цены всё перерыл не понял, выбраный курс я достал из РС КурсВалют а где взять валюту цены не понимаю

Nosferatu112

Я так понял этот вопрос решаеться так
Получить цену в рублях: Курс валюты цены * цена  / Кратность валюты цены а потом
Пересчитать цену в выбраную валюту: Результат цены в рублях / курс выбраной валюты * кратность выбраной валюты только откуда достать курс валюты цены

LexaK

Nosferatu112,
Цитироватьа где взять валюту цены не понимаю

так в рс.ЦеныНоменклатуры есть ресурс Валюта, она и есть Валюта цены, (если не указана, значит это из Константы Валюта ведения учета)
если помогло нажмите: Спасибо!

Afinogen

только не забывайте про деленіе на нуль :befhbt:

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск