我对C#和QBFC13代码并不熟悉,我正在尝试从我在BillAdd部分的站点上找到的代码中添加一个账单。
BillAddRq.ExternalGUID.SetValue(Guid.NewGuid().ToString());正在抛出一个错误:
无效GUID格式。必须对自定义字段使用零,或者使用GuidGen.exe为私有数据扩展生成GUID。
我试过:
String guid = System.Guid.NewGuid().ToString("B");
// MessageBox to see that it creates the number
MessageBox.Show("guid", guid);
BillAddRq.ExternalGUID.SetValue(guid);
BillAddRq.ExternalGUID.SetValue(Guid.NewGuid().ToString("B"));
And
String guid = System.Guid.NewGuid().ToString("0");而那些投掷:
QB测试8-14-2014.vshost.exe -没有磁盘“驱动器中没有磁盘,请将磁盘插入驱动器F.”
如何解决这些错误?
发布于 2014-08-15 18:03:04
使用第一个字符串尝试是GUID的正确格式。我使用GUID.NewGuid().ToString("B")进行了测试,并且能够获得一个在添加账单时工作的GUID。
因为在驱动器中没有磁盘,这会导致错误,所以听起来是其他原因造成的。我将逐步遍历代码并找到导致错误的确切位置,因为它可能与GUID无关。
下面是一个简单的示例,我在QuickBooks中使用了一个示例文件:
QBSessionManager SessionManager = new QBSessionManager();
SessionManager.OpenConnection2("GUIDTest","GUIDTest", ENConnectionType.ctLocalQBD);
SessionManager.BeginSession("", ENOpenMode.omDontCare);
IMsgSetRequest MsgRequest = sessionManager.CreateMsgSetRequest("US", 13, 0);
MsgRequest.Attributes.OnError = ENRqOnError.roeContinue;
IBillAdd add = MsgRequest.AppendBillAddRq();
add.ExternalGUID.SetValue(System.Guid.NewGuid().ToString("B"));
add.VendorRef.FullName.SetValue("A Cheung Limited");
add.TxnDate.SetValue(DateTime.Today);
IExpenseLineAdd line = add.ExpenseLineAddList.Append();
line.AccountRef.FullName.SetValue("Travel & Lodging");
line.Amount.SetValue(100.00);
IResponse response = sessionManager.DoRequests(MsgRequest).ResponseList.GetAt(0);
MessageBox.Show(response.StatusMessage);https://stackoverflow.com/questions/25318098
复制相似问题