Текущее время: Вс, июл 20 2025, 23:16

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: COMPUTE_BCD_OVERFLOW
СообщениеДобавлено: Ср, сен 24 2014, 08:50 
Начинающий
Начинающий

Зарегистрирован:
Ср, сен 24 2014, 08:36
Сообщения: 2
Добрый день, дамы и господа.

При расчете заработной платы по сотрудникам, выплаты которых > 9.999.999,99 возникает ошибка "COMPUTE_BCD_OVERFLOW", исключ. "CX_SY_ARITHMETIC_OVERFLOW". краткий текст: "Overflow during the arithmetical operation (type P) in program "HRUCALC0".

Как я понимаю, системе не хватает длины поля, чтобы произвести расчет суммы.

Для того, чтобы хоть как-то рассчитать, изменяли константу GENAU (со 100 000 до 10 000), но из за этого падает точность.

Есть еще одна константа, которая меня смущает MAXBT (Макс.сумма для перевода в банк) = 9.999.999,99, однако длины поля в V_T511K не хватает, чтобы её увеличить.

Нужной ноты не нашел.

Подскажите, пожалуйста, как можно решить эту проблему?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: COMPUTE_BCD_OVERFLOW
СообщениеДобавлено: Ср, сен 24 2014, 09:22 
Ассистент
Ассистент

Зарегистрирован:
Пн, сен 12 2011, 10:39
Сообщения: 49
M_Man написал(а):
Добрый день, дамы и господа.

При расчете заработной платы по сотрудникам, выплаты которых > 9.999.999,99 возникает ошибка "COMPUTE_BCD_OVERFLOW", исключ. "CX_SY_ARITHMETIC_OVERFLOW". краткий текст: "Overflow during the arithmetical operation (type P) in program "HRUCALC0".

Как я понимаю, системе не хватает длины поля, чтобы произвести расчет суммы.

Для того, чтобы хоть как-то рассчитать, изменяли константу GENAU (со 100 000 до 10 000), но из за этого падает точность.

Есть еще одна константа, которая меня смущает MAXBT (Макс.сумма для перевода в банк) = 9.999.999,99, однако длины поля в V_T511K не хватает, чтобы её увеличить.

Нужной ноты не нашел.

Подскажите, пожалуйста, как можно решить эту проблему?

В своё время делали фиктивное разделение выплат. То есть вводили 27 ИТ с тем е МВЗ на какой нить период или если выплачивается одним ВО большая сумма то делали присвоение принудительное на тоже МВЗ .
Всё получалось без изменения GENAU/
Надо чтобы налоги /12* были разбиты сплитами


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: COMPUTE_BCD_OVERFLOW
СообщениеДобавлено: Ср, сен 24 2014, 10:38 
Начинающий
Начинающий

Зарегистрирован:
Ср, сен 24 2014, 08:36
Сообщения: 2
ApA написал(а):
M_Man написал(а):
Добрый день, дамы и господа.

При расчете заработной платы по сотрудникам, выплаты которых > 9.999.999,99 возникает ошибка "COMPUTE_BCD_OVERFLOW", исключ. "CX_SY_ARITHMETIC_OVERFLOW". краткий текст: "Overflow during the arithmetical operation (type P) in program "HRUCALC0".

Как я понимаю, системе не хватает длины поля, чтобы произвести расчет суммы.

Для того, чтобы хоть как-то рассчитать, изменяли константу GENAU (со 100 000 до 10 000), но из за этого падает точность.

Есть еще одна константа, которая меня смущает MAXBT (Макс.сумма для перевода в банк) = 9.999.999,99, однако длины поля в V_T511K не хватает, чтобы её увеличить.

Нужной ноты не нашел.

Подскажите, пожалуйста, как можно решить эту проблему?

В своё время делали фиктивное разделение выплат. То есть вводили 27 ИТ с тем е МВЗ на какой нить период или если выплачивается одним ВО большая сумма то делали присвоение принудительное на тоже МВЗ .
Всё получалось без изменения GENAU/
Надо чтобы налоги /12* были разбиты сплитами

не помогает


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: COMPUTE_BCD_OVERFLOW
СообщениеДобавлено: Ср, сен 24 2014, 13:57 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 07:53
Сообщения: 1398
По переполнению.
Нужно определить где именно происходит падение (в какой правиле), проанализировать алгоритм работы этого правила и уже из этого делать какие-то изменения.
У нас, например, переполнения происходило в правиле RUTD (71 класс, выполняет распределение налогов по сплитам пропорционально базам). Ну а как будет без падения, если там производится умножение базы налога (скажем от 100 млн.руб) на GENAU (100 000)? Результат будет больше 10^13, а размер переменных для работы с суммами 15 символов, из них 2 - это копейки.
Решение - делайте свою реализацию этого правила, где такое умножение не выполняется.
Я в описанном примере просто заменил в правиле RUTD переменную GENAU на ZENAU, которую определил в меньшем размере. Для точности работы именно этого правила этого достаточно.


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

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


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

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


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

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