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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Ahrefs [Bot]


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

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