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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2009, 11:56   #1  
loneta is offline
loneta
Участник
 
5 / 10 (1) +
Регистрация: 15.02.2009
Всем добрый день!

Столкнулись со следующей ошибкой "Дата некорректна" при попытке применить операции клиента: авансовый платеж и счет предоплат. Даты операций совпадают. Дебагер ругается на Normaledate в функции InsertGLEntry.

Счет предоплат учтен в валюте, авансовый платеж в рублях.

Может кто сталкивался с данной проблемой и решил, просим помочь

MS Dynamics NAV 5.0 SP1 FP2.
Старый 26.05.2009, 12:23   #2  
niki4550148 is offline
niki4550148
Участник
 
113 / 12 (1) ++
Регистрация: 08.05.2009
а курс валюты есть на эту дату???
Старый 26.05.2009, 13:06   #3  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Ошибка "Дата некорректна" из-за пустого аргумента для NORMALDATE(). Смотрите, почему ему скармливают пустую Дату Учета.
Старый 26.05.2009, 16:06   #4  
loneta is offline
loneta
Участник
 
5 / 10 (1) +
Регистрация: 15.02.2009
Проблему решили:

После обновления Codeunit 12 в функции CustUnrealizedVAT механизм сохранения данных:

GenJnlLine := SavedGenJnlLine;
...
SavedGenJnlLine := GenJnlLine;

был немного испорчен, а конкретней строку "GenJnlLine := SavedGenJnlLine;" убрали внутрь оператора IF THEN. Поэтому, если при вычислениях условие=FALSE, то сохранения записи GenJnlLine не происходит, а строка "SavedGenJnlLine := GenJnlLine;" выполняется вне зависимости от условия. В результате SavedGenJnlLine присваивается пустое значение и как результат "Posting Date" = 0D. Это и вызывает ошибку при проверке NORMALDATE.

Стоит заметить, что в версии до обновления этой ошибки не было.
Старый 26.05.2009, 16:13   #5  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от loneta Посмотреть сообщение
Стоит заметить, что в версии до обновления этой ошибки не было.
Лонета. Это стоит заметить не нам, а тем, кто обновление писал )
Старый 26.05.2009, 16:32   #6  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Цитата:
Сообщение от loneta Посмотреть сообщение
Проблему решили:

После обновления Codeunit 12 в функции CustUnrealizedVAT механизм сохранения данных:

GenJnlLine := SavedGenJnlLine;
...
SavedGenJnlLine := GenJnlLine;

был немного испорчен, а конкретней строку "GenJnlLine := SavedGenJnlLine;" убрали внутрь оператора IF THEN. Поэтому, если при вычислениях условие=FALSE, то сохранения записи GenJnlLine не происходит, а строка "SavedGenJnlLine := GenJnlLine;" выполняется вне зависимости от условия. В результате SavedGenJnlLine присваивается пустое значение и как результат "Posting Date" = 0D. Это и вызывает ошибку при проверке NORMALDATE.

Стоит заметить, что в версии до обновления этой ошибки не было.
эта проблема проявляется еще в нескольких случаях. Рекомендую всем кто использует 5-0 и 4-0 сразу исправить эту ошибку.
Старый 26.05.2009, 16:54   #7  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Цитата:
Сообщение от Arshak Посмотреть сообщение
эта проблема проявляется еще в нескольких случаях. Рекомендую всем кто использует 5-0 и 4-0 сразу исправить эту ошибку.
Матерь Божья.. Я думал это тамошний кодер ошибся. А это ошибка в двух версиях -(
Старый 27.05.2009, 15:14   #8  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Цитата:
Сообщение от romeo Посмотреть сообщение
Матерь Божья.. Я думал это тамошний кодер ошибся. А это ошибка в двух версиях -(
я имел ввиду что она есть и в SP для 4-0...
Старый 27.05.2009, 16:02   #9  
GalaM is offline
GalaM
Moderator
Лучший по профессии 2009
 
640 / 42 (3) +++
Регистрация: 13.03.2008
Адрес: Москва
Интересно, а как и где это применение Вы делаете.
У меня ошибки не повторяется, а хотелось бы понять откуда она возникает....
Старый 27.05.2009, 17:03   #10  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Talking
Цитата:
Сообщение от gala Посмотреть сообщение
Интересно, а как и где это применение Вы делаете.
У меня ошибки не повторяется, а хотелось бы понять откуда она возникает....
Есть предложение, если Вы считаете, что это 100% баг - выкладывайте скриншот или описание действий, чтобы не ломать себе голову над повторением..
Вопрос в том, что строка GenJnlLine := SavedGenJnlLine несколько раз есть и шут его знает сходу что "исправлять".
Старый 28.05.2009, 09:23   #11  
Arshak is offline
Arshak
Участник
 
190 / 10 (1) +
Регистрация: 01.10.2004
Цитата:
Сообщение от gala Посмотреть сообщение
Интересно, а как и где это применение Вы делаете.
У меня ошибки не повторяется, а хотелось бы понять откуда она возникает....
вот кусок о котором идет речь

IF NOT AmtDiffDocToPrepayment THEN
IF GLSetup."Unrealized VAT" OR
(GLSetup."Prepayment Unrealized VAT" AND NewCustLedgEntry.Prepayment)
THEN BEGIN
TransferCustLedgEntry(NewCVLedgEntryBuf,NewCustLedgEntry,FALSE);
IF GenJnlLine."Prepayment Status" <> GenJnlLine."Prepayment Status"::Set THEN
CheckUnrealizedCust := TRUE;
IF NewCustLedgEntry."Prepayment Document No." <> NewCustLedgEntry."Document No." THEN BEGIN
GenJnlLine."Document Type" := GenJnlLine."Document Type"::Invoice;
GenJnlLine."Document No." := NewCustLedgEntry."Prepayment Document No.";
END;
UnrealizedCustLedgEntry := NewCustLedgEntry;
UnrealizedRemainingAmountCust := NewCustLedgEntry."Remaining Amount" - NewRemainingAmtBeforeAppln;
END;

GenJnlLine := SavedGenJnlLine;
END;

уберите галочку GLSetup."Unrealized VAT" или GLSetup."Prepayment Unrealized VAT" то GenJnlLine := SavedGenJnlLine; не произойдет.
Вы получите регулярную ошику!
Строчку GenJnlLine := SavedGenJnlLine; надо перенести за END;
"я так думаю!" (Мимино)
Старый 28.05.2009, 11:00   #12  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Arshak Посмотреть сообщение
вот кусок о котором идет речь

IF NOT AmtDiffDocToPrepayment THEN
...
Да уж... Опять Prepayment.. Неужели несколько подразделений одной компании не могу договориться и слить функционал этот воедино.. Я даже готов поделиться доками по Prepayment для россиян..
А то всем известно, что Prepayment стандарный совсем НЕ дружит с Prepayment российским...

P.S. Как обычно опять начинается... Народ, извините! Опять начинается, хотя понимаю, что никому там это не нужно. Ну просто накипело...
 


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

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

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