Blog

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

  • How to deal with Could not load file or assembly in Acumatica

    Hello everybody,

    today I want to share one workaround, which I sometime use as temporary measure for migration projects. Imagine, that you've added reference to your bin folder of one of your old customizations. Then you build it, and you've got this error message:

    Server Error in '/xxx' Application.

    Could not load file or assembly 'xxxx' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

    This error happens because you have in your customization C# part references to some older dll's which are not compatible with current version of Acumatica. So ideal solution would be to re-add to your … more

  • Пандемія коронавірусу? Ні! Пандемія егоїзму!

    Це мій перший пост українською на мому блозі. 

    Якщо ви не любите багато читати, то прочитайте наступне речення. Суть того що я хочу сказати наступна: «Якщо кожен у світі затримався б удома на 2 тижні або, скажімо, протягом одного місяця, COVID-19 уже б закінчився». Але через те, що всі кажуть: "У мене дуже важлива причина вийти на вулицю, інакше я помру", ми бачимо, як розростається COVID-19. І пандемія годується такими людьми, пожираючи частину з них, і частину невинних. Знову ж таки, якщо ви не любите читати, далі можете не читати.

    Вітаєю тих, хто має достатньо сміливості для продовження читання. Подумай над цим. Карантин протягом 2 тижнів безумовно показує, чи є у вас COVID-19 чи ні. Що … more

  • Pandemic of COVID-19? No! Pandemic of selfishness

    If you don't like long read, then read next sentence. Essence of the article: If everybody in the world would lock himself at home for 2 weeks, or at let's say for one month, COVID-19 will die. But because of everybody says "I have the most important reason to go outside, or I will die" we see unstopping spread of COVID-19. And pandemic is fed by such people. Again, if you don't like long read, then skip rest of the article.

    Congratulations to those who have enough courage to continue reading. Think about it. Quarantine during 2 weeks definitely shows if you have COVID-19 or not. It takes at maximum one month to get medical treatment from COVID-19 if you are sick with something like … more

  • How to add User defined fields to any entity in Acumatica

    Hello everybody,

    today I want to describe how at code level you can add User defined fields in Acumatica to any entity. Sequence will be this:

    In PXDataSource add attribute EnableAttributes. It may look like this:

    <px:PXDataSource EnableAttributes="true" ID="ds" 

    2. For target entity create table with same name, but with suffix KvExt. Query for creation of such a table may look like this:

    CREATE TABLE [[TargetTable]KvExt](

    [CompanyID] [int] NOT NULL,

    [RecordID] [uniqueidentifier] NOT NULL,

    [FieldName] [varchar](50) NOT NULL,

    [ValueNumeric] [decimal](28, 8) NULL,

    [ValueDate] [datetime] NULL,

    [ValueString] [nvarchar](256) NULL,

    [ValueText] [nvarchar](max) NULL,

      … more

  • How to unit test SOOrderEntry extension in Acumatica

    Hello everybody,

    today I want to show to unit test, and I mean really unit test SOOrderEntry graph extnesion in Acumatica with XUnit.

    In order to achieve it, you'll need following steps:

    Create .Net Class library

    Reference xUnit

    Create public class that inherits from TestBase class

    Add override ResisterServices 

    Create something like PrepareGraph with usage of TestBase.Setup class

    Write your mehtods.

    I will not describe how steps 1 - 4 may look, as it is pretty obvious, but step 5 and 6 at C# level may look like this:

    public class SOOrderEntrySDExtTests : TestBase

    {

        protected IPXCurrencyService CurrencyService;

        protected IFinPeriodRepository FinPeriodService; … more

  • How to catch all MySQL queries generated by Acumatica

    Hello everybody,

    finally I found out how to catch all queries to MySQL server, generated by Acumatica. Well, in context of My SQL as usually people work more with MYOB, but under the hood MYOB is Acumatica.

    Typical schema of Acumatica <-> MySQL connection looks like this:

    In order to get generated MySQL queries, you may need some proxy service, which will intercept queries. You can use MySQL proxy, but instead of MySQL proxy I suggest to use Neor Profile SQL as it has much more convenient UI:

    In order to achieve such catching of all My SQL queries, you'll need following steps:

    Install Neor Profile SQL.

    In your Acumatica web.config make following change:

      < … more

  • How to point MySQL to another port then 3306

    Hello everybody,

    today I want to describe how to point to non standard port in My SQL for Acumatica.

    Below goes fragment from my Web.config

        <remove name="ProjectX" />

        <add name="ProjectX" providerName="System.Data.SqlClient" connectionString="Server=localhost;Port=4040;Database=PXProjectionMySql2;Uid

    you can use this knowledge for having multiple MySQL instances on the same machine and for catching generated SQL queries. more

  • How to install MySQL proxy

    Hello everybody,

    quick post on how to install MySQL proxy. You may be puzzled why it is needed? Because MySQL proxy allows you to track all generated SQL by MySQL. As of now, you can catch generated SQL for SQL server with SQL Server Request Profiler. But in order to achieve it for MySQL, you'll need to use MySQL proxy.

    So, first step will be download MySQL proxy archive and unzip it to some folder on your drive. 

    Then in command prompt ( not in powershell ) execute something like this:

    sc create "Proxy" DisplayName="MySQL Proxy" start="auto" binPath="d:\Install\mysql-proxy-0.8.5-windows-x86-32bit\bin\mysql-proxy-svc.exe"

    And then this:

    net start proxy

    Those two commands will allow … more

  • How to use FBQL in PXProjection

    Hello everybody,

    Recnetly I had a need to create PXProjection and wanted to use in declaration of it not SelectJoin, but FBQL SelectFrom with combination of InnerJoin. Finally I've got something like this:

    [PXProjection(typeof(SelectFrom<SOOrder>.InnerJoin<SOLine>.On<SOOrder.orderType.

        IsEqual<SOLine.orderType>.And<SOOrder.orderNbr.IsEqual<SOLine.orderNbr>>>))]

    public class SalesOrderLines

    {

    }

    Nothing fancy, but during initial coding error messages were a bit confusing

    more

  • How to use PXDBScalar with PXProjection

    Hello everybody,

    today I want to write a few words about how to use PXDBscalar in connection with PXProjection and is it possible at all.

    First of all want to say that it's defientely a possiblity. Take a look on this sample of implementation:

    [Serializable]

    [PXProjection(typeof(Select2<FABookBalance,

    LeftJoin<FABookHistory, On<FABookHistory.assetID, Equal<FABookBalance.assetID>,

    And<FABookHistory.bookID, Equal<FABookBalance.bookID>,

    And<FABookHistory.finPeriodID, Equal<IsNull<FABookBalance.currDeprPeriod, FABookBalance.lastPeriod>>>>>,

    InnerJoin<FABook, On<FABook.bookID, Equal<FABookBalance.bookID>>>>>), new Type[] { typeof(FABookBalance) })]

    [PXCacheName(Messages. … more

General information

Greetings! Here I publish everything I found useful or beneficial for me and maybe others. For some sql samples I'm using wiseowl samples. 

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 Solutions Architect in company Kensium.