24.12.2007, 16:04 | #1 |
Участник
|
Ошибка при печати счета на оплату
Dynamics AX4.0sp1
Коллеги, требуется помощь в таком вопросе: При попытке разнести в заказах на продажу Счет на оплату с выставленной галкой "Печать счета на оплату" выскакивает следующее сообщение: Ошибка времени выполнения: Поле с кодом "0" в таблице "CustInvoice4PaymJour_RU" не обнаружено. Трассировка стека (S)\Data Dictionary\Tables\TmpSalesPurchReportTable_RU\Methods\initFromInvoiceJour - line 6 (S)\Classes\SalesPurchReport_RU\prepareReportHeader - line 9 (S)\Classes\SalesPurchReport_Invoice4Paym_RU\prepareReportHeader - line 3 (S)\Classes\SalesReport_Invoice4Paym_RU\prepareReportHeader - line 6 (S)\Classes\SalesPurchReport_RU\prepareData - line 45 (S)\Classes\SalesPurchReport_RU\preRun - line 6 (S)\Classes\SalesPurchReport_RU\run - line 3 (S)\Classes\SalesReport_Invoice4Paym_RU\main - line 13 (S)\Classes\MenuFunction\run (S)\Data Dictionary\Tables\CustInvoice4PaymJour_RU\Methods\printJournal - line 20 (S)\Classes\SalesFormLetter_Invoice4Paym_RU\printJournal - line 7 (S)\Classes\SalesFormLetter\createJournal - line 48 (S)\Classes\SalesFormLetter\run - line 73 (S)\Classes\SalesFormLetter\main - line 78 (C)\Classes\FormFunctionButtonControl\Clicked (C)\Classes\FormMenuButtonControl\Clicked (C)\Classes\FormMenuButtonControl\Clicked Причем без этой галки счет нормально обрабатывается. А нужна именно печать счета.
__________________
LGray |
|
24.12.2007, 16:11 | #2 |
Участник
|
Это вам программист может ответить. Похоже в Dictionary\Tables\TmpSalesPurchReportTable_RU\Methods\initFromInvoiceJour - line 6
написан какой-то пребор field-ов. И нет проверки на ноль. В стандарте ничего такого нет, что дало бы такую ошибку. Похоже кто-то из ваших написал что-то. Выложите код этого метода. |
|
24.12.2007, 16:19 | #3 |
Участник
|
public void initFromInvoiceJour(CustVendInvoiceJour _invoiceJour)
{ this.CurrencyCode = _invoiceJour.CurrencyCode; this.OrderAccount = _invoiceJour.OrderAccount; this.SalesPurchId = _invoiceJour.Num; this.InvoiceDate = _invoiceJour.Correct_RU ? _invoiceJour.CorrectedInvoiceDate_RU : _invoiceJour.InvoiceDate; this.InvoiceId = _invoiceJour.Correct_RU ? _invoiceJour.CorrectedInvoiceId_RU : _invoiceJour.InvoiceId; this.RefRecId = _invoiceJour.RecId; this.EndDiscPct = _invoiceJour.SalesOrderbalance ? _invoiceJour.EndDisc_RU / _invoiceJour.SalesOrderbalance * 100 : 0.0; this.OffSessionId = _invoiceJour.OffSessionId_RU; } Метод нетронутый - AX мы только что поставили и не программили там почти ничего.
__________________
LGray |
|
24.12.2007, 16:30 | #4 |
Программатор
|
Мап - CustVendInvoiceJour. Смотрите его. Думается, что там ошибка. Либо сам мап перекомпилить или синхронизнуть. Пашаманить в общем
Последний раз редактировалось Sada; 24.12.2007 в 16:32. |
|
24.12.2007, 16:36 | #5 |
Участник
|
Откомпилируйте на всякий случай указанные объекты на предмет ошибок.
И у выше указанных классов инкрементную компиляцию тоже не помешает сделать. |
|
24.12.2007, 16:39 | #6 |
Программатор
|
Глобальную компиляцию, синхронизацию, что там еще...
|
|
24.12.2007, 17:10 | #7 |
MCTS
|
Цитата:
Сообщение от LGray
public void initFromInvoiceJour(CustVendInvoiceJour _invoiceJour)
{ ;// Сюда точку с запятой поставьте this.CurrencyCode = _invoiceJour.CurrencyCode; this.OrderAccount = _invoiceJour.OrderAccount; this.SalesPurchId = _invoiceJour.Num; this.InvoiceDate = _invoiceJour.Correct_RU ? _invoiceJour.CorrectedInvoiceDate_RU : _invoiceJour.InvoiceDate; this.InvoiceId = _invoiceJour.Correct_RU ? _invoiceJour.CorrectedInvoiceId_RU : _invoiceJour.InvoiceId; this.RefRecId = _invoiceJour.RecId; this.EndDiscPct = _invoiceJour.SalesOrderbalance ? _invoiceJour.EndDisc_RU / _invoiceJour.SalesOrderbalance * 100 : 0.0; this.OffSessionId = _invoiceJour.OffSessionId_RU; } Метод нетронутый - AX мы только что поставили и не программили там почти ничего.
__________________
В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
24.12.2007, 17:34 | #8 |
Участник
|
Спасибо за ответы - все попробовал, не помогло.
Буду глобально компилировать. Кстати, еще проблемка возникла. Разнес счет-фактуру, потом через журнал фактур удалил. Теперь система не может нормально делать обработки счетов-фактур (они у нее не заканчиваются). В прошлый раз вылечил перезагрузкой сервера, но не каждый же раз эти манипуляции проводить (может, проблема решится глобальной компиляцией).
__________________
LGray |
|
24.12.2007, 18:43 | #9 |
MCTS
|
Насколько я помню, это косяк 4-ки sp1. Происходит из-за того, что в мапе CustVendInvoiceJour не настроена связь с таблицами CustInvoiceJour и VendInvoiceJour по полям CorrectedInvoiceDate_RU и Correct_RU. По-моему, уже где-то обсуждалось.
|
|
25.12.2007, 12:58 | #10 |
AX*****
|
имхо, в 4SP1 таких полей нет.. поправьте, если я не прав.
__________________
О, как беден, как груб наш русский язык! [c] А.С.Пушкин |
|
26.12.2007, 15:12 | #11 |
Участник
|
Все проверил, связи тоже.
Провел глобальную компиляцию, обновление перекрестных ссылок. Не печатается счет и все тут... Еще какие мысли у кого есть, а то я уже мозх вывихнул.
__________________
LGray |
|
26.12.2007, 15:17 | #12 |
Участник
|
Цитата:
Если ещё будет спытыкаться, коментируйте ещё одну и так пока не перестанет. А там видно будет. Если не поможет пора доставать мыло и верёвку. |
|
26.12.2007, 15:47 | #13 |
Участник
|
Закомментил строки
//this.InvoiceDate = _invoiceJour.Correct_RU ? _invoiceJour.CorrectedInvoiceDate_RU : _invoiceJour.InvoiceDate; //this.InvoiceId = _invoiceJour.Correct_RU ? _invoiceJour.CorrectedInvoiceId_RU : _invoiceJour.InvoiceId; Помогло. На чем это потом отразится, пока непонятно...
__________________
LGray |
|
26.12.2007, 20:41 | #14 |
Участник
|
На Map CustVendInvoiceJour попробуйте из контекстного меню выбрать Restore (Восстановить)
Эти поля должны появиться в узле Mappings. |
|
28.12.2007, 15:55 | #15 |
Участник
|
Отправляли запрос в MS. Смотрите решение от разработчика.
|
|