8.х Как написать такую формулу?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Vladius, 24 янв 2011.

  1. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Появилась необходимость написать кредитный калькулятор, но не имею понятия как написать эту формулу в 1с, помогите пожалуйста

    [​IMG]

    где

    A — Ежемесячный платеж,

    S — сумма кредита,

    p — процентная ставка в месяц,

    n — количество месяцев погашения кредита.
  2. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Ну попробуйте написать что-то вроде этого:
    Код:
    ЕдиницаПлюсПэВСтепениМинусЭн = Pow(1+р, -эн);
    Числитель = ЭС * р;
    Знаменатель = 1 - ЕдиницаПлюсПэВСтепениМинусЭн;
    А = Числитель / Знаменатель;
    
    Вроде так должно работать. Ну если чего не учел (не проверял), подправите....Это же обычные арифметические операции...:)
  3. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Вообще ничего не понятно.

    Как написать что бы я уже мог рассчитывать кредит? Я создал форму в ней объекты, сумма кредита, еж. мес. платеж, процент, и кол-во месяцев.
  4. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    А что за переменные ЭС, -эн?
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Думаю это буква S из вашей формулы)))))))
  6. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Сделал так:

    Код:
    А = Объект.СуммаКредита / Объект.СрокКредита;
    S = Объект.СуммаКредита;
    P = Объект.ПроцентнаяСтавкаВМесяц;
    N = Объект.СрокКредита;
    
    ЕдиницаПлюсПэВСтепениМинусЭн = Pow(1+P, -N);
    Числитель = S * P;
    Знаменатель = 1 - ЕдиницаПлюсПэВСтепениМинусЭн;
    Итог = Числитель / Знаменатель;
    
    
    Объект.Платеж = Итог;
    

    В итоге вышла какая та хрень, рассчитываю 1000 на 12 мес. с процентом 3 показывает ежемесячный платеж 3000
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    а процент на 100 делить не нужно?
  8. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Мне кажется, что процентную ставку надо вводить в долях, т.е. поделенную на 100
    Например 20% - это 0,2

    Бухгалтерский угодник опередил
  9. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Числитель = S * P / 100; ?
  10. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Да, точно.
    Ну извиняйте...:) Хотел сохранить русскоязычное написание кода...:) В итоге стало менее понятно..:(
  11. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    ЕдиницаПлюсПэВСтепениМинусЭн = Pow(1+P/100, -N);
    
    
  12. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Блин, точно, так и знал что делится 3 а не 0.03 )))

    Исправил это в переменной P = Объект.ПроцентнаяСтавкаВМесяц / 100;

    Все теперь считает с процентиками ) Спасибо Вам огромное )

    Только жаль что я математику в школе не учил, и не знаю что делает это - ЕдиницаПлюсПэВСтепениМинусЭн = Pow(1+P, -N); )))
  13. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Вряд ли этому учат в школе. Зато об этом можно прочитать в синтакс-помощнике ...

  14. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Уже давно почитал. И то что Возводит число <X> в степень <Y>. Мне ничего об этом не говорит :)
  15. cska-fanat-kz
    Offline

    cska-fanat-kz

    Регистрация:
    8 янв 2011
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Это значит надо Y раз умножить X на X .

    X = 2, Y = 2 получаем 2 * 2 = 4

    X = 3, Y = 3 получаем 3 * 3 * 3 = 27

    X = 3, Y = 2 получаем 3 * 3 = 9
  16. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    :angry:
  17. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    [off]И эти люди выдают нам кредиты? ;) :D [/off]
  18. serega2671
    Offline

    serega2671 Опытный в 1С

    Регистрация:
    18 май 2009
    Сообщения:
    115
    Симпатии:
    0
    Баллы:
    26
    Код:
    Функция СложныйПроцент(Кредит, Ставка, Срок = 1)
    
    Возврат Кредит * Pow(1 + Ставка / 100, Срок);
    
    КонецФункции
    
  19. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    [off]Сам не удержался... Бедное наше среднее образование[/off]
    [warn="Внимание"]
    Все, народ, хорош флудить!
    [/warn]
  20. TopicStarter Overlay
    Vladius
    Offline

    Vladius Опытный в 1С

    Регистрация:
    10 ноя 2010
    Сообщения:
    663
    Симпатии:
    3
    Баллы:
    29
    Да, есть такие люди которые не знаю математику :)

Поделиться этой страницей