Реализация функции MS Excel ВСД (IRR) в 1С

16.05.17

Разработка - Универсальные функции

Клиент поставил задачу: посчитать в 1С внутреннюю ставку доходности проекта. В MS Excel это решалось просто, достаточно было вызвать функцию ВСД (или IRR в не локализованной версии). В 1С такой функции нет. После анализа решений в интернете написал свою реализацию этой задачи, всё просто: на вход подается таблица значений, которая содержит денежные потоки через равные промежутки времени. На выходе получается процентная ставка за период.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Реализация функции MS Excel ВСД (IRR) в 1С:
.erf 7,71Kb
39 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Аналог функции ВСД программы MS Excel (расчет внутренней ставки доходности) для 1С реализован в виде внешнего отчета. Отчет содержит одну экспортную функцию ВСД, расположенную в модуле отчета. Варианты использования: встроить отчет в свою конфигурацию и вызывать эту функцию или скопировать функцию и расположить в своём модуле. 

В качестве параметра функции использовать таблицу значений. Функция возвращает число, это рассчитанный процент за период.

Для демонстрации работы функции на форме расположена таблица значений. Заполнив её и нажав кнопку "Рассчитать ВСД" мы получим сообщение о значении ВСД для этих данных.

Обработка тестировалась на платформе 1С:Предприятие 8.3 (8.3.9.2170), конфигурация УПП ред. 1.3.

Описание оригинала функции от Microsoft: функция возвращает внутреннюю ставку доходности для ряда потоков денежных средств, представленных их численными значениями. В отличие от аннуитета, денежные суммы в пределах этих потоков могут колебаться. Однако обязательным условием является регулярность поступлений (например, ежемесячно или ежегодно). Внутренняя ставка доходности — это процентная ставка, принимаемая для инвестиции, состоящей из платежей (отрицательные величины) и доходов (положительные величины), которые имеют место в следующие друг за другом и одинаковые по продолжительности периоды.

Вступайте в нашу телеграмм-группу Инфостарт

ВСД IRR

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    5169    Abysswalker    11    

47

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    9647    DeerCven    15    

63

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

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

21.05.2024    60094    dimanich70    85    

175

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    8332    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    75300    atdonya    31    

74

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    10418    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Negator 11.01.19 16:07 Сейчас в теме
Ну вообще то ВСД можно рассчитывать не только когда все периоды между платежами идеально равны между собой. Если они не равны, то за базовый период принимается наиболее часто встречающийся в графике временной интервал между денежными потоками. Сложность расчета при этом существенно возрастает...
2. igrik72 15.06.20 14:55 Сейчас в теме
Добрый день. Приобрел вашу обработку. Сравнил с результатом работы функции ВСД, реализованной в MS EXCEL. Результаты отличаются. :( Ваша функция работает неверно?
3. Scop 64 15.06.20 15:47 Сейчас в теме
Игорь, публиковал 3 года назад, разрабатывал ещё раньше, за это время нареканий не было. Какие входные данные используете?
4. igrik72 15.06.20 16:14 Сейчас в теме
Разобрался. В моих примерах ВСД было от 0 до 2 %. И поэтому я не сразу понял, что нужно округлять до целых.
Обработка работает корректно. Автору спасибо.
5. PavelTihonov 08.09.21 18:37 Сейчас в теме
Спасибо за обработку!
6. Scop 64 08.09.21 18:40 Сейчас в теме
(5) Рад, что помогает. ;-)
Для отправки сообщения требуется регистрация/авторизация