Tayana Solutions

Acumatica Customization Deep Dive: Dynamically Filtered Selectors

This video explores a common challenge in Acumatica implementations: creating dependent selector fields where the choices in one selector dynamically filter the options available in another.

(a) Challenges of Default Acumatica Selector Behavior

Acumatica’s selector fields, by default, display all options from their associated setup screen. This presents a challenge when you need to create a more interactive user experience where selections in one part of a screen affect what’s shown in another.
 
Let’s illustrate this with a scenario from the podcast:
 
Scenario: Custom Tab on Stock Item Screen
 
  • The custom tab has both a form and a grid.
  • The form contains a selector for “Product Code.”
  • The grid contains a selector for “Attribute Code.”
  • Desired Behavior: When a user selects a “Product Code” (e.g., “Weekend”), the “Attribute Code” selector should only show relevant attributes (e.g., “Saturday” and “Sunday”).
     
  • Default Acumatica Behavior: The “Attribute Code” selector shows all attribute codes, regardless of the “Product Code” selection, forcing users to manually search for the correct options.

(b) Solution: Customizing Acumatica for Dynamic Filtering

To solve this issue, we implemented a customization using Acumatica’s framework.
 
Here’s a breakdown of how we approached the solution:
 
  1. Understanding the Logic: The core of the solution lies in establishing a cause-and-effect relationship between the two selectors. This is accomplished through code that filters the data displayed in the grid selector (“Attribute Code”) based on the selection made in the form selector (“Product Code”).
  2. Technical Implementation:
  • SQL Joins and WHERE Conditions : We used SQL joins (likely inner or left joins) and WHERE conditions to filter the data. This ensures that only the appropriate attribute codes are retrieved based on the selected product code.
  • Custom Class in the DAC : A separate class was created within the Data Access Class (DAC) associated with the custom tab. This class encapsulates the custom filtering logic.
  • Referencing the Class in the Selector : The “Attribute Code” selector field was configured to reference this custom class. This ensures that the selector uses the custom filtering logic when displaying options.
  1. Results and Benefits: The grid selector dynamically updates its options based on the selected product code, providing the desired dependent behavior.
This solution increases efficiency and accuracy, reduces user errors, and makes the Acumatica system more user-friendly.
 

Key Takeaways:Don’t be limited by Acumatica’s default behavior. With coding skills, you can create powerful customizations.

If you need assistance with complex Acumatica customizations, expert help from companies like Tayana Solutions can make a significant difference.