Wednesday, 9 December 2015
Filtering the data(record) based on selected Input in Ax
For filtering a particular record :
2.Create a form and drag the table TableName into data source.
in design take a grid and a combo box give enum type as baseenum
public class FormRun extends ObjectRun
{
QueryBuildRange qbr2; // declartion of range variable
}
- public void init()
{
super();
qbr2 = this.query().dataSourceName(“Datasourcename”).addRange(fieldNum(TableName, BaseEnum1));
}
public int selectionChange()
{
int ret;
ret = super();
datasourcename_ds.executeQuery();
return ret;
}
public void executeQuery()
{
qbr2.value(comboboxName.valueStr());
super();
}
Tuesday, 8 December 2015
Import and Export Data to a Text file, Excel through X++ Code in ax 2012,
Import CSV file
static void ReadCsvFile(Args _args)
{
#File
IO iO;
CustAccount custAccount;
CustName custname;
FilenameOpen filename = "d:\\Rajendra.csv"; // --file path
Container record;
Table testTable;
boolean first = true;
;
iO = new CommaTextIo(filename,#IO_Read);
if (! iO || iO.status() != IO_Status::Ok)
{
throw error("@SYS19358");
}
while (iO.status() == IO_Status::Ok)
{
record = iO.read();// To read file
if (record)
{
if (first) //To skip header
{
first = false;
}
else
{
custAccount = conpeek(record, 1);//To peek record
custGroup = conpeek(record, 2);
testTable.CustAccount = custAccount;
testTable.custGroup = custGroup ;
testTable.insert();
//info(strfmt('%1--%2',custAccount,custname));
}
}
}
}
static void UpdItemChannelCode(Args _args)
{
#File
str initPath = @"C:\TEMP\";
//import
IO
fileImport;
FilenameOpen
fileNameImport;
FileNameFilter
filter = ["CSV file", "*.csv"];
str
importInfieldDelimiter = ';';
container recordImport;
boolean importHasHeader = true;
//import
DataAreaId
companyCode;
HSOChannelCode
channelCode;
HSOAPSeasonCodeId
seasonCodeId;
HSOAPItemCategoryId
categoryId;
ItemId
itemId;
InventTable
inventTable;
HSOChannelTable hsoChannelTable;
int counter;
int errorCnt;
boolean rowOk;
;
//import
fileNameImport = WinAPI::getOpenFileName(infolog.hWnd(), filter,
initPath , 'Item Channel code - Load CSV file',"csv","",1);
if(!fileNameImport)
return ;
fileImport = new CommaTextIo(fileNameImport,#IO_Read);
fileImport.inFieldDelimiter(importInfieldDelimiter);
if (! fileImport || fileImport.status() !=
IO_Status::Ok)
{
throw error("@SYS19358");
}
//import
while (fileImport.status() == IO_Status::Ok)
{
recordImport = fileImport.read();// To read
file
if (recordImport)
{
if (importHasHeader) //To skip header
{
importHasHeader = false;
}
else
{
rowOk = true;
companyCode = "3000";
itemId = strLRTrim(conpeek(recordImport, 1));
seasonCodeId = strLRTrim(conPeek(recordImport, 2));
categoryId = strLRTrim(conPeek(recordImport, 3));
channelCode = strLRTrim(conPeek(recordImport, 4));
ttsBegin;
select forUpdate inventTable
where
inventTable.ItemId == itemId
&&
inventTable.dataAreaId == companyCode;
if (!inventTable)
{
rowOk = checkFailed(strFmt(inventTable::txtNotExist(), itemId));
}
if (rowOk)
{
inventTable.HSOAPSeasonCodeId =
seasonCodeId;
inventTable.HSOAPItemCategoryId = categoryId;
inventTable.HSOChannelCode = channelCode;
inventTable.doUpdate();
counter ++;
}
else
{
errorCnt ++;
}
ttsCommit;
}
}
}
info(strFmt("Import
is finished. %1 record(s) were updated, %2 error(s) occured.",
counter, errorCnt));
info("@SYS112206");
}
Export CSV file
static void ExportTextfile(Args _args)
{
CustTable custTable;
BinData binData;
TextBuffer textBuffer;
;
textBuffer = new TextBuffer();
textBuffer.setText('');
while select custTable where custTable.AccountNum || custTable.Currency || custTable.PaymMode
{
textBuffer.appendText(strfmt('%1---%2---%3\r\n ',custTable.AccountNum,custTable.Currency,custTable.PaymMode));
}
textBuffer.getText();
binData = new BinData();
binData.setStrData(textBuffer.getText());
binData.saveFile(@"C:\New2.txt");
}
Export Table Data to Excel
static void DataExportToExcel(Args _args)
{
//InventTable inventTable;
Assettable assettable;
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
SysExcelCell cell;
int row;
;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
workbook = workbooks.add();
worksheets = workbook.worksheets();
// worksheet = worksheets.itemFromNum(1);
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
cells.range('A:A').numberFormat('@');
cell = cells.item(1,1);
cell.value("Asset Id");
cell = cells.item(1,2);
cell.value("Asset Group");
cell = cells.item(1,3);
cell.value("Name");
cell = cells.item(1,4);
cell.value("Name Alias");
cell = cells.item(1,5);
cell.value("Responsible");
cell = cells.item(1,6);
cell.value("Location");
cell = cells.item(1,7);
cell.value("Asset Type");
row = 1;
while select assettable order by assettable.AssetId asc
{
row++;
cell = cells.item(row, 1);
cell.value(assettable.AssetId);
cell = cells.item(row, 2);
cell.value(assettable.AssetGroup);
cell = cells.item(row, 3);
cell.value(assettable.Name);
cell = cells.item(row, 4);
cell.value(assettable.NameAlias);
cell = cells.item(row, 5);
cell.value(assettable.Responsible);
cell = cells.item(row, 6);
cell.value(assettable.Location);
cell = cells.item(row, 7);
cell.value(assettable.AssetType);
}
application.visible(true);
}
Import Excel to Ax
Dialog dialog;
Dialogfield dialogfield;
dialog = new dialog('Excel Import');
dialogfield = dialog.addField(extendedTypeStr(FilenameOpen), 'File Name');
dialog.run();
filename =(dialogfield.value());
/* timesheet.StartTime = time2Str(str2time(cells.item(row,6).value().bStr()), TimeSeparator::Colon, TimeFormat::Hour24);//cells.item(row,6).value().bStr();
timesheet.EndTime = time2Str(str2time(cells.item(row,7).value().bStr()), TimeSeparator::Colon, TimeFormat::Hour24);//cells.item(row,7).value().bStr();
timesheet.Work = COMVariant2Str(cells.item(row, 8).value());*/
Export Excel Template
public void Template()
{
SysExcelWorksheetHelper worksheetHelper;
SysExcelHelper sysExcelHelper;
SysExcelWorksheet worksheet;
int column = 1;
int row = 1;
str worksheetName;
SysDictField dictField;
SysExcelCell excelCell;
int redColor = WinAPI::RGB2int(255, 0, 0);
SysExcelRange range;
COMVariant cellValue = new COMVariant(COMVariantInOut::Out);
DictTable DictTable;
int fieldCount, _x, fieldId,enumValues, enumValue;
sysExcelHelper = SysExcelHelper::construct();
sysExcelHelper.initialize();
worksheet = sysExcelHelper.addWorksheet("Template");
worksheetHelper = SysExcelWorksheetHelper::construct(worksheet);
DictTable = new DictTable(tableNum(Fcc_TimeSheetManagementTable));// Use your table name here.
fieldCount = DictTable.fieldCnt();
fieldId = DictTable.fieldNext(0);
worksheetHelper.addColumn(1,"Worker Num",Types::String);
worksheetHelper.addColumn(2,"Worker Date",Types::Date);
worksheetHelper.addColumn(3,"Worker Hospital",Types::String);
worksheetHelper.addColumn(4,"Report No",Types::String);
worksheetHelper.addColumn(5,"Equipment",Types::String);
worksheetHelper.addColumn(6,"Start Time",Types::String);
worksheetHelper.addColumn(7,"End Time",Types::String);
worksheetHelper.addColumn(8,"Work",Types::Integer);
worksheetHelper.addColumn(9,"OT",Types::Integer);
worksheetHelper.addColumn(10,"Travel",Types::Integer);
worksheetHelper.addColumn(11,"Office",Types::Integer);
worksheetHelper.addColumn(12,"Total",Types::Integer);
sysExcelHelper.launchExcel();
// return ret;
}
Monday, 7 December 2015
How to open Word Document Through Code in x++
{
COM wordApp;
COM wordDocuments;
wordApp = new COM("word.application");
wordDocuments = wordApp.Documents();
wordDocuments.Open(@"C:\Users\rajendra.c\Desktop\Table Properties.docx");
wordApp.visible(true);
}
How To Get System IP Address through X++ Code
Friday, 4 December 2015
How to Create Purchase Order Through Code in X++
{
NumberSeq numberSeq;
PurchTable purchTable;
PurchLine purchLine;
ttsBegin;
numberSeq = NumberSeq::newGetNum(PurchParameters::numRefPurchId());
numberSeq.used();
purchTable.PurchId = numberSeq.num();
purchTable.initValue();
purchTable.initFromVendTable(VendTable::find('8009'));
if (!purchTable.validateWrite())
{
throw Exception::Error;
}
purchTable.insert();
purchLine.PurchId = purchTable.PurchId;
purchLine.ItemId = 'A0001';
purchLine.createLine(true, true, true, true, true, true);
ttsCommit;
info(strFmt("Purchase order '%1' has been created",purchTable.PurchId));
}

