Hi everyone,
I’m working on an Acumatica label report that uses a custom Numbers table (UsrNumbers) and a parameter (QtyOfLabels) to control how many labels print.
I’m seeing very different behavior depending on where the report is executed, and I’m trying to understand what the correct pattern should be.
Setup
-
Parameter:
QtyOfLabels(Integer) -
Custom Numbers table:
UsrNumbers -
Relation (simplified):
-
<RelationRow>
<ChildField>Number</ChildField>
<Condition>GreaterOrEqual</Condition>
<ParentField>=CInt([@QtyOfLabels])</ParentField>
</RelationRow>
Behavior I’m seeing
1. Acumatica UI (Report Preview / Print)
-
If
QtyOfLabels = 5 -
Using
GreaterOrEqual -
The UI prints exactly 5 labels, which looks correct
If I switch the condition to LessOrEqual, the UI prints:
5, 6, 7, 8, 9, 10, … (all remaining rows in UsrNumbers)
So the behavior appears to be tied to how UsrNumbers.Number is seeded (it does not start at 1).
2. Scan gun / Device Hub / automated printing
-
The same report prints zero labels
-
No errors are thrown
-
The report works in UI preview but does not print at all when triggered via the scan gun
This makes it look like the relation + parameter combination is being evaluated differently outside the UI.
Questions
-
Is it expected that parameter-based relations behave differently in UI preview vs Device Hub / automated execution?
-
Is relying on
GreaterOrEqualin this scenario unsafe for non-UI printing? -
What is the recommended pattern for label repetition that works consistently for:
-
UI preview
-
Scan gun
-
Device Hub / automation
-
At the moment, the report looks correct in the UI but is unusable in production because no labels print when triggered from the scanner.
Any guidance or best practices would be really helpful.
Thanks!