web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

SourceDocumentLineItem object not initialised error while choosing invoice on PO

(0) ShareShare
ReportReport
Posted on by 240

Hi All,

I am getting the error "SourceDocumentLineItem object not initialised. along with update has been cancelled" while I click the invoice button on invoice tab of the PO. The below is the stack trace which throws the error. The other purchase orders go through the process without the error. 

I also did full cil, full compile and aos restart but those did not solve the issue. Any chance that the parameters setting could cause the problem?

Stack trace

(S)\Classes\SourceDocumentLineItem\newFromSourceDocumentLineImplementation - line 27
(S)\Classes\SourceDocumentLineMatchingFacade\addSourceDocLineItemToList - line 34
(S)\Classes\PurchOrderLineSourceDocumentLineItem\initSourceDocumentLineMatchingList - line 51
(S)\Classes\SourceDocumentLineItem\parmSourceDocumentLineMatchingList - line 5
(S)\Classes\TaxSourceDocSublineItem\initSourceDocumentLineMatchingList - line 18
(S)\Classes\SourceDocumentLineItem\parmSourceDocumentLineMatchingList - line 5
(S)\Classes\TaxSourceDocSublineItem\calculateSourceDocumentAmountMap - line 57
(S)\Classes\SourceDocumentLineItem\parmSourceDocumentAmountMap - line 5
(S)\Classes\TaxSourceDocSublineItem\calculateSourceDocumentAmountMap - line 151
(S)\Classes\SourceDocumentLineItem\parmSourceDocumentAmountMap - line 5
(S)\Classes\AccountingDistributionProcessor\changeActiveSourceDocumentLineItem - line 32
(S)\Classes\AccountingDistributionProcessor\process - line 39
(S)\Classes\AccountingDistributionProcessor\distributeSourceDocumentLineItem - line 71
(S)\Classes\SourceDocumentLineState\distribute - line 17
(S)\Classes\SourceDocumentLineStateDraft\doTransition - line 12
(S)\Classes\SourceDocumentStateBase\transition - line 27
(S)\Classes\SourceDocumentStateBase\performTransitionOrMaintenance - line 7
(S)\Classes\SourceDocumentLineState\performTransitionOrMaintenance - line 36
(S)\Classes\SourceDocumentStateBase\transitionTo - line 15
(S)\Classes\SourceDocumentProcessorBase\submit - line 11
(S)\Classes\SourceDocumentLineProcessor\submitSourceDocumentLineImplementation - line 111
(S)\Classes\SourceDocumentLineState\submitChildSourceDocLineImplementation - line 15
(S)\Classes\SourceDocumentLineState\propagateStatusToChildren - line 37
(S)\Classes\SourceDocumentStateBase\transitionTo - line 23
(S)\Classes\SourceDocumentProcessorBase\submit - line 11
(S)\Classes\SourceDocumentLineProcessor\submitOnDemandSourceDocumentLine - line 70
(S)\Classes\SourceDocumentStateInProcess\callSourceDocumentLineProcessor - line 16
(S)\Classes\SourceDocumentStateInProcess\maintainSourceDocumentLines - line 34
(S)\Classes\SourceDocumentStateInProcess\doMaintenance - line 3
(S)\Classes\SourceDocumentStateBase\maintainState - line 22
(S)\Classes\SourceDocumentStateBase\performTransitionOrMaintenance - line 15
(S)\Classes\SourceDocumentStateBase\transitionTo - line 15
(S)\Classes\SourceDocumentProcessorBase\submit - line 11
(S)\Classes\SourceDocumentProcessor\submitOnDemandSourceDocumentImpl - line 46
(S)\Classes\SourceDocumentProcessorFacade\submitOnDemandSourceDocumentImpl - line 38
(S)\Classes\PurchFormletterParmDataInvoice\checkBudget - line 48
(S)\Classes\PurchFormletterParmDataInvoice\selectChooseLines - line 31
(S)\Classes\formletterParmData\createData - line 47
(S)\Classes\PurchFormletterParmDataInvoice\createData - line 3
(S)\Classes\PurchFormletterParmDataInvoice\chooseLinesServerIL - line 32
(S)\Classes\DictClass\callStatic
(S)\Classes\SysDictClass\invokeStaticMethod - line 26
(S)\Classes\SysDictClass\invokeStaticMethodIL - line 39
(S)\Classes\Global\runClassMethodIL - line 30
(S)\Classes\PurchFormletterParmDataInvoice\chooseLinesServer - line 21
(S)\Classes\PurchFormLetter_Invoice\chooseLinesServer - line 3
(S)\Classes\PurchFormLetter\chooseLines - line 26
(S)\Classes\PurchFormLetter_Invoice\chooseLines - line 10
(S)\Classes\PurchFormLetter\initLinesQuery - line 3
(S)\Classes\PurchFormLetter\prePromptInit - line 20
(S)\Classes\PurchFormLetter\mainOnServer - line 214
(C)\Classes\PurchFormLetter\main - line 50
(C)\Classes\FormFunctionButtonControl\Clicked

The below assertion fails as I get sourceDocumentLine is 0. and the error is caught and thrown.

Debug::assert(sourceDocumentLine.RecId != 0);

Thanks in advance.. 

*This post is locked for comments

I have the same question (0)
  • Hossein.K Profile Picture
    6,648 on at

    Hi,

    Run a full CIL compile and see if this solves your problem.

    Regards Hossein

  • venkates Profile Picture
    240 on at

    That doesn't solve the problem.

  • Hossein.K Profile Picture
    6,648 on at

    Hi,

    Go to System Administration=>Periodic and Run below:

    -Compile Application

    -Compile into .Net Framework CIL

  • Jonathan  Halland Profile Picture
    11,310 on at

    Hi.

    I just received this this morning and it appears to be related to a source document line record whose parent document has been deleted. E.G. PurchLine.

    My issue was with a a purchLine link. You could do a SQL query to find the missing records. e.g.

    select * from SOURCEDOCUMENTLINE LEFT join purchline on SOURCEDOCUMENTLINE.RECID = purchLine.SOURCEDOCUMENTLINE

    where SOURCERELATIONTYPE = 340 --PurchLine TableId

    and purchLine.RECID is null

    Deleting the relevant record sourcedocumentLine worked in a dev environment, but I haven't investigated further.

  • venkates Profile Picture
    240 on at

    Hi Jonathan,

    There is no orphan records for the purchase order causing the trouble and the header is present in sourcedocumentheader table. I could not find why the sourcedocumentline returns 0.

  • Verified answer
    venkates Profile Picture
    240 on at

    I found the cause and this was due to purchase requisition corresponding to the PO has been deleted. I removed the reference for requisition from the PO and invoiced it.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Stars!

Meet the Microsoft Dynamics 365 Contact Center Champions

We are thrilled to have these Champions in our Community!

Congratulations to the March Top 10 Community Leaders

These are the community rock stars!

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

#1
CP04-islander Profile Picture

CP04-islander 39

#2
Michel ROY Profile Picture

Michel ROY 14

#3
imran ul haq Profile Picture

imran ul haq 8

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans