![]() |
#1 |
Участник
|
Разница в оборотно сальдовой ведомости в модуле и в ГК
Добрый день!
Столкнулся с ситуацией в модуле поставщики использую Поставщики - Запросы - Оборотно-Сальдовая ведомость. Анализирую счет 60.0100. И этот же счет в ГК. И наблюдаю что конечное сальдо совпадает а сальдо на начало не идет. При этом удалось понять причину - сальдо на начало в модуле поставщики калькулировалось с учетом оборотом счета 60.0200 - авансовые расчеты. В чем может быть проблема? |
|
![]() |
#2 |
Участник
|
Это операция зачета аванса видимо, не помню что-то там с проблемами отражения в ГК было или нет.
|
|
![]() |
#3 |
MCTS
|
маловато информации, если сформировать отчет с конечной датой равной начальной в вашем варианте- тоже будет не совпадение с ГК.
может были какие то исправитеьные проводки? ОСВ в модуле не оперирует счетами гк, а берет текущие настройки профиля разноски. то есть есть профиль разноски со счетом 60.0200, я отражаю операцию, потом в профиле разноски беру и меняю счет на 60.0100. при формировании ОСВ данная проводка попадет в счет 60.0100, а не 60.0200, не ваш случай? напиши джоб- который пробежится по вендтрансам, и сравнит счет ГК в ледежтрансе и в профиле разноски из проводки- это самый простой вариан выявить ошибку, если ничего не даст- будем думать дальше Последний раз редактировалось ashu; 20.02.2015 в 21:10. |
|
|
За это сообщение автора поблагодарили: mnt_dx (3). |
![]() |
#4 |
Участник
|
Столкнулся с такой проблемой (AX 2012 r2): если преобразовать оплату поставщику (Дт 60.01) в предоплату (Дт 60.02), то в ОСВ по поставщикам сумма все еще отражается на счете оплаты (60.01). В VendTrans в операции предоплаты профиль предоплатный, признак предоплаты стоит.
В профиле предоплаты счет правильный Может кто-то подсказать, по каким таблицам ОСВ по Поставщику определяет счет ГК для отображения? |
|
![]() |
#5 |
Участник
|
Думается, что из настроек профиля разноски, указанного в строке VendTrans. VendLedger и VendLedgerAccounts.
|
|
![]() |
#6 |
Участник
|
Из ГК конечно данные берутся, вроде это известная ошибка стандарта, когда у вас преобразование сделано той же датой, что и основная проводка, как то исправлял, для клиентов или для поставщиков.
Там проблема в том, что подбор по проводкам ГК идет по принципу какую первую проводку с типом Сальдо по поставщику\Сальдо по клиенту система определит для ваучера и даты (а номер ваучера то у нас для оплаты и предоплаты одинаковый), тот счет и будет использовать, т.е. либо авансовый, либо нет. Исходный код вот тут RLedgerTurnoverTypeCustVend\getMainAccountNum (метод используется для ОСВ и по клиентам и по поставщикам, учтите этот момент когда\если будете вносить правки) : X++: /// <summary> /// Retrieves the Main account for the transaction. /// </summary> /// <param name="_custVendTrans"> /// The transaction table buffer. /// </param> protected void getMainAccountNum(CustVendTrans _custVendTrans) { GeneralJournalAccountEntry generalJournalAccountEntry; GeneralJournalEntry generalJournalEntry; SubledgerVoucherGeneralJournalEntry subledgerVoucherGeneralJournalEntry; if (_custVendTrans.Voucher != voucher || _custVendTrans.TransDate != accountingDate || _custVendTrans.PostingProfile != postingProfile) { voucher = _custVendTrans.Voucher; accountingDate = _custVendTrans.TransDate; postingProfile = _custVendTrans.PostingProfile; while select * from generalJournalAccountEntry exists join generalJournalEntry where generalJournalEntry.RecId == generalJournalAccountEntry.GeneralJournalEntry && generalJournalEntry.Ledger == Ledger::current() exists join subledgerVoucherGeneralJournalEntry where subledgerVoucherGeneralJournalEntry.GeneralJournalEntry == generalJournalEntry.RecId && subledgerVoucherGeneralJournalEntry.Voucher == voucher && subledgerVoucherGeneralJournalEntry.AccountingDate == accountingDate { if ((_custVendTrans.AmountMST && generalJournalAccountEntry.AccountingCurrencyAmount * _custVendTrans.AmountMST > 0) || (! _custVendTrans.AmountMST && generalJournalAccountEntry.ReportingCurrencyAmount * _custVendTrans.ReportingCurrencyAmount > 0) && _custVendTrans.Correct == generalJournalAccountEntry.IsCorrection) { mainAccountNum = DimensionStorage::getMainAccountNumFromLedgerDimension(generalJournalAccountEntry.LedgerDimension); if (conFind(this.ledgerPostingType(), generalJournalAccountEntry.PostingType)) { break; } } } } }
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: Logger (5), mnt_dx (3). |
![]() |
#7 |
Участник
|
Цитата:
Сообщение от SRF
![]() Из ГК конечно данные берутся, вроде это известная ошибка стандарта, когда у вас преобразование сделано той же датой, что и основная проводка, как то исправлял, для клиентов или для поставщиков.
Там проблема в том, что подбор по проводкам ГК идет по принципу какую первую проводку с типом Сальдо по поставщику\Сальдо по клиенту система определит для ваучера и даты (а номер ваучера то у нас для оплаты и предоплаты одинаковый), тот счет и будет использовать, т.е. либо авансовый, либо нет. Исходный код вот тут RLedgerTurnoverTypeCustVend\getMainAccountNum (метод используется для ОСВ и по клиентам и по поставщикам, учтите этот момент когда\если будете вносить правки) : |
|
![]() |
#8 |
Участник
|
Тут надо посмотреть на проводки по поставщику, и на проводки в ГК сформированные к ним.
Дата для подбора счета ГК выбирается из даты проводки по поставщику, если у вас проводка одна(что конечно вряд ли), то счет будет старый. Вот, например, если смотреть 13.01 оплата -> 14.01 предоплата, в ОСВ на 14.01 баланс на 62 счете.
__________________
Sergey Nefedov |
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от SRF
![]() Тут надо посмотреть на проводки по поставщику, и на проводки в ГК сформированные к ним.
Дата для подбора счета ГК выбирается из даты проводки по поставщику, если у вас проводка одна(что конечно вряд ли), то счет будет старый. Вот, например, если смотреть 13.01 оплата -> 14.01 предоплата, в ОСВ на 14.01 баланс на 62 счете. |
|
![]() |
#10 |
Участник
|
Нет, в данном случае стандарт работает, проводка по поставщику за 14.01 только одна подходит по ваучеру предоплаты - только 62 счет, у неё признак коррекции = нет, как и у проводки ГК, такая проводка одна, т.е. тут однозначный выбор у системы.
А список проводок по поставщику как выглядит c данным номером ваучера у вас ? По идее для проводки по поставщику VPAY* от 02.02 с признаком предоплаты система должна у вас подбирать 62 счет.
__________________
Sergey Nefedov |
|
![]() |
#11 |
Участник
|
Цитата:
Сообщение от SRF
![]() Нет, в данном случае стандарт работает, проводка по поставщику за 14.01 только одна подходит по ваучеру предоплаты - только 62 счет, у неё признак коррекции = нет, как и у проводки ГК, такая проводка одна, т.е. тут однозначный выбор у системы.
А список проводок по поставщику как выглядит c данным номером ваучера у вас ? По идее для проводки по поставщику VPAY* от 02.02 с признаком предоплаты система должна у вас подбирать 62 счет. В LedgerJournalTrans по этому ваучеру только одна проводка. |
|
![]() |
#12 |
Участник
|
Да, вот это странно, по последней проводке как раз должен подтянуться предоплатный счет (скрины я делал с r3, но думаю это должно слабо влиять).
А вы можете посмотреть в код метода RLedgerTurnoverTypeCustVend\getMainAccountNum - он такой же, как я приводил ? Видимо надо брать разработчика и пусть смотрит ![]()
__________________
Sergey Nefedov |
|
![]() |
#13 |
Участник
|
Цитата:
Сообщение от SRF
![]() Да, вот это странно, по последней проводке как раз должен подтянуться предоплатный счет (скрины я делал с r3, но думаю это должно слабо влиять).
А вы можете посмотреть в код метода RLedgerTurnoverTypeCustVend\getMainAccountNum - он такой же, как я приводил ? Видимо надо брать разработчика и пусть смотрит ![]() Но! В R3 у меня такая же ошибка, то есть фикс не повлиял на работу ![]() |
|
![]() |
#14 |
Участник
|
Microsoft отписался, что завел issue по этой ошибке
https://fix.lcs.dynamics.com/Issue/D...82076&dbType=0 |
|
|
За это сообщение автора поблагодарили: SRF (2). |
![]() |
#15 |
Участник
|
Коллеги, MS выпустил фикс в виде модели, кто-нибудь может показать изменения (я не умею импортировать модели
![]() |
|
![]() |
#16 |
Участник
|
Подскажите, пожалуйста, еще: если для нескольких платежей поставщику указан один ваучер, разные профили разноски, то ОСВ по поставщику берет первый попавшийся Счет ГК?
|
|
![]() |
#17 |
Участник
|
Цитата:
Поиск идет по ваучеру и дате, плюс признак коррекции и знак суммы (сравниваются именно не суммы в проводке по поставщику и поводке главной книги, а одинаковость знаков). То есть, при одинаковых этих параметрах будет взята первая проводка, даже если профили в проводках по поставщикам разные (такой информации просто нет в проводках главной книги). |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|