Acuminator Diagnostics Tips

Hello, everyone! This article starts a series of posts devoted to Acuminator. Acuminator is an extension for Visual Studio. It strives to achieve two goals – to check that Acumatica Framework is used correctly by means of static analysis and to ease work with Acumatica for developers. You can read more details about the project on GitHub. In this post I want to share with you a couple of useful tips about Acuminator diagnostics: The documentation and justification for every diagnostic can be found here. You can see diagnostics for all open files in Visual Studio’s Error List window. Every time you open or close code file the list with… Read more

How to Use Delta Synchronization with OData API

For various reporting, BI, or data warehousing scenarios you often need a way to export and synchronize data between an Acumatica instance and your solution. OData API is a good fit for read-only scenarios, and it is widely used by different ISV solutions and external BI services such as Power BI. But reading the whole entity set every time when you need fresh data is very resource-consuming, so the preferred way is to use delta sync. What Is Delta Synchronization Delta (Differential) sync is a type of synchronization technology that only synchronizes newly created or updated records. It drastically reduces the amount of data passed between an Acumatica instance and… Read more

Non-Programming Customization with Automation Step

Hi all, As you many know about this ” Some Acumatica ERP functionality is implemented through automation steps, which are steps to be executed on an Acumatica ERP form for specific records or objects generated in the system, depending on the properties of the record or object. For a data entry Acumatica ERP form, you can create any number of automation steps that redefine the functionality of toolbar actions, add values to combo box lists, or provide default values for the form elements, based on the properties of the records under processing. ” – Help Document Today I would like to share with you about the ability to do customization with… Read more

Use Acumatica xRP Platform from Console App

Hi All, Did you know that it is not necessary to have a Web Site under IIS to get benefits from Acumatica Platform? You actually can run Acumatica platform even from console app! To do this you just simple do following: Create Console Application in Visual Studio Add references to (PX.Common.dll, PX.Data.dll, PX.Objects.dll) Copy web.config from Acumatica site to app.config of your console application Specify user and company using PXLoginScope Use Acumatica Platform as normally you do that. Here you can find a code example followed by some comments: App.config file is required to Acumatica platform to get proper environment configurations, database connection and other settings. For experiments you can… Read more

Get Current Company Name

Hi All, Want to give you a short trick – how to extract company name from the currently logged in user: Company Name PX.Data.PXLogin.ExtractCompany(PX.Common.PXContext.PXIdentity.IdentityName) Here we have 2 things: PXSessionContext (PXContext.PXIdentity) – System class that stores environment variables in session like User, TimeZone, Branch, Locale. Actually this is used for user authentication authorization. However user here is stored with a full notation – like “user@company:branch”. But we can cut a part of it using special rules. PXLogin – set of tools that can help to login user and use username. In our case it can extract company name right from full identity name. Company ID PX.Data.Update.PXInstanceHelper.CurrentCompany Here we have an… Read more

Monitor Online Users

Hi All, Web technologies work the way where server know almost nothing about where is browser and what is user doing there. Is it active? Is it closed? It is online? Is computer sleeping? We don’t know if there browser does not inform us. Just for example – if you lost internet connection, should we treat this as online or inactive? In Acumatica Online/Offline is just a flag in users table. If users logs in, Acumatica rises this flag, if users is not active for some time, Acumatica clears this flag. This flag is automatically managed by Acumatica but in some cases it may be not in the consistency with… Read more

Team Development with Acumatica

Hi Everyone, Today want to share with you some ideas on how to organize your team development with Acumatica. In the Asia region we are getting more and more big implementation project where customization is involved. In the same time we have a lot of new ISVs with own development. With that I’m getting more and more a question on how to organize continues team development with Acumatica. So here I want to answer * on this image you see Git as a source control. This is only an example and you may use other source controls like SVN, TFS, Mercury and others. Acumatica does not have preferences in source… Read more

Restore Large Snapshot

Hi Everyone, Have you seen such error before when you try to upload snapshot of the size more than a gigabyte? The Error message: “Snapshot file size exceed the maximum allowed size”. There are multiple reasons why it is not allowed – connection stability, IIS limitations, Memory size, on the fly processing limitations and so on. But what you still need to restore a snapshot and you need to in any possible way? Lucky you there is a stable way for that using Acumatica Configuration Wizard. Wizard uses the same engine as snapshots to import data during setup, so it can easily insert your snapshots data with no matter on… Read more

Visual Studio Code Snippets

Hi All, If you search on ways to optimize your development experience you can try to look at the code snippets for Acumatica events and DAC fields. Here it comprehensive instruction on how to develop own code snippets. I want to share with you snippets I use in my own local environment. Please follow the installation Instructions: Below you will see the XML code from GitHub Gist that you need save as a file: Acumatica.snippet Place this file to snippets location : C:Users<username>DocumentsVisual Studio 2015Code SnippetsVisual C#My Code Snippets Launch your Visual Studio and try to use it.   Snippet: View the code on Gist. Have a fast development!

Copy Dashboard

Hi All, Previously I shared with you how to copy dashboards using SQL script. Starting from Acumatica 2017R2 you can also copy dashboards with 2 more ways: Using customization project Export/Import from/to XML buttons Steps using Customization Project: Go to Customization Projects and create a new one. Find Dashboards section In the Customization Browser. Find and Select there a dashboard that you want to copy. Steps  Go and publish this customization to other companies Steps  Done, you can use it now. Please note that you can export customization project and copy dashboards to other Acumatica Instance. Steps using Export/Import from/to XML Another way you have Export to Xml/Import from Xml buttons… Read more

Mirror Mobile Screen on Computer

Hi Everyone, Today want to share with you some tips on how to share your mobile screen with Acumatica to PC. That is really useful when you want to share great Acumatica mobile application with your customers. Mobizen  URL: https://www.mobizen.com Type: Free Platform: Android Internet connection is required. Free application that uses internet connection to share Android screen to your PC. Internet conenction is required. Here you can read how to configure local Acumatica instance to use it with mobile   TeamViewer QuickSupport  URL: https://www.teamviewer.com/en/download/android/ Mobile App: https://play.google.com/store/apps/details?id=com.teamviewer.quicksupport.market Free for non commercial use Platform: Android Internet connection is required TeamViewer Quick Support allows you to connect from your PC to mobile and control… Read more

Acumatica Framework API Reference Guide has been Published

Dear Developer, I’m are happy to announce that Acumatica team has updated descriptions of all Acumatica Framework core classes and methods as part of new Acumatica Development Reference Library. All of them are located in one place now: Acumatica xRP Reference Guide The content is collected directly from the Acumatica code and presented in a clear and concise way. You can easily find the needed information and code examples, which you can use in your customization and custom solutions. Please let me know if you have any questions or other suggestions!

Move Customization project to Source Control/Another Server

Hi There, When you are doing customization it is usually much faster and easier to start it using Acumatica Customization Browser and even create an extension library from there. But later, you might need to move customization somewhere: to source control folder to another production/testing/development server to use Acumatica ERP instead of framework. In this article I want to show you how to link all the things together if you move it. Customization usually consists of 2 things: Customization package – just a zip file that contains all the changes that should be applied during customization publication. Sources of extension library – that is something that should be kept outside… Read more

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. 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… Read more

Copy Dashboard using SQL

Hi There In case you need it, in Acumatica 6.0 and later all dashboards are located in just 2 tables – Dashboard and Widget. We planning to add ability to copy dashboard soon, but until it is not available, you can use that SQL stored procedure. There is procedure and code to execute it. SQL Script: View the code on Gist. Have a nice dashboard designing!

Fast Attaching to IIS Process

Hi Everyone, What to share with you one more cool trick – how to save few seconds on attaching Visual Studio for debugging Acumatica ERP or Customization Library. Visual Studio has really good Extensions Market, where you can easily find something developed by other great guys. You can find in under “Tools -> Extensions and Updated” And one of the apps I really like there is “Attach To” plugin. It is super simple and has just few buttons, but in the same time it does essential thing – attaching to IIS process with one click! May be it is really big deal, but as less routine operations you have, as… Read more

SQL Formating Tools

Hi There, If you are working with Generic Inquiries or Reports or doing a lot of development on Acumatica you most probably have seen already such big and nice queries. And that one is just simple invoice form with one record 🙂 Even if you copy it to SQL Management Studio, it will not be better. But fortunately there are few tools that can help you a lot! 1) Apex SQL Refactor ( https://www.apexsql.com/sql_tools_refactor.aspx ) Even better free plugin to SQL Management Studio that can immediately format query right in place with one button click. 2) Instant SQL Formatter ( http://www.dpriver.com/pp/sqlformat.htm ) Great free cloud app that can format SQL query right in the browser for… Read more

Redirect On Page Load

Hi There, You know that you can embed custom pages right inside Acumatica. Best examples here are YouTube, Binq, Stack Exchange, Currency Rates or something else But what if you need something like this, but dynamic – have a special URL depend on user, screen or other environment variables. In that case you cannot just hard-code URL in sitemap, as it will be always the same. Here we need to be able to redirect user to special URL form code. And I can suggest you 2 possible options to do that: PXRedirectToUrlException When page is shown and graph is loaded, you can throw a redirect exception that will be handled… Read more

Acumatica Cloud xRP Summit

Hi All, Join us for our inaugural interactive & engaging Virtual Developer Conference, where we have lined up some great speakers & content that will help you, the developer – whether you’re a seasoned veteran or new to the platform. Learn a new tip or trick in the advanced framework session or learn about new features in our roadmap session. http://adn.acumatica.com/devcon/ And I am one of panelists! Join us and we will have great fun there!