在 eConnect 上创建项目时单价未更新
Unit price is not updating while create items on eConnect
我正在使用 eConnect 将我的 .NET 应用程序连接到 Dynamics GP。这是我的 C# eConnect 代码 create/update Dynamics GP 上的一个项目。
taUpdateCreateItemRcd GpLineItem = new taUpdateCreateItemRcd();
GpLineItem.ITEMNMBR = "iPartNumber";
GpLineItem.ITEMDESC = "iDescription";
GpLineItem.CURRCOST = 50.65;
GpLineItem.ITMCLSCD = "classID";
GpLineItem.ITEMTYPE = 1;
GpLineItem.Purchase_Tax_Options = 2;
GpLineItem.UOMSCHDL = "EACH";
GpLineItem.UpdateIfExists = 1;
IVItemMasterType ivMasterType = new IVItemMasterType();
ivMasterType.taUpdateCreateItemRcd = GpLineItem;
IVItemMasterType[] ivMasterTypeArray = { ivMasterType };
eConnectType eConnect = new eConnectType();
eConnect.IVItemMasterType = ivMasterTypeArray;
// Serialize the master vendor type in memory.
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xmlSerializer = new XmlSerializer(eConnect.GetType());
// Serialize the eConnectType.
xmlSerializer.Serialize(memoryStream, eConnect);
// Reset the position of the memory stream to the start.
memoryStream.Position = 0;
// Create an XmlDocument from the serialized eConnectType in memory.
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(memoryStream);
memoryStream.Close();
// Call eConnect to process the XmlDocument.
eConnectMethods.CreateEntity(connectionString, xmlDocument.OuterXml);
当我检查 xmlDocument 时,我只有以下这些字段。
<?xml version="1.0"?><eConnect xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema">
<IVItemMasterType>
<eConnectProcessInfo xsi:nil="true" />
<taRequesterTrxDisabler_Items xsi:nil="true" />
<taUpdateCreateItemRcd>
<ITEMNMBR>iPartNumber</ITEMNMBR>
<ITEMDESC>iDescription</ITEMDESC>
<ITMCLSCD>RETAIL</ITMCLSCD>
<UOMSCHDL>EACH</UOMSCHDL>
</taUpdateCreateItemRcd>
<taUpdateCreateItemCurrencyRcd_Items xsi:nil="true" />
<taIVCreateItemPriceListLine_Items xsi:nil="true" />
<taIVCreateItemPriceListHeader xsi:nil="true" />
<taItemSite_Items xsi:nil="true" />
<taCreateItemVendors_Items xsi:nil="true" />
<taCreateKitItemRcd_Items xsi:nil="true" />
<taCreateInternetAddresses_Items xsi:nil="true" />
</IVItemMasterType>
</eConnect>
我不知道我的代码有什么问题。请帮助我。非常感谢您的帮助。谢谢
我相信你必须添加这一行:
GpLineItem.CURRCOSTSpecified = 真;
使用 eConnect,您必须使用很多值来执行此操作。
蒂姆·瓦帕特回答
您必须"specify"您正在提供一些字段,当前成本就是其中之一。
请参阅《eConnect 程序员指南》中的 class 说明(搜索 CURRCOSTSpecified)。
我想应该是这样的:
GpLineItem.CURRCostSpecified = true;
作为您设置 taUpdateCreateItemRcd 的 class 成员的代码中的另一行。
我们都曾经做过...
我正在使用 eConnect 将我的 .NET 应用程序连接到 Dynamics GP。这是我的 C# eConnect 代码 create/update Dynamics GP 上的一个项目。
taUpdateCreateItemRcd GpLineItem = new taUpdateCreateItemRcd();
GpLineItem.ITEMNMBR = "iPartNumber";
GpLineItem.ITEMDESC = "iDescription";
GpLineItem.CURRCOST = 50.65;
GpLineItem.ITMCLSCD = "classID";
GpLineItem.ITEMTYPE = 1;
GpLineItem.Purchase_Tax_Options = 2;
GpLineItem.UOMSCHDL = "EACH";
GpLineItem.UpdateIfExists = 1;
IVItemMasterType ivMasterType = new IVItemMasterType();
ivMasterType.taUpdateCreateItemRcd = GpLineItem;
IVItemMasterType[] ivMasterTypeArray = { ivMasterType };
eConnectType eConnect = new eConnectType();
eConnect.IVItemMasterType = ivMasterTypeArray;
// Serialize the master vendor type in memory.
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xmlSerializer = new XmlSerializer(eConnect.GetType());
// Serialize the eConnectType.
xmlSerializer.Serialize(memoryStream, eConnect);
// Reset the position of the memory stream to the start.
memoryStream.Position = 0;
// Create an XmlDocument from the serialized eConnectType in memory.
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(memoryStream);
memoryStream.Close();
// Call eConnect to process the XmlDocument.
eConnectMethods.CreateEntity(connectionString, xmlDocument.OuterXml);
当我检查 xmlDocument 时,我只有以下这些字段。
<?xml version="1.0"?><eConnect xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema">
<IVItemMasterType>
<eConnectProcessInfo xsi:nil="true" />
<taRequesterTrxDisabler_Items xsi:nil="true" />
<taUpdateCreateItemRcd>
<ITEMNMBR>iPartNumber</ITEMNMBR>
<ITEMDESC>iDescription</ITEMDESC>
<ITMCLSCD>RETAIL</ITMCLSCD>
<UOMSCHDL>EACH</UOMSCHDL>
</taUpdateCreateItemRcd>
<taUpdateCreateItemCurrencyRcd_Items xsi:nil="true" />
<taIVCreateItemPriceListLine_Items xsi:nil="true" />
<taIVCreateItemPriceListHeader xsi:nil="true" />
<taItemSite_Items xsi:nil="true" />
<taCreateItemVendors_Items xsi:nil="true" />
<taCreateKitItemRcd_Items xsi:nil="true" />
<taCreateInternetAddresses_Items xsi:nil="true" />
</IVItemMasterType>
</eConnect>
我不知道我的代码有什么问题。请帮助我。非常感谢您的帮助。谢谢
我相信你必须添加这一行: GpLineItem.CURRCOSTSpecified = 真;
使用 eConnect,您必须使用很多值来执行此操作。
蒂姆·瓦帕特回答
您必须"specify"您正在提供一些字段,当前成本就是其中之一。
请参阅《eConnect 程序员指南》中的 class 说明(搜索 CURRCOSTSpecified)。
我想应该是这样的:
GpLineItem.CURRCostSpecified = true;
作为您设置 taUpdateCreateItemRcd 的 class 成员的代码中的另一行。
我们都曾经做过...