В данной статье рассматривается абстрактный пример, который показывает возможность и принципы решения задачи настройки курсовых разниц по валюте договора. В частности, предполагается, что курс твердой валюты равен единице и кратности всех валют равны, для упрощения формул. В реальной жизни это не так, поэтому необходимы соответствующие поправки.
Допустим, у нас на счете 58 ведется учет задолженности по нескольким валютам.
| • | Предположим, в параметрах системы (Меню: Моделирование >> Параметры) настроены следующие валюты: |

Константы модуля "Корпоративный менеджмент"
| • | Предположим, настройка счета 58 (Меню >> Моделирование >> Финансы >> Управленческие планы счетов, выбираем Пользовательский план счетов, нажимаем кнопку |

Пользовательский план счетов
| • | При этом по договору Договор займа были выполнены такие проводки: |

Бюджетная операция
| • | Соответственно, мы видим, что по валюте договора ZZZ сумма закрывается, а по остальным валютам накапливается ненужный остаток: |

Оборотно-сальдовая ведомость по счету
| • | Причина этого состоит в изменении курса валюты договора (Меню >> Моделирование >> Финансы >> Управленческие курсы валют): |

Управленческие курсы валют
| • | Решить эту проблему с помощью регламентной процедуры Расчет курсовых разниц пока невозможно, т.к.: |
| 1) | процедура работает только по твердой валюте; |
| 2) | в данном случае требуется рассчитывать по валюте договора. |
Но уже с релиза 31.1 ИНТАЛЕВ: Корпоративный менеджмент данную задачу можно решить с помощью трансляции по фильтрам.
Рассмотрим настройку подробно:
1. Настраиваем фильтр (Меню: Моделирование >> Финансы >> Трансляция >> Учетные фильтры) следующим образом:

Учетные фильтры
(предполагаем, что нам нужны курсовые разницы только в разрезе данного сценария и ЦФО).
2. По фильтру настраиваем трансляцию:

Настройка трансляции
3. В трансляции задаем формулы для ресурсов, в зависимости от валюты. Например, для валюты договора ZZZ можно настроить установщики таким образом:

Элемент дерева условий трансляции
Реквизит приемника |
Формула |
Валютная сумма |
[Валютная сумма конечный остаток (кредит)]-[Валютная сумма конечный остаток (дебет)]+([Сумма ZZZ конечный остаток (дебет)]-[Сумма ZZZ конечный остаток (кредит)])*Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[ZZZ])/Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[Валюта]) |
Сумма |
[Сумма конечный остаток (кредит)]-[Сумма конечный остаток (дебет)]+([Сумма ZZZ конечный остаток (дебет)]-[Сумма ZZZ конечный остаток (кредит)])*Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[ZZZ]) |
Сумма USD |
[Сумма USD конечный остаток (кредит)]-[Сумма USD конечный остаток (дебет)]+([Сумма ZZZ конечный остаток (дебет)]-[Сумма ZZZ конечный остаток (кредит)])*Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[ZZZ])/Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[Константы].[Дополнительная валюта 1]) |
Сумма EUR |
[Сумма EUR конечный остаток (кредит)]-[Сумма EUR конечный остаток (дебет)]+([Сумма ZZZ конечный остаток (дебет)]-[Сумма ZZZ конечный остаток (кредит)])*Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[ZZZ])/Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[Константы].[Дополнительная валюта 2]) |
Сумма ZZZ |
0 |
| • | Аналогично для валюты руб. (учитывая, что это твердая валюта, и курс у нас равен 1): |
Реквизит приемника |
Формула |
Валютная сумма |
[Валютная сумма конечный остаток (кредит)]-[Валютная сумма конечный остаток (дебет)]+([Сумма конечный остаток (дебет)]-[Сумма конечный остаток (кредит)])/Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[Валюта]) |
Сумма |
0 |
Сумма USD |
[Сумма USD конечный остаток (кредит)]-[Сумма USD конечный остаток (дебет)]+([Сумма конечный остаток (дебет)]-[Сумма конечный остаток (кредит)])/Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[Константы].[Дополнительная валюта 1]) |
Сумма EUR |
[Сумма EUR конечный остаток (кредит)]-[Сумма EUR конечный остаток (дебет)]+([Сумма конечный остаток (дебет)]-[Сумма конечный остаток (кредит)])/Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[Константы].[Дополнительная валюта 2]) |
Сумма ZZZ |
[Сумма ZZZ конечный остаток (кредит)]-[Сумма ZZZ начальный остаток (дебет)]+([Сумма конечный остаток (дебет)]-[Сумма конечный остаток (кредит)])/Курс (регистр сведений "Курсы валют (Корпоративные финансы)")([Окончание периода];[Константы].[Дополнительная валюта 3]) |
| • | Для остальных валют – аналогично. Также можно настроить трансляцию, чтобы приход и расход курсовой разницы попадали на разные счета, и проводки были (в зависимости от того, приход это или расход) не только в дебет, но и в кредит счета 58. Для простоты изложения эти нюансы здесь опущены. |
4. Далее, после настройки трансляции запускаем регламентную процедуру Трансляция по фильтрам (Меню >> Финансы >> Регламентные процедуры >> Трансляция по фильтрам):

Процедура Трансляция по фильтрам
И получаем проводки:

Проводки
| • | В результате счет 58 на конец периода закрывается: |

Оборотно-сальдовая ведомость по закрытому счету