Начисление процентов по займам полученным / выданным. Расширение для БП 3.0










Готовое решение для Бухгалтерии 3.0 (+ КОРП) с помощью внедрения которого выполняется расчет процентов по полученным/выданным займам (руб/вал.).

Расширение включает в себя 3 новых объекта:

  1. Справочник: "Способ отражения расходов по кредитам/займам" (можно было использовать типовой справочник "Способ отражения расходов по амортизации", но решил, что корректнее с точки зрения методологии создать независимый объект;
  2. Перечисление: "Направление займа", со значениями: "Выданный" и "Полученный";
  3. Документ: "Начисление процентов по займам".

… все прочие дополнения и доработки, внесенные после, описаны в дополнении, после основного описания функционала.

Справочник "Договоры контрагентов" дополнил реквизитами: 

  • Флаг "Это договор займа" (виден только в случае вида договора = Прочее);
  • При включении займа открывается группа с реквизитами настройки займа:
    • % займа;
    • Счет учета договора %;
    • Включать день поступления займа в расчет процентов;
    • Способ отражения расходов: (из соответствующего справочника расширения).

Все пользовательские объекты включены в подсистему "Операции" — "Бухгалтерский учет".

Алгоритм расчета:

  • К полученным кредитам/займам отбор по счетам: 66.01, 66.03, 66.21, 66.23, 67.01, 67.03, 67.21, 67.23;
    • В запросе анализируются Кредитовые остатки за период регистрации по дням.
  • К выданным кредитам/займам отбор по счетам: 58.03.
    • В запросе анализируются Дебитовые остатки за период регистрации по дням.

В зависимости от настройки в договоре займа (включать или нет день поступления /выдачи займа), показатель остатка либо начальное сальдо дня либо конечное

Для попадания в расчет, процент займа не должен быть = 0. Флаг "Это договор займа" должен быть включен.

 

Табличная часть документа начисления:

  1. Направление: "Выданный" / "Полученный" (результат из запроса)
  2. Способ отражения расходов: из справочника договора займа (для настройки счета доходов/расходов);
  3. Дата: либо конечная дата периода регистрации (в случае если не было оборотов по телу в течение месяца), либо дата изменения базы (для корректного расчета курса, при займе/кредите валютном;
  4. Счет учета процентов: из справочника договора займа (для указания на каком счете учитывать процентный договор — актуально для выданных займов); 
  5. Период начисления: "Дата С" и "Дата по" — за какой период выполнен расчет;
  6. Количество дней: Разница между "Дата С" и "Дата по" — справочно — для наглядности;
  7. База: Показатель для расчета. База на "Дату";
  8. Ставка: Значение из договора (реквизит не периодический);
  9. Валюта: Валюта займа;
  10. Курс: Курс займа на "Дату";
  11. Валютная сумма: Расчет в случае, если займ/кредит валютный;
  12. Сумма, руб: Расчет рублевой суммы займа/кредита.

 

Ниже запрос выполнения расчета (если кому интересно):

ЗапросОбороты.Текст = "";
Для К = 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 (Операции займа в денежной форме и ценными бумагами, операции РЕПО) и суммой реализации = начисленным процентам;

//Необходимо добавить этот код в справочник подбором из встроенного классификатора

 

26.08.2019г. "Расширение" функционала расширения.

По сообщению пользователя (//infostart.ru/profile/349055/) о проблемах / предложениях.

  1. Добавил печатную форму "Результат расчета" к документу (последний скрин)
  2. При проведении документа в зависимости от использования ОСНО документ выполняет / не выполняет движения по регистру "Записи раздела 7 декларации по НДС".
  3. При открытии формы договора, корректно отражается группа реквизитов для расчета займа.

Спасибо за комментарии )

29.08.2019г. "Расширение" функционала расширения.

По сообщению пользователя (//infostart.ru/profile/349055/) о проблемах / предложениях.

  1. Добавил реквизит "Ответственный" в форму документа и заполнение в печатной форме расчета.

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). 

19 Comments

  1. Olerina

    Здравствуйте. В 3.0.70.52 КОРП не устанавливается — ошибка формата файла

    Reply
  2. 9093042

    Добрый день, Марина.

    Действительно выгрузил отсюда файл расширения и не смог его привязать.

    Перезалил файл из рабочей конфигурации. Не могу сказать, как так получилось.

    Извините.

    Reply
  3. Дипломат

    Не устанавливается. Ниже текст ошибки.

    Платформа: 1С:Предприятие 8.3 (8.3.13.1513)

    Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.71.89) (http://v8.1c.ru/buhv8/)

    Copyright (С) ООО «1C-Софт», 2009 — 2019. Все права защищены

    (http://www.1c.ru)

    Режим: Серверный (сжатие: усиленное)

    Приложение: Тонкий клиент

    Локализация: Информационная база: русский (Россия), Сеанс: русский

    Вариант интерфейса: Такси

    Ошибки:

    ———————————————————————————

    23.08.2019 17:17:10

    Невосстановимая ошибка

    Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:

    Reply
  4. Дипломат

    При повторной попытке ошибка повторилась, но расширение подгрузилось и работает. Но все равно, примите к сведению, на будущее. Конфигурация типовая.

    Reply
  5. 9093042

    Спасибо за комментарий. Обязательно протестирую на последних релизах.

    Reply
  6. suvig

    После установки Вашего расширения на 2 базах появились проблемы с удалением помеченных объектов. «Удаление не выполнено по причине: Аварийно завершился рабочий процесс фонового задания». Не замечали такого?

    Reply
  7. suvig

    уточнение: платформа 8.3.13.1513, БП 3.0.73.38

    при проверке расширения много ошибок типа

    Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма Неразрешимые ссылки на объекты метаданных (6)

    Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма Неразрешимые ссылки на цвета (1)

    Reply
  8. 9093042

    Игорь, сейчас разверну 3.0.73.38 (только КОРП) и платформа 8.3.13.1690. Проверю удаление объектов подключив расширение.

    Reply
  9. 9093042

    Игорь, сейчас разверну 3.0.73.38 (только КОРП) и платформа 8.3.13.1690. Проверю удаление объектов подключив расширение.

    Кстати, а проверку совместимости проходит это расширение в 73 релизе? Может в этом проблема. Сейчас проверю и при необходимости перезалью расширение сюда.

    На всякий случай, отправьте в личку почту.

    Reply
  10. suvig

    у бухгалтерии пожелание: начислять проценты только по ставке ЦБ.

    сейчас запрос отсекает договоры, где процент=0, даже если стоит галка «к ключевой ставке ЦБ»

    Reply
  11. LD_2006

    Плавающий процент не поддерживает?

    Reply
  12. 9093042

    Добрый день.

    Вы спрашиваете, можно ли в течение месяца менять ставку?

    Пока нет. Если будет задача, думаю решаемо все. Придется добавить регистр и изменить форму справочника.

    Reply
  13. LD_2006

    При попытке, удалить помеченные объекты программа тоже вываливается. А так вроде бы всё считает.

    Reply
  14. 9093042

    (13) Добрый день.

    Напишите пожалуйста какая у вас платформа? У меня текущая 8.3.15.1565 — проблем нет.

    Reply
  15. LD_2006

    8.3.13.1513 платформа. И ещё — по займам выданным выдает неправильные суммы процентов, если введена ставка рефинансирования (например 9 сентября менялась ставка) Регистр ставки почистила результат изменился.

    Reply
  16. user1303162

    Здравствуйте!

    При добавлении расширения возникает ошибка:

    Платформа: 1С:Предприятие 8.3 (8.3.15.1747)

    Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.73.60) (http://v8.1c.ru/buhv8/)

    Copyright (С) ООО «1C-Софт», 2009 — 2019. Все права защищены

    (http://www.1c.ru)

    Режим: Файловый (без сжатия)

    Приложение: Тонкий клиент

    Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)

    Вариант интерфейса: Такси

    Ошибки:

    ———————————————————————————

    07.11.2019 11:08:22

    В процессе обновления информационной базы произошла критическая ошибка

    по причине:

    Ошибка SDBL:

    Поле с таким именем уже определено

    Конфигуратор при проверке возможности применения выдает ошибку:

    Расширение1 Роль ДобавлениеИзменениеДанныхБухгалтерии {(17,2)}: Ожидается оператор препроцессора

    Reply
  17. user1303162

    (14)Здравствуйте!

    При добавлении расширения возникает ошибка:

    Платформа: 1С:Предприятие 8.3 (8.3.15.1747)

    Конфигурация: Бухгалтерия предприятия, редакция 3.0 (3.0.73.60) (http://v8.1c.ru/buhv8/)

    Copyright (С) ООО «1C-Софт», 2009 — 2019. Все права защищены

    (http://www.1c.ru)

    Режим: Файловый (без сжатия)

    Приложение: Тонкий клиент

    Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)

    Вариант интерфейса: Такси

    Ошибки:

    ———————————————————————————

    07.11.2019 11:08:22

    В процессе обновления информационной базы произошла критическая ошибка

    по причине:

    Ошибка SDBL:

    Поле с таким именем уже определено

    Конфигуратор при проверке возможности применения выдает ошибку:

    Расширение1 Роль ДобавлениеИзменениеДанныхБухгалтерии {(17,2)}: Ожидается оператор препроцессора

    Reply
  18. kermzyxer

    Извините, сообщение 03.10.2019г. Исправил ошибку применения конфигурации в релизе 3.0.73. Не совсем понял, это исправление относится к ошибке от пользователя user1303162? У нас бухгалтер попробовал, такая же ошибка. Если она исправлена, как скачать свежую версию обработки?

    Reply
  19. 9093042

    Доброе утро.

    В 3.0.74 изменили права для роли.

    Буду обновлять расширение.

    Спасибо.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *