Blog

Here I document some issues for searching of which I spent more then 15 minutes

  • Filters in Acumatica

    Hello everybody,

    in this article I want to describe how filtering in Acumatica work. When I say filtering, I mean following UI part:

    In manuals T100 - T300 there is almost nothing about how filters work, so I want to share few bits of development information.

    Storage

    All information about filters is stored in database in tables FilterRow and FilterHeader.

    Take a look on screenshot of FilterInformation for some custom applied filter:

     

    As you can see from screenshot Acumatica stores information about filters by FilterID, and has information like Condition, values, Close brackets, operators and so on.

    Also there are DAC classes FilterRow and FilterHeader, but you can find them only … more

  • Predefined Size Values in Acumatica

    Hello everybody,

    today I want to leave a post on Predefined size values for ColumnWidht, LabelsWidth, ControlSize properties of the PXLayoutRule component and LablesWidth and Size properties of a control:

    Value

    ColumnWidth in Pixels

    LabelsWidth and ControlSize of a Layout Rule; LabelsWidth and Size Properties of a Control in Pixels

    XXS

    100px

    40px

    XS

    150px

    70px

    S

    200px

    100px

    SM

    -

    150px

    M

    250px

    200px

    XM

    300px

    250px

    L

    350px

    300px

    XL

    400px

    350px

    XXL

    450px

    400px

    As you can see from presented table XL is not always the same XL, and it depends from the context more

  • How to have few Acumatica versions on single machine

    Hello everybody,

    today I want to leave a short comment about how to make few Acumatica instances of single developer machine. 

    As you already know or maybe know, Acumatica recommends to have one version of Acumatica. But what if you want more? Is Acumatica merciful enough to allow you this? The answer on this question is strong yes! 

    All that you need to do, is to install version that you need, and then preserver following folders in safe place:

    Data

    Database

    Files

    Portal

    And then you can uninstall them and install another version. 

    Then for installing specific instance of Acumatica you'll need to run AcumaticaConfig.exe file and you'll be ready to go.  more

  • Performance difference in Acumatica between MS SQL and MySQL

    Hello everybody,

    today I want to write a few words about performance difference between MySQL and MS SQL in Acumatica.

    Relatively recently Acumatica provided possibility to use MySQL as it's database. For some unknown reason

    I didn't notice anybody who decided to use MySQL as their database solution. If you know any, please let me know,

    how they like their experience. 

    For me as developer it become interesting to check performance of MySQL vs MS SQL. Especially from standpoint of servers. 

    Take note on how one of mine task managers look like:

    as you can see I have 40 logical cores or 20 physical cores. Try to guess what is price of license for MS SQL for using at such a computer? … more

  • How to handle time consuming operations in Acumatica from code

    Hello everybody,

    today I want to make a short note on how to handle cases if you need to execute some kind of long operation in Acumatica. Once I had a task, create code that executes some kind of web requests that take some amount of time. When I used simple button, that approach died because of time out. In order to handle it I've decided to use PXLongOperation.StartOperation.

    Below goes full sample of code:

    public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry>

    {

        public PXAction<SOOrder> Test;

        [PXProcessButton(Tooltip = "Test")]

        [PXUIField(DisplayName = "Test")]

        public virtual IEnumerable test(PXAdapter adapter)

        {

            PXLongOperation. … more

  • ISV solutions for Acumatica

    Hello everybody,

    today I want to write a few words about ISV solutions for Acumatica. ISV stands for Independent software vendor so ISV Solution means independent software vendor solution for Acumatica. 

    All ISV solutions are now splitted in three categories:

    Embedded - based only on Acumatica xRP Framework and Customization tools

    Connected - based only on Acumatica WEB services API

    Composite - has combination of embedded and connected features

    Acumatica will provide to their partners with excel file, which is needed to be filled before Acumatica gives it's approval on the solution. For each of those categories Acumatica will request different input from ISV, but if to summarize … more

  • How to use Reliable State manager in Azure Fabric

    Hello everybody,

    today I want to describe a bit how to use Reliable State Manager in Azure Fabric.

    First of all, I want to say that reliable state manager is some kind of entity which for me is very very similar to MongoDB collections. The only diffference is that it allows to have transactions, while in MongoDb you can't have them. In case if you need to use it in your class, you'll need to have reference to it's basic interface. For example like this:

    class ServiceFabricStudentRepository : IStudentRepository

        {

            private IReliableStateManager _stateManager;

            private object cancellationToken;

            public ServiceFabricProductRepository(IReliableStateManager  … more

  • Azure Fabric Service Lifecycle

    Hello everybody,

    today I want to write few words about Azure Fabric Services lifecycle.

    Initially I'll describe what is going to happen in words, and then later I'll add picture. In any service creation participates two actors: Azure Service Fabric runtime and Service instance which will be created by Azure Service Fabric. Basically for each stateless as well as statetfull service following 5 steps are happening:

    1. Azure Service Fabric will create instance of your service

    2. Then Azure Service Fabric will ask your service to create listeners

    3. Azure Service Fabric will get list of your listeners.

    4. For each listener in the array Azure Service Fabric will try to open listener

    5. … more

  • How to make WPF ViewModel that will not crash during design time

    Hello everybody,

    today I want to describe following WPF use case: you make your View in xaml, then add some ViewModel in which instantiate reading from repository, and then try to open some that ViewModel in designer and see error message. Pretty disappointing situation, isn't it?

    In order to avoid such a situation, inside of your constructor of your ViewModle use DesignerProperties class, and it's method GetIsInDesignMode. If it returns true, it means that you try to see control in design mode, and then instead of executing some produciton code you can either return some hardcoded values for design time, or at least return from the construction. 

    For example like this:

    public class  … more

  • How to make alias for jar command

    Hello everybody,

    today I want to write few words about aliases in Powershell. First of all, why somebody may need aliases? Need in aliases arises, when you have some kind of big cumbersome commands. For example recently I've got a need to execute something like this:

    java -jar f:\utils\ANTLR\tpantlr2-code\code\antlr-4.7.1-complete.jar

    As you can see from the length, to type such a long string is pretty hard, even if you copy/paste it. In that case I've decided to use aliases. 

    My initial approach was like this:

    Set-Alias antlr4 'java -jar f:\utils\ANTLR\tpantlr2-code\code\antlr-4.7.1-complete.jar

    But when I've tried to execute such alias, Ive got the following error message:

    antlr4 : … more

General information

Greetings to everybody stopping at my blog. Purpose of this web site is to be google of my brain. Everything I found useful, or of possible beneficial for usage in future I've save here at this blog

Contact information

If you want to contact me more on any subject printed at this web stie, you can email me: zaljur1989(at)gmail.com

Job information

If to speak in general, I'm developer. For now I work as team lead in company GlobalLogic.