The code below is from a menu item under Additional when the RM Receivables Batches is open. frmAutoVoucher is a Dynamics GP style form with several buttons and a DataGridView that includes a couple of checkboxes in each row. Everything works perfectly the first time the form is loaded. Subsequent loading during the same GP session results in the form's child controls not accepting input from the mouse. Keyboard navigation and key presses can cause the controls to perform their functions, but mouse clicks are not accepted except for the form itself. It can be moved and the control boxes can be clicked to maximize, minimize, and close the window. The mouse still functions normally in GP and everywhere else.

Dim AutoVoucherForm As New frmAutoVoucherWith AutoVoucherForm

.mbDeferred = False

.mbVouchered = False

.msRM_BatchNum = RM_BatchWindow.BatchNumber.Value


If .mbDeferred And .mbVouchered Then


End If


End With

AutoVoucherForm = Nothing



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

Dear AllI am working with vs2005, GP10, C#.In Sales Transaction Entry after the user add the header partI want to add the detail part from the Code so this is what I wrote:TableError err1;
Dynamics.Tables.SopLineWork.SopType.Value = 1;
Dynamics.Tables.SopLineWork.LineItemSequence.Value = 16384;
Dynamics.Tables.SopLineWork.SopNumber.Value = "QTEST1045";
Dynamics.Tables.SopLineWork.ItemNumber.Value = "123456";//"3-A2440A";
Dynamics.Tables.SopLineWork.UOfM.Value = "Hour";
Dynamics.Tables.SopLineWork.Qty.Value = 1;
Dynamics.Tables.SopLineWork.UnitPrice.Value = 3200000;
Dynamics.Tables.SopLineWork.ExtendedPrice.Value = 3200000;
Dynamics.Tables.SopLineWork.ItemDescription.Value = "Operating System";
Dynamics.Tables.SopLineWork.LocationCode.Value = "WAREHOUSE";
Dynamics.Tables.SopLineWork.PriceLevel.Value = "RETAIL";
Dynamics.Tables.SopLineWork.PrimaryShiptoAddressCode.Value = "WAREHOUSE";
Dynamics.Tables.SopLineWork.ShippingMethod.Value = "LOCAL DELIVERY";
Dynamics.Tables.SopLineWork.MarkdownAmount.Value = 0;
Dynamics.Tables.SopLineWork.UnitCost.Value = 1600000; //check again
Dynamics.Tables.SopLineWork.RequestedShipDate.Value = Convert.ToDateTime("12/04/2017");
Dynamics.Tables.SopLineWork.QtyToInvoice.Value = 0;
Dynamics.Tables.SopLineWork.QtyFulfilled.Value = 0;
Dynamics.Tables.SopLineWork.QtyCanceled.Value = 0;
Dynamics.Tables.SopLineWork.QtyToOrder.Value = 1;
err1 = Dynamics.Tables.SopLineWork.Save(); there is no problem with this code it saves data and I can retrieve the data entred in the detailed part agin.The problem is the above code dose not validated at allIf for example I typed item number: 123456 which is not exsits at all then I don’t have any error at all same idea with the UOM.


Please advise me if something is missingOr there is something that I can use to add the detail part only from the code behind.


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

Dear ALL
I am using E-Connect, VS2005, C#I am working on Sales Transaction Entry screenThe bussinees I want to do is the following:The user will add the header part and then I want to add in the detail part many items using Econnect.
this above idea succeded when the user add the header and then save and the invoice.
But if I want to save the detail items using econnect while the invoice is opened(i mean Update)I have this error: 
Sql procedure error codes returned:Error Number = 2079 
Stored Procedure taSopLineIvcInsert 
Error Description = Document is currently being edited by another user
Node Identifier Parameters: taSopLineIvcInsert                                
Related Error Code Parameters for Node : taSopLineIvcInsert                                
UpdateIfExists = 1

please advise me what to do.
thank you



 I would like to thank you for the effort in the forum, I am new to all the GP stuff, I downloaded the tools for visual studio and worked on the examples.

 My question is, if I want to add my own forum, with its own tables in the database, how am I supposed to do that ?

This may look elemntary, but at least pass me the name of the document I can do that through [:'(].




We have recently developed a web form that submits payables trasactions to Microsoft Dynamics GP via econnect.  The form works in our testing environement but once we moved to production we are expereincing a problem.  In our testing environement the econnect installation as well as the GP SQl databases reside on the same server where as in production the GP databases on a a sql server and econnect it installed along with the Microsoft Dynamics GP server software on a separate application server. 


When trying to submit the form in the production environement we receive the following error:


10/15/2008 5:37:02 PM Error: The server process could not be started because the configured identity is incorrect.  Check the username and password. (Exception from HRESULT: 0x8000401A)


I have checked the username and password under componenet services -- computers 00 My Computer -- Com + Applications -- econnect service and the identity used is a domain admin account that has full access to the SQL instance where the GP databases are located.


I used the follwing KB article on partner source as a reference with no success.  KB873981


Any assitance you can provide would be greatly appreciated.


The follwoing is the eConnect9.0 code snippet I used for creating a new Batch:


public void SerializeNewBatchCreateObject()


SMTransactionBatchType smTrxBatchType = new SMTransactionBatchType();taCreateUpdateBatchHeaderRcd header = new taCreateUpdateBatchHeaderRcd();




//Populate the elements of the first PMTransaction

header.BACHNUMB = txtBatchNum.Text.Trim(); // GET THE NEW BATCH NUMBER

header.BCHCOMNT = txtBatchComment.Text.Trim(); // Batch Comments

header.BCHSOURC= "PM_Trxent"; // Batch Source

header.SERIES = 4; // 4-Purchasing


header.ORIGIN = Convert.ToInt16(ddlOrigin.SelectedValue); //Get the Selected Origin

header.BACHFREQ = Convert.ToInt16(ddlFrequency.SelectedValue.ToString()); //Get the Selected frequency

header.GLPOSTDT = txtBatchDate.Text.Trim(); //get the Batch creation Date from the WF

header.CHEKBKID = ddlCheckbookID.SelectedValue;


int UserIdLength = WindowsIdentity.GetCurrent().Name.Length; // Is this creating a problem ??

header.USERID = WindowsIdentity.GetCurrent().Name.Substring(15, UserIdLength - 15); // Is this creating a problem ??

//Add the header node to the Batch type object

smTrxBatchType.taCreateUpdateBatchHeaderRcd = header;


//Create an eConnect document object and populate i with the transaction type object

eConnectType eConnect = new eConnectType();SMTransactionBatchType[] myTrans = { smTrxBatchType };

eConnect.SMTransactionBatchType = myTrans;

//serialize to a memory stream.

XmlSerializer serializer = new XmlSerializer(eConnect.GetType());MemoryStream memStream = new MemoryStream();

serializer.Serialize(memStream, eConnect);

memStream.Position = 0;

//read from the memory stream to a string variable to pass to the eConnect API.

string xml = "";

XmlTextReader xmlreader = new XmlTextReader(memStream);

while (xmlreader.Read())

xml = xml + xmlreader.ReadOuterXml();



eConnectMethods eConCall = new eConnectMethods();

// Create a connection string to the Microsoft Dynamics GP Server

//Integrated security is required ( Integrated Security=SSPI)

string cnString = "data source=SVRSQL02\\ABC;initial catalog=XYZ;Integrated Security=SSPI;Persist Security Info=True;User ID=aa;Password=bbb;packet size=4096";

bool result;

// Create an AP Invoice in MIcrosoft Dynamics GP. Returns true if success

result = eConCall.eConnect_EntryPoint(cnString, EnumTypes.ConnectionStringType.SqlClient, xml, EnumTypes.SchemaValidationType.None, "");


catch (System.Exception exc)


string sMsg = Environment.NewLine + DateTime.Now.ToString() + " Error: " + exc.Message + Environment.NewLine + Environment.NewLine;








Dear all

I am working with VS2005, C#, Developer toolkit for GP10

I am looking for a window “Sales Payment Document Remittance”

From GP menu: Transaction àSalesà Payment Document Remittance

The physical name: “rvlrmPmntDocRemittance”

I problem is I cannot find it this window at all in Dynamics.Forms. 

Please advise me what to do.


I'm trying to run some logging code when an order is voided in the SOP Sales 
Transaction Entry form. 
In VBA we would trap the 'modal dialog' event and see if the user responded 
'yes' to the prompt. 

In VS Tools we have the 
Dynamics.Forms.SopEntry.SopEntry.VoidButtonNone.ClickAfterOriginal event, but 
I can't tell if the user responded 'yes' to the 'do you want to delete' 

Is there any 'void' event that I can trap, or another way to do this?



Table Definition Quick Links
All Tables
SOP Tables
RM Tables
GL Tables
POP Tables
HR Tables
PM Tables
UPR Tables
IV Tables
Olympic Tables