Stories

What is the benefit of OKR planning method for an executive

We apply OKR methodology in Neti since 2014. We started from a quarterly planning, but then understood that no ambitious goals can be achieved per quarter. So we switched to semi-annual intervals. Some goals were easily achieved, the others failed miserably, and the third ones were cancelled or deferred for the future. As a result, we gained a better understanding of how to correctly set, achieve and synchronize the leaders’ goals. If you also want to see where your company as [...]

Read more...

Dynamics 365 Business Central: we are ready! And you?

As you know, Microsoft recently has launched Dynamics 365 Business Central. And we are proud to announce we have launched intracompany training for sales and development departments: Why do we need it? Answer is simple – to provide excellent service for our customers, we always must be on the peak of latest technologies used by them. Still have doubts? Just contact us and ensure yourself! In case if you missed this epochal event of Spring 2018, we prepared few links to [...]

Read more...

Trust, but do not betray your principles

How small business shall work with major contracts. Opinion of Ruslan Kafiatullin from Neti. Projects from scratch are always risky As a rule, implementation projects from scratch are always accompanied by rough duration estimate (from 6 months) and high risks of non-payment by client on the outcome. Consequently, it leads to risk of bankruptcy of the whole project company. We can recall several sad cases of our colleagues: one of the largest integrators had been working on the project of a jewelry house [...]

Read more...

Fix RPC error 1702 when calling a WinAPI method from a batch job

You may get the error “RPC error: RPC exception 1702 occurred in session xxx” in the Windows Event Log when some batch job is running. The error details are “The binding handle is invalid”. You can find the list of RPC errors here. This error is thrown because methods those are supposed to be executed on client actually were called on server in the batch mode. Here is an example: {{ client static boolean folderExists(Filename _filename) { boolean ret; ret = System.IO.Directory::Exists(_filename); return ret; } }} To [...]

Read more...

Access denied to method processReport in…

Sometimes you can face this error even if you set up security policy properly: The class that raised this error extends SRSReportDataProviderBase. public class AnkPriceListDP extends SRSReportDataProviderBase [SysEntryPointAttribute] public void processReport() The method is an entry point for the SysOperationProcess class. The access to run this method is also checked in the SysOperationProcess class. I couldn’t set up the access exactly for this method. So I fixed the problem by granting access to execute this method in the privilege’s Permission.ServerMethods node.

Read more...

Pivot table in Excel from AX 2012

Using ComExcelDocument_RU #define.xlDatabase(1) #define.xlPivotTableVersion15(5) #define.PivotTableName("Pivottable1") #define.PivotTable("PivotTable") void buildPivotTable(BookMark _sourceBookMark, container _columnFields, container _rowFields, container _dataFields, int _sourceWorkSheet = 1, BookMark _destBookMark = "", int _destWorkSheet = 1, str _destWorkSheetName = "", BookMark _destBookMarkCell = "") { COM comWorkBook, comWorkSheet; COM comPivotCaches, comPviotCache; COM comPivotTable, comPivotField; COM comCommandBars, comCommandBar; int iPivotField; BookMark destBookMark; ; comWorkBook = m_comApplication.activeWorkBook(); comWorkSheet = this.getWorkSheet(_sourceWorkSheet); comPivotCaches = comWorkBook.PivotCaches(); //xlDatabase means data is in the active workbook comPviotCache = comPivotCaches.Create(#xlDatabase, strFmt("%1!%2", comWorkSheet.name(), _sourceBookMark), #xlPivotTableVersion15); //Empty String as destination means a new WorkSheet will be created if (_destBookMark) { comWorkSheet = this.getWorkSheet(_destWorkSheet); destBookMark = strFmt("%1!%2", comWorkSheet.name(), _destBookMark); } comPivotTable = comPviotCache.CreatePivotTable(strFmt("%1!%2", _destWorkSheetName, _destBookMarkCell), #PivotTableName, #xlPivotTableVersion15); for (iPivotField = [...]

Read more...