AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.07.2012, 17:18   #1  
maxkov is offline
maxkov
Участник
 
77 / 11 (1) +
Регистрация: 09.09.2005
Слишком большое число для проведения операции
Случилась страшная кака - при пересчете балансов по периодам появились суммы размер которых превышает 32 байта и аксапта не может их записать и выдает ошибку SQL
что посоветуете сделать?
версия 4,0
Старый 16.07.2012, 17:40   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
бежать в кадры... А на самом деле интересная ситуация.... Я даже не знаю... Может завести ряд переменных и там хранить слагаемые.
Старый 16.07.2012, 18:07   #3  
maxkov is offline
maxkov
Участник
 
77 / 11 (1) +
Регистрация: 09.09.2005
Ну вообще есть же страны у которых коробок спичек миллион стоит. Как то у них не переполняется ведь.
Старый 16.07.2012, 18:14   #4  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
А кто мешает сделать, как курс отношения 100:1000
__________________
Axapta book for developer
Старый 17.07.2012, 07:33   #5  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Вы уверены, что правильно написали? 32 байта? Может все-таки бита? Или вам не принципиально? )
Для числа, хранимого в 32 байтах можно учитывать и спички по 1 млн.
Если мое предположение правильно, то данная проблема актуальна только для целочисленного представления данных.

C уважением, Дмитрий.

Последний раз редактировалось DmitryK; 17.07.2012 в 07:46.
За это сообщение автора поблагодарили: kornix (1).
Старый 17.07.2012, 11:54   #6  
maxkov is offline
maxkov
Участник
 
77 / 11 (1) +
Регистрация: 09.09.2005
ну биты биты )) не влазит вообщем


Error Сообщение (18:53:48) Невозможно создать запись в Операции по сальдо ГК (LedgerBalancesTrans). Номер счета : 51.02, 30.06.2012.
База данных SQL обнаружила ошибку.
Info Сообщение (18:53:48) Описание ошибки SQL: [Microsoft][ODBC SQL Server Driver]Числовое значение выходит за пределы допустимого диапазона
Info Сообщение (18:53:48) Оператор SQL: INSERT INTO LEDGERBALANCESTRANS (ACCOUNTNUM,TRANSDATE,DEBITMST,CREDITMST,DEBITOPRMST,CREDITOPRMST,DEBITTAXMST,CREDITTAXMST,PERIODCODE,DEBITMSTSECOND,CREDITMSTSECOND,DEBITOPRMSTSECOND,CREDITOPRMSTSECOND,DEBITTAXMSTSECOND,CREDITTAXMSTSECOND,QTY,SYSTEMGENERATEDULTIMO,LEDGERBALANCESVARIANT,DATAAREAID,RECVERSION,RECID) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)


А по поводу курса - уже куча операций по обычному курсу если сейчас поделить то миллион станет тыщей а старые проводки останутся миллионами
Старый 17.07.2012, 12:32   #7  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Есть мнение, которое может быть ошибочным, но тем не менее ...

maxkov, а откуда дровишки про 32-бита ?
Вы уверены, что превышение именно в сумме?
32 бита - это обычный размер real на SQL, однако этот тип не применяется для хранения сумм для DAX, cуммы в DAX - это 13-байтовый Numeric(28,12), могущий хранить величины в пределах плюс/минус 10^28 - 1 (бессчетные окулиарды - как их превысить, ума не приложу).

Кроме того, 32-бита - это обычный int (который тоже является числовым значением, о котором говорится в ошибке). Данному типу у нас в приведенном запросе соответствуют:
  1. поле RecVersion
  2. поле SystemGeneratedUltimo
  3. поле PeriodCode
  4. поле LedgerBalancesVariant


Нет ли в данном случае попыток лечения китайца от желтухи и поиска черной кошки в темной комнате?
Можно трэйс запроса со стороны SQL-сервера в студию взамен корявого аксаптовского ?
Ибо есть серьезные подозрения (если Ваша правда про ругань именно на 32-хбитное число), что дело не в сумме, а int-овских полях
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 17.07.2012 в 12:57. Причина: В разрядности максимального для Numeric(28,12) ошибся
Старый 17.07.2012, 12:36   #8  
DmitryK is offline
DmitryK
Участник
 
179 / 76 (3) ++++
Регистрация: 22.12.2011
Посмотрите, а нет ли значений -0 (минус ноль).
Хотя в этой таблице нет целых значений (расчетных).
Мне кажется, надо понять где формируется (почему) ошибочное значение, после какой операции. Может отдебажить ее?

C уважением, Дмитрий.

Последний раз редактировалось DmitryK; 17.07.2012 в 12:39.
Старый 17.07.2012, 17:02   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от maxkov Посмотреть сообщение
Невозможно создать запись в Операции по сальдо ГК (LedgerBalancesTrans). Номер счета : 51.02, 30.06.2012.
База данных SQL обнаружила ошибку. Числовое значение выходит за пределы допустимого диапазона
А вы не задумывались, откуда у вас за период такие суммы по счету взялись? Аналогичный случай был на форуме Dynamics Community. Там ошибка вылезала на вставке в InventSumDelta, и в результате некоторых изысканий выяснилось, что по одной из номенклатур просто была неправильно рассчитана себестоимость (ниже - скриншот из той темы), может, у вас тоже где-нить "не та" сумма проскочила?

Последний раз редактировалось gl00mie; 17.07.2012 в 17:05.
За это сообщение автора поблагодарили: Logger (2), mnt_dx (1).
Старый 20.07.2012, 12:32   #10  
maxkov is offline
maxkov
Участник
 
77 / 11 (1) +
Регистрация: 09.09.2005
Были искусственные операции на большую сумму но тогда мы не звадумались о подобной проблеме. а ньюмерик реально не +-28знаков. мсдн врет
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Повторные операции в маршрутах Hard DAX: Функционал 21 21.09.2011 15:04
Операции с ОС, переданными в аренду IDian DAX: Функционал 2 10.08.2009 23:25
Как для ГК операции в LedgerTrans найти соответствующую операцию в VendTrans? romulis DAX: Программирование 20 29.08.2006 14:10
Помогите указать 2 рабочих центра на операции clerk DAX: Функционал 14 08.02.2005 22:35
Строки спецификации - Код операции Андре DAX: Функционал 3 08.05.2003 14:27

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:22.