![]() |
#1 |
Злыдни
|
![]()
Версия DAX 4.0 Kernel: 4.0.2501.116 Application: 4.0.2501.122
При разноске закупки, по которой возникли округления (цены и стоимости тянутся в строки закупки из другого источника, а не вводятся вручную), с завидной постоянностью создаются неоткорреспондированные проводки. Счет учета округлений настроен в системных счетах. Самое простое решение - округлять значения при вставке в строки. Но может быть кто-нибудь подскажет, где искать кривой код или настройку.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
![]() |
#2 |
Читатель
|
Происходит это потому, что проводка округления создается только с суммой в основной валюте, в то время как валютная сумма равна нулю. Кривой код, как мне кажется, в LedgerBondServer_RU.addBondMSTDiff(). Непонятно, какой был смысл вложен в нулевую валютную сумму...
|
|
![]() |
#3 |
Сенбернар
|
Цитата:
И оно, похоже, правильное. Все, как в реальной жизни. Хотя - и тут возможны грабли, с частичными поставками - оплатами...
__________________
Best Regards, Roman |
|
![]() |
#4 |
Участник
|
А можете ситуацию смоделировать?
Конкретные шаги для воспроизведения? |
|
![]() |
#5 |
Читатель
|
Цитата:
У нас в закупке смоделировалось чисто случайно: 10.0100 168338,75 10.0800 347,46 19.0600 30363,50 60.0101 -199049,70 |
|
![]() |
#6 |
Сенбернар
|
Цитата:
Я сказал, что даже если она и будет ненулевая - возможны ситуации, когда это не спасет. Если честно, не понял, что это... Чуть подробнее, с расшифровкой - кто есть who - можно?
__________________
Best Regards, Roman |
|
![]() |
#7 |
Участник
|
тут либо валюты надо указать с курсами, либо не балансирует, либо я чего-то не понимаю
|
|
![]() |
#8 |
Читатель
|
Цитата:
Цитата:
Это проводки в ваучере по накладной. Сумма дебетовых больше кредитовой на одну копейку. Эта копейка и является ошибкой округления. извиняюсь, забыл указать проводку по расхождению Z000.40 -0,01 |
|
![]() |
#9 |
Сенбернар
|
Цитата:
X++: this.AddTrans( ledgerVoucherTransObject::newVoucherTrans( this, LedgerPostingType::MSTDiff, accountNum, Dimension, companyInfo::standardCurrency(), transactionTxt.txt(), ledgerTrans.TransDate, 0, 0, -ledgerTrans.AmountMST, 0, NoYes::No, true), false); Цитата:
В связи с этим - вопрос к автору исходного сообщения: что Аксапта вам говорит, конкретно? И что такое вот это: Чем они (цены и стоимости) так сильно отличаются от рожденных в Аксапте?
__________________
Best Regards, Roman |
|
![]() |
#10 |
Злыдни
|
Цитата:
- в отдельном журнале фиксируются количества, цены и стоимость с точностью до 4 знаков; - строки копируются из данного журнала в заказ на покупку, в котором точность цен и сумм до 2 знаков. При отсутствии принудительного округления при вставке и последующей обработке накладной выскакивает окно с предупреждением, что возникла неполная корреспонденция.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
![]() |
#11 |
Участник
|
|
|
![]() |
#12 |
Сенбернар
|
Странно как-то...
Кол-во до 4-го - это золото, наверное. В граммах... Цена до 4-го - это на спички похоже. В штуках, что характерно ![]() Стоимость - это LineAmount? - до 4-го - тоже, наверное, спички. Не стеб ни разу, просто не понимаю, зачем оно все одновременно. А совет - все же приведите цены и прочее к привычной Axapta точности. === Вдогонку: а в параметрах ГК - Граница расхождений в основной валюте - сколько? И во вторичной?
__________________
Best Regards, Roman Последний раз редактировалось RVS; 10.11.2009 в 17:43. |
|
![]() |
#13 |
Читатель
|
Имелось в виду, что валютная сумма кредитовых проводок должна быть равна валютной сумме дебетовых проводок и так же должны быть равны суммы в основной валюте кредитовых и дебетовых проводок - это условие полного сопоставления. Или нет?
Кстати, у нас создалась такая ситуация в обычной закупке, просто несколько раз создали отгрузочные накладные и частично их сторнировали. Цены с точностью до 2 знаков. Граница расхождения - 1 копейка. Вроде все без криминала... Последний раз редактировалось b_nosoff; 10.11.2009 в 19:24. |
|
![]() |
#14 |
Сенбернар
|
Ох...
![]() Цитата:
Цитата:
Цитата:
Цитата:
А заодно - приведите уже сообщение, как именно Аксапта ругается. Не могу воспроизвести, хоть сообщение поищу ![]()
__________________
Best Regards, Roman |
|
![]() |
#15 |
Читатель
|
Я тоже
![]() например метод checkBeforeBond класса LedgerBondServer_RU Последний раз редактировалось b_nosoff; 11.11.2009 в 07:27. |
|
![]() |
#16 |
Злыдни
|
Я понимаю, что некоторые торгуют и покупают только штуками с круглой ценой. Но предположите ситуацию, когда есть плановая сумма закупки, которая рассчитывается от суммы продажи по обратной рентабельности, например, в 30%. А фактическая стоимость закупки фиксируется как плановая плюс отклонение факта от плана.
Системный EDT Amount имеет приличную размерность в десятичных знаках и отображает 12 из них, а вот EDT AmountCur может быть настроен, например, на отобржение только 2 знаков после запятой. Как повторить ошибку? Попробуйте с помощью SQL указать в LineAmount сумму с множеством знаков после запятой. Обработайте накладную. Думаю вы получите тот же результат, что и у меня. "Тупит" именно корреспонденция, т.к. при международной функциональности просто создается проводка по счету ошибок округления без поиска "второй" половины.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
![]() |
#17 |
Участник
|
Есть ли возможность воспроизвести ситуацию в рамках стандартного функционала?
|
|
![]() |
#18 |
Злыдни
|
Я думаю, что можно. Для этого придется у EDT AmountCur увеличить количество знаков после запятой. А вот порядок округления в валюте оставить прежним (общее округление и округление по покупке). Протестировать сейчас не могу.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
![]() |
#19 |
Участник
|
под стандартным функционалом я имею ввиду немодифицированное приложение
|
|
![]() |
#20 |
Злыдни
|
Цитата:
2. В округлениях для валюты в Аксапте установите общее округление и округление закупки до двух знаков. 3. Создайте закупку и в строке закупки для суммы установите сумму с четвертым знаком после запятой (для немодифицированного приложения для AmountCur установлено кол-во знаков Auto, т.ч. четыре знака должно быть доступно). 4. Проведите разноску. Думаю, что Вы отловите ошибку (проверить в офисе перечисленную последовательность не могу).
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
Теги |
корреспонденция, округление |
|
|