Sunday, June 26, 2016

The Customer is its own Parent

Recently I've read some posts regarding National Accounts. There are a few items I wanted to note.
  1. Once you have posted a transaction between the parent and the child - the child cannot gain independence again, nor can it run off to a different parent.
  2. On the Customer Card, the parent needs to have itself as its Parent Customer ID - making them a parent in the National Accounts Maintenance window will automatically accomplish this. If you import the children into the National Accounts master - don't forget this detail.
  3. If the children are all removed from the parent, the parent will still have itself as its own parent.
  4. If you want the former parent to become a child of another customer, you will not be able to do it until you take away its Corporate Customer ID (which is its own ID)
  5. The only way I know of to fix the former parent problem, is to use SQL and remove the record from the RM00105 table (the RM National Accounts Master)
I hope this helps someone who may be struggling with National Accounts.
Live the dream!
Leslie

Friday, June 17, 2016

VKonnact - a Fresh Look at Data Integration

I recently looked at a relatively new product on the market for integrating data into Dynamics GP. It's called VKonnact and it uses eConnect for the backend but shields the user from all of the eConnect complexities. While I haven't finished my review yet, what I've seen so far is very interesting. It's more user friendly than other products in the channel and has a user interface that looks nearly identical to the GP windows you are used to seeing. If you are thinking about purchasing an integration solution, definitely give this one a look. More to follow once I finish my review.
Live the dream!
Leslie

Thursday, June 16, 2016

~internal~ Windows have no place in security

Have you ever wanted to use security to disallow the system Setup Checklist? You access this window using the Microsoft Dynamics GP button and then Tools > Setup > Setup Checklist. As it turns out, you cannot turn it off. Any window resource that has the name ~internal~ is not available to the security model. Now, if you hacked the dictionary (NOT recommended and a violation of your license agreement) and changed the object's name, you could then get to it, but that's not a good idea.

I had a bright idea once and thought I could use Modifier to move all of the fields off of the window. That worked fine, except it wasn't available to select in the Alternate/Modified Forms and Reports window (such a catchy name). I read a GPUG forum post from Jeff Martin that said you could include the Setup Checklist window in a VBA project, so I set out to see if I could get it to work with VBA. Sure enough, you can cause the window to open invisibly, but that doesn't really solve the problem. The reason for this post is to publish a tidbit revealed to us by David Musgrave of Winthrop Development. He said that "part of the issue with the checklists window is that the one window is used for all checklists from all series". I did not know that. Another mystery solved. Thank you David.

Live the dream!
Leslie

Monday, June 13, 2016

Welcome to Conexus SG Harry Lee


Can you believe it?! Harry Lee, Redbeard himself, a fellow Microsoft MVP, has joined the fine people at the consulting firm of Conexus SG in Dallas, TX. I didn’t recognize him without his hat, and he didn’t recognize me without my cape, but know for sure that Conexus SG now employees one of the finest Dynamics GP consultants on the planet.

If you are in the Dallas, TX area and need help with Dynamics GP, be sure to check with Conexus SG. Of course, you should check with me first.

Live the dream!
Leslie

Tuesday, May 24, 2016

Macros and Scrolling Windows


I did a session on GP Macros today at the Amplify conference in Anaheim. Questions came up regarding scrolling windows that I did not have time to cover in the short 1-hour session. I'm posting this example as an aid to understanding how scrolling windows work. The macro language will only deal with the number of rows that are visible in the scrolling window. When you open the SOP Entry window there are 8 lines visible in the scrolling window. When you add information to the scrolling window you need to include the command ScrollByLine down scrollwin 'Line_Scroll' at the bottom of the 8th line. Every line after line 8 is still considered line 8 because there are still only 8 lines visible. Below is a partial example macro of what it looks like to add more than 8 items to the SOP Entry scrolling window:

CheckActiveWin dictionary 'default'  form 'SOP_Entry' window 'SOP_Entry'
  ClickHit field 'SOP Type' item 4  # 'Invoice'
  MoveTo field 'Document ID'
  MoveTo field 'SOP Number'
  MoveTo field 'Customer Number'
  TypeTo field 'Customer Number' , 'AARONFIT0001'
  MoveTo field 'Customer Name'
  MoveTo field 'Primary Shipto Address Code'
  MoveTo field 'Document Date'
  MoveTo field 'Batch Number'
  TypeTo field 'Batch Number' , 'AUG31'
  MoveTo field 'Location Code'
  MoveTo field 'Customer PO Number'
  MoveTo field 'Currency ID'
  TransLinePrepare scrollwin 'Line_Scroll'

  MoveTo line 1 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 1 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 1 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 1 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 1 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 2 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 2 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 2 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 2 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 2 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 3 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 3 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 3 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 3 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 3 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 4 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 4 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 4 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 4 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 4 scrollwin 'Line_Scroll' field '(L) Extended Price'
#
  TransLinePrepare scrollwin 'Line_Scroll'
  MoveTo line 5 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 5 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 5 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 5 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 5 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 6 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 6 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 6 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 6 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 6 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 7 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 7 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 7 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 7 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 7 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'  
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
etc., etc., etc.,

I hope this helps someone struggling with scrolling windows.
Kind regards,
Leslie