Tay Jr.
Tay Jr.

Reputation: 1

How to get the Sales Orders search by date or SO number using QBFC

This is the code I have:

ISalesOrderQuery salesOrdersQueryRq = requestMsgSet.AppendSalesOrderQueryRq();

salesOrdersQueryRq.IncludeLineItems.SetValue(true);

IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);

IResponse response = responseMsgSet.ResponseList.GetAt(0);

ISalesOrderRetList salesOrderRetList = (ISalesOrderRetList)response.Detail;

the code above get all sales orders but i just need get sales orders from "date" to "date" or the sales order has SO number = "SOnumber", any suggestions?

Upvotes: 0

Views: 587

Answers (1)

Hpjchobbes
Hpjchobbes

Reputation: 1319

You can set a TxnFilter when doing queries to limit the response. Each transaction type has different filters that can be set, though a lot use similar filters. The OSR shows which filters are available for each transaction type: https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html

ISalesOrderQuery salesOrdersQueryRq = reqeustMsgSet.AppendSalesOrderQueryRq();
salesOrderQueryRq.IncludeLineItems.SetValue(true);

// Use these lines for date range filter
salesOrdersQueryRq.ORTxnNoAccountQuery.TxnFilterNoAccount.ORDateRangeFilter.TxnDateRangeFilter.ORTxnDateRangeFilter.TxnDateFilter.FromTxnDate.SetValue(fromDate);
salesOrdersQueryRq.ORTxnNoAccountQuery.TxnFilterNoAccount.ORDateRangeFilter.TxnDateRangeFilter.ORTxnDateRangeFilter.TxnDateFilter.ToTxnDate.SetValue(toDate);

// Use these lines for reference number query
salesOrdersQueryRq.ORTxnNoAccountQuery.RefNumberList.Add(soNumber);

IMsgSetResponse responseMsgSet = SessionManager.DoRequests(requestMsgSet);

Upvotes: 1

Related Questions