Reputation: 61
I tried everything but getting issue to get Customer Notes. Its just giving one first Note but not list. I Tried with AdditionalNotesRetList but it's coming null.
using QuickBooks SDK 15 32Bit which covers all version of QuickBooks 2002 - 2022.
Code:
QBSessionManager sessionManager = null;
bool sessionBegun = false;
bool connectionOpen = false;
try
{
sessionManager = new QBSessionManager();
sessionManager.OpenConnection("", "Company2");
connectionOpen = true;
sessionManager.BeginSession(@"C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\Company2.qbw", ENOpenMode.omDontCare);
sessionBegun = true;
IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US", 8, 0);
requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;
ICustomerQuery customerQueryRq = requestMsgSet.AppendCustomerQueryRq();
IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);
IResponse response = responseMsgSet.ResponseList.GetAt(0);
ICustomerRetList customerRetList = (ICustomerRetList)response.Detail;
ICustomerRet customerRet = customerRetList.GetAt(0);
// customerRet.AdditionalNotesRetList is null
IAdditionalNotesRetList listnotes = (IAdditionalNotesRetList)customerRet.AdditionalNotesRetList;
}
catch (Exception ex)
{
throw;
}
Upvotes: 1
Views: 118
Reputation: 61
Found the solution.
Instead of using this I used XML request
IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);
I Used DoRequestsFromXMLString
. Rest of code is same.
IMsgSetResponse responseMsgSet sessionManager.DoRequestsFromXMLString(file);
For Getting AdditionalNotesList
use this
<IncludeRetElement>AdditionalNotesRet</IncludeRetElement>
XML Request
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError = "stopOnError">
<CustomerQueryRq>
<ActiveStatus>All</ActiveStatus>
<FromModifiedDate>2018-01-12T09:20:42</FromModifiedDate>
<IncludeRetElement>ListID</IncludeRetElement>
<IncludeRetElement>Name</IncludeRetElement>
<IncludeRetElement>CompanyName</IncludeRetElement>
<IncludeRetElement>CustomerFullName</IncludeRetElement>
<IncludeRetElement>CustomerType</IncludeRetElement>
<IncludeRetElement>IsActive</IncludeRetElement>
<IncludeRetElement>Sublevel</IncludeRetElement>
<IncludeRetElement>ParentRef</IncludeRetElement>
<IncludeRetElement>JobStartDate</IncludeRetElement>
<IncludeRetElement>JobEndDate</IncludeRetElement>
<IncludeRetElement>AdditionalNotesRet</IncludeRetElement>
<IncludeRetElement>Notes</IncludeRetElement>
<IncludeRetElement>JobTypeRef</IncludeRetElement>
<IncludeRetElement>JobStatus</IncludeRetElement>
</CustomerQueryRq>
</QBXMLMsgsRq>
</QBXML>
Upvotes: 1