IE2017

Расчет ЧИСТВНДОХ в 1С 8

Программирование - Универсальные функции

Обработка расчета, аналогичная ЧИСТВНДОХ в excel
Очень поможет всем МФО (микрофинансовым организациям)
ЧИСТВНДОХ  - функция excel, которая возвращает внутреннюю ставку доходности для графика денежных потоков, которые не обязательно носят периодический характер.
Этот алгоритм - результат переработки алгоритма на VBA.
Этот сайт мне показала справка моего excel.
http://www.programmersforum.ru/showthread.php?t=97344
Подобные расчеты пригодятся всем, чья деятельность связана с МФО, т.к. с 01.07.14 вступает в полную силу закон о потребительских кредитах, предоставляемых физическим лицам (Федеральный закон от 21.12.2013 N 353-ФЗ «О потребительском кредите (займе)»)


Скачать файлы

Наименование Файл Версия Размер
ver10
.epf 8,27Kb
07.07.14
28
.epf 1.0 8,27Kb 28 Скачать

См. также

Комментарии
1. юрий гулидов (gull22) 82 09.07.14 10:22 Сейчас в теме
2. Евгения (Enya) Воробьёва (Enya_06) 07.08.14 19:04 Сейчас в теме
Отлично! Полезный и важный труд!
3. Антон Баранов (ag.baranov) 21.08.14 15:51 Сейчас в теме
Оптимизированный код для 7.7

Функция Экспонента(Х)
    Р=1;
    Дельта=1;      
    К=1;
    Пока ?(Дельта>0,Дельта,-Дельта)>0.000001 Цикл
        Дельта=Дельта*Х/К;
        К=К+1;
        Р=Р+Дельта;
    КонецЦикла;
    Возврат окр(Р,5);    
КонецФункции   

Функция степень(а,в) 
    возврат Экспонента(Лог(а)*в);
КонецФункции   

Функция Отклонение(Предп)
	Р = -СуммаЗайма;
	ВыбратьСтроки();
	Пока ПолучитьСтроку() = 1 Цикл		
	    Р = Р + Всего / Степень(1 + Предп,(ДатаПлатежа - ДатаДок)/365);
	КонецЦикла;
	Возврат Р
КонецФункции

Функция ЧИСТВНДОХ()
	Если СуммаЗайма = 0  Тогда
	    Возврат 0;
	КонецЕсли;
	Если КоличествоСтрок() = 0 Тогда
	    Возврат 0
	КонецЕсли;
	Переплата = (Итог("Всего") / СуммаЗайма); 
	ПолучитьСтрокуПоНомеру(КоличествоСтрок());
	Лет = (ДатаОкончания - ДатаДок) / 365;
	Предп = Степень(Переплата,2/Лет) - 1;	//начальная оценка ставки
	
	Р = Отклонение(Предп);
	Если Р > 0 Тогда
		Шаг = 0.382 * Предп;
	Иначе
		Шаг = -0.382 * Предп;
	КонецЕсли;
	Точность = 0.00001;
	Пока (Шаг < -Точность) ИЛИ (Шаг > Точность) Цикл
		Предп = Предп + Шаг;
		Р = Отклонение(Предп);
		Если Р * Шаг < 0 Тогда
			Шаг = -Шаг * 0.382;//из метода золотого сечения
		КонецЕсли;
	КонецЦикла;
	Возврат Предп;
КонецФункции	
...Показать Скрыть
Оставьте свое сообщение