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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2009, 09:39   #1  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
! Отсутствие корреспонденции при наличии округления
Версия DAX 4.0 Kernel: 4.0.2501.116 Application: 4.0.2501.122
При разноске закупки, по которой возникли округления (цены и стоимости тянутся в строки закупки из другого источника, а не вводятся вручную), с завидной постоянностью создаются неоткорреспондированные проводки. Счет учета округлений настроен в системных счетах.
Самое простое решение - округлять значения при вставке в строки. Но может быть кто-нибудь подскажет, где искать кривой код или настройку.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 09.11.2009, 07:00   #2  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Происходит это потому, что проводка округления создается только с суммой в основной валюте, в то время как валютная сумма равна нулю. Кривой код, как мне кажется, в LedgerBondServer_RU.addBondMSTDiff(). Непонятно, какой был смысл вложен в нулевую валютную сумму...
Старый 10.11.2009, 08:38   #3  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Происходит это потому, что проводка округления создается только с суммой в основной валюте, в то время как валютная сумма равна нулю. Кривой код, как мне кажется, в LedgerBondServer_RU.addBondMSTDiff(). Непонятно, какой был смысл вложен в нулевую валютную сумму...
Даже ненулевая сумма в валюте не всегда спасет. Пример: округление в валюте компании (рубль) = 0.0001 коп. Чему равно округление в долларах?

Цитата:
Сообщение от KiselevSA Посмотреть сообщение
Самое простое решение - округлять значения при вставке в строки. Но может быть кто-нибудь подскажет, где искать кривой код или настройку.
И оно, похоже, правильное. Все, как в реальной жизни. Хотя - и тут возможны грабли, с частичными поставками - оплатами...
__________________
Best Regards,
Roman
Старый 10.11.2009, 10:11   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
А можете ситуацию смоделировать?
Конкретные шаги для воспроизведения?
Старый 10.11.2009, 12:57   #5  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Цитата:
Сообщение от RVS Посмотреть сообщение
Даже ненулевая сумма в валюте не всегда спасет. Пример: округление в валюте компании (рубль) = 0.0001 коп. Чему равно округление в долларах?
Я не говорил, что надо делать пересчет из одной валюты в другую. Я бы, например, брал непосредственно ошибку округления в валюте.

Цитата:
Сообщение от belugin Посмотреть сообщение
А можете ситуацию смоделировать?
Конкретные шаги для воспроизведения?
У нас в закупке смоделировалось чисто случайно:
10.0100 168338,75
10.0800 347,46
19.0600 30363,50
60.0101 -199049,70
Старый 10.11.2009, 14:08   #6  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Я не говорил, что надо делать пересчет из одной валюты в другую. Я бы, например, брал непосредственно ошибку округления в валюте.
Вы поругали Аксапту, сказав, что не понимаете, почему валютная сумма в проводке нулевая.
Я сказал, что даже если она и будет ненулевая - возможны ситуации, когда это не спасет.

Цитата:
Сообщение от b_nosoff Посмотреть сообщение
У нас в закупке смоделировалось чисто случайно:
10.0100 168338,75
10.0800 347,46
19.0600 30363,50
60.0101 -199049,70
Если честно, не понял, что это... Чуть подробнее, с расшифровкой - кто есть who - можно?
__________________
Best Regards,
Roman
Старый 10.11.2009, 14:24   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
тут либо валюты надо указать с курсами, либо не балансирует, либо я чего-то не понимаю
Старый 10.11.2009, 14:48   #8  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Цитата:
Сообщение от RVS Посмотреть сообщение
Вы поругали Аксапту, сказав, что не понимаете, почему валютная сумма в проводке нулевая.
Я, может быть из-за недостаточного своего опыта, считаю проводки с неуказанной валютной суммой неправильными. При текущей реализации механизма обработки расхождений других проводок не генерируется. Механизм корреспонденции рассчитан на совпадение обеих сумм (валютной и MST). И на мой взгляд есть два выхода - либо исправить механизм обработки расхождений, либо мириться с неполным ручным сопоставлением проводок.

Цитата:
Сообщение от RVS Посмотреть сообщение
Я сказал, что даже если она и будет ненулевая - возможны ситуации, когда это не спасет.
Лично к вам у меня претензий не было. Извините, что заставил вас оправдываться. И абсолютно с вами согласен, что возможно всё.

Цитата:
Сообщение от RVS Посмотреть сообщение
Если честно, не понял, что это...
Это проводки в ваучере по накладной. Сумма дебетовых больше кредитовой на одну копейку. Эта копейка и является ошибкой округления.

Цитата:
Сообщение от belugin Посмотреть сообщение
тут либо валюты надо указать с курсами, либо не балансирует, либо я чего-то не понимаю
извиняюсь, забыл указать проводку по расхождению Z000.40 -0,01
Старый 10.11.2009, 16:36   #9  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Я, может быть из-за недостаточного своего опыта, считаю проводки с неуказанной валютной суммой неправильными.
Извлечение из Classes\LedgerVoucherObject.postRoundingDifferencesPerDate()

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);
То есть и в оригинале проводка создается с нулевой суммой в валюте документа. Только сумма в учетной валюте.

Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Механизм корреспонденции рассчитан на совпадение обеих сумм (валютной и MST)
Мдя... Кажется, мы в сторону ушли немного...

В связи с этим - вопрос к автору исходного сообщения: что Аксапта вам говорит, конкретно? И что такое вот это:

Цитата:
Сообщение от KiselevSA Посмотреть сообщение
цены и стоимости тянутся в строки закупки из другого источника, а не вводятся вручную)
Чем они (цены и стоимости) так сильно отличаются от рожденных в Аксапте?
__________________
Best Regards,
Roman
Старый 10.11.2009, 17:08   #10  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Цитата:
Сообщение от RVS Посмотреть сообщение
В связи с этим - вопрос к автору исходного сообщения: что Аксапта вам говорит, конкретно? И что такое вот это:
Чем они (цены и стоимости) так сильно отличаются от рожденных в Аксапте?
Предположим следующее:
- в отдельном журнале фиксируются количества, цены и стоимость с точностью до 4 знаков;
- строки копируются из данного журнала в заказ на покупку, в котором точность цен и сумм до 2 знаков.
При отсутствии принудительного округления при вставке и последующей обработке накладной выскакивает окно с предупреждением, что возникла неполная корреспонденция.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 10.11.2009, 17:34   #11  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
При отсутствии принудительного округления при вставке и последующей обработке накладной выскакивает окно с предупреждением, что возникла неполная корреспонденция.
Не могли бы вы привести исходные данные или смоделировать ситуацию журналом ГК?
Старый 10.11.2009, 17:35   #12  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от KiselevSA Посмотреть сообщение
количества, цены и стоимость с точностью до 4 знаков
Странно как-то...

Кол-во до 4-го - это золото, наверное. В граммах...
Цена до 4-го - это на спички похоже. В штуках, что характерно
Стоимость - это LineAmount? - до 4-го - тоже, наверное, спички.

Не стеб ни разу, просто не понимаю, зачем оно все одновременно.

А совет - все же приведите цены и прочее к привычной Axapta точности.

===

Вдогонку: а в параметрах ГК - Граница расхождений в основной валюте - сколько? И во вторичной?
__________________
Best Regards,
Roman

Последний раз редактировалось RVS; 10.11.2009 в 17:43.
Старый 10.11.2009, 19:18   #13  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Цитата:
Сообщение от RVS Посмотреть сообщение
Мдя... Кажется, мы в сторону ушли немного...
Имелось в виду, что валютная сумма кредитовых проводок должна быть равна валютной сумме дебетовых проводок и так же должны быть равны суммы в основной валюте кредитовых и дебетовых проводок - это условие полного сопоставления. Или нет?

Кстати, у нас создалась такая ситуация в обычной закупке, просто несколько раз создали отгрузочные накладные и частично их сторнировали. Цены с точностью до 2 знаков. Граница расхождения - 1 копейка. Вроде все без криминала...

Последний раз редактировалось b_nosoff; 10.11.2009 в 19:24.
Старый 10.11.2009, 20:57   #14  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Ох...

Цитата:
Сообщение от KiselevSA Посмотреть сообщение
При разноске закупки, по которой возникли округления (цены и стоимости тянутся в строки закупки из другого источника, а не вводятся вручную), с завидной постоянностью создаются неоткорреспондированные проводки
Внимание: неоткорреспондированные.

Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Имелось в виду, что валютная сумма кредитовых проводок должна быть равна валютной сумме дебетовых проводок и так же должны быть равны суммы в основной валюте кредитовых и дебетовых проводок - это условие полного сопоставления. Или нет?
При чем здесь сопоставление - не понимаю. То, что вы написали, есть условие того, что проводка балансируется. И все. Про "корреспондированность" - ни слова здесь нет.

Цитата:
Сообщение от b_nosoff Посмотреть сообщение
Кстати, у нас создалась такая ситуация в обычной закупке, просто несколько раз создали отгрузочные накладные и частично их сторнировали.
Не такая, как у топикстартера. См. выше.

Цитата:
Сообщение от belugin Посмотреть сообщение
Не могли бы вы привести исходные данные или смоделировать ситуацию журналом ГК?
+100

А заодно - приведите уже сообщение, как именно Аксапта ругается. Не могу воспроизвести, хоть сообщение поищу
__________________
Best Regards,
Roman
Старый 11.11.2009, 07:20   #15  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Цитата:
Сообщение от RVS Посмотреть сообщение
При чем здесь сопоставление - не понимаю.
Я тоже . Имелась в виду именно корреспонденция.

Цитата:
Сообщение от RVS Посмотреть сообщение
А заодно - приведите уже сообщение, как именно Аксапта ругается.
например метод checkBeforeBond класса LedgerBondServer_RU

Последний раз редактировалось b_nosoff; 11.11.2009 в 07:27.
Старый 11.11.2009, 09:21   #16  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Я понимаю, что некоторые торгуют и покупают только штуками с круглой ценой. Но предположите ситуацию, когда есть плановая сумма закупки, которая рассчитывается от суммы продажи по обратной рентабельности, например, в 30%. А фактическая стоимость закупки фиксируется как плановая плюс отклонение факта от плана.
Системный EDT Amount имеет приличную размерность в десятичных знаках и отображает 12 из них, а вот EDT AmountCur может быть настроен, например, на отобржение только 2 знаков после запятой.
Как повторить ошибку? Попробуйте с помощью SQL указать в LineAmount сумму с множеством знаков после запятой. Обработайте накладную. Думаю вы получите тот же результат, что и у меня. "Тупит" именно корреспонденция, т.к. при международной функциональности просто создается проводка по счету ошибок округления без поиска "второй" половины.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 11.11.2009, 09:26   #17  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Есть ли возможность воспроизвести ситуацию в рамках стандартного функционала?
Старый 11.11.2009, 09:46   #18  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
Есть ли возможность воспроизвести ситуацию в рамках стандартного функционала?
Я думаю, что можно. Для этого придется у EDT AmountCur увеличить количество знаков после запятой. А вот порядок округления в валюте оставить прежним (общее округление и округление по покупке). Протестировать сейчас не могу.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 11.11.2009, 09:50   #19  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2922 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
под стандартным функционалом я имею ввиду немодифицированное приложение
Старый 11.11.2009, 18:34   #20  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
под стандартным функционалом я имею ввиду немодифицированное приложение
1. В региональных настройках компьютера установить для чисел четыре знака после запятой;
2. В округлениях для валюты в Аксапте установите общее округление и округление закупки до двух знаков.
3. Создайте закупку и в строке закупки для суммы установите сумму с четвертым знаком после запятой (для немодифицированного приложения для AmountCur установлено кол-во знаков Auto, т.ч. четыре знака должно быть доступно).
4. Проведите разноску.
Думаю, что Вы отловите ошибку (проверить в офисе перечисленную последовательность не могу).
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Теги
корреспонденция, округление

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Расщепление InventSplitTrans_Remain и коррекция в наличии Logger DAX: Программирование 4 03.03.2009 13:58
Отсутствие корреспонденции andrewK DAX: Функционал 8 23.09.2008 19:01
Округления корректировки себестоимости Morpheus DAX: Функционал 0 22.08.2007 17:25
Отрицательное значение "В наличии" после складского перемещения Yars DAX: Функционал 1 26.05.2005 15:59
Номнклатура без запасов в запросе "В наличии" Van DAX: Функционал 2 03.03.2004 14:26
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:48.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.