Monday, May 26, 2025

X++ code to get the specific legal entities locations

 public void MultiSelectLookup(FormStringControl _control)

{
     Query          query = new  query();
     Container      cont;
     CompanyInfo    companyInfo = CompanyInfo::findDataArea("INMF");

 

     QueryBuildDataSource    qbds = query.addDataSource(tableNum(DirPartyPostalAddressView));

 

     QueryBuildRange    qbr1,qbr = qbds.addRange(fieldNum(DirPartyPostalAddressView,Party));
     qbr.value(SysQuery::value(companyInfo.RecId));

 

     qbr1 = qbds.addRange(fieldNum(DirPartyPostalAddressView, ValidTo));
     qbr1.value(strFmt(">%1", date2Str(today(), 123, DateDay::Digits2, DateSeparator::Slash,
                                  DateMonth::Digits2, DateSeparator::Slash, DateYear::Digits4)));
     qbds.addSelectionField(fieldNum(DirPartyPostalAddressView, LocationName));
     qbds.addSelectionField(fieldNum(DirPartyPostalAddressView, Address));
     sysLookupMultiSelectGrid::lookup(query, _control, _control, _control, cont);
}


---------------------------------------






Wednesday, May 7, 2025

Code to get the settled invoices for a payment journal in d365fo x++

 [ExtensionOf(classStr(LedgerJournalCheckPost))]

internal final class LedgerJournalCheckpost_Extension

{

    protected void runInternal()

    {

        PROZIPPaymentJournalStaging     ZIPPaymentJournalStaging;

        VendTrans                       vendTrans,vendTransloc;

        VendSettlement                  vendSettlement;

        LedgerJournalTrans              ledgerJournalTrans;

        LedgerJournalTable              ledgerJOurnalTableloc;

 

        next runInternal();

 

        if(ledgerJournalTable.Posted == NoYes::Yes && ledgerJournalTable.JournalType == LedgerJournalType::Payment)

        {

            while select ledgerJournalTrans

                where ledgerJournalTrans.JournalNum == ledgerJournalTable.JournalNum

            {

                select vendTrans

                    where vendTrans.RecId == ledgerJournalTrans.VendTransId;

 

                while select vendSettlement

                    where vendSettlement.TransCompany == vendTrans.DataAreaId

                    && vendSettlement.TransRecId == vendTrans.RecId

                    && vendSettlement.AccountNum == vendTrans.AccountNum

                {

                    select vendTransloc

                        where vendTransloc.RecId == vendSettlement.OffsetRecid;

 

                    select ledgerJOurnalTableloc 

                        where ledgerJOurnalTableloc.JournalNum == vendTransloc.JournalNum;

 

                        ZIPPaymentJournalStaging.PROProcessingStatus    = PROProcessingStatus::Unprocessed;

                        ZIPPaymentJournalStaging.InvoiceVoucher         = vendTransloc.Voucher;

                        ZIPPaymentJournalStaging.Invoice                = vendTransloc.Invoice;

                        ZIPPaymentJournalStaging.insert();

                    }

                }

            }

        }

    }

 

}