Wednesday, 27 January 2016

Development Tools in Acumatica

Hi Everyone,

Today I want to speak about tools and application that Acumatica team uses during development.
  1. Development 
    1. Microsoft Visual Studio 2012+
    2. ReSharper from JetBrains for faster development
  2. Databases and SQL
    1. Microsoft Sql Server Express + Microsoft Sql Server Management Studio
    2. Microsoft Sql Server Profiler
    3. My Sql + SQLyog MySQL GUI for MySQL
    4. Apex SQL Refactor - SQL Formating Tool
  3. Performance
    1. DotTrace from JetBrains for performance testing
  4. Memory
    1. .Net Memory Profil for memory analysing
    2. Windbg for deep process dump analysing
  5. Sources
    1. Git + Stash for sours control and analysing
    2. SourseTree + GitExtension as GUI tools for Git.
  6. Documentation and Tracking
    1. Jira for bugs tracking
    2. Confluence for specification, features and documents traking
  7. Mockups and Flow
    1. WireFrameSketcher -
    2. LucidChart - - that one is more focused on flows.
  8. Build and Installation
    1. WIX for generating Microsoft Installer
    2. Bamboo for managing builds
    3. Orca - for MSI package debugging.
  9. Tests
    1. Selenium Web Driver for running black box testing with browser.
  10. Other Tools
    1. Jet Brains dotPeek - Reflector Tool for .Net

Tuesday, 26 January 2016

How to Debug Customization Code

Hi Everyone,

Today I want to discuss how can you debug customization code that has been added from the user interface.
debug customization code in Acumatica
The general plan is to move your code to from customization manager to Extension Library, than open in in visual studio and debug. 

Wednesday, 20 January 2016

Acumatica License Mode: Track users count Users instead of Sessions

Hi Everyone,

Acumatica product licenses limit the number of concurrent user sessions. By default, a user is allowed to login with the same credentials from any number of browsers within this limit.
You can disallow multiple sessions of the same user account, making licenses limit the number of users rather than user sessions. This is called Manage Per-User Session Count.

To do this, you should set the concurrentUserMode property to true in the
membership provider in web.config of your site as follows:

<membership defaultProvider="PXActiveDirectorySyncMembershipProvider">
<remove name="MySQLMembershipProvider" />
<add name="PXActiveDirectorySyncMembershipProvider"
type="PX.Data.PXActiveDirectorySyncMembershipProvider, PX.Data"
concurrentUserMode="true" />

As a result, a user will be able to log in with the same user name and password only in one browser. If another user will login to the system with the same credentials, licensing engine will logout first user and show him an error.
In the same time the user will still be able to open multiple tabs in the browser under the same credentials.

This can be a trick way if you want to force users to use separate accounts.

Have a good experience with Acumatica!

Monday, 18 January 2016

Test Tenants

Hi Everyone,

As you know, Acumatica license restricts number of tenants that you can have on the instance. Depend on size it can be 3, 10, 20 and so on. If you create more tenants than is allowed by your license, system will hide it on login screen and write a message "Companies list is restricted due to the license". 

This is correct behavior for production instances, where you entering fyour buisines data, but what should you do if you want to test something (import data, close financial year, implement new module). 

Acumatica tracks in the system 2 types of tenants: Production and Test. Your license limits only amount of production tenants, but you can create unlimited number of Test tenants. For test tenants licensing engine will apply the same restrictions like in the trial mode - there is just 2 concurrently working users for all test tenants.

To change your tenant to test you can use Companies screen in System Management module.
Acumatica Test Companies

When you have changed it, you will not be able to revert it from the user interface (But it can be done on the database level by updating of CompanyType in the Company table). System wil inform you about type of selected tenant.
Acumatica Company Status

Please note, that all Tenants with Demo data have 'Test Company' flag by default.

Have a nice experience with Acumatica!

Tuesday, 12 January 2016

Trial Mode in Acumatica

Hi Everyone,

Today I want to speak little-bit about Acumatica Trial License and the way how you can use it.
Acumatica In Trial Mode

You need to know that Acumatica trial license is very good and flexible, so it can be a big advantage for you and your team.

Consolidation Demo

Hi Everyone,

Today I want to speak about consolidation functionality in Acumatica.
By using this functionality you can consolidate financial data from subsidiaries into a the parent company.
The general process is described on this image:
Acumatica Consolidation Flow

You can easily reproduce this scenario for your customer. To do this, fist of all I recommend you what very good consolidation demo video on YouTube:
Using Acumatica to consolidate financials across systems and currencies

Acumatica Framework Events Sequence

Hi Everyone,

Here I want to share with you one good schema that describes all events execute sequence.

Have a nice development!

Monday, 11 January 2016

Update of Dependant Fields

Hi Everyone,

Today I want to share with you one scenario when you have dependent field - one field is depend on the value of another field and should be recalculated on change of primary field. But you also have user interface where user can change dependent field as well.
So you may have situation when user has changed dependent field and business logic has to recalculate the same field also. By default system will keep user changes as a more important comparing to default changes.
But in this article you will learn, how to override this process and make business logic changes more important than users.

Here you can find an image that illustrated scenario above.
Acumatica Dependent Field Update Sequence