Enquiry Temporary form

 [Form]

public class rsmCommissionTransfer extends FormRun

{



    /// <summary>

    /// Populate the temp table with data

    /// </summary>

    public void populateTempTable()

    {

        rsmCommissionTransferForm rsmCommissionTransferForm = rsmCommissionTransferForm::construct();

        rsmTmpCommissionTransfer commissionTransfer;

        

        rsmCommissionTransferForm.fromDate              = FromDate.dateValue();

        rsmCommissionTransferForm.todate                = ToDate.dateValue();

        rsmCommissionTransferForm.payDate               = PayDate.dateValue();

        rsmCommissionTransferForm.commissionSalesGroup  = CommissionSalesGroup.valueStr();

     

        commissionTransfer = rsmCommissionTransferForm.populate();

        rsmTmpCommissionTransfer.linkPhysicalTableInstance(commissionTransfer);


        rsmTmpCommissionTransfer_ds.research(true);

    }


    /// <summary>

    /// Form initialization

    /// </summary>

    public void init()

    {

        rsmTmpCommissionTransfer transfer;

        

        super();


        // Workaround for the form datasource not being linked to the SQL table. Inserting a record fixes it.

        // PopulateTempTable is the actual method that inserts data into the table

        transfer.doInsert();

        

        //_from transfer;

        rsmTmpCommissionTransfer.linkPhysicalTableInstance(transfer);

    }


    [Control("Button")]

    class rsmCalculate

    {

        public void clicked()

        {

            super();

     

            /// 3 fields are declared

            if (FromDate.valueStr() && 

                ToDate.valueStr() && 

                PayDate.valueStr())

            {

                element.populateTempTable();

            }

            else 

            {

                warning("@rsmNCExtensionsLabel:CommissionTransferCalculate");

            }

            

        }


    }


}


/// <summary>

/// gather information needed to create transfer form

/// </summary>

class rsmCommissionTransferForm

{

    //Filters

    public FromDate                    fromDate;

    public ToDate                      toDate;

    public TransDate                   payDate;

    public CommissSalesGroup           commissionSalesGroup;

 

    // Buffers / variables

    rsmTmpCommissionTransfer    tmp;

    CustInvoiceJour             custInvoiceJour, custInvoiceJourLocal;

    CommissionTrans             commissionTrans;

    SalesTable                  salesTable;

    /// <summary>

    /// populates temp table

    /// </summary>

    /// <returns> populated temp table </returns>

    public rsmTmpCommissionTransfer populate()

    {

        RecordInsertList recordInsertList = new RecordInsertList(tableNum(rsmTmpCommissionTransfer), true, true, true, false, true, tmp);


        while select sum(AmountCur), Person, InvoiceId

            from commissionTrans

            group by Person, InvoiceId

            where commissionTrans.InvoiceDate >= fromDate &&

            commissionTrans.InvoiceDate <= toDate

        join custInvoiceJour

            where commissionTrans.InvoiceId == custInvoiceJour.InvoiceId

         join SalesGroup from salesTable

            group by SalesGroup

            where custInvoiceJour.OrderAccount == salesTable.CustAccount &&

            custInvoiceJour.SalesId == salesTable.SalesId &&

            (salesTable.SalesGroup    == commissionSalesGroup || !commissionSalesGroup)

            // MAS0201094 - Gopal: this filter will restrict the commenssion trans for the journal which is already posted.

            && custInvoiceJour.IsCommissionJournalCreated == NoYes::No 

         {

             if (this.rsmIsCustTransPaid(commissionTrans.InvoiceId)

                && !commissionTrans.rsmDisplayCommissionPaid())

             {

                 select firstonly custInvoiceJourLocal

                where custInvoiceJourLocal.InvoiceId == commissionTrans.InvoiceId;


                 tmp.CommAmount          = commissionTrans.AmountCur;

                 tmp.SalesPersonName     = DirPerson::find(commissionTrans.Person).Name;

                 tmp.SalesId             = custInvoiceJourLocal.SalesId;

                 tmp.InvoiceAmount       = custInvoiceJourLocal.InvoiceAmount;

                 tmp.CommissSalesGroup   = custInvoiceJourLocal.salesTable().SalesGroup;

                 tmp.InvoiceNumber       = commissionTrans.InvoiceId;

                 // MAS0201094 - Gopal: To bring Invoice totals, when SO is Prepayment

                 tmp.SalesBalance        = custInvoiceJourLocal.SalesBalance;

                 tmp.CommPercent         = custInvoiceJourLocal.salesTable().CommissionGroup;

                 tmp.PaymDate            = payDate;

                 tmp.InvoiceDate         = custInvoiceJourLocal.InvoiceDate;

                 tmp.Customer            = custInvoiceJourLocal.custTable_InvoiceAccount().AccountNum;

                 tmp.VendAccount         = this.getVendAccount(salesTable.SalesGroup, commissionTrans.Person);

                 recordInsertList.add(tmp);

             }

            


        }

        recordInsertList.insertDatabase();

    

        return tmp;

    }


    /// <summary>

    /// get vend account

    /// </summary>

    /// <param name = "_commSalesGroup"></param>

    /// <param name = "_person"></param>

    /// <returns></returns>

    public VendAccount getVendAccount(CommissSalesGroup _commSalesGroup, CommissionPerson _person)

    {

        CommissionSalesRep commSalesRep;


        select firstonly commSalesRep

            where commSalesRep.GroupId == _commSalesGroup &&

            commSalesRep.Person ==  _person;


        return commSalesRep.rsmVendAccount;

    }


    public static rsmCommissionTransferForm construct()

    {

        return new rsmCommissionTransferForm();

    }


    /// <summary>

    /// indicates whether Customer transaction for the invoice is paid

    /// </summary>

    /// <param name = "_invoiceId">Invoice Id</param>

    /// <returns> paid or not paid </returns>

    public boolean rsmIsCustTransPaid(InvoiceId _invoiceId)

    {

        boolean       ret;

        CustTrans   custTrans;


        select firstonly custTrans

            where custTrans.Invoice == _invoiceId;


        if (custTrans && 

            custTrans.remainAmountCur() == 0.00)

        {

            ret = true;

        }


        return ret;

    }


}


/// <summary>

/// Create ap journal entry

/// </summary>

public class rsmCommissionJournalCreate

{

    LedgerJournalTable         ledgerJournalTable;

    LedgerJournalTrans         ledgerJournalTrans;

    rsmTmpCommissionTransfer   tmpCommissionTransfer;

    Voucher                    voucher;

    LedgerJournalType          journalType;

    AmountCurCredit            amount; 

    TransDate                  payDate;

    VendTable                  vendTable;


    /// <summary>

    /// Creates <c>LedgerJournalTable</c> record.

    /// </summary>

    /// <returns>Created journal header record</returns>

    protected ledgerJournalTable createLedgerJournalTable()

    {

        // Create ledger journal header

        LedgerJournalNameId commJournalName = smmParametersTable::find().rsmCommissionTransferJournal;

        ttsbegin;

        ledgerJournalTable.clear();

        ledgerJournalTable.initFromLedgerJournalName(commJournalName);

        ledgerJournalTable.insert();

        ttscommit;


        return ledgerJournalTable;


    }


    /// <summary>

    /// create transaction journal

    /// </summary>

    /// <param name = "_journalNum"> journal number </param>

    protected void createTrans(JournalId  _journalNum)

    {

        LedgerDimensionDefaultAccount defaultAccount;

      


        ttsbegin;

        this.createVoucher(_journalNum);

        vendTable = vendTable::find(tmpCommissionTransfer.VendAccount);


        ledgerJournalTrans.clear();

        ledgerJournalTrans.initValue();

        ledgerJournalTrans.LineNum                  = 1;

        ledgerJournalTrans.JournalNum               = _journalNum;

        ledgerJournalTrans.Voucher                  = voucher;

        ledgerJournalTrans.TransDate                = tmpCommissionTransfer.PaymDate; 

        ledgerJournalTrans.AccountType              = LedgerJournalACType::Vend;

        ledgerJournalTrans.parmAccount(tmpCommissionTransfer.VendAccount);

        ledgerJournalTrans.Invoice                  = tmpCommissionTransfer.InvoiceNumber;

        ledgerJournalTrans.DocumentDate             = tmpCommissionTransfer.InvoiceDate;

        ledgerJournalTrans.Txt                      = "@rsmNCExtensionsLabel:CommPayable";

        ledgerJournalTrans.OffsetAccountType        = LedgerJournalACType::Ledger;

        defaultAccount = LedgerJournalName::find(ledgerJournalTable.JournalName).parmOffsetLedgerDimension();

        ledgerJournalTrans.parmOffsetLedgerDimension(ledgerJournalTrans.getOffsetLedgerDimensionForLedgerType(defaultAccount, ledgerJournalTrans.getOffsetCompany()));

        ledgerJournalTrans.AmountCurCredit          = tmpCommissionTransfer.CommAmount;

        ledgerJournalTrans.PostingProfile           = VendParameters::find().PostingProfile;

        ledgerJournalTrans.PaymMode                 = vendTable.PaymMode;

        ledgerJournalTrans.Payment                  = vendTable.PaymTermId;

        ledgerJournalTrans.TransactionType          = LedgerTransType::Vend;

        ledgerJournalTrans.Approver                 = DirPersonUserEx::findUserWorkerReference();

        // MAS0201094 - Gopal: Generating dimension combination.

        DimensionDisplayValue displayValue          = DimensionAttributeValueCombination::find(ledgerJournalTrans.OffsetLedgerDimension).DisplayValue;

        displayValue = strRem(displayValue, "@SYS91455");

        ledgerJournalTrans.OffsetLedgerDimension   = this.getOffsetLedgerDimension(displayValue, tmpCommissionTransfer.SalesId);


        if (ledgerJournalTrans.Approver)

        {

            ledgerJournalTrans.Approved             = NoYes::Yes;

        }


        this.setDueDate();

        

        ledgerJournalTrans.insert();


        ttscommit;

    }


    /// <summary>

    /// creates journal voucher

    /// </summary>

    /// <param name = "_journalNum"> Journal Num </param>


    protected void createVoucher(JournalId  _journalNum)

    {

        voucher = new JournalVoucherNum(JournalTableData::newTable(LedgerJournalTable::find(_journalNum))).getNew(true);

    }


    public rsmTmpCommissionTransfer parmTmpCommissionTrans(rsmTmpCommissionTransfer _tmpCommissionTransfer = tmpCommissionTransfer)

    {

        tmpCommissionTransfer = _tmpCommissionTransfer;

        return tmpCommissionTransfer;

    }


    /// <summary>

    /// begin creating ledger journal table

    /// </summary>

    private void run()

    {

        custInvoiceJour custInvoiceJour;

        #OCCRetryCount

        try

        {

            while select tmpCommissionTransfer

            {

                if (!ledgerJournalTable)

                {

                    ledgerJournalTable = this.createLedgerJournalTable();

                }

                this.createTrans(ledgerJournalTable.JournalNum);


                // MAS0201094 - Gopal: To update the invoice joura if the AP teade/Journal is created

                ttsbegin;

                select firstonly * from custInvoiceJour

                    where custInvoiceJour.InvoiceId == tmpCommissionTransfer.InvoiceNumber;

                

                if (custInvoiceJour.RecId)

                {

                    custInvoiceJour.selectForUpdate(true);

                    custInvoiceJour.IsCommissionJournalCreated = NoYes::Yes;

                    custInvoiceJour.update();

                }

                ttscommit;

            }

            this.openJournal();

            

        }


        catch (Exception::Deadlock)

        {

            retry;

        }

        catch (Exception::UpdateConflict)

        {

            if (appl.ttsLevel() == 0)

            {

                if (xSession::currentRetryCount() >= #RetryNum)

                {

                    throw Exception::UpdateConflictNotRecovered;

                }

                else

                {

                    retry;

                }

            }

            else

            {

                throw Exception::UpdateConflict;

            }

        }

    }


    /// <summary>

    /// Open journal after creating

    /// </summary>

    public void openJournal()

    {

        Args args = new Args();


        args.record(ledgerJournalTable);

        new MenuFunction(menuItemDisplayStr(LedgerJournalTable9), MenuItemType::Display).run(args);

    

    }


    /// <summary>

    /// create journal

    /// </summary>

    /// <returns> created journal entry </returns>

    public static rsmCommissionJournalCreate construct()

    {

        rsmCommissionJournalCreate ledgerJournalCreate;

        ledgerJournalCreate = new rsmCommissionJournalCreate();

        ledgerJournalCreate.parmTmpCommissionTrans();


        return ledgerJournalCreate;

  

    }


    public static void main(Args   _args)

    {

        FormRun                     formRun;

        Object                      formRunObject;

        rsmCommissionJournalCreate  ledgerJournalCreate;

        rsmTmpCommissionTransfer    tmpCommissionTransfer;

        rsmTmpCommissionTransfer    tmpSelectedRecords;

        


        if (_args && _args.caller())

        {

            formRun       = _args.caller();

            MultiSelectionHelper helper = MultiSelectionHelper::createFromCaller(formRun);

            tmpCommissionTransfer = helper.getFirst();

           

            while (tmpCommissionTransfer)

            {

                tmpSelectedRecords.data(tmpCommissionTransfer.data());

                tmpSelectedRecords.insert();

                tmpCommissionTransfer = helper.getNext();

            }

     

        }

        


        if (!tmpSelectedRecords)

        {

            throw error(Error::missingRecord(funcName()));

        }


        ledgerJournalCreate = rsmCommissionJournalCreate::construct();

        ledgerJournalCreate.parmTmpCommissionTrans(tmpSelectedRecords);


        ledgerJournalCreate.run();

    }


    public void setDueDate()

    {

        ledgerJournalTrans.Due = ledgerJournalTrans.DocumentDate ? ledgerJournalTrans.DocumentDate : ledgerJournalTrans.TransDate;


        if (ledgerJournalTrans.Payment)

        {

            ledgerJournalTrans.Due = PaymCalendarSourceLedgerJournalTrans::getUpdatedDueDate(ledgerJournalTrans, this.paymDayId(ledgerJournalTrans));

        }

    }


    /// <summary>

    ///    Returns the <c>PaymDayId</c> of either the <c>CustTable</c> table or the <c>VendTable</c> table according to the account type and account number of the journal.

    /// </summary>

    /// <param name="_ledgerJournalTrans">

    ///    A <c>LedgerJournalTrans</c> record buffer.

    /// </param>

    /// <returns>

    ///    A <c>PamDayId</c> value.

    /// </returns>

    protected PaymDayId paymDayId(LedgerJournalTrans _ledgerJournalTrans)

    {

        PaymDayId   paymDayId;

        CompanyId   companyId;

        ;


        if (xDataArea::exist(_ledgerJournalTrans.Company))

        {

            companyId =_ledgerJournalTrans.Company;

        }

        else

        {

            companyId = curext();

        }


        changecompany(companyId)

        {

            switch (_ledgerJournalTrans.AccountType)

            {

                case LedgerJournalACType::Vend :

                    paymDayId = _ledgerJournalTrans.findVendTable().PaymDayId;

                    break;


                default :

                    paymDayId = '';

            }

        }

        return paymDayId;

    }


    /// <summary>

    /// MAS0201094 - Gopal:

    /// To get the combination of Mainaccount Id and Sales Id 

    /// </summary>

    /// <param name = "_ledgerAccount">Main account ID</param>

    /// <param name = "_salesId">Sales Id</param>

    /// <returns>Record Id for the combination of Main accoutn Id and SalesId</returns>

    public DimensionDynamicAccount getOffsetLedgerDimension(str _ledgerAccount, str _salesId)

    {

        DimensionServiceProvider DimensionServiceProvider = new DimensionServiceProvider();

        LedgerAccountContract LedgerAccountContract = new LedgerAccountContract();

        DimensionAttributeValueContract ValueContract;

        List ListValueContract = new List(Types::Class);

        dimensionAttributeValueCombination dimensionAttributeValueCombination;

        DimensionStorage          dimStorage;

        if (_salesId)

        {

            ValueContract = new DimensionAttributeValueContract();

            ValueContract.parmName("@SYS1066") ;

            ValueContract.parmValue(_salesId);

            ListValueContract.addEnd(ValueContract);

        }


        LedgerAccountContract.parmMainAccount(_ledgerAccount);

        LedgerAccountContract.parmValues(ListValueContract);


        dimStorage = DimensionServiceProvider::buildDimensionStorageForLedgerAccount(LedgerAccountContract);

        dimensionAttributeValueCombination = DimensionAttributeValueCombination::find(dimStorage.save());


        return dimensionAttributeValueCombination.RecId;


    }


}


<?xml version="1.0" encoding="utf-8"?>

<AxForm xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="Microsoft.Dynamics.AX.Metadata.V6">

<Name>rsmCommissionTransfer</Name>

<SourceCode>

<Methods xmlns="">

<Method>

<Name>classDeclaration</Name>

<Source><![CDATA[

[Form]

public class rsmCommissionTransfer extends FormRun

{



}

]]></Source>

</Method>

<Method>

<Name>populateTempTable</Name>

<Source><![CDATA[

    /// <summary>

    /// Populate the temp table with data

    /// </summary>

    public void populateTempTable()

    {

        rsmCommissionTransferForm rsmCommissionTransferForm = rsmCommissionTransferForm::construct();

        rsmTmpCommissionTransfer commissionTransfer;

        

        rsmCommissionTransferForm.fromDate              = FromDate.dateValue();

        rsmCommissionTransferForm.todate                = ToDate.dateValue();

        rsmCommissionTransferForm.payDate               = PayDate.dateValue();

        rsmCommissionTransferForm.commissionSalesGroup  = CommissionSalesGroup.valueStr();

     

        commissionTransfer = rsmCommissionTransferForm.populate();

        rsmTmpCommissionTransfer.linkPhysicalTableInstance(commissionTransfer);


        rsmTmpCommissionTransfer_ds.research(true);

    }


]]></Source>

</Method>

<Method>

<Name>init</Name>

<Source><![CDATA[

    /// <summary>

    /// Form initialization

    /// </summary>

    public void init()

    {

        rsmTmpCommissionTransfer transfer;

        

        super();


        // Workaround for the form datasource not being linked to the SQL table. Inserting a record fixes it.

        // PopulateTempTable is the actual method that inserts data into the table

        transfer.doInsert();

        

        //_from transfer;

        rsmTmpCommissionTransfer.linkPhysicalTableInstance(transfer);

    }


]]></Source>

</Method>

</Methods>

<DataSources xmlns="" />

<DataControls xmlns="">

<Control>

<Name>rsmCalculate</Name>

<Type>Button</Type>

<Methods>

<Method>

<Name>clicked</Name>

<Source><![CDATA[

        public void clicked()

        {

            super();

     

            /// 3 fields are declared

            if (FromDate.valueStr() && 

                ToDate.valueStr() && 

                PayDate.valueStr())

            {

                element.populateTempTable();

            }

            else 

            {

                warning("@rsmNCExtensionsLabel:CommissionTransferCalculate");

            }

            

        }


]]></Source>

</Method>

</Methods>

</Control>

</DataControls>

<Members xmlns="" />

</SourceCode>

<DataSources>

<AxFormDataSource xmlns="">

<Name>rsmTmpCommissionTransfer</Name>

<Table>rsmTmpCommissionTransfer</Table>

<Fields>

<AxFormDataSourceField>

<DataField>CommAmount</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>CommissSalesGroup</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>CommPercent</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>Customer</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>DataAreaId</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>InvoiceAmount</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>InvoiceDate</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>InvoiceNumber</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>Partition</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>PaymDate</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>RecId</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>SalesBalance</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>SalesId</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>SalesPersonName</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>TableId</DataField>

</AxFormDataSourceField>

<AxFormDataSourceField>

<DataField>VendAccount</DataField>

</AxFormDataSourceField>

</Fields>

<ReferencedDataSources />

<AllowCreate>No</AllowCreate>

<AllowEdit>No</AllowEdit>

<InsertAtEnd>No</InsertAtEnd>

<InsertIfEmpty>No</InsertIfEmpty>

<DataSourceLinks />

<DerivedDataSources />

</AxFormDataSource>

</DataSources>

<Design>

<Caption xmlns="">@rsmNCExtensionsLabel:CommissionTransfer</Caption>

<Pattern xmlns="">SimpleList</Pattern>

<PatternVersion xmlns="">1.1</PatternVersion>

<Style xmlns="">SimpleList</Style>

<Controls xmlns="">

<AxFormControl xmlns=""

i:type="AxFormActionPaneControl">

<Name>ActionPane</Name>

<Type>ActionPane</Type>

<FormControlExtension

i:nil="true" />

<Controls>

<AxFormControl xmlns=""

i:type="AxFormButtonGroupControl">

<Name>rsmButtonGroup</Name>

<Type>ButtonGroup</Type>

<FormControlExtension

i:nil="true" />

<Controls>

<AxFormControl xmlns=""

i:type="AxFormButtonControl">

<Name>rsmCalculate</Name>

<Type>Button</Type>

<FormControlExtension

i:nil="true" />

<Text>@SYS117</Text>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormMenuFunctionButtonControl">

<Name>rsmCommissionJournalCreate</Name>

<Type>MenuFunctionButton</Type>

<FormControlExtension

i:nil="true" />

<MenuItemName>rsmCommissionJournalCreate</MenuItemName>

<MenuItemType>Action</MenuItemType>

<Text>@rsmNCExtensionsLabel:CreateAPTrade</Text>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormMenuFunctionButtonControl">

<Name>rsmCommissionTransferReport</Name>

<Type>MenuFunctionButton</Type>

<FormControlExtension

i:nil="true" />

<MenuItemName>rsmCommissionTransferReport</MenuItemName>

<MenuItemType>Output</MenuItemType>

<Text>@SYS15111</Text>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormMenuFunctionButtonControl">

<Name>rsmCommissionTransferStatement</Name>

<Type>MenuFunctionButton</Type>

<FormControlExtension

i:nil="true" />

<MenuItemName>rsmCommissionTransferStatement</MenuItemName>

<MenuItemType>Output</MenuItemType>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormMenuFunctionButtonControl">

<Name>rsmCommissionJournal</Name>

<Type>MenuFunctionButton</Type>

<FormControlExtension

i:nil="true" />

<MenuItemName>rsmCommissionJournal</MenuItemName>

</AxFormControl>

</Controls>

</AxFormControl>

</Controls>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormGroupControl">

<Name>FormGroup</Name>

<Pattern>CustomAndQuickFilters</Pattern>

<PatternVersion>1.1</PatternVersion>

<Type>Group</Type>

<WidthMode>SizeToAvailable</WidthMode>

<FormControlExtension

i:nil="true" />

<Controls>

<AxFormControl>

<Name>QuickFilter</Name>

<FormControlExtension>

<Name>QuickFilterControl</Name>

<ExtensionComponents />

<ExtensionProperties>

<AxFormControlExtensionProperty>

<Name>targetControlName</Name>

<Type>String</Type>

</AxFormControlExtensionProperty>

<AxFormControlExtensionProperty>

<Name>placeholderText</Name>

<Type>String</Type>

</AxFormControlExtensionProperty>

<AxFormControlExtensionProperty>

<Name>defaultColumnName</Name>

<Type>String</Type>

</AxFormControlExtensionProperty>

</ExtensionProperties>

</FormControlExtension>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormDateControl">

<Name>FromDate</Name>

<AutoDeclaration>Yes</AutoDeclaration>

<Type>Date</Type>

<FormControlExtension

i:nil="true" />

<Label>@SYS5209</Label>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormDateControl">

<Name>ToDate</Name>

<AutoDeclaration>Yes</AutoDeclaration>

<Type>Date</Type>

<FormControlExtension

i:nil="true" />

<Label>@SYS80662</Label>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormDateControl">

<Name>PayDate</Name>

<AutoDeclaration>Yes</AutoDeclaration>

<Type>Date</Type>

<FormControlExtension

i:nil="true" />

<Label>@SYS38537</Label>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormStringControl">

<Name>CommissionSalesGroup</Name>

<AutoDeclaration>Yes</AutoDeclaration>

<Type>String</Type>

<FormControlExtension

i:nil="true" />

<ExtendedDataType>CommissSalesGroup</ExtendedDataType>

<Label>@SYS23777</Label>

</AxFormControl>

</Controls>

<ArrangeMethod>HorizontalLeft</ArrangeMethod>

<FrameType>None</FrameType>

<Style>CustomFilter</Style>

<ViewEditMode>Edit</ViewEditMode>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormGridControl">

<Name>Grid</Name>

<Type>Grid</Type>

<FormControlExtension

i:nil="true" />

<Controls>

<AxFormControl xmlns=""

i:type="AxFormDateControl">

<Name>rsmTmpCommissionTransfer_InvoiceDate</Name>

<Type>Date</Type>

<FormControlExtension

i:nil="true" />

<DataField>InvoiceDate</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormStringControl">

<Name>rsmTmpCommissionTransfer_CommissSalesGroup1</Name>

<Type>String</Type>

<FormControlExtension

i:nil="true" />

<DataField>CommissSalesGroup</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormStringControl">

<Name>rsmTmpCommissionTransfer_SalesPersonName</Name>

<Type>String</Type>

<FormControlExtension

i:nil="true" />

<DataField>SalesPersonName</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormStringControl">

<Name>rsmTmpCommissionTransfer_InvoiceNumber</Name>

<Type>String</Type>

<FormControlExtension

i:nil="true" />

<DataField>InvoiceNumber</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormStringControl">

<Name>rsmTmpCommissionTransfer_Customer</Name>

<Type>String</Type>

<FormControlExtension

i:nil="true" />

<DataField>Customer</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormStringControl">

<Name>rsmTmpCommissionTransfer_SalesId</Name>

<Type>String</Type>

<FormControlExtension

i:nil="true" />

<DataField>SalesId</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormRealControl">

<Name>rsmTmpCommissionTransfer_InvoiceAmount</Name>

<Type>Real</Type>

<FormControlExtension

i:nil="true" />

<DataField>InvoiceAmount</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormStringControl">

<Name>rsmTmpCommissionTransfer_CommPercent</Name>

<Type>String</Type>

<FormControlExtension

i:nil="true" />

<DataField>CommPercent</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormRealControl">

<Name>rsmTmpCommissionTransfer_CommAmount</Name>

<Type>Real</Type>

<FormControlExtension

i:nil="true" />

<DataField>CommAmount</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

<AxFormControl xmlns=""

i:type="AxFormRealControl">

<Name>rsmTmpCommissionTransfer_SalesBalance</Name>

<Type>Real</Type>

<FormControlExtension

i:nil="true" />

<DataField>SalesBalance</DataField>

<DataSource>rsmTmpCommissionTransfer</DataSource>

</AxFormControl>

</Controls>

<DataSource>rsmTmpCommissionTransfer</DataSource>

<Style>Tabular</Style>

</AxFormControl>

</Controls>

</Design>

<Parts />

</AxForm>

Comments

Popular posts from this blog

Price disc agreement

Sample integration

Create ledger journals in D365FO using X++ + LedgerDimensionACType