Текущее время: Сб, июл 26 2025, 11:36

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: функция RUAID
СообщениеДобавлено: Ср, сен 24 2008, 09:21 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, июн 21 2006, 16:16
Сообщения: 351
Есть функция RUAID, она рассчитывает сумму алиментов
от базы /130, в поле NUM практически всегда возвращается 1, но при
определенных условиях происходит сокращения 1, в чем заключается логика этого сокращения? для чего это надо? ведь база /130 из которой происходит расчет AMT, уже на входе сокращена.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 24 2008, 10:31 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
Алименты могут действовать не весь месяц. Например 25% до 10.09.08. Соотвественно итоговая цифра будет сокращена пропорционально дням действия.

Посмотрите исходный текст, там можно понять. Вот пример строк
Code:
       
it0-anzhl = ( ygar-endda - ygar-begda + 1 ) * lv_gena1.
it0-anzhl = it0-anzhl / ( aper-endda - aper-begda + 1 ).


ygar-... - это действие алимментов, aper-... - период расчета.

Ну и все это зависит еще от вида удержания (%, задолженость и т.д.)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 24 2008, 13:28 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, июн 21 2006, 16:16
Сообщения: 351
Это часть кода я уже пробовал анализировать но логике в ней не вижу.
/130 база алиментов приходит на вход функции уже сокращенной, и поле AMT рассчитанное из этой сокращенной базы имеет корректное значение. Для чего процент сокращения дополнительно дублировать в NUM.

RoustR не могли бы Вы уточнить у Вас на вход RUAID /130 приходит не сокращенный?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 25 2008, 07:18 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
У Вас какая-то путаница с этими сокращениями.
Начнем с начала. Есть база, с которой производится вычисление. Для алиментов это все начисления минус налоги. Вы называете ее почему-то сокращенной, а по-моему это просто база. Она приходит на вход RUAD. Сама RUAD базу не вычисляет.

Далее, нужно посчитать алименты. Допустим у нас есть алименты 25% в месяц. Ну, мы их так и считаем БАЗА * 25%. Тут вопросов нет.
А если алименты действует до 10.09.2008 и мы считаем за 09.2008, то как нужно вычислять? Есть вариант сокращения итоговой цифры пропорцианально периоду действия. Вот САП и вычисляет это сокращение - в поле NUM заносится значение ЧислоДнейДествия / ЧислоДнейВПериоде. В примере это 10/30. Можно заметить, что RUAD сама сумму алиментов не сокращает, а просто заносит в поле NUM. Сокращение делается в правиле. Если Вам не нужно это сокращение, уберите умножение на NUM.

Приведенный мной код как раз вычисляет сокращение
Code:
it0-anzhl = ( ygar-endda - ygar-begda + 1 ) * lv_gena1.
it0-anzhl = it0-anzhl / ( aper-endda - aper-begda + 1 ).

Пара ygar-begda, ygar-endda содержит период действия алиментов, адаптированый к текущему расчетному периоду. То есть, если алименты полностью входит в период расчта, то эти даты равны периоду расчета. В моем примере это будет 01.09.2008-10.09.2008.
aper-begda и aper-endda - это период расчета.
Первая строчка вычисляет длину периода действия алиментов. Вторая строчка делит эту величину на длину периода расчета (количество дней в месяце).
Получаем
Code:
it0-anzhl = ( 10 - 1 + 1 ) * 1.
it0-anzhl = it0-anzhl / ( 30 - 1 + 1 ).

Переменная lv_gena1 служит для повышения точности вычисления и определяется настройкой в таблице T511K, параметр GENA1 (по умолчанию равна 1). it0-anzhl - это и есть NUM.

Естественно, что все это касается только процентов. Если речь идет о задолженостях (указаны фиксированные суммы), то они не сокращаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 25 2008, 11:38 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, июн 21 2006, 16:16
Сообщения: 351
RoustR, большое спасибо за столь исчерпывающий ответ.

Ваши пояснения помогли мне понять суть возникшей у нас проблемы. Еще раз спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB