Friday, 29 September 2017

Multiple DataViews on the same Form

Hi All,

If you didn't know previously, in Acumatica has introduced new syntax of defining DataViews/Fields.

Previously you have to create a new Form, assign DataView to form and than add there fields.
But now you can use following construction: "DataMember.DataField" right in the DataField property.

<px:PXSelector DataField="BranchID" />
<px:PXCheckBox DataField="DefLocation.IsRemitContactSameAsMain" />
<px:PXTextEdit DataField="RemitAddress.AddressLine1" />
<px:PXTextEdit DataField="RemitAddress.AddressLine2" />

Also, a DataMember can be specified as an attribute of a PXPanel, and it will be inherited by all internal controls.
<px:PXPanel RenderStyle="Simple" DataMember="RemitContact" >
    <px:PXMaskEdit ID="edFax" runat="server" DataField="Fax" />
    <px:PXMaskEdit ID="edPhone1" runat="server" DataField="Phone1" />

Have a nice development!

Friday, 22 September 2017

Database Timeouts

Hi Everyone,

As you may know all databases queries (like, Insert, Update, Delete, Select) should have timeout to prevent deadlock and prevent over-usage of hardware resources.
Database Timeouts

In Acumatica we have 2 timeout for Select query:
  1. Report Timeout - is used only for reports, as it may need some time to retrieve data from database for big report. To configure it you can use reportQueryTimeout="100" in PXSqlDatabaseProvider section of Web.config file. Parameter is defined in seconds and has default value as 30 seconds. You can read more here.
  2. Querry Timeout - is used only for inquires and other selects, as some inquiries also might take more time than allowed by default. To configure it you can use queryTimeout="100" in PXSqlDatabaseProvider section of Web.config file. Parameter is defined in seconds and has default value as 30 seconds. You can read more here.
For performance and deadlock-protection reasons Acumatica does not have general timeout configurations for Insert/Update/Delete, however you can change it from code using PXCommandScope (read more here). If you create that scope and change timeout, than next SQL command will be executed with your timeout.

Have a nice queries!

Tuesday, 19 September 2017

Consolidation Reports using Pivot Tables

Hi Everyone,

You most probably know that if you need to prepare consolidated reports in Acumatica you should check ARM Reports (Analytical Reports Management)

However there is one more option available with last release of Acumatica
  1. Create a Generic Inquiry that extracts Account/Subaccount balances for specific period from GL. Here I have a separate article that describes way to extract GL data.
  2. Dynamic pivot table that will split data by ledgers as columns and Accounts/Subaccounts as rows.
The difference here from my previous post is that here we should change GI to return much more data - for all accounts/subaccounts, multiple ledgers and periods. We need provide more data specially for pivot table that would aggregate selected it based on our rules.
Do not forget that you need to specify list of ledgers for consolidation explicitly, I have done it with conditions on GI, but you can do that using reusable filters as well.

Here is the GI result. See that it returns balances for every account, ledger period:

Here you can find result a pivot table:

Thursday, 14 September 2017

Some Samples of Existing Integrations

Hi All,

In the modern Multi-Cloud world single software almost cannot survive alone. And for ERP it became even more complicated as ERP is a core of the company and need to get data from all the parties.
Existing Integrations

Just recently I tried to check  how many Integrations with already have in Acumatica out-of-the-box or as open source customization and I was really surprised!
Hope you also will find it interesting for you.

Microsoft Exchange Server Integration - Acumatica can dynamically sync Contacts, Tasks, Emails and Events. That is available as additional feature

Microsoft Outlook Plugin - Using plugin you can easily tag your emails with Opportunities and Cases in Acumatica CRM. Also plugin allows you to dynamically create contacts in your CRM. Feature available with CRM module.

Sales Force Integration - Acumatica offers online and batch synchronization with Sales Force out of the standard Integration Services module. This is additional feature.

Microsoft Excel Integration - You can export and import data from/to excel using multiple ways: from grid, using integration services, using OData protocol. Availabe with the platform.

Microsoft Power BI Integration - You can integrate Microsoft Power BI with Acumatica using OData protocol. Available with the platform. More details here.

Avalara Tax Calculation Integration - Acumatica offers integration with 3rd party tax calculation services - Avalara. This is additional feature in Acumatica. More details here.

Hub Spot Integration - Using Acumatica Integration services Acumatica offers integration with great marketing tool - Hub Spot. Available with Integration Services.

DocuSign Integration - To allow you dynamical signature of the documents you can use open source integration with DocuSign. Available as open source. More details here.

Twilio Integration - In case you need SMS notifications, you can use integration with Twilio. This is open source customization. More details here.

Authorize .Net Integration - for online payment processing of credit cards Acumatica has out of the box integration with Authorize .Net. Available with financial module. More details here.

Open Exchange Rates Integration - For daily sync of excange rates Acumatica offers out-of-the-box integration with global exchange rates service. Available with financial module. More details here. Integration - to store and share you files you can use integration. Available as open source. More details here.

Azure Blog Storage and AWS S3 Storage - you also can use build-in ingratiation with Microsoft or Amazon storage services to manage your files better.

UPS/USPS/FedEx Integration - if you are providing any delivery services you may be happy to use integration with various carries. Available with Distribution module. More details here.

SurveyMonkey Integration - In case you are working with clients and want to hear back from them about your services you can use integration with Survey Monkey. Available as open source. More details here.

FTP Server Integration - Acumatica uses it to sync files from external FTP server to database. This feature is a part of files integration process in Acumatica. Feature is available together with platform.

Much more integrations are provided by our partners - check here for details,
And even mere that all integrations here you can create using strong Acumatica Framework!

Have a nice integration!

Monday, 11 September 2017

Database Mapped vs Virtual Fields

Hi All,

Today want to share with you how Database vs Virtual fields are working in Acumatica.
Virtual fields acumatica

You may notice that some of the fields are linked to DB, some of them not.The difference is in the Attributes are used on it - PXDB<Type>Attribute is mapped on database field, PX<Type>Attribute is not. So from user standpoint it is just prefix "DB" or "".

In Acumatica there are many fields are mapped to database and most of them have a clone, that is not mapped. Here you can see list of most common attributes.
Database Mapped Field
Virtual Field
String Value
Byte Value
Short Value
Uniqueidentifier Value
Bool Value
Integer Value
Long (Int64) Value
Double Value
Decimal Value
Date Value
Timestamp Value
Integer Identity Value
Long (Int64) Identity Value
Binary Field

How does that work?

Monday, 4 September 2017

One-Time Action Executing in the Future Date

Hi Everyone,

Sometimes if you need to run heavy operation but afraid that it might affect performance day of the system, you can use following trick with scheduler.

In Acumatica, Automation Scheduler can be scheduler to run only one time at the specific date and time. Please note that exact day is specified on Dates tab and exact time on Hours tab.
Dates tab acumatica

As an example you can schedule import scenario for importing/updating of customers on the weekend:

Just note, if there is any error, you'll need to check that manually. As for now Acumatica does not sends any notification on failed scheduled action. To solve that issue you can create a dashboard that will shot you status of scheduled tasks.

Also note, that task may not be executed if Acumatica is not stand by at that time. Make sure that your application server is not configured to suspend W3WP process (that is IIS process that hosts Acumatica) in case of inactivity. You can check that article to find how to do that.

Hope it helps and have a nice weekend!