Code highlighting

Showing posts with label addTimeOut. Show all posts
Showing posts with label addTimeOut. Show all posts

Friday, June 10, 2016

Tutorial: Moving inventory out of a location to complete a put away inbound operation

Introduction

As some of you have probably already read in this blog post, we have recently made some improvements for the inbound flow in Warehouse management, and I wanted to do a quick recording demoing an example which uses some of these capabilities.

For some additional information about the different types of movement flows currently supported please follow to another blog post we've recently published.

Another reason for publishing this particular scenario recording is that we are currently working on another improvement, this time focusing on adding more flexibility for inventory movement operations, where there are work reservations blocking the items in the location from being moved anywhere else. This is a known pain point for a number of customers, and if all goes well, we'll have it addressed in the Fall release of the new Dynamics AX.

The scenario recording is covering one such flow, except for the fact of existing work reservations - in my example there will be none.

I am trying out uploading this to Office Mix, as well as YouTube. Let me know if you like the Office Mix approach - I think it's pretty cool as it makes it possible to browse the recording to a specific point more easily.

Demo





YouTube video:
https://www.youtube.com/watch?v=P7W2Th43-Fo

Question for you

As you can see from the above video, the approach John took is to cancel out of the Put, complete the movement, and then continue the Put.
An alternative could be to complete the put, even though physically the goods are not yet placed into the location, and then create the movement, but in this case we are for a period of time out of sync with the app.

Please leave a comment if the above approach is not a good match for your company, and explain what approach you use instead and why.

Thanks!

Thursday, April 22, 2010

Tool: User preferred startup menu for Dynamics AX 2009

In AX 2009, the user has no control over which menu is opened in the navigation pane and address bar when AX client is started. Most of the time you simply get the Home page, which is frustrating for a number of users. Another thing that is frustrating for them is the company account the application opens with. The latter can actually be setup using standard application functionality in the User options form. Just set the 'Start company accounts' to the account you want for the user by default. I wrote a small tool, that allows the user to select a preferred startup menu, ensuring that this menu is the one open every time AX client is started. Something similar existed in Axapta 3.0 application. You can download the xpo for this tool from my SkyDrive. Note, that it contains minor changes to a number of existing application objects. I suggest that you compare the xpo from the import dialog and ensure that you don't override any of your changes during import - the best thing would be to re-implement these minor changes manually. Below is a list of changes that I am referring to above:
  • SysUserInfo table - 1 new field was added
  • SysUserSetup form - 1 new control was added. Lookup method on datasource field overridden
  • Info class - startupPost method changed
In order to enable the functionality, simply select one of the menus in the User options, as shown in the below screenshot. Next time you start AX, the selected menu will be open by default. Start Menu in User options, Microsoft Dynamics AX 2009 Below is a short listing of "code patterns" used in the project, that can serve as examples for your future projects:
  • SysTableLookup - for displaying a lookup form with a list of menus
  • infolog.globalCache() - for storing a global reference to the navigator class
  • TreeNode iteration - for finding all menu references in MainMenu
  • QueryBuild classes - for constructing and filtering a list of menu references in MainMenu, used in the lookup form
  • infolog.addTimeOut() method - for scheduling execution of another method in a set period of time