Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 13
1

Автоматический расчёт выплат

07.02.2016, 18:05. Показов 1530. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, нужно сделать расчёт в табличной части, кто может помочь?

p.s. На первом вложении после, на втором до.
Миниатюры
Автоматический расчёт выплат   Автоматический расчёт выплат  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2016, 18:05
Ответы с готовыми решениями:

Реестр Выплат
Помогите пожалуйста, где сделать в 1с 8.2 УПП "Реестр выплаты заработной платы" За ранние...

Автоматический расчёт цены по выбранной услуге
есть таблица с услугами и ценами выбираешь услугу и по тексту я сам ввожу цену рядом. но можно ли...

Расчёт площади для парковки авто (тип авто, площадь, расчёт средней общей)
Расчёт площади для парковки авто (тип авто, площадь, расчёт средней общей). Помогите...

Задержка выплат
Платеж кому нибудь пришел? Оформлен 26 мая, но денег не вижу. По моему рапида специально...

15
Заблокирован
07.02.2016, 19:45 2
я не понимаю че те надо, ты наверн и сам не понимаешь пока.
но карочи смори в режиме конфиггуратор у формы есть поля, у полей есть обработчики событий.
данные формы доступны в контексте клиента и сервера
в соотв. коллекциях.
текущая строка или текущие данные в
элементы.твоятаблица.текстрока или теккданные.
вот и все
наслаждайся
0
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 13
22.03.2016, 14:47  [ТС] 3
UP. Кто поможет это сделать? За деньги.
0
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
22.03.2016, 15:17 4
Whoa, это раздел оказания помощи на бесплатной основе. За деньги делают в Фрилансе.

В чем конкретно у вас проблема? Это самописная конфигурация, как я понимаю?
0
162 / 158 / 62
Регистрация: 28.09.2013
Сообщений: 293
22.03.2016, 18:15 5
Тут непонятно почему именно 3 месяца.

Ну в самом простом случае, если известно кол-во месяцев можно сделать так:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
процедура РасчитатьВыплатыСервер()
    числоМес = 3;
    выплатаВМесяц = Объект.Сумма / числоМес;
    
    Объект.НазваниеТабличнойЧасти.Очистить();
    
    для индекс = 1 по числоМес цикл
        новаяСтрокаТЧ = Объект.НазваниеТабличнойЧасти.Добавить();
        
        новаяСтрокаТЧ.Дата = ДобавитьМесяц(Объект.Дата, индекс); // дата, которая в шапке документа 
        новаяСтрокаТЧ.Сумма = выплатаВМесяц;
        новаяСтрокаТЧ.Проценты = выплатаЗаМес * 0.1; // вместо этого может быть формула расчета % от платежа
    конеццикла;
конецпроцедуры
Про итоги в "подвале" таблицы. Можно сделать гораздо легче и не парить себе мозг: в редакторе формы, где дерево реквизитов (справа сверху) можно открыть табличную часть и среди реквизитов обнаружить след.: Количество строк, ИтогСумма, ИтогПроценты. Просто перетащить их на форму. Как по мне так наглядней будет и без лишних действий можно обойтись.
1
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 13
22.03.2016, 19:22  [ТС] 6
Yanush, спасибо, попробую))
Почему 3 месяца? Завит от вида заема.

GreenkO, извините, не усмотрел, проблема в нехватке знаний)
0
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
22.03.2016, 19:40 7
Whoa, если это самописная конфигурация, то выложите посмотрим
0
-2 / 5 / 0
Регистрация: 07.03.2014
Сообщений: 254
22.03.2016, 19:49 8
GreenkO, что конфу туда-сюда гонять то?
0
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 13
01.04.2016, 13:45  [ТС] 9
Задержался я))
Вот информационная база, документ который требует помощи ДоговорВыдачиЗайма1
Вложения
Тип файла: rar 1Cv8.rar (460.6 Кб, 6 просмотров)
0
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
01.04.2016, 17:59 10
Whoa, как у вас будет происходить выплата в зависимости от периодичности?
Если год - то раз в год, если месяц - то раз в месяц, неделя - раз в неделю, день - раз в день? Или как-то иначе.

И кстати, измените тип СрокаЗайма в справочнике ВидыЗаймов, а то в строке напишут 3 мес, или еще чего...
1
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 13
01.04.2016, 18:10  [ТС] 11
Спасибо за совет, да, выплата происходит именно так, как вы описали
0
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
01.04.2016, 19:06 12
Whoa, а что со ставками? Это я так, понимаю, процентная ставка по займу? Я думаю, два параметра в виде займа - излишни. Логично, что для Недельной периодичности - будет и тип ставки недельный, и т.д. соответственно.
У вас есть формула по расчету процентов по займу? Там фиксированная ставка, процент от остатка?
Надо конкретнее ставить задачу.
1
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 13
01.04.2016, 21:22  [ТС] 13
Со ставками вы всё понимаете правильно, последую вашему совету)
Ставка фиксированная, то есть берётся сумма, делится на выплаты, количество которых зависит от вида займа, далее для каждой выплаты(строки) подсчитывается процент, который так же зависит от займа.
0
Эксперт 1С
3062 / 2009 / 524
Регистрация: 25.06.2009
Сообщений: 6,964
01.04.2016, 22:27 14
Whoa, посмотрите пример кода ниже, но с расчетом процентов я не уверена. Погуглила расчет наращенной суммы при фиксированной годовой ставке для кредита например сроком на N лет и формула отличается от преложенной вами(проценты будут гораздо больше), в комментах написала пример такого кода.
На кнопку Расчет:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
&НаКлиенте
Процедура Расчёт(Команда)
    Если Не ЗначениеЗаполнено(Объект.ВидЗайма) Или Не ЗначениеЗаполнено(Объект.Сумма) Или Не ЗначениеЗаполнено(Объект.Дата) Тогда
        Предупреждение(НСтр("ru = 'Перед расчетом выплат необходимо заполнить обязательные поля: Дата, Сумма и Вид займа.'"), 10);
        Возврат;
    КонецЕсли;
    Объект.Расчёт.Очистить();
    
    СтруктураПараметровРасчета = ПолучитьПараметрыРасчетаНаСервере(Объект.ВидЗайма);
    ЧислоПериодов = СтруктураПараметровРасчета.СрокЗайма;
    Периодичность = СтруктураПараметровРасчета.Периодичность;
    Ставка = СтруктураПараметровРасчета.Ставка;
    //Перепроверить расчет процентов и уточнить формулу
    //условно принято, что Ставка - это ставка за период, указанный в Периодичности займа. Если для всех видов займа будет ставка  как процент годовых, то формула изменится
    //Проценты = Объект.Сумма*(ЧислоПериодов*(Ставка/100));
    //ПроцентыЗаПериод = Проценты/ЧислоПериодов;
    
    ВыплатаЗаПериод = Объект.Сумма/ЧислоПериодов;
    
    Для Индекс = 1 по ЧислоПериодов цикл
        НовСтрока = Объект.Расчёт.Добавить();
        
        Если Периодичность = ПредопределенноеЗначение("Перечисление.Периодичность.Год") Тогда
            НовСтрока.Дата = ДобавитьМесяц(Объект.Дата, Индекс * 12); // дата, которая в шапке документа 
        ИначеЕсли Периодичность = ПредопределенноеЗначение("Перечисление.Периодичность.День") Тогда
            НовСтрока.Дата = Объект.Дата + 24*3600*Индекс; 
        ИначеЕсли Периодичность = ПредопределенноеЗначение("Перечисление.Периодичность.Месяц") Тогда
            НовСтрока.Дата = ДобавитьМесяц(Объект.Дата, индекс); 
        ИначеЕсли Периодичность = ПредопределенноеЗначение("Перечисление.Периодичность.Неделя") Тогда
            НовСтрока.Дата = Объект.Дата + 24*3600*7*Индекс; 
        КонецЕсли; 
        НовСтрока.Сумма = ВыплатаЗаПериод;
        НовСтрока.Проценты = ВыплатаЗаПериод * (Ставка/100);
    КонецЦикла;
КонецПроцедуры
 
&НаСервереБезКонтекста
Функция ПолучитьПараметрыРасчетаНаСервере(ВидЗайма)
    СтруктураПараметровРасчета = Новый Структура("СрокЗайма, Периодичность, Ставка", ВидЗайма.СрокЗайма, ВидЗайма.Периодичность, ВидЗайма.Ставка);
    Возврат СтруктураПараметровРасчета 
КонецФункции
1
162 / 158 / 62
Регистрация: 28.09.2013
Сообщений: 293
01.04.2016, 22:49 15
А я бы перенес всю обработку на сервер (все равно ПредопределенноеЗначение туда полезет, да и из вида займа там можно вытянуть инфу - все равно мы на сервере).
И
1C
1
2
3
4
Процедура Расчёт(Команда)
если ЭтотОбъект.ПроверитьЗаполнение() тогда
ВыполнитьРасчетСервер();
...
И реквизит дата не нужно будет проверять на заполненность.
1
1 / 1 / 0
Регистрация: 07.02.2016
Сообщений: 13
01.04.2016, 23:11  [ТС] 16
Спасибо, завтра утром попробую!)

Добавлено через 14 минут
Спасибо!!! Всё работает)))
0
01.04.2016, 23:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2016, 23:11
Помогаю со студенческими работами здесь

Расчет выплат
Всем привет. Детально все описал в файле, и сделал в ручную как должно быть. Желтые ячейки лишь...

Вычисление даты и выплат
Здравствуйте! Есть база данных. Необходимо определить количество выплат особым образом, которое...

Вычисление выплат по кредиту
Ребята ,добрый вечер. Есть задачка. Надо реализовать на С++. Без использования векторов. ...

скрипт выплат через WM
Вопрос к знающим и умеющим мира сего. Ребят подскажите как реализовать следующую задачу: есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru