At least once a week I get the complaint that Dynamics is running slowly. The implication (sometimes stated, sometimes implied) is that my latest work has caused the condition. 

This is my rant/advice about how to deal with that.                        

I'm installing the EOne product SmartList Builder and it's not working quite right, and I suspect a SQL permission issue. Normally tables in Dynamics have permissions granted to the DYNGRP user

I checked a table or two, and yep, no permissions. So I sat down to write a SQL query that would show all tables in the database with no permissions.

Then, I wrote a script to add the needed perms to the tables.

Both queries are below.


We have finally found the issue with the Smartlist at a client.  What is happening is that the Smartlist just stops working.  You click on the Smartlist and nothing happens, no error and it does not show up in the dexsql log either.

The issue comes we believe from when a user changes the size of their Smartlist pane on the left it becomes corrupted in the table.  It is not the Smartlist window size or the autohide just the size of the pane on the left.  The work around to fix it is to run this script and it will reset the size of the Smartlist and the other work around is don’t change that pane until Microsoft gets a fix. 


Here is the script and a screenshot of the table.  I hope this helps someone else to not have to go through this pain.  Microsoft will be researching and sending out an update.

This is a short (5:00) video that shows how to add a field to Dynamics GP 2013 and then how to use that field in VBA

We have many template procedures and functions on this site - we're consultants, and we work on many different customer environments each day. It's convenient to have templates on line; they're always here and ready to cut and paste into code.

Here's our multi-line function template. Enjoy                       

Add "Go To" functionality to SmartList in Dynamics GP to open forms (with input parameters), go to websites, run drilldowns, etc.

Increase Max Records Returned For SmartList

I know, this has nothing to do with Dynamics. But it has a lot to do with Consulting. I work for 10 different VARs, each wants me to be their 'employee'; <smiles> and they all seem to be heading toward Office365.

This post shows how to hook up an Office356 account to Outlook as a POP account

Setting up security access for SmartLists

Error message "You do not have security privileges to view all of the tables used in this SmartList”

Microsoft says...

Ok I'm searching for the history of all my serial numbers and what SOs they tie back to to ultimately get the date they were received.  I've looked in the SOP10201 table which gives me everything up to our fiscal year end but not the current year. Any ideas???



Okay - I am modifying the Manufacturing Order Entry Screen. I have added two fields. Batch Qty and Number of Batches and a calculate button.

My question pertains to the calculate button - when I click it - I get error code 3709 - click debug - I get an error at the line that is trying to return a dataset.....

I am attaching a jpeg file of my code. I am puzzled because - getting the dataset should be the easy part...........I need to get past it so I can be certain my calculation is going to work.........


Thank you in advance.

Okay...........I have a custom field (Number of Batches) added to MO Entry Screen.

The field is added to Visual Editor. I save the value when the record is saved (from the save button or the save prompt).

However, I need to use the field in a calculation after the user inputs it into the field.

I'm currently getting message........................


I am working on a custom stored procedure to extend eConnect (inserting payables invoices) for the job cost portion of WennSoft.  I notice that in table JC00701 there is a Cost_Code_Alias, the first four digits of which corresponds to a Cost Code. This is fine. However, the code also has the following appended at the end:


I'm wondering if anyone knows the meaning of the "- -Y"?

I've placed a stored procedure call inside the taPOLinePost stored procedure to execute additional business logic that needs of be processed for each line of a Purchase Order during the creation of that PO.  Part of that business logic is validating the fact that the PO Number exists in the POP10100 table.  I've pulled the following quote from the Knowledge Base section of DynDeveloper regarding the use of eConnect to create Purchase Orders:

To expand on that point, the various parts of an integration are (generally) integrated in the order that they're listed in the documentation. That means that the lines generally go in first. So, for a PO with two lines, you'd get this:


So, since it appears that taPOHdr doesn't execute (and create the POP10100 record) until after the PO lines are created, I need to find another place to execute my business logic. 

My question is, is my understanding correct about the order of execution of the stored procedures listed above and, if so, what/where would be considered "best practice" for executing my business logic for each line of the PO, while validating that the PO exists and how to rollback the entire process if my business logic experiences an error?

Thank you,

James Tyree

My eConnect XML was working on the production system and all of a sudden it has started failing with the following error.

Error Number = 4646  Stored Procedure= taSopLineIvcInsert  Error Description = Decimal Places passed in on UNITPRCE does not match setup

Node Identifier Parameters: taSopLineIvcInsert

SOPNUMBE = INV001099910       
LNITMSEQ = 16384
Related Error Code Parameters for Node : taSopLineIvcInsert
UNITPRCE = 45.94

What would have possibly changed? I have been trying to debug without any success. 


I would like to go into our history for all closed orders and update the Notifications Email Billing field that is pulled from the main customer address.

the reason is I need to update orders with the email address that are in history for a specific customer to make it easier for our accounting people to email orders that are in RETURNS. I need to do am update statement to that field but I don't know where the table is to do it. I tried SOP30100 and SOP30200 and there is no billing address column. If someone can point me the way I would really appreciate that.




I am in process, just beginning, writing integrations into Great Plains 2010. One of the items I have come across for database connectivity is to use the GPConn.dll.

The integrations are custom windows that integrate directly into GP, such as a menu that is inserted under the "Transactions" menu. One of the design goals is to use the same security as the GP logged in user. I am using VSTools and .Net 2 (and some .Net 4).

I don't see the GPConn.dll in the SDKs that I have, and it appears as if this is a sperate download, and there is a need to get 2 keys, presumably from MS, to use this.

Could someone direct me to where this dll is, and maybe a good example for getting started.



I have a new extender detail window where some of the field types are number. I have created a template with default values, which will work when you click the button, but I would like to have the defaults on a new record be something other than 0 without the need for the extra mouse click. By default it puts in "0" in one of the fields, but I would like for this to default to "3".




I can open the customer card in GP with the following DEX:

if ('Company Name' of globals<>"") then
close form RM_Customer_Maintenance;
open form RM_Customer_Maintenance;
end if;

if ('Customer Number' of window RM_Customer_Maintenance of form RM_Customer_Maintenance <> "") then
error "Please close the current Customer before trying to open another.";
abort script;
end if;

'Customer Number' of window RM_Customer_Maintenance of form RM_Customer_Maintenance = "@customerNum"; 
run script 'Customer Number' of window RM_Customer_Maintenance of form RM_Customer_Maintenance;

I am trying to open the MO and Manufacturing BOM forms with the following DEX, but they are not working. 

if ('Company Name' of globals<>"") then

close form WO_Entry;
open form WO_Entry;
end if;

if ('Manufacture Order' of window WO_Entry of form WO_Entry <> "") then
error "Please close the current manufacturing order before trying to open another.";
abort script;
end if;

'Manufacture Order' of window WO_Entry of form WO_Entry = "@MANUFACTUREORDER_I";
run script 'Manufacture Order' of window WO_Entry of form WO_Entry;


if ('Company Name' of globals<>"") then
close form Graphical_BOM_Edit;
open form Graphical_BOM_Edit;
end if;

if ('Item Number' of window Graphical_BOM of form Graphical_BOM_Edit <> "") then
error "Please close the current sales document before trying to open another.";
abort script;
end if;

'Item Number' of window Graphical_BOM of form Graphical_BOM_Edit = @BOMNumber; 
run script 'Item Number' of window Graphical_BOM_Edit of form SOP_Entry;

'BOM Type' of window Graphical_BOM of form Graphical_BOM_Edit = "@BOMType"; 
run script 'BOM Type' of window Graphical_BOM_Edit of form SOP_Entry;

'BOM Name' of window Graphical_BOM of form Graphical_BOM_Edit = "@BOMName"; 
run script 'BOM Name' of window Graphical_BOM_Edit of form SOP_Entry;

Any ideas what I am missing? Thanks!


This example will show how to code grouping in the ASP.NET RadGrid Control                            
Table Definition Quick Links
All Tables
SOP Tables
RM Tables
GL Tables
POP Tables
HR Tables
PM Tables
UPR Tables
IV Tables
Olympic Tables