Here I document some issues for searching of which I spent more then 15 minutes
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.
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
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:
ColumnWidth in Pixels
LabelsWidth and ControlSize of a Layout Rule; LabelsWidth and Size Properties of a Control in Pixels
As you can see from presented table XL is not always the same XL, and it depends from the context more
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:
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
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
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
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
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
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
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
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
- « Older