Расширение включает в себя 3 новых объекта:
- Справочник: "Способ отражения расходов по кредитам/займам" (можно было использовать типовой справочник "Способ отражения расходов по амортизации", но решил, что корректнее с точки зрения методологии создать независимый объект;
- Перечисление: "Направление займа", со значениями: "Выданный" и "Полученный";
- Документ: "Начисление процентов по займам".
... все прочие дополнения и доработки, внесенные после, описаны в дополнении, после основного описания функционала.
Справочник "Договоры контрагентов" дополнил реквизитами:
- Флаг "Это договор займа" (виден только в случае вида договора = Прочее);
- При включении займа открывается группа с реквизитами настройки займа:
- % займа;
- Счет учета договора %;
- Включать день поступления займа в расчет процентов;
- Способ отражения расходов: (из соответствующего справочника расширения).
Все пользовательские объекты включены в подсистему "Операции" - "Бухгалтерский учет".
Алгоритм расчета:
- К полученным кредитам/займам отбор по счетам: 66.01, 66.03, 66.21, 66.23, 67.01, 67.03, 67.21, 67.23;
- В запросе анализируются Кредитовые остатки за период регистрации по дням.
- К выданным кредитам/займам отбор по счетам: 58.03.
- В запросе анализируются Дебитовые остатки за период регистрации по дням.
В зависимости от настройки в договоре займа (включать или нет день поступления /выдачи займа), показатель остатка либо начальное сальдо дня либо конечное.
Для попадания в расчет, процент займа не должен быть = 0. Флаг "Это договор займа" должен быть включен.
Табличная часть документа начисления:
- Направление: "Выданный" / "Полученный" (результат из запроса)
- Способ отражения расходов: из справочника договора займа (для настройки счета доходов/расходов);
- Дата: либо конечная дата периода регистрации (в случае если не было оборотов по телу в течение месяца), либо дата изменения базы (для корректного расчета курса, при займе/кредите валютном;
- Счет учета процентов: из справочника договора займа (для указания на каком счете учитывать процентный договор - актуально для выданных займов);
- Период начисления: "Дата С" и "Дата по" - за какой период выполнен расчет;
- Количество дней: Разница между "Дата С" и "Дата по" - справочно - для наглядности;
- База: Показатель для расчета. База на "Дату";
- Ставка: Значение из договора (реквизит не периодический);
- Валюта: Валюта займа;
- Курс: Курс займа на "Дату";
- Валютная сумма: Расчет в случае, если займ/кредит валютный;
- Сумма, руб: Расчет рублевой суммы займа/кредита.
Ниже запрос выполнения расчета (если кому интересно):
ЗапросОбороты.Текст = "";
Для К = 1 ПО КДней Цикл
Если К > 1 Тогда
ЗапросОбороты.Текст = ЗапросОбороты.Текст +" ОБЪЕДИНИТЬ ВСЕ";
КонецЕсли;
ДатаК = ДокОбъект.ПериодРегистрации + (К-1)*86400;
КДнейВГоду = (НачалоДня(КонецГода(ДатаК)) - НачалоДня(НачалоГода(ДатаК))) / 86400+1;
ЗапросОбороты.УстановитьПараметр("НачПериода"+К, НачалоДня(ДатаК));
ЗапросОбороты.УстановитьПараметр("КонПериода"+К, КонецДня(ДатаК));
ЗапросОбороты.УстановитьПараметр("КДнейВГоду"+К, КДнейВГоду);
ЗапросОбороты.Текст = ЗапросОбороты.Текст +
" ВЫБРАТЬ
| Значение(Перечисление.ad_НаправлениеЗайма.Полученный) КАК НаправлениеЗайма,
| &ДатаК КАК Период,
| ХозрасчетныйОстаткиИОбороты.Период КАК ПериодЗаписи,
| &КДнейВГоду"+К+" КАК ДнейВГоду,
| ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
| ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
| ХозрасчетныйОстаткиИОбороты.Субконто2 КАК ДоговорКонтрагента,
| ХозрасчетныйОстаткиИОбороты.Субконто2.ВалютаВзаиморасчетов КАК Валюта,
| ХозрасчетныйОстаткиИОбороты.Субконто2.ad_СпособОтраженияРасходовПоначисленнымПроцентам КАК СпособОтраженияРасходов,
| ХозрасчетныйОстаткиИОбороты.Субконто2.ad_ПроцентЗайма КАК Ставка,
| ХозрасчетныйОстаткиИОбороты.Субконто2.ad_СчетУчетаПроцентовЗайма КАК СчетУчетаДоговораПроцентов,
| ВЫБОР
| КОГДА ХозрасчетныйОстаткиИОбороты.Счет.Валютный
| ТОГДА
| ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Субконто2.ad_ДеньПоступленияЗаймаВключатьВРасчет ТОГДА ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаКонечныйОстатокКт ИНАЧЕ ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаНачальныйОстатокКт КОНЕЦ
| ИНАЧЕ ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Субконто2.ad_ДеньПоступленияЗаймаВключатьВРасчет ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт ИНАЧЕ ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт КОНЕЦ
| КОНЕЦ КАК База,
| 1 КАК КоличествоДней,
| 0 КАК Курс,
| 0 КАК ВалютнаяСумма,
| 0 КАК Сумма
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
| &НачПериода"+К+",
| &КонПериода"+К+",
| День,
| ,
| Счет В (&СписокСчетовПолученныхЗаймов),
| ,
| Организация = &Организация
| И Субконто2.ad_ПроцентЗайма <> 0
| И Субконто2.ad_ЭтоДоговорЗайма = ИСТИНА) КАК ХозрасчетныйОстаткиИОбороты
|
| ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Значение(Перечисление.ad_НаправлениеЗайма.Выданный) КАК НаправлениеЗайма,
| &ДатаК КАК Период,
| ХозрасчетныйОстаткиИОбороты.Период КАК ПериодЗаписи,
| &КДнейВГоду"+К+" КАК ДнейВГоду,
| ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
| ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
| ХозрасчетныйОстаткиИОбороты.Субконто2 КАК ДоговорКонтрагента,
| ХозрасчетныйОстаткиИОбороты.Субконто2.ВалютаВзаиморасчетов КАК Валюта,
| ХозрасчетныйОстаткиИОбороты.Субконто2.ad_СпособОтраженияРасходовПоначисленнымПроцентам КАК СпособОтраженияРасходов,
| ХозрасчетныйОстаткиИОбороты.Субконто2.ad_ПроцентЗайма КАК Ставка,
| ХозрасчетныйОстаткиИОбороты.Субконто2.ad_СчетУчетаПроцентовЗайма КАК СчетУчетаДоговораПроцентов,
| ВЫБОР
| КОГДА ХозрасчетныйОстаткиИОбороты.Счет.Валютный
| ТОГДА
| ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Субконто2.ad_ДеньПоступленияЗаймаВключатьВРасчет ТОГДА ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаКонечныйОстатокДт ИНАЧЕ ХозрасчетныйОстаткиИОбороты.ВалютнаяСуммаНачальныйОстатокДт КОНЕЦ
| ИНАЧЕ ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.Субконто2.ad_ДеньПоступленияЗаймаВключатьВРасчет ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт ИНАЧЕ ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КОНЕЦ
| КОНЕЦ КАК База,
| 1 КАК КоличествоДней,
| 0 КАК Курс,
| 0 КАК ВалютнаяСумма,
| 0 КАК Сумма
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
| &НачПериода"+К+",
| &КонПериода"+К+",
| День,
| ,
| Счет В (&СписокСчетовВыданныхЗаймов),
| ,
| Организация = &Организация
| И Субконто2.ad_ПроцентЗайма <> 0
| И Субконто2.ad_ЭтоДоговорЗайма = ИСТИНА) КАК ХозрасчетныйОстаткиИОбороты
|
|";
КонецЦикла;
14.06.2019г. Перезалил файл *.cfe.
Дополнения и доработки:
20.06.2019г. Расширение функционала расширения.
1) Добавил регистр сведений "Ставка рефинансирования ЦБ", вывел ее в раздел "Операции". Заполняется вручную;
2) В форму списка договоров добавил колонку "Договор займа" (флаг);
3) В форме договора добавил флаг "к ключевой ставке ЦБ". Это значит что расчет процентов будет выполнятся по "ставке указанной к договору + ключевая ставка ЦБ на дату расчета"
4) в запросе по левому соединению выполняется расчет ключевой ставки.
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтавкаРефинансированияЦБ.СрезПоследних(&НачПериода"+К+") КАК ПроцентныеСтавкиФинансовыхИнструментов
| ПО (ИСТИНА)
(скрины прилагаются).
27.06.2019г. "Расширение" функционала расширения.
1) Начисления по займам выданным регистрируются при проведении документа "Начисление процентов по займам" в регистре накопления "Записи раздела 7 декларации по НДС" с кодом операции = 1010292 (Операции займа в денежной форме и ценными бумагами, операции РЕПО) и суммой реализации = начисленным процентам;
//Необходимо добавить этот код (1010292) в справочник "Коды операций раздела 7 декларации НДС" подбором из встроенного классификатора.
26.08.2019г. "Расширение" функционала расширения.
По сообщению пользователя (//infostart.ru/profile/349055/) о проблемах / предложениях.
- Добавил печатную форму "Результат расчета" к документу (последний скрин)
- При проведении документа в зависимости от использования ОСНО документ выполняет / не выполняет движения по регистру "Записи раздела 7 декларации по НДС".
- При открытии формы договора, корректно отражается группа реквизитов для расчета займа.
Спасибо за комментарии )
29.08.2019г. "Расширение" функционала расширения.
По сообщению пользователя (//infostart.ru/profile/349055/) о проблемах / предложениях.
- Добавил реквизит "Ответственный" в форму документа и заполнение в печатной форме расчета.
03.10.2019г. Исправил ошибку применения конфигурации в релизе 3.0.73
1. Исправил ошибку при проверке возможности применения расширения в бухгалтерии ред.3.0.73 (изменился тип реквизита основной конфигурации);
2. Возможность начисления % по договорам, где ставкой выступает только ставка рефинансирования (0% + ставка рефинансирования);
3. Оформление формы списка. Добавил колонку "Ответственный" и "Комментарий".
P.S. для одной компании-заказчика доработал расширение в части выданных займов добавлением забалансового счета (РКЗ.58 - Расчеты по кредитам и займам / выданные займы) и указанием даты изменения состояния базы в документах списания с расчетного счета. Документ списания с расчетного счета формировал проводки от указанной бухгалтером даты.
Тестировалось на конфигурации: Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.71.69)
Бухгалтерия предприятия, редакция 3.0 (3.0.71.69).
27.01.2020г. Расширение адаптировано для совместимости с редакцией 3.0.75.37.
17.03.2023г. Расширение адаптировано для совместимости с редакцией 3.0.131.27.
13.10.2023г. Расширение адаптировано для совместимости с редакцией 3.0.150.29.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.150.29