В данной статье рассматривается абстрактный пример, который показывает возможность и принципы решения задачи настройки курсовых разниц по валюте договора. В частности, предполагается, что курс твердой валюты равен единице и кратности всех валют равны, для упрощения формул. В реальной жизни это не так, поэтому необходимы соответствующие поправки.
Допустим, у нас на счете 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 на конец периода закрывается: |
Оборотно-сальдовая ведомость по закрытому счету