1.) Для начала включим возможность учёта нескольких валют в программе 1С "Управление нашей фирмой". Для этого перейдём в раздел "Настройки" –> "Ещё больше возможностей".

Далее "Деньги" –> "Несколько валют". После чего устанавливаем курс валюты вручную или загрузив валюты с сайта 1С при подключенной поддержке ИТС ("Деньги" –> "Валюты").

2.) Далее в этом же разделе "Больше возможностей" –> "Закупки" убедимся, что установлен флаг "Цены контрагентов".

3.) Теперь создадим нового поставщика. "Тестовый поставщик" ("Закупки" –> "Поставщики" –>"Создать").
После создания поставщика, необходимо перейти на вкладку "Договоры" и создать новый договор.

При создании договора обращаем внимание на раздел "Ценообразование" –> "Вид цены контрагента". По умолчанию создаётся вид цены "Цены для Тестовый поставщик". Можем для удобства переименовать данный вид цены на "Закупочная". Важно для удобства поставить галку "регистрировать цены поставщика". Теперь при проведении приходной накладной от данного поставщика цена поставщика будет зарегистрирована автоматически. Валюту расчётов определим как доллар США.

При создании вида цены поставщика нужно указать валюту цен. Возьмём для примера цену в долларах США. И сохраним договор и поставщика.

4.) Теперь создадим несколько приходных накладных ("Закупки" –> "Приходные накладные" –> "Cоздать".)

Видим, что отображается цена в долларах с указанием курса на дату документа. Цены в документе задаём в валюте. Создадим второй документ для примера.

Видим, что на другую дату установлен новый курс валюты. Поменяем цену товара в документе. Теперь мы можем проверить регистр цен контрагентов и увидеть, что после того как мы провели два документа. В регистр записали две цены от разных дат в валюте.


5.) Теперь создадим продажную цену и привяжем её с ценой поставщика. "Продажи" –> "Виды цен" –>"Cоздать".
В программе 1С УНФ менее гибкий функционал установки цен номенклатуры, чем в 1С Управление Торговлей, поэтому для нашей задачи придётся сделать несколько больше действий. Так как поставщиков у нас может быть несколько, то чтобы безошибочно формировались цены, нужно учитывать цены всех поставщиков.
Выбираем тип "Динамический", валюта цены RUB . Для этого справа выбираем функции "минимум". Функция минимум в УНФ подразумевает сравнение двух цен. Мин(<?>,<?>). Для того чтобы сравнить несколько цен, можно использовать вложенную формулу
Мин(Мин(<?>,<?>),<?>). Вместо <?> подставляем слева цены поставщиков. И так аккуратно для всех поставщиков. Теперь программа анализирует цены поставщиков (в разных валютах и выбирает минимальную(или максимальную в зависимости от задачи)) цену в рублях. Так как мы задаём продажную цену, это выражение нужно умножить ещё на наценку. В нашем примере мы ограничимся одной ценой поставщика, с наценкой 35%.

6.) Теперь при создании заказа, выберем вид цены "Продажная цена". Стоимость автоматически заполнилась с учётом курса валюты и наценки. Что нам и требовалось.
