I want to access the Microsfot dyamic global variables in my .Net Project So I written code like this
                string UserName = Microsoft.Dexterity.Applications.Dynamics.Globals.UserName.Value.ToString();

            catch (Exception ex)

But I am getting error : the specified module could not be found. (Exception from HRESULT: 0x8007007E)

I have installed VSToolsInstallRuntime, VSToolsInstallSDK and also I added all reference

using Microsoft.Dexterity.Applications;
using Microsoft.Dexterity.Applications.DynamicsDictionary

Hi everyone.
Some time ago I developed a point-of-sale application (in which integrates to GP using eConnect. It's been working fine so far, but now I need to upgrade it to support multi-currency transactions. For example: invoices could be in dollars and payments (cash receipts) in euros, or viceversa.

Now to the problem:
It appears that eConnect does not provide support for multi-currency. This is the error I get when trying to apply (<taRMApply> schema) a cash receipt to an invoice when either one is not in the functional currency:

Error Number = 4694 
Stored Procedure taRMApply 
Error Description = Apply To or Apply From document are different currencies than functional, MC will be added in a future release

I'm working with version 8 of both GP and eConnect, but I also tried doing this in version 9 and the error is the same.

Does anyone know if there's a way to do this?
Any ideas would be appreciated.


I need some help please,

I am using Visual Studio Tools for Dynamics GP 9.0 . I added event handlers to trap the "save" event for the SOP Transaction Entry form in GP. The trap is working fine but I need to know how to tell if GP actually saved the transaction or reported an error and did not save it so I know whether or not I should save the information in the secondary window.

Thanks in advance,


I have written a front-end application for sales invoices and its transferring data to Great Plains using eConnect. Everything looks okay including the creation of AA entries in AAG20000, AAG20001, AAG20002, and AAG20003 tables. The AAG20003 table's aaTrxCodeID fields are 0. I need to populate it with aaTrxCodeID using this code:



'Insert AA for expense

fDimensionLineCtr += 1

Dim SOPDim As New taAnalyticsDistribution_ItemsTaAnalyticsDistributionWith SOPDim


.DOCNMBR = fDocNumber

.AMOUNT = Math.Round(Math.Abs(Reader1(
"ItemCost")), 2)

.DistSequence = 16384 * fDistributionLineCtr

.ACTNUMST = Reader1(

.aaTrxDimID = 1

.aaTrxDimCode = Reader1(


End With

SOPDimension(fDimensionLineCtr) = SOPDim


However, I get an error message:  Error Number 9469 stored procedure taAnalyticsDistribution Error Description = Cannot find a distribution amount on input values.

I still get the same error message even if I include .AMOUNT = fExtendedAmount.  Is there a way to do this?



Edit 9/16/15 View the main article for this error here 

Here was the problem:

During my testing today, I came across an error from eConnect:

Error Number = 724 Stored Procedure taSopHdrIvcInsert Error Description = Invalid Currency, a Functional currency must be set up

I figured that it was a GP sales setup issue and looked for a default currency but couldn't find one.  So I then passed in a valid currency id ("Z-US$") and received the following error:

Error Number = 492 Stored Procedure taMCCurrencyValidate Error Description = This company does not have access to this Currency ID or is Inactive

I then went into GP and set up access for the test company to "Z-US$" (Tools >> Setup >> System >> Multicurrency Access).  I received the following error:

Error Number = 356 Stored Procedure taMCCurrencyValidate Error Description = The table MC40000 does not contain a Rate Type ID or is empty

Here was the suggested solution:

Go into Tools>Setup>System>Multi-Currency Access and make sure that the company that you are trying to access has access to Z-US$

Go into Tools > Setup > System > Currency Setup and be sure that Z-US$ is set up

Go into Tools > Setup > Financial > Multicurrency and set up a funcional currency

It sounds like 1 of 2 things:
1.       Even thought the customer may not use Multi-Currency they still need to give the company access to Multi-Currency (Tools>Setup>System>Multi-Currency Access) as well as setup a functional currency for the Company
2.      You are not passing a valid Currency ID into the transaction.

864342 Activity for this currency already exists. The functional currency cant be changed

863727 Error message when you try to enter a transaction in General Ledger in Microsoft Dynamics GP: "No functional currency has been selected"

I was using WebServices for Dynamics GP.

When i call the method CreatePurchaseOrder i'm having this error: Input number of decimal exceeds setup for currency decimal places.

This is the code that i wrote: 

MoneyAmount ma = new MoneyAmount();
                    ma.Currency = "USD";
                    ma.DecimalDigits = 2;
                    ma.Value = 12.66789;

purchaseOrderLine.UnitCost =ma ;

Do I have to round the number before pass to the object? 

Does GP have a method to round numbers?

i don't want to use the method Math.Round because I don´t want to lose some decimals. Instead, I would like GP do it for me.

I want to open the Unit of Measure window. When I call the Open method, the window opens but it has no data in it.


What do I have to do for the window to fill up with data? 


BM00101 Bill of Materials Header
BM00111 Bill of Materials Component
BM10200 Assembly Transaction
BM10300 Assembly Component
BM10400 Assembly Serial Lot
BM30100 Assembly Batch History
BM30200 Assembly Transaction History
BM30300 Assembly Component History
BM30400 Assembly Serial Lot History
BM40100 Bill of Materials Setup
IV00101 Item Master
IV00102 Item Quantity Master
IV00103 Item Vendor Master
IV00104 Item Kit Master
IV00105 Item Currency Master
IV00106 Item Purchasing
IV00107 Item Price List Options
IV00108 Item Price List
IV00109 Item Serial Number Mask
IV00110 Planner Master
IV00111 Site Defaults
IV00112 Item Site Bin Master
IV00113 Item Price List Details
IV00114 Inactive Items
IV00115 Multiple Manufacture Items Master
IV00116 Item Project Phase Options
IV00117 Item Site Bin Priorities
IV00118 Item Cost Change History
IV00200 Item Serial Number Master
IV00300 Item Lot Number Master
IV00301 Item Lot Attribute Master
IV00500 IV_ItemList_View
IV10000 Inventory Transaction Work
IV10001 Inventory Transaction Amounts Work
IV10002 Inventory Serial and Lot Number Work
IV10003 Inventory Transaction Bin Quantities Work
IV10004 Inventory Bin Quantity Transfer
IV10200 Inventory Purchase Receipts Work
IV10201 Inventory Purchase Receipts Detail
IV10300 Stock Count
IV10301 Stock Count Line
IV10302 Stock Count Serial Lot
IV10303 Stock Count U of M
IV10400 Extended Pricing Price Group Work
IV10401 Extended Pricing Price Sheet Work
IV10402 Extended Pricing Price Sheet UofM Work
IV10403 Extended Pricing Promotion Free Item
IV30100 Inventory Transaction Batch History
IV30101 Inventory Sales Summary History
IV30102 Inventory Sales Summary Period History
IV30200 Inventory Transaction History
IV30300 Inventory Transaction Amounts History
IV30301 Inventory Transaction Detail History
IV30302 Inventory Transaction Bin Quantities History
IV30400 Item Serial and Lot Number History
IV30500 Inventory Distribution History
IV30600 Item Lot Attribute History
IV30700 Stock Count History
IV30701 Stock Count Line History
IV30702 Stock Count Serial Lot History
IV40100 Inventory Control Setup
IV40201 Inventory U of M Schedule Setup
IV40202 Inventory U of M Schedule Detail Setup
IV40400 Item Class Setup
IV40401 Item Class Currency Setup
IV40500 Item Lot Category Setup
IV40600 Item Category Setup
IV40700 Site Setup
IV40701 Site Bin Master
IV40702 Site Intrastat Setup
IV40800 Price Level Setup
IV40900 Price Group Master
IV41000 Stock Calendar
IV41001 Stock Calendar Exception Days
IV41100 Inventory Landed Cost
IV41101 Inventory Landed Cost Group
IV41102 Inventory Landed Cost Group Details
IV50200 Stock Count Assignment Temp
IV50300 ABC Analysis Temp
IV70500 Inventory Report Options

 How do I iterate through the lines of a scrolling window?

I'm using visual studio tools.
I cannot find a property with information of the lines in that window

Hi All,

I am VERY new to Visual Studio Tools for Dynamics GP. I am having some trouble getting started.  I have built a form in Visual Studio, but I must be missing a step to actually have it "publish" in Dynamics GP.  Once I build my solution, I have copied the assembly files to the Add-In folder but nothing loads when I start GP.  Do I need to add lines to the Dynamics.set file? If so, what do I add?  I have not generated anything for my solution using the dag.exe generator. Do I need to do something with this utility specifically for my new solution?

Any guidance would be GREATLY appreciated.




This code will allow you to get connection data from VS Tools




I am new to VST and need some help understanding what possibilities exist.  In particular, is it possible to modify the UI of a GP screen (for example, the SOP window) by utilizing the VS Tools?  If so, can anyone point me in the right direction?

 Thanks in advance...

Hi.  I have a form IvItemMaintenance that i open from another form.  I want to be able to pass it a parameter (the item number) and open the IvItemMaintenance Form showing the item i passed. 

The same way it works when inside a sop entry, you set the focus to an item, click the Item Number link a little above and click the Item Maintenance menu.

That what I want to be able to do.

 I cannot find what function to invoke, like I would if i was opening a SOP


Thanks in advance. 


Are there any tricks or tips to get an inbound Invoice to use the default distribution accounts setup in GP?

Also, does eConnect use the same defaults that would be used in the interface itself (example AR pulls from customer, sales account pulls from Item)




From a recent email: 

Yesterday, I extracted two tables from a customer’s DYNAMICS database - SY01500 (User Master) and SY60100 (User-Company Access), so I could show him which users had which access to their various databases (they have several).  It took me quite some time to do it and I know there is a script I could enable in Query Analyzer/Management Studio to cut something like this down to nothing at all from a time perspective.  I DTS’d the data out into two Excel sheets, did a VLOOKUP on CMPANYID, which is the common field for both, and then sorted the data by USERID.  I listed a User ID for each database/company name they had access to as it is pointless to show the customer a CMPANYID and not a company name.  I know I could have written some sort of script in SQL to join the tables on this field so I could have skipped the whole Excel piece completely.

Here is the query:

select company.cmpanyid,
 from sy01500 company
  join sy60100 users on users.cmpanyid = company.cmpanyid
 order by 1,4


I don’t discourage people from getting Exchange, but I do try to make sure that they have an appreciation for the trouble involved. There is the cost of the server (you probably need a server anyway, though) and the cost of the software. Then there is the cost of having it maintained. You must back up your Exchange server daily, or it won’t truncate it’s logs and the server will crash after some months. That means that you need to budget for monthly service for the box.  


Exchange does have spam filtering, but  be prepared for an increase in your spam, or to add on some sort of spam filtering. provides a good service for Exchange users, I can furnish a local reference for their service if you want. 


 On the good side, Exchange will allow you common calendars and contact lists that are difficult right now. You will also be in control of your own stuff, something that can be attractive.   Consider the benefits of ‘hosted Exchange’. In this scenario, someone else owns and maintains the server off site, you pay a monthly fee of about $15/user. You get all the benefits of Exchange with a controlled expense. I can point you at two or three providers if you want to look into it. These people best server offices that have 2-10 users, after that the internal Exchange server makes more sense.   I don’t use an Exchange server for my mail, even though I own servers and already own the software because I’m not willing to deal with the maintenance or spam.   
Table Definition Quick Links
All Tables
SOP Tables
RM Tables
GL Tables
POP Tables
HR Tables
PM Tables
UPR Tables
IV Tables
Olympic Tables