Skip to main content
Answer

Adding a scan state to INScanTransfer

  • July 17, 2025
  • 5 replies
  • 60 views

I am stuck trying to add the option to scan a projectid and project task to the Scan and Transfer form. Trying to follow the documentation and the abstract examples but I can’t get the task added in correctly. I’ve added what I have so far. The actual task is bare bones, I get how to edit those for the most part.

Best answer by bguzman43

Hi ​@bguzman43 were you able to find a solution? Thank you!

@Chris Hackett  - No I got a few links from acumatica support that were basically the knowledge base links I had already read through. We ended up going with a custom embedded page using the API

5 replies

Forum|alt.badge.img+7
  • Captain II
  • July 17, 2025

It’s a very abstracted framework, for sure.

What is the functionality that you’re trying to implement?


  • Author
  • Freshman II
  • July 18, 2025

@Django - I am trying to add the ability to scan a project number and a project task at some point in the flow (after scanning the inventory id or the to warehouse/location fields). 

going off of the documentation examples but the only example if for adding a state to a custom form which is throwing me off:

 

https://help.acumatica.com/Help?ScreenId=ShowWiki&pageid=b21a618c-fe2c-4e69-9dca-f638153eecd8

 

just not sure how add the state to the existing form.

 

 


Chris Hackett
Community Manager
Forum|alt.badge.img
  • Acumatica Community Manager
  • September 24, 2025

Hi ​@bguzman43 were you able to find a solution? Thank you!


  • Author
  • Freshman II
  • Answer
  • September 25, 2025

Hi ​@bguzman43 were you able to find a solution? Thank you!

@Chris Hackett  - No I got a few links from acumatica support that were basically the knowledge base links I had already read through. We ended up going with a custom embedded page using the API


Forum|alt.badge.img+8
  • Captain II
  • September 25, 2025

@bguzman43 

 

Seems like you got another answer, but if you wanted to revisit the WMS it would look something like this:

if(mode is INScanTransfer.TransferMode transferMode)
{
   transferMode.Intercept.
    CreateStates. /*Here you are adding the state to the state machine and registering it wihtin the barcode engine*/
ByAppend( basis =>

return new INScanTransfer.ScanStates[] => { new YourCustomSate() }

);

transferMode.Intercept.
CreateTransitions. /*Here you are replacing the states within the 'Workflow', you need to do this to amend the order/states within the 'workflow'*/
ByReplace ( basis =>

return StateFlow(flow => flow
.From<WarehouseState>()
.NextTo<YourCustomState>()
.NextTo<SourceLocationState>()
.NextTo<InventoryItemState>()
.NextTo<LotSerialState>()
.NextTo<TargetLocationState>()
.NextTo<ReasonCodeState>());

);
}