Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Dynamics 365 Community / Forums / Finance forum / Get datasource form fr...
Finance forum

Get datasource form from class extension in AX7

(0) ShareShare
ReportReport
Posted on by 403

Hi all,

How to get datasource form from class extension in AX7 ?. I use FormRun but there is an error object reference not set to an instance of an object. This is my code

[ExtensionOf (classStr(SalesTableType))]
final class SalesTableType_SO_Extension
{
    protected NumberSeqFormHandler numberSeqFormHandlerSalesId(FormRun _element, FormDataSource _salestable_ds)
    {
        NumberSeqFormHandler numberSeqFormHandlerSalesId = next numberSeqFormHandlerSalesId(_element, _salestable_ds);
        FormRun fr;
        FormDataSource fds = fr.dataSource("SalesTable");
        
        NumberSequenceTable     numSeqTable;
        RefRecId                recIdNumSeq;
        ZSetupSalesType         zsalestype; 
        SalesTable          _salesble = fds.cursor();
        select zsalestype where zsalestype.SalesType == _Salesble.ZSalesType
                && zsalestype.Site == _Salesble.InventSiteId;
        if(zsalestype)
        {
            select numSeqTable where numSeqTable.NumberSequence == zsalestype.SalesOrder;
            recIdNumSeq = numSeqTable.RecId;
            if(numSeqTable)
            {
                if (!numberSeqFormHandlerSalesId)
                {
                    numberSeqFormHandlerSalesId = NumberSeqFormHandler::newForm(recIdNumSeq,
                                                                         fr,
                                                                         fds,
                                                                         fieldNum(SalesTable, SalesId)
                                                                        );
                    return numberSeqFormHandlerSalesId;
                }
                
            }
        }
        return numberSeqFormHandlerSalesId;
    }

}

Thanks,

  • Verified answer
    Ferdiansah Profile Picture
    403 on at
    RE: Get datasource form from class extension in AX7

    It's done. I just use parameter _salestable_ds from method parameter, and write

    Salestable       _salestable = _salestable_ds.cursor();


  • Suggested answer
    Sheikh Sohail Profile Picture
    6,125 on at
    RE: Get datasource form from class extension in AX7

    Hi

    Check the highlighted area where you were doing mistake

    [ExtensionOf (classStr(SalesTableType))]
    final class SalesTableType_SO_Extension
    {
        protected NumberSeqFormHandler numberSeqFormHandlerSalesId(FormRun _element, FormDataSource _salestable_ds)
        {
            NumberSeqFormHandler numberSeqFormHandlerSalesId = next numberSeqFormHandlerSalesId(_element, _salestable_ds);
            FormRun fr; // it should be like FormRun fr=_element;
            FormDataSource fds = fr.dataSource("SalesTable");
            
            NumberSequenceTable     numSeqTable;
            RefRecId                recIdNumSeq;
            ZSetupSalesType         zsalestype; 
            SalesTable          _salesble = fds.cursor();
            select zsalestype where zsalestype.SalesType == _Salesble.ZSalesType
                    && zsalestype.Site == _Salesble.InventSiteId;
            if(zsalestype)
            {
                select numSeqTable where numSeqTable.NumberSequence == zsalestype.SalesOrder;
                recIdNumSeq = numSeqTable.RecId;
                if(numSeqTable)
                {
                    if (!numberSeqFormHandlerSalesId)
                    {
                        numberSeqFormHandlerSalesId = NumberSeqFormHandler::newForm(recIdNumSeq,
                                                                             fr,
                                                                             fds,
                                                                             fieldNum(SalesTable, SalesId)
                                                                            );
                        return numberSeqFormHandlerSalesId;
                    }
                    
                }
            }
            return numberSeqFormHandlerSalesId;
        }
    
    }
  • Sukrut Parab Profile Picture
    71,682 Moderator on at
    RE: Get datasource form from class extension in AX7

    Agree with Baber. make sure you have assigned element to fr and the get datasource from formRun

  • Suggested answer
    syed baber Profile Picture
    11,633 on at
    RE: Get datasource form from class extension in AX7

    Hi Ferdiansah,

    The error is due to the fact that you haven't initialized FormRun variable 'fr'. Assign it to _element variable and then you should be all good.

    Please let me know if you have further queries.

    Thanks,

    Baber.

  • Suggested answer
    Community Member Profile Picture
    on at
    RE: Get datasource form from class extension in AX7

    Suggesting a way when using events

     [FormDataSourceEventHandler(formDataSourceStr(FMRental, FMRental), FormDataSourceEventType::ValidatingWrite)]

       public static void FMRental_OnValidatingWrite(FormDataSource sender, FormDataSourceEventArgs e)

       {

           var datasource          =   sender as FormDataSource;

  • Jie G Profile Picture
    on at
    RE: Get datasource form from class extension in AX7

    The" FormRun fr " is not initialized. Have your tried to set it like " FormRun fr = _element;"

  • Jie G Profile Picture
    on at
    RE: Get datasource form from class extension in AX7

    Hi Ferdiansah,

    FormRun.dataSource Method is used to get form's datasource: docs.microsoft.com/.../gg906246(v=ax.60)

    Would please let us know where the error "object reference not set to an instance of an object" is from in the code and which object it refers?

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

November Spotlight Star - Khushbu Rajvi

Congratulations to a top community star!

Forum Structure Changes Coming on 11/8!

In our never-ending quest to help the Dynamics 365 Community members get answers faster …

Dynamics 365 Community Platform update – Oct 28

Welcome to the next edition of the Community Platform Update. This is a status …

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 294,430 Super User 2025 Season 1

#2
Martin Dráb Profile Picture

Martin Dráb 233,043 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,158 Moderator

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans