Archives / 2017 / August
  • How to validate input on Insert

    Hello everybody,

    today I want to document small feature in Acumatica which I can call validation of insert. 

    As usually if you need to validate some logic of insertion you can use something like RowXXXXd event. But for simple validations you can use PXUIVerify attribute. Below goes example take from Acumatica itself:

    [PXUIVerify(typeof (Where<LandedCostTran.curyLCAmount, NotEqual<decimal0>>), PXErrorLevel.Error, "The value must be greater than zero", new System.Type[] {}, CheckOnInserted = false)]

    What this command says to you is pretty obvious:

    Verify at ui level ( generate javascript verification code ) that value at LandedCostTran.CuryLCAmount is not equal to zero.  … more

  • Some Elastic search featues

    Hello everybody,

    For few days I've got assigned to work with Elastic search. As faithful to my principles before doing any activity I'd like to familiarize myself with instrument that I had to use. In ordre to use it more effectively.

    So, first of all I want to mention terminology. As a lot of developers I have expereince of working with databases, so I will use analogies from relational db world.

    First of all Kibana has indexes. It has nothing in common with indexes in relational db. Index in terms of relational db would be named database. 

    So each Kibana has one or more indexes ( databases ).

    Each index has one or more types. Types in terms of relational db would be named table.

    In … more

  • How to switch google developer platform to English


    recently I've went into google development platform and faced following issue: 

    all of it's user interface was in Russian. I prefer to see English interface because majority of manuals are written in English, not in Russian. How to switch that language to English? Very simply. Just add to page following line: &hl=en

    For example like this:

    and you'll all set. You'll see everything in english more

  • How to use package manager console for creating migrations

    Hello everybody,

    today I want to describe some basic steps that you can use in order to create and apply migrations to your code.

    So, let's start. 

    Imagine that in your .Net Core project you made some changes and would like them to be created in a form of C# code migration. How to do this in package manager console? Below are steps that I've applied:

    1. add-migration "identity"

    2. update-database

    Enjoy with results. The first command will create for your C# code that will describe which tables need to be created. Second command will execute that C# code and will create on your db them. 


  • How can you explain the role, meaning and substance of ERP in layman's terms?

    Well. It depends from what kind of layman is in front of me. I’ll discuss following layman:

    my mom

    my father

    Some abstract CEO

    Let’s start from my mom. Last time when she asked me what programs I do make I was puzzled. What should I say her? She knows about Android apps, Windows apps and before retirement she used to be train driver. Be she have no idea what is ERP. As you can guess, I can’t say here standard definition of ERP from wikipedia ( actually I can, but it will not add any knowledge to her ). So I started a conversation with her like this ( Y. will stand for me, and M. for my mom ) .

    M. Yuriy, what programs you make?

    Y. ERP systems.

    M. What is this? Is this like my … more

  • How to create plugins that can be loaded/unloaded

    Hello everybody,

    today I want to show sample of code that you can use for your plugins.

    Sometime it can happen that you have some application with it's dlls and you can decide to make ad hoc dlls.

    In order to demonstrate how to do it I prepared following code:

    Create first class library as BaseLib:

    using System;

    namespace BaseClass


        public class BaseClass : MarshalByRefObject


            public virtual bool IsProcessable(string message)


                return true;


            public virtual void Process(string message)






    Then create following implementation:

    using System;

    namespace Ext1


        public  … more

  • How to convert excel file to CSV file

    Hello everybody,

    today I want to document a few lines of code which can help to convert excel file to CSV file with help of OLE:

    static void ConvertExcelToCsv(string excelFileName, string csvOutputFileName, int worksheetNumber = 1)


        if (!File.Exists(excelFileName)) throw new FileNotFoundException(excelFileName);

        if (File.Exists(csvOutputFileName)) throw new ArgumentException("File already exists: " + csvOutputFileName);

        var connectionString =

            $"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={excelFileName};Extended Properties=\"Excel 8.0;IMEX=1;HDR=NO\"";

        var oleDbConnection = new OleDbConnection(connectionString);

        // get schema, then data

        var  … more