AUGForums.com

An Acumatica User Group

  • Forums
  • Podcast
  • Blog
  • Rolodex
  • Login
  • Start Here
  • Consulting
  • Courses
  • Register

Black-Belt Developer Part 1 – xRP Summit 2018

June 20, 2018 by Tim Rodman

For the second year in a row, Acumatica held a virtual developer conference. Here are my notes from the Black-Belt Developer Techniques Part 1 session.

Now about to hear some black-belt developer techniques from @gabrielmichaud #AcumaticaDevSummit pic.twitter.com/H3xxOz6NFB

— Tim Rodman (@TimRodman) June 20, 2018

We're going to break some rules and push the limits in this session #AcumaticaDevSummit pic.twitter.com/XQdGUYyHlv

— Tim Rodman (@TimRodman) June 20, 2018

On to part 1 #AcumaticaDevSummit pic.twitter.com/HF5P4rIod4

— Tim Rodman (@TimRodman) June 20, 2018

The power of Acumatica is being able to do things declaratively using attributes which saves you from writing a lot of code #AcumaticaDevSummit pic.twitter.com/hTPuWQyx4h

— Tim Rodman (@TimRodman) June 20, 2018

The traditional way of making a field required dynamically with code #AcumaticaDevSummit pic.twitter.com/WRoX5Jnyuf

— Tim Rodman (@TimRodman) June 20, 2018

But this code can get messy #AcumaticaDevSummit pic.twitter.com/OwxyQjLmBG

— Tim Rodman (@TimRodman) June 20, 2018

You can use these "magic" attributes instead #AcumaticaDevSummit pic.twitter.com/3iz4lADWRm

— Tim Rodman (@TimRodman) June 20, 2018

Using the PXUIRequired attribute #AcumaticaDevSummit pic.twitter.com/cpsF22i8ie

— Tim Rodman (@TimRodman) June 20, 2018

That makes the Customer Order field required for an Order Type of SO, but only SO #AcumaticaDevSummit pic.twitter.com/LFoK75p265

— Tim Rodman (@TimRodman) June 20, 2018

PXUIVisible is new and available in 2018 R1 Update 4 #AcumaticaDevSummit pic.twitter.com/ybg1asNTE7

— Tim Rodman (@TimRodman) June 20, 2018

In this PXUIVisible example, "Selector" allows you to retrieve fields from a linked table. It's very fast because it retrieves data from memory and not from a database call #AcumaticaDevSummit pic.twitter.com/hjlqFM3lij

— Tim Rodman (@TimRodman) June 20, 2018

PXUIVerify allows you to apply validation to any field. You could also use PXErrorLevel.Error instead of PXErrorLevel.Warning if you wanted to #AcumaticaDevSummit pic.twitter.com/PvwGUYMvo9

— Tim Rodman (@TimRodman) June 20, 2018

More complicated example of PXUIEnabled, PXDefault, and PXFormula. PXDefault will default the order description from the project task #AcumaticaDevSummit pic.twitter.com/qqjOQaJOR9

— Tim Rodman (@TimRodman) June 20, 2018

Example 5: Use Selector to populate a field with something from a related record (recommended MSRP price) #AcumaticaDevSummit pic.twitter.com/D46rLsa6eA

— Tim Rodman (@TimRodman) June 20, 2018

Data caching with IPrefetchable for stuff that is expensive to load, reasonable in size, and not updated frequently. This is currently used by existing examples in Acumatica today. #AcumaticaDevSummit pic.twitter.com/wwASgF6A7U

— Tim Rodman (@TimRodman) June 20, 2018

This example is checking all sales categories linked to an inventory item #AcumaticaDevSummit pic.twitter.com/Io2c7EyObI

— Tim Rodman (@TimRodman) June 20, 2018

This is the wrong way to do it #AcumaticaDevSummit pic.twitter.com/l9BPvPPhgN

— Tim Rodman (@TimRodman) June 20, 2018

This is the right way to do it #AcumaticaDevSummit pic.twitter.com/Xonpnp8maX

— Tim Rodman (@TimRodman) June 20, 2018

GetSlot is what tells Acumatica how to invalidate the cache #AcumaticaDevSummit pic.twitter.com/IoCieqj1o6

— Tim Rodman (@TimRodman) June 20, 2018

Here is an example of a bunch of database calls without caching that happen when you page through items in a lookup window #AcumaticaDevSummit pic.twitter.com/weM2VHi85Q

— Tim Rodman (@TimRodman) June 20, 2018

Something you should do right now on your development machine (only on the dev machine) in the web.config file to enjoy improved performance #AcumaticaDevSummit pic.twitter.com/xRg7mXqTue

— Tim Rodman (@TimRodman) June 20, 2018

Now for the fun, unsupported, borderline crazy stuff that might stop working at any point in time #AcumaticaDevSummit pic.twitter.com/MfCfa3516h

— Tim Rodman (@TimRodman) June 20, 2018

First crazy thing. Add a global button to every single graph in Acumatica #AcumaticaDevSummit pic.twitter.com/dl6nrdlz6X

— Tim Rodman (@TimRodman) June 20, 2018

Add a timestamp and who updated to a note every time a note is updated #AcumaticaDevSummit pic.twitter.com/oj42sxrhWN

— Tim Rodman (@TimRodman) June 20, 2018

Using a dependency injection with Acumatica, something that is being used in newer Acumatica code. The goal is to reduce code coupling and make easier to test. #AcumaticaDevSummit pic.twitter.com/nx0Go7lPSm

— Tim Rodman (@TimRodman) June 20, 2018

Multiple things using the IEngine interface. Not inheritance but polymorphism. #AcumaticaDevSummit pic.twitter.com/H8q3ITU6I2

— Tim Rodman (@TimRodman) June 20, 2018

Dependency injection gets a new car with the system resolving all of the dependencies magically #AcumaticaDevSummit pic.twitter.com/YlYQ819SiL

— Tim Rodman (@TimRodman) June 20, 2018

Recap of dependency injection with Acumatica, already being used by generic graph extensions in 2018 R1 #AcumaticaDevSummit pic.twitter.com/B9PrcE5g1N

— Tim Rodman (@TimRodman) June 20, 2018

Use this InjectDependency attribute #AcumaticaDevSummit pic.twitter.com/UoD17Uv4hT

— Tim Rodman (@TimRodman) June 20, 2018

This method would allow you to easily change the currency conversion service that is being used (from "dummy" to "yahoo") #AcumaticaDevSummit pic.twitter.com/BicChkNUcB

— Tim Rodman (@TimRodman) June 20, 2018

Custom HTTP Handlers are the reason why @gabrielmichaud got into dependency injection in the first place #AcumaticaDevSummit pic.twitter.com/NTSkChkOFt

— Tim Rodman (@TimRodman) June 20, 2018

Regular window was already logged in, but Incognito window prompted for the Acumatica username and password #AcumaticaDevSummit pic.twitter.com/t0EkelVgTy

— Tim Rodman (@TimRodman) June 20, 2018

Another warning that part 2 stuff might break at any time #AcumaticaDevSummit pic.twitter.com/hGVZCVoDjH

— Tim Rodman (@TimRodman) June 20, 2018

Part 3: Motivated by Gabriel's personality to always push things to the limit #AcumaticaDevSummit pic.twitter.com/jjg7SsqdnS

— Tim Rodman (@TimRodman) June 20, 2018

Now @gabrielmichaud showing how he added three actual real-world projects that he did for customers to github. Why do that? Because he is an "ERP Hippie" (my term, not his) who loves to share and inspire the community #AcumaticaDevSummit pic.twitter.com/toayuvNO0a

— Tim Rodman (@TimRodman) June 20, 2018

That Velixo Code Editor has intellisense that works even if the object has not yet been published. Still needs a good amount of work though to be production ready. #AcumaticaDevSummit pic.twitter.com/U70LMHqbL4

— Tim Rodman (@TimRodman) June 20, 2018

Here's drill-down, part of Velixo Reports Pro: https://t.co/sr3UWPLWBH – even works on formula cells (ex: =A1+C3) !

— Gabriel Michaud (@gabrielmichaud) June 20, 2018

Great session @gabrielmichaud #AcumaticaDevSummit pic.twitter.com/vlL9S0xz8Y

— Tim Rodman (@TimRodman) June 20, 2018

Filed Under: Acumatica Learning Tagged With: Acumatica, Acumatica Blog, Acumatica Learning, Acumatica Training, Acumatica xRP Summit 2018

By using this website, you agree to our Terms of Use (click here)

Online Members

Recent Blog Posts

  • EP 38: From Welder to Consultant, Nick Savage-Mady on his journey with Acumatica and MYOB Advanced (Podcast) January 21, 2021
  • Acumatica Reporting Tools Consulting January 19, 2021
  • EP 37: Jody Lorincz, IT Manager at MHR Brands, sharing his Acumatica Customer Story (Podcast) January 13, 2021
  • EP 36: What Motivates ERP Veteran Nicole Ronchetti To Participate in Acu-Connect (Podcast) January 8, 2021
  • Acumatica and Scanco WMS – A Cautionary Tale for ISVs January 6, 2021
Acumatica Learning Resources

Recent Forum Posts

  • RE: How to add multiple pages of contract terms to the Sales Order printed form

    I have the same issue and I use SubReport (in your case...

    By Idrus, 5 hours ago

  • RE: Is the Parameter Schema Field Mandatory?

    I think it's required. Without it, Acumatica doesn't kn...

    By Tim Rodman, 8 hours ago

  • RE: Can a customer Cross Reference for a parent account feed automatically to child accounts?

    @daniel I always like going simpler myself whenever pos...

    By Tim Rodman, 8 hours ago

  • RE: Carrier VDA Shipping Label (VDA 4994)

    Someone out there might have one, but I don't unfortuna...

    By Tim Rodman, 8 hours ago

  • RE: How to add multiple pages of contract terms to the Sales Order printed form

    I am attempting several different methods. The issue i...

    By Rick Taylor, 13 hours ago

  • RE: How to add multiple pages of contract terms to the Sales Order printed form

    Are you just putting all the text in a single text box ...

    By megan.friesen, 15 hours ago

  • RE: Kensium Shopify versus Acumatica Shopify

    Hi Carl, Acumatica purchased the Shopify Connector, B...

    By Tyler Mullen, 18 hours ago

  • How to add multiple pages of contract terms to the Sales Order printed form

    The customer would like to add their contract terms to ...

    By Rick Taylor, 19 hours ago

  • Fixed Assets - Errors in Imports - Errors in posting - Can client return to blank FA DB?

    We have a client that has been through their implementa...

    By steven@ibs, 21 hours ago

Recent Tweets

Terms of Use & Disclaimers :: Privacy Policy

Copyright © 2021 · AUG Forums, LLC. All rights reserved. This website is not owned, affiliated with, or endorsed by Acumatica, Inc.