Текущее время: Ср, июл 23 2025, 03:21

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


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

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


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

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