bdd2

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

Опубликовал Виталий С (newtraveller) в раздел Программирование - Универсальные функции

Обработка расчета, аналогичная ЧИСТВНДОХ в 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) 80 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;//из метода золотого сечения
		КонецЕсли;
	КонецЦикла;
	Возврат Предп;
КонецФункции	
...Показать Скрыть