Tuesday 19 September 2017

filter grid based on conbobox ona form

public class FormRun extends ObjectRun
{
    SysFormSplitter_X verticalSplitter;
    QueryBuildRange                qbr;
}


public void executeQuery()
{
    if(BusinessUnit.text() != "")
    {
        qbr.value(queryValue(BusinessUnit.text()));
    }
    else
    {
        qbr.value(SysQuery::valueUnlimited());

    }

    super();
}




public void init()
{
    super();
    qbr= this.query().dataSourceTable(tableNum(VendTable)).addRange(fieldNum(VendTable, InventSiteId));

}


public void lookup()
{
    Query                   query = new Query();
    QueryBuildDataSource    queryBuildDataSource;

    SysTableLookup  sysTableLookup = SysTableLookup::newParameters(tableNum(OMOperatingUnit), this);
    ;
    queryBuildDataSource = query.addDataSource(tableNum(OMOperatingUnit));

    sysTableLookup.addLookupfield(fieldNum(OMOperatingUnit, OMOperatingUnitNumber));
    //sysTableLookup.addLookupfield(fieldNum(CustVendExternalItem, ExternalItemId));

    queryBuildDataSource.addRange(fieldNum(OMOperatingUnit, OMOperatingUnitType)).value(queryValue(OMOperatingUnitType::OMBusinessUnit));
    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();

    super();
}

---------------------------------------------------------------------------------------------------------------
public boolean modified()
{
    boolean ret;

    ret = super();
    VendTable_ds.executeQuery();
    return ret;
}

write to csv from ax

static void customerExportCsv(Args _args)
{

    CommaTextIo file;
    container line;
    FileIoPermission perm;
    CustTable                   custTable;
        FreeText                address;
        TaxRegistrationNumber_IN gstNo;


    #define.filename(@"C:\cust.csv")
    #File
    perm = new FileIoPermission(@"C:\cust.csv", "w");
    perm.assert();
    file = new CommaTextIo(@"C:\cust.csv", "w");

    if (!file || file.status() != IO_Status::Ok)
    {
    throw error("@SYS19358");//throws error if file path is not found
    }

    while    select custTable
    {
        gstNo = TaxRegistrationNumbers_IN::find(TaxInformation_IN::findDefaultbyLocation(DirPartyTable::findRec(CustTable::find(custTable.AccountNum).Party).PrimaryAddressLocation).GSTIN).RegistrationNumber;
        address = DirParty::primaryPostalAddress(custTable.Party).Address;

    if(custTable)
    {
        line = [custTable.AccountNum,custTable.name(),custTable.InventSiteId,address,gstNo];
        file.writeExp(line);
    }
    }
   info("done");
}



Read file dynamically.

 int currentFileCount;
   
     System.String[] filePaths = System.IO.Directory::GetFiles(@"C:\folder\", "*.CSV*", System.IO.SearchOption::AllDirectories);
   fileNameOpen = filepaths.GetValue(currentFileCount);
custom number seq

NumberSequenceCode numberSequenceCode,numberSequenceCodeVoucher;
Numberseq          numberseqLocal,numberseqVoucher;

 localSalesTable = salesParmTable.salesTable();
    numberSequenceCode = Alle_ARBusinessUnitNumberSeq::find(localSalesTable.Alle_BusinessUnit).CustomerInvoice;
    numberSequenceCodeVoucher = Alle_ARBusinessUnitNumberSeq::find(localSalesTable.Alle_BusinessUnit).CustomerInvoiceVoucher;

 numberseqLocal = NumberSeq::newGetNumFromCode(numberSequenceCode,NumberSeqScopeFactory::createDefaultScope(), true,true);
    numberseqVoucher = NumberSeq::newGetNumFromCode(numberSequenceCodeVoucher,NumberSeqScopeFactory::createDefaultScope(), true,true);
    custInvoiceJour.InvoiceId        = numberseqLocal.num();
    custInvoiceJour.LedgerVoucher        = numberseqVoucher.num();

sysoperation framework 2012

class MRKPEmailBatchServiceController extends SysOperationServiceController
{
    TransDate                               fromDate;
    TransDate                               toDate;
    MainAccount                             mainAccount;
    GeneralJournalEntry                     generalJournalEntry;
    #define.RecordsToDisplay(6)

}

-----------------------------------------------------------------------------------------------------------
protected ClassDescription defaultCaption()
{
    ClassDescription ret;

    ret = "@AAM50";

    return ret;

}

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

protected void new()
{
    super(classStr(MRKPEmailBatchService), methodStr(MRKPEmailBatchService, SemdEmail), SysOperationExecutionMode::Synchronous);

}

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

public void run()
{
    super();

}

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

public static MRKPEmailBatchServiceController construct()
{
    MRKPEmailBatchServiceController    controller;
    MRKPEmailBatchServiceContract      datacontract;

    controller  = new MRKPEmailBatchServiceController();
    controller.parmShowDialog(true);
    controller.parmShowProgressForm(false);
    datacontract = controller.getDataContractObject('');
    datacontract.parmFromDate(dateStartMth(prevMth(systemDateGet())));
    datacontract.parmToDate(dateEndMth(prevMth(systemDateGet())));

    return controller;

}

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

public static void main(args _args)
{
    MRKPEmailBatchServiceController controller;

    controller = MRKPEmailBatchServiceController::construct();
    controller.startOperation();

}

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

[DataContractAttribute,
SysOperationLabelAttribute(literalStr("@SYS80056")),
SysOperationGroupAttribute('FromGroup', literalStr("@SYS181135"), '1', FormArrangeMethod::HorizontalFlushRight),
SysOperationGroupAttribute('ToGroup', literalStr("@SYS53942"), '1')]

class MRKPEmailBatchServiceContract  implements SysOperationValidatable
{
    TransDate   fromDate;
    TransDate   toDate;

}

----------------
[DataMemberAttribute
,SysOperationLabelAttribute(literalStr("@SYS80056")),
SysOperationGroupMemberAttribute('FromGroup'),SysOperationDisplayOrderAttribute('1')]
public sysdate parmFromDate(TransDate _fromDate = fromDate)
{
    fromDate = _fromDate;
    return fromDate;
}
--------------
[DataMemberAttribute
,SysOperationLabelAttribute(literalStr("@SYS80056")),
SysOperationGroupMemberAttribute('ToGroup'),SysOperationDisplayOrderAttribute('1')]
public TransDate parmToDate(TransDate _toDate = toDate)
{
    toDate = _toDate;
    return toDate;
}
--------------------
public boolean validate()
{
    boolean     isValid;
    isValid = true;

    if (!fromDate)
    {
        isValid = checkFailed(strFmt("@SYS84753", "@SYS24050"));
    }
    if (!toDate)
    {
        isValid = checkFailed(strFmt("@SYS84753", "@SYS36680"));
    }

    return isValid;
}

=-----------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------

class MRKPEmailBatchService  extends SysOperationServiceBase
{
    TransDate               fromDate;
    TransDate               toDate;
    LedgerJournalId         journalNumber;
    boolean                 headerCreated;
    #define.WorkFlowComment("Auto submitted to workflow")
}

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

[SysEntryPointAttribute]
public void SemdEmail(MRKPEmailBatchServiceContract _serviceContract)
{
  #File
SampleTable  sampleTable;

    IO                    iO;
HcmPersonnelNumberId  employerefno;
ProjId                site;
TextIo                file;
//FilenameOpen          filename = "C:o assign file name
     FilenameOpen          filename = "C:\\MO\\test1.csv";
Container             record,line;
ProjJournalTrans      projJournalTrans;

HcmWorker             hcmWorker;
  ProjJournalTable      projJournalTable;
    date     tdate;
    str emply,dates;
boolean first = true;

;
projJournalTable.JournalNameId = "Hours";
//projJournalTable.JournalId = "SelfTEst";
projJournalTable.Description = "devel";

   // ProjJournalTable.insert();
}

---------------------------------------------------------------------------------------------------------------
public static  MRKPEmailBatchService construct()
{
    MRKPEmailBatchService      service;

    service = new MRKPEmailBatchService();

    return service;
}

Wednesday 6 September 2017

Tax calculation in ax 2009 GST


TaxEngineService
getTaxDocumentGUIDBySource(TableId _sourceTableId, RecId _sourceRecId)