Saturday, March 6, 2021

Vendor Statement Controlling settlement entries in display

 Adding new parameter checkbox to display the entries in Vendor statement 


VendAccountStatementIntContract()

variable declaration 

boolean incSettlement;

boolean incForeignCuyRevaluation;


[

    DataMemberAttribute('incForeignCuyRevaluation'),

    SysOperationLabelAttribute(literalstr("FC Revaluation")),

    SysOperationHelpTextAttribute(literalstr("Include foreignCurrency Revaluationn")),

    SysOperationGroupMemberAttribute('Criteria'),

    SysOperationDisplayOrderAttribute('14')



]

public boolean parmIncForeignCuyRevaluation(boolean _incForeignCuyRevaluation = incForeignCuyRevaluation)

{

    incForeignCuyRevaluation = _incForeignCuyRevaluation;

    return incForeignCuyRevaluation;

}


[
    DataMemberAttribute('IncSettlement'),
    SysOperationLabelAttribute(literalstr("Inc settlement")),
    SysOperationHelpTextAttribute(literalstr("Include settlement transaction")),
    SysOperationGroupMemberAttribute('Criteria'),
    SysOperationDisplayOrderAttribute('13')
]
public boolean parmIncSettlement(boolean _incSettlement = incSettlement)
{
    incSettlement = _incSettlement;
    return incSettlement;
}




Dp class /  VendAccountStatementIntDP / initVendTransQuery

/// <summary>

/// Creates and executes the query.

/// </summary>

/// <returns>

/// A <c>Query</c> object.

/// </returns>

/// <remarks>

/// Adds data source, ranges, and sorting based on the selected parameters.

/// </remarks>

public Query initVendTransQuery()

{

    Query query = this.parmQuery();


    QueryBuildDataSource vendTableDataSource                    = SysQuery::findOrCreateDataSource(query, tableNum(VendTable));

    QueryBuildDataSource vendTransDataSource                    = vendTableDataSource.addDataSource(tableNum(VendTrans));

    QueryBuildDataSource transactionReversalTransDataSource     = vendTransDataSource.addDataSource(tableNum(TransactionReversalTrans));

    QueryBuildDataSource bankLCVendTransDataSource;

    QueryBuildDataSource ds;


    vendTransDataSource.relations(true);

    vendTransDataSource.joinMode(JoinMode::OuterJoin);


    transactionReversalTransDataSource.addLink(fieldNum(VendTrans, RecId), fieldNum(TransactionReversalTrans, RefRecId));

    transactionReversalTransDataSource.addLink(fieldNum(VendTrans, TableId), fieldNum(TransactionReversalTrans, RefTableId));

    transactionReversalTransDataSource.fetchMode(QueryFetchMode::One2One);

    transactionReversalTransDataSource.joinMode(JoinMode::OuterJoin);


    vendTransDataSource.addRange(fieldNum(VendTrans,AccountNum));


    if (fromDate || toDate)

    {

        vendTransDataSource.addRange(fieldNum(VendTrans,TransDate)).value(queryRange(fromDate, toDate));

    }


    if (currencyCode)

    {

        vendTransDataSource.addRange(fieldNum(VendTrans,CurrencyCode)).value(currencyCode);

    }

    //-- added by kavin for control settlement entries and foreign currency revaluation to display as per checkbox control in report 

    if(!includeSettlement && includeForeignCuyRevaluation)

    {

        vendTransDataSource.addRange(fieldNum(VendTrans,TransType)).value(SysQuery::valueNot(LedgerTransType::Settlement));

    }


    if(!includeForeignCuyRevaluation && includeSettlement)

    {

        vendTransDataSource.addRange(fieldNum(VendTrans,TransType)).value(SysQuery::valueNot(LedgerTransType::ExchAdjustment));

    }


    if(!includeForeignCuyRevaluation && !includeSettlement)

    {

        vendTransDataSource.addRange(fieldNum(VendTrans,TransType)).value(queryNotValueCon_W([LedgerTransType::Settlement,LedgerTransType::ExchAdjustment]));

    }

    // --- ended checkbox control in report 

    

    vendTransDataSource.addSortField(fieldNum(VendTrans,TransDate));

    vendTransDataSource.addSortField(fieldNum(VendTrans,Voucher));


    if (!includeReversed)

    {

        ds = vendTransDataSource.addDataSource(tableNum(TransactionReversalTrans));

        ds.joinMode(JoinMode::NoExistsJoin);

        ds.addLink(fieldNum(VendTrans,TableId), fieldNum(TransactionReversalTrans,RefTableId));

        ds.addLink(fieldNum(VendTrans,RecId), fieldNum(TransactionReversalTrans,RefRecId));

        ds.addRange(fieldNum(TransactionReversalTrans,Reversed)).value(enum2str(NoYes::Yes));

    }


    if (BankLCImportFeatureChecker::checkBankLCImportEnabled())

    {

        if (bankLCBankDocumentType != BankLCBankDocumentType::All)

        {

            bankLCVendTransDataSource = vendTransDataSource.addDataSource(tableNum(BankLCVendTrans));

            bankLCVendTransDataSource.joinMode(JoinMode::ExistsJoin);

            bankLCVendTransDataSource.addLink(fieldNum(VendTrans, BankLCImportLine), fieldNum(BankLCVendTrans, BankLCImportLine));

            bankLCVendTransDataSource.addRange(fieldNum(BankLCVendTrans, BankDocumentType)).value(

            SysQuery::value(BankLCCustVendTransHelper::convertDocumentType(bankLCBankDocumentType)));

        }

    }


    return query;

}


No comments:

Post a Comment