Вывод расчета процентов по дням в документ

1. user2094225 23.09.24 08:05 Сейчас в теме
Здравствуйте! Есть реквизиты ДатаЗайма и ДатаВыкупа. Также есть реквизит СхемаКредитования в нем указывается % в месяц и СуммаЗайма. Хочу в документе создать что-то типо таблицы, где будет по дням начиная от даты займа до даты выкупа расписываться сумма займа с учетом процента. (Скрин прикладываю) Например: 11.09.2024 - 28000, 12.09.2024 - 28075.6 и т.д.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
5. scarl1n 23.09.24 08:32 Сейчас в теме
(4) В общем, написал такую топорную функцию, которая вызывается по команде для заполнения таблицы. Структуру документа попытался повторить как у вас, так что, думаю, что сможете переписать под себя, изменив формулы (например, при рассчете СуммаПроцентов брать не СуммаПроцентов, а сумму займа):


&НаСервере
Процедура ЗаполнитьТаблицуРасшифровки()
	
	// За начало расшифровки берем дату займа
	ТекущийДень = Объект.ДатаЗайма;
	
	// Получаем параметры из схемы займа
	СхемаЗайма = Объект.СхемаЗайма;
	ПроцентВМесяц = СхемаЗайма.ПроцетнаяСтавка;
	СуммаСПроцентами = СхемаЗайма.СуммаЗайма;
	
	// Заполняем таблицу расшифровки от даты займа по дату выкупа
	Пока ТекущийДень <= Объект.ДатаВыкупа Цикл
		
		// На первый день процент не начисляем (если надо, то нижние
		// рассчеты можно перенести над этим комментарием)
		СтрокаРасшифровка = Объект.РасшифровкаПоДням.Добавить();
		СтрокаРасшифровка.Дата = ТекущийДень;
		СтрокаРасшифровка.Сумма = СуммаСПроцентами;
		
		// Добавляем день 
		ТекущийДень = ТекущийДень + 86400;
		
		// Выполняем рассчет процентов
		ДнейВТекущемМесяце = День(КонецМесяца(ТекущийДень));	
		ПроцентВДень = ПроцентВМесяц / ДнейВТекущемМесяце;
		СуммаПроцентов = (СуммаСПроцентами / 100) * ПроцентВДень;			
		СуммаСПроцентами = СуммаСПроцентами + СуммаПроцентов;
		
	КонецЦикла;
	
КонецПроцедуры

Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2033930 23.09.24 08:06 Сейчас в теме
(1)
Хочу в документе создать что-то типо таблицы
Разрешения спрашиваешь? Считай, что оно получено.
3. scarl1n 23.09.24 08:17 Сейчас в теме
А по какой формуле ты хочешь процент в день начислять, если ставка за месяц? Делить на количество дней в месяце?
4. user2094225 23.09.24 08:29 Сейчас в теме
(3) Ну да, не совсем правильно написала, ставка в месяц 8% тобишь 0.27% в день. По формуле S = P*(1+r)^t
S — сумма, которую нужно вернуть,
P — начальная сумма займа,
r — дневная процентная ставка (в данном случае 0.27% = 0.0027),
t— количество дней.
5. scarl1n 23.09.24 08:32 Сейчас в теме
(4) В общем, написал такую топорную функцию, которая вызывается по команде для заполнения таблицы. Структуру документа попытался повторить как у вас, так что, думаю, что сможете переписать под себя, изменив формулы (например, при рассчете СуммаПроцентов брать не СуммаПроцентов, а сумму займа):


&НаСервере
Процедура ЗаполнитьТаблицуРасшифровки()
	
	// За начало расшифровки берем дату займа
	ТекущийДень = Объект.ДатаЗайма;
	
	// Получаем параметры из схемы займа
	СхемаЗайма = Объект.СхемаЗайма;
	ПроцентВМесяц = СхемаЗайма.ПроцетнаяСтавка;
	СуммаСПроцентами = СхемаЗайма.СуммаЗайма;
	
	// Заполняем таблицу расшифровки от даты займа по дату выкупа
	Пока ТекущийДень <= Объект.ДатаВыкупа Цикл
		
		// На первый день процент не начисляем (если надо, то нижние
		// рассчеты можно перенести над этим комментарием)
		СтрокаРасшифровка = Объект.РасшифровкаПоДням.Добавить();
		СтрокаРасшифровка.Дата = ТекущийДень;
		СтрокаРасшифровка.Сумма = СуммаСПроцентами;
		
		// Добавляем день 
		ТекущийДень = ТекущийДень + 86400;
		
		// Выполняем рассчет процентов
		ДнейВТекущемМесяце = День(КонецМесяца(ТекущийДень));	
		ПроцентВДень = ПроцентВМесяц / ДнейВТекущемМесяце;
		СуммаПроцентов = (СуммаСПроцентами / 100) * ПроцентВДень;			
		СуммаСПроцентами = СуммаСПроцентами + СуммаПроцентов;
		
	КонецЦикла;
	
КонецПроцедуры

Показать
6. user2094225 23.09.24 08:44 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот