В процессе работы торгового предприятия часто возникает ситуация, когда закупка товаров ведется у разных поставщиков в разных валютах (например, в долларах США и китайских юанях), а розничная или оптовая продажа на территории РФ должна осуществляться строго в рублях. В системе 1С:Управление торговлей 11 (УТ 11), а также в ERP и Комплексной автоматизации (КА 2), предусмотрены мощные механизмы ценообразования, позволяющие автоматизировать этот процесс. Чтобы упростить получение исходных данных от контрагентов, можно настроить автоматический сбор прайс-листов с почты, FTP или HTTP.
Разберем подробно, как настроить систему так, чтобы рублевая цена автоматически подхватывала данные из нужного валютного прайс-листа и пересчитывала их по актуальному курсу.
Этот способ подходит для ситуаций, когда у вас уже созданы отдельные виды цен для разных валют (например, ПрайсЛистUSD и ПрайсЛистCNY). Нам необходимо настроить результирующий вид цен (например, «Розничная рубль»), который будет проверять, для какой валюты установлена базовая цена, и выполнять расчет.
Проанализируем логику настройки. В справочнике ВидыЦен для рублевой цены выберем способ задания «Рассчитывать по другим видам цен». В появившемся окне редактирования формулы мы можем использовать условный оператор ?. Рассмотрим пример формулы, которая проверяет наличие цены в долларах, и если она пуста, берет цену в юанях, добавляя к результату наценку 3%:
?([ПрайсЛистUSD] > 0, [ПрайсЛистUSD] * 1.03,
?([ПрайсЛистCNY] > 0, [ПрайсЛистCNY] * 1.03, 0)
)
Разберем, как работает эта конструкция по шагам:
[ПрайсЛистUSD]. Если цена в долларах установлена (больше нуля), система берет это значение.ПрайсЛистUSD в валюте USD, а результирующая цена в RUB, система сначала сконвертирует доллары в рубли, а затем применит математические операции (умножение на 1.03).[ПрайсЛистCNY].В современных релизах 1С:Управление торговлей 11.5 появился более элегантный способ решения задачи. Мы можем отказаться от создания множества видов цен для каждой валюты и использовать один универсальный вид цены.
Рассмотрим порядок действий для настройки этого механизма:
Вида цены (базового) необходимо включить опцию «Установка цен в разных валютах».УстановкаЦенНоменклатуры менеджер получает возможность прямо в табличной части выбирать валюту для каждой конкретной позиции. Для одного товара это может быть USD, для другого — CNY.[БазовыйПрайс] * 1.03.Преимущество этого метода в том, что системе не нужно перебирать условия. Она берет значение из колонки базовой цены, видит, в какой валюте оно зафиксировано для данной строки, и автоматически применяет курс на дату документа.
Выясним причину, по которой менеджеры часто вынуждены пересчитывать цены вручную. Обычно это происходит из-за того, что цены в справочнике ЦеныНоменклатуры записываются как статические значения на определенную дату. Однако в 1С предусмотрены способы автоматизации этого процесса.
Вариант А: Динамические цены. Если в настройках вида цены выбрать «Рассчитывать по другим видам цен» и не устанавливать признак «Хранить цены», такая цена будет называться динамической. Она не записывается в базу, а вычисляется «на лету» в момент подбора товара в заказ клиента или при открытии прайс-листа. Это гарантирует, что покупатель всегда видит цену по самому свежему курсу валют.
Вариант Б: Регламентное задание. Если же вам необходимо, чтобы цены были жестко зафиксированы в документах УстановкаЦенНоменклатуры (например, для выгрузки на сайт), можно настроить типовое регламентное задание «Пересчет зависимых цен». При обновлении курсов валют система сама создаст новые документы установки цен для всех зависимых (рублевых) прайсов. При необходимости расширенной автоматизации можно воспользоваться обработкой для автоматического формирования и проведения установки цен по расписанию.
Иногда логики «если заполнено — берем» недостаточно. Например, когда нужно учитывать приоритет поставщика или брать цену из последнего документа закупки. В таких случаях проанализируем возможность использования Схемы компоновки данных (СКД). В качестве примера готового алгоритма можно использовать схему компоновки данных для расчета вида цен по закупочным ценам и расходам.
В настройках Вида цены выберите вариант «Устанавливать по данным информационной базы». Это позволит использовать произвольный запрос. С помощью запроса можно реализовать следующую логику:
ВыручкаИСебестоимостьПродаж или к документам ПриобретениеТоваровУслуг.При автоматическом пересчете валют неизбежно возникают «некрасивые» суммы с копейками. Чтобы избежать этого, в настройках Вида цены на вкладке «Правила округления» мы рекомендуем установить соответствующие параметры. Например, округление до 1 рубля, до 10 рублей или по более сложным правилам (в пользу клиента или в пользу компании).
Также стоит обратить внимание на Порог срабатывания. Чтобы цена на сайте не дергалась из-за изменения курса на 1-2 копейки, можно настроить правило: «Обновлять цену только в случае, если новое значение отличается от старого более чем на 1%». Это позволит избежать лишней волатильности и ненужной работы по обновлению ценников.
Таким образом, комбинируя механизмы произвольных формул, мультивалютных видов цен и регламентных заданий, можно выстроить полностью автономную систему ценообразования, которая будет оперативно реагировать на любые изменения валютного рынка без участия персонала. В рамках такой системы можно использовать сервис парсинга цен на маркетплейсах и цен конкурентов для получения рыночных данных для аналитики и переоценки.