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: 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: Mobile App: 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 ( ) Even better free plugin to SQL Management Studio that can immediately format query right in place with one button click. 2) Instant SQL Formatter ( ) 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. And I am one of panelists! Join us and we will have great fun there!

Filtering Inventory Items by new Field

Hi There, Have you seen a situation when you want to filter list in the selector by the custom field? Most probably yes, as that is quite common requirement form many different users. Here I want to show you how to do that easily based on example with custom field in Inventory Item. Custom Field First of all lets add a custom field to inventory item. nothing complicated, just a custom text box. Showing Field in Selector By default that field will not be shown in selector, but we can easily add it there by modifying PXUIField Attibute: Visibility = PXUIVisibility.SelectorVisible. public class InventoryItemExt : PXCacheExtension<PX.Objects.IN.InventoryItem> {        #region UsrModuleNumber       … Read more

Manual Mass Notifications

Hi All, Lets imagine scenario where you want to send multiple notifications about multiple documents from the system. It might be quite complicated if you decide to do it manually. Today I want to show you one trick how you can trigger standard notification on multiple documents at once. For this task we will use Automation Notifications, Custom Field and Generic Inquiry. My scenario would be to update my customers about quotes that are expiring soon. I want to review them before sending notifications, but do not want to do it one by one. General idea is – to have a special not visible but editable field that will trigger… Read more

PXUIEnabled and PXUIRequired Attributes

Hi All, If you developing something on Acumatica xRP platform you know that changing of the UI fields visibility should be done through PXUIFieldAttribute on the RowSelected event. This works perfect on small screens with limited number of controls. But most of ERP screens are not really small. So most probably you already saw such types of code on the RowSelected in SOOrderEntry graph and many others. Not nice and really hard to support. Luckily now we have a different way to do it: PXUIEnabled – based on provided BQL conditions can automatically change UIFieldAttribute Enabled property. PXUIRequired – based on provided BQL condition can automatically change PXDefaultAttribute PersistingCheck property.… Read more

Getting started with Acumatica xRP Platform

Hi All, Sometimes I get a questions like this: How to start development with Acumatica xRP platform? How complex is it? Where we can get some guidance? So here I want to summarize all thoughts that I have about it. I would select these steps that i would recommend you to do: Ensure Pre-Requisites Get Acumatica Prepare Development Environment Learn Acumatica xRP Platform Do Development Communicate & Support Lets go though each of these steps in details under the cut. Knowledge Pre-Requisites To be able to do development you need to have a knowledge of technology and programming language used in Acumatica. This knowledge outside of Acumatica training course: Proficiency… Read more