AccountQuery is a list query that returns data for all accounts that match the provided filter criteria. Notice that it returns only data internal to the account itself. It does not return any data about transactions involving the account. It does, however, return the parent account, if there is one. You can search across all accounts or you can specify an account type and search only those.
If you are querying for an account whose FullName contains a number, the query might return an account that has a matching account number rather than a matching FullName. For example, if you are querying for an account named 12345, and 12345 happens to be the account number of a totally different account, the query will not return what you asked for (the account named 12345), but instead will return the account with the account number 12345.
This problem will not happen if:
To avoid this problem:
Request
Response
XMLOps
VB.NET
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | <?xml version="1.0" encoding="utf-8"?> <?qbxml version="16.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <AccountQueryRq metaData="ENUMTYPE"> <!-- BEGIN OR --> <ListID >IDTYPE</ListID> <!-- optional, may repeat --> <!-- OR --> <FullName >STRTYPE</FullName> <!-- optional, may repeat --> <!-- OR --> <MaxReturned >INTTYPE</MaxReturned> <!-- optional --> <!-- ActiveStatus may have one of the following values: ActiveOnly [DEFAULT], InactiveOnly, All --> <ActiveStatus >ENUMTYPE</ActiveStatus> <!-- optional --> <FromModifiedDate >DATETIMETYPE</FromModifiedDate> <!-- optional --> <ToModifiedDate >DATETIMETYPE</ToModifiedDate> <!-- optional --> <!-- BEGIN OR --> <NameFilter> <!-- optional --> <!-- MatchCriterion may have one of the following values: StartsWith, Contains, EndsWith --> <MatchCriterion >ENUMTYPE</MatchCriterion> <!-- required --> <Name >STRTYPE</Name> <!-- required --> </NameFilter> <!-- OR --> <NameRangeFilter> <!-- optional --> <FromName >STRTYPE</FromName> <!-- optional --> <ToName >STRTYPE</ToName> <!-- optional --> </NameRangeFilter> <!-- END OR --> <!-- AccountType may have one of the following values: AccountsPayable, AccountsReceivable, Bank, CostOfGoodsSold, CreditCard, Equity, Expense, FixedAsset, Income, LongTermLiability, NonPosting, OtherAsset, OtherCurrentAsset, OtherCurrentLiability, OtherExpense, OtherIncome --> <AccountType >ENUMTYPE</AccountType> <!-- optional, may repeat --> <CurrencyFilter> <!-- optional --> <!-- BEGIN OR --> <ListID >IDTYPE</ListID> <!-- optional, may repeat --> <!-- OR --> <FullName >STRTYPE</FullName> <!-- optional, may repeat --> <!-- END OR --> </CurrencyFilter> <!-- END OR --> <IncludeRetElement >STRTYPE</IncludeRetElement> <!-- optional, may repeat --> <OwnerID >GUIDTYPE</OwnerID> <!-- optional, may repeat --> </AccountQueryRq> <AccountQueryRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE" retCount="INTTYPE"> <AccountRet> <!-- optional, may repeat --> <ListID >IDTYPE</ListID> <!-- required --> <TimeCreated >DATETIMETYPE</TimeCreated> <!-- required --> <TimeModified >DATETIMETYPE</TimeModified> <!-- required --> <EditSequence >STRTYPE</EditSequence> <!-- required --> <Name >STRTYPE</Name> <!-- required --> <FullName >STRTYPE</FullName> <!-- required --> <IsActive >BOOLTYPE</IsActive> <!-- optional --> <ParentRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </ParentRef> <Sublevel >INTTYPE</Sublevel> <!-- required --> <!-- AccountType may have one of the following values: AccountsPayable, AccountsReceivable, Bank, CostOfGoodsSold, CreditCard, Equity, Expense, FixedAsset, Income, LongTermLiability, NonPosting, OtherAsset, OtherCurrentAsset, OtherCurrentLiability, OtherExpense, OtherIncome --> <AccountType >ENUMTYPE</AccountType> <!-- required --> <!-- SpecialAccountType may have one of the following values: AccountsPayable, AccountsReceivable, CondenseItemAdjustmentExpenses, CostOfGoodsSold, DirectDepositLiabilities, Estimates, ExchangeGainLoss, InventoryAssets, ItemReceiptAccount, OpeningBalanceEquity, PayrollExpenses, PayrollLiabilities, PettyCash, PurchaseOrders, ReconciliationDifferences, RetainedEarnings, SalesOrders, SalesTaxPayable, UncategorizedExpenses, UncategorizedIncome, UndepositedFunds --> <SpecialAccountType >ENUMTYPE</SpecialAccountType> <!-- optional --> <IsTaxAccount >BOOLTYPE</IsTaxAccount> <!-- optional --> <AccountNumber >STRTYPE</AccountNumber> <!-- optional --> <BankNumber >STRTYPE</BankNumber> <!-- optional --> <Desc >STRTYPE</Desc> <!-- optional --> <Balance >AMTTYPE</Balance> <!-- optional --> <TotalBalance >AMTTYPE</TotalBalance> <!-- optional --> <SalesTaxCodeRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </SalesTaxCodeRef> <TaxLineInfoRet> <!-- optional --> <TaxLineID >INTTYPE</TaxLineID> <!-- required --> <TaxLineName >STRTYPE</TaxLineName> <!-- optional --> </TaxLineInfoRet> <!-- CashFlowClassification may have one of the following values: None, Operating, Investing, Financing, NotApplicable --> <CashFlowClassification >ENUMTYPE</CashFlowClassification> <!-- optional --> <CurrencyRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </CurrencyRef> <DataExtRet> <!-- optional, may repeat --> <OwnerID >GUIDTYPE</OwnerID> <!-- optional --> <DataExtName >STRTYPE</DataExtName> <!-- required --> <!-- DataExtType may have one of the following values: AMTTYPE, DATETIMETYPE, INTTYPE, PERCENTTYPE, PRICETYPE, QUANTYPE, STR1024TYPE, STR255TYPE --> <DataExtType >ENUMTYPE</DataExtType> <!-- required --> <DataExtValue >STRTYPE</DataExtValue> <!-- required --> </DataExtRet> </AccountRet> </AccountQueryRs> </QBXMLMsgsRq> </QBXML> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | 'The following sample code is generated as an illustration of 'Creating requests and parsing responses ONLY 'This code is NOT intended to show best practices or ideal code 'Use at your most careful discretion imports System imports System.Net imports System.Drawing imports System.Collections imports System.ComponentModel imports System.Windows.Forms imports System.Data imports System.IO imports Interop.QBFC16 Module com.intuit.idn.samples Public Class Sample Public Sub DoAccountQuery() Dim sessionBegun as Boolean sessionBegun = False Dim connectionOpen as Boolean connectionOpen = False Dim sessionManager as QBSessionManager sessionManager = nothing Try 'Create the session Manager object sessionManager = new QBSessionManager 'Create the message set request object to hold our request Dim requestMsgSet as IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US",16,0) requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue BuildAccountQueryRq(requestMsgSet) 'Connect to QuickBooks and begin a session sessionManager.OpenConnection("","Sample Code from OSR") connectionOpen = True sessionManager.BeginSession("", ENOpenMode.omDontCare) sessionBegun = True 'Send the request and get the response from QuickBooks Dim responseMsgSet as IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet) 'End the session and close the connection to QuickBooks sessionManager.EndSession() sessionBegun = False sessionManager.CloseConnection() connectionOpen = False WalkAccountQueryRs(responseMsgSet) Catch e as Exception MessageBox.Show(e.Message, "Error") if (sessionBegun) then sessionManager.EndSession() End If if (connectionOpen) then sessionManager.CloseConnection() End If End Try End Sub Public Sub BuildAccountQueryRq(requestMsgSet as IMsgSetRequest) Dim AccountQueryRq as IAccountQuery AccountQueryRq= requestMsgSet.AppendAccountQueryRq() Dim ORAccountListQueryElementType466 as String ORAccountListQueryElementType466 = "ListIDList" if (ORAccountListQueryElementType466 == "ListIDList") then 'Set field value for ListIDList 'May create more than one of these if needed AccountQueryRq.ORAccountListQuery.ListIDList.Add("200000-1011023419") End If if (ORAccountListQueryElementType466 == "FullNameList") then 'Set field value for FullNameList 'May create more than one of these if needed AccountQueryRq.ORAccountListQuery.FullNameList.Add("ab") End If if (ORAccountListQueryElementType466 == "AccountListFilter") then 'Set field value for MaxReturned AccountQueryRq.ORAccountListQuery.AccountListFilter.MaxReturned.SetValue(6) 'Set field value for ActiveStatus AccountQueryRq.ORAccountListQuery.AccountListFilter.ActiveStatus.SetValue(ENActiveStatus.asActiveOnly [DEFAULT]) 'Set field value for FromModifiedDate AccountQueryRq.ORAccountListQuery.AccountListFilter.FromModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false) 'Set field value for ToModifiedDate AccountQueryRq.ORAccountListQuery.AccountListFilter.ToModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false) Dim ORNameFilterElementType467 as String ORNameFilterElementType467 = "NameFilter" if (ORNameFilterElementType467 == "NameFilter") then 'Set field value for MatchCriterion AccountQueryRq.ORAccountListQuery.AccountListFilter.ORNameFilter.NameFilter.MatchCriterion.SetValue(ENMatchCriterion.mcStartsWith) 'Set field value for Name AccountQueryRq.ORAccountListQuery.AccountListFilter.ORNameFilter.NameFilter.Name.SetValue("ab") End If if (ORNameFilterElementType467 == "NameRangeFilter") then 'Set field value for FromName AccountQueryRq.ORAccountListQuery.AccountListFilter.ORNameFilter.NameRangeFilter.FromName.SetValue("ab") 'Set field value for ToName AccountQueryRq.ORAccountListQuery.AccountListFilter.ORNameFilter.NameRangeFilter.ToName.SetValue("ab") End If 'Set field value for AccountTypeList 'May create more than one of these if needed AccountQueryRq.ORAccountListQuery.AccountListFilter.AccountTypeList.Add(ENAccountTypeList.atlAccountsPayable) Dim ORCurrencyFilterElementType468 as String ORCurrencyFilterElementType468 = "ListIDList" if (ORCurrencyFilterElementType468 == "ListIDList") then 'Set field value for ListIDList 'May create more than one of these if needed AccountQueryRq.ORAccountListQuery.AccountListFilter.CurrencyFilter.ORCurrencyFilter.ListIDList.Add("200000-1011023419") End If if (ORCurrencyFilterElementType468 == "FullNameList") then 'Set field value for FullNameList 'May create more than one of these if needed AccountQueryRq.ORAccountListQuery.AccountListFilter.CurrencyFilter.ORCurrencyFilter.FullNameList.Add("ab") End If End If 'Set field value for IncludeRetElementList 'May create more than one of these if needed AccountQueryRq.IncludeRetElementList.Add("ab") 'Set field value for OwnerIDList 'May create more than one of these if needed AccountQueryRq.OwnerIDList.Add(System.Guid.NewGuid().ToString()) End Sub Public Sub WalkAccountQueryRs( responseMsgSet as IMsgSetResponse) if (responseMsgSet is nothing) then Exit Sub End If Dim responseList as IResponseList responseList = responseMsgSet.ResponseList if (responseList is nothing) then Exit Sub End If 'if we sent only one request, there is only one response, we'll walk the list for this sample for j=0 to responseList.Count-1 Dim response as IResponse response = responseList.GetAt(j) 'check the status code of the response, 0=ok, >0 is warning if (response.StatusCode >= 0) then 'the request-specific response is in the details, make sure we have some if (not response.Detail is nothing) then 'make sure the response is the type we're expecting Dim responseType as ENResponseType responseType = CType(response.Type.GetValue(),ENResponseType) if (responseType == ENResponseType.rtAccountQueryRs) then 'upcast to more specific type here, this is safe because we checked with response.Type check above Dim AccountRet as IAccountRetList AccountRet = CType(response.Detail,IAccountRetList) WalkAccountRet(AccountRet) End If End If End If Next j End Sub Public Sub WalkAccountRet(AccountRet as IAccountRetList) if (AccountRet is nothing) then Exit Sub End If 'Go through all the elements of IAccountRetList 'Get value of ListID Dim ListID469 as String ListID469 = AccountRet.ListID.GetValue() 'Get value of TimeCreated Dim TimeCreated470 as DateTime TimeCreated470 = AccountRet.TimeCreated.GetValue() 'Get value of TimeModified Dim TimeModified471 as DateTime TimeModified471 = AccountRet.TimeModified.GetValue() 'Get value of EditSequence Dim EditSequence472 as String EditSequence472 = AccountRet.EditSequence.GetValue() 'Get value of Name Dim Name473 as String Name473 = AccountRet.Name.GetValue() 'Get value of FullName Dim FullName474 as String FullName474 = AccountRet.FullName.GetValue() 'Get value of IsActive if ( not AccountRet.IsActive is nothing) then Dim IsActive475 as Boolean IsActive475 = AccountRet.IsActive.GetValue() End If if (not AccountRet.ParentRef. is nothing) then 'Get value of ListID if ( not AccountRet.ParentRef.ListID is nothing) then Dim ListID476 as String ListID476 = AccountRet.ParentRef.ListID.GetValue() End If 'Get value of FullName if ( not AccountRet.ParentRef.FullName is nothing) then Dim FullName477 as String FullName477 = AccountRet.ParentRef.FullName.GetValue() End If End If 'Get value of Sublevel Dim Sublevel478 as Integer Sublevel478 = AccountRet.Sublevel.GetValue() 'Get value of AccountType Dim AccountType479 as ENAccountType AccountType479 = AccountRet.AccountType.GetValue() 'Get value of SpecialAccountType if ( not AccountRet.SpecialAccountType is nothing) then Dim SpecialAccountType480 as ENSpecialAccountType SpecialAccountType480 = AccountRet.SpecialAccountType.GetValue() End If 'Get value of IsTaxAccount if ( not AccountRet.IsTaxAccount is nothing) then Dim IsTaxAccount481 as Boolean IsTaxAccount481 = AccountRet.IsTaxAccount.GetValue() End If 'Get value of AccountNumber if ( not AccountRet.AccountNumber is nothing) then Dim AccountNumber482 as String AccountNumber482 = AccountRet.AccountNumber.GetValue() End If 'Get value of BankNumber if ( not AccountRet.BankNumber is nothing) then Dim BankNumber483 as String BankNumber483 = AccountRet.BankNumber.GetValue() End If 'Get value of Desc if ( not AccountRet.Desc is nothing) then Dim Desc484 as String Desc484 = AccountRet.Desc.GetValue() End If 'Get value of Balance if ( not AccountRet.Balance is nothing) then Dim Balance485 as Double Balance485 = AccountRet.Balance.GetValue() End If 'Get value of TotalBalance if ( not AccountRet.TotalBalance is nothing) then Dim TotalBalance486 as Double TotalBalance486 = AccountRet.TotalBalance.GetValue() End If if (not AccountRet.SalesTaxCodeRef. is nothing) then 'Get value of ListID if ( not AccountRet.SalesTaxCodeRef.ListID is nothing) then Dim ListID487 as String ListID487 = AccountRet.SalesTaxCodeRef.ListID.GetValue() End If 'Get value of FullName if ( not AccountRet.SalesTaxCodeRef.FullName is nothing) then Dim FullName488 as String FullName488 = AccountRet.SalesTaxCodeRef.FullName.GetValue() End If End If if (not AccountRet.TaxLineInfoRet. is nothing) then 'Get value of TaxLineID Dim TaxLineID489 as Integer TaxLineID489 = AccountRet.TaxLineInfoRet.TaxLineID.GetValue() 'Get value of TaxLineName if ( not AccountRet.TaxLineInfoRet.TaxLineName is nothing) then Dim TaxLineName490 as String TaxLineName490 = AccountRet.TaxLineInfoRet.TaxLineName.GetValue() End If End If 'Get value of CashFlowClassification if ( not AccountRet.CashFlowClassification is nothing) then Dim CashFlowClassification491 as ENCashFlowClassification CashFlowClassification491 = AccountRet.CashFlowClassification.GetValue() End If if (not AccountRet.CurrencyRef. is nothing) then 'Get value of ListID if ( not AccountRet.CurrencyRef.ListID is nothing) then Dim ListID492 as String ListID492 = AccountRet.CurrencyRef.ListID.GetValue() End If 'Get value of FullName if ( not AccountRet.CurrencyRef.FullName is nothing) then Dim FullName493 as String FullName493 = AccountRet.CurrencyRef.FullName.GetValue() End If End If if (not AccountRet.DataExtRetList is nothing) Dim i494 as Integer for i494 = 0 to AccountRet.DataExtRetList.Count - 1 Dim DataExtRet as IDataExtRet DataExtRet = AccountRet.DataExtRetList.GetAt(i494) 'Get value of OwnerID if ( not DataExtRetOwnerID is nothing) then Dim OwnerID495 as String OwnerID495 = DataExtRetOwnerID.GetValue() End If 'Get value of DataExtName Dim DataExtName496 as String DataExtName496 = DataExtRetDataExtName.GetValue() 'Get value of DataExtType Dim DataExtType497 as ENDataExtType DataExtType497 = DataExtRetDataExtType.GetValue() 'Get value of DataExtValue Dim DataExtValue498 as String DataExtValue498 = DataExtRetDataExtValue.GetValue() Next i494 End If End Sub End Class End Module |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | //The following sample code is generated as an illustration of //Creating requests and parsing responses ONLY //This code is NOT intended to show best practices or ideal code //Use at your most careful discretion using System; using System.Net; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO; using Interop.QBFC16; namespace com.intuit.idn.samples { public class Sample { public void DoAccountQuery() { bool sessionBegun = false; bool connectionOpen = false; QBSessionManager sessionManager = null; try { //Create the session Manager object sessionManager = new QBSessionManager(); //Create the message set request object to hold our request IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US",16,0); requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue; BuildAccountQueryRq(requestMsgSet); //Connect to QuickBooks and begin a session sessionManager.OpenConnection("","Sample Code from OSR"); connectionOpen = true; sessionManager.BeginSession("", ENOpenMode.omDontCare); sessionBegun = true; //Send the request and get the response from QuickBooks IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet); //End the session and close the connection to QuickBooks sessionManager.EndSession(); sessionBegun = false; sessionManager.CloseConnection(); connectionOpen = false; WalkAccountQueryRs(responseMsgSet); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); if (sessionBegun) { sessionManager.EndSession(); } if (connectionOpen) { sessionManager.CloseConnection(); } } } void BuildAccountQueryRq(IMsgSetRequest requestMsgSet) { IAccountQuery AccountQueryRq= requestMsgSet.AppendAccountQueryRq(); //Set attributes //Set field value for metaData AccountQueryRq.metaData.SetValue("IQBENmetaDataType"); string ORAccountListQueryElementType433 = "ListIDList"; if (ORAccountListQueryElementType433 == "ListIDList") { //Set field value for ListIDList //May create more than one of these if needed AccountQueryRq.ORAccountListQuery.ListIDList.Add("200000-1011023419"); } if (ORAccountListQueryElementType433 == "FullNameList") { //Set field value for FullNameList //May create more than one of these if needed AccountQueryRq.ORAccountListQuery.FullNameList.Add("ab"); } if (ORAccountListQueryElementType433 == "AccountListFilter") { //Set field value for MaxReturned AccountQueryRq.ORAccountListQuery.AccountListFilter.MaxReturned.SetValue(6); //Set field value for ActiveStatus AccountQueryRq.ORAccountListQuery.AccountListFilter.ActiveStatus.SetValue(ENActiveStatus.asActiveOnly [DEFAULT]); //Set field value for FromModifiedDate AccountQueryRq.ORAccountListQuery.AccountListFilter.FromModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false); //Set field value for ToModifiedDate AccountQueryRq.ORAccountListQuery.AccountListFilter.ToModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false); string ORNameFilterElementType434 = "NameFilter"; if (ORNameFilterElementType434 == "NameFilter") { //Set field value for MatchCriterion AccountQueryRq.ORAccountListQuery.AccountListFilter.ORNameFilter.NameFilter.MatchCriterion.SetValue(ENMatchCriterion.mcStartsWith); //Set field value for Name AccountQueryRq.ORAccountListQuery.AccountListFilter.ORNameFilter.NameFilter.Name.SetValue("ab"); } if (ORNameFilterElementType434 == "NameRangeFilter") { //Set field value for FromName AccountQueryRq.ORAccountListQuery.AccountListFilter.ORNameFilter.NameRangeFilter.FromName.SetValue("ab"); //Set field value for ToName AccountQueryRq.ORAccountListQuery.AccountListFilter.ORNameFilter.NameRangeFilter.ToName.SetValue("ab"); } //Set field value for AccountTypeList //May create more than one of these if needed AccountQueryRq.ORAccountListQuery.AccountListFilter.AccountTypeList.Add(ENAccountTypeList.atlAccountsPayable); string ORCurrencyFilterElementType435 = "ListIDList"; if (ORCurrencyFilterElementType435 == "ListIDList") { //Set field value for ListIDList //May create more than one of these if needed AccountQueryRq.ORAccountListQuery.AccountListFilter.CurrencyFilter.ORCurrencyFilter.ListIDList.Add("200000-1011023419"); } if (ORCurrencyFilterElementType435 == "FullNameList") { //Set field value for FullNameList //May create more than one of these if needed AccountQueryRq.ORAccountListQuery.AccountListFilter.CurrencyFilter.ORCurrencyFilter.FullNameList.Add("ab"); } } //Set field value for IncludeRetElementList //May create more than one of these if needed AccountQueryRq.IncludeRetElementList.Add("ab"); //Set field value for OwnerIDList //May create more than one of these if needed AccountQueryRq.OwnerIDList.Add(Guid.NewGuid().ToString()); } void WalkAccountQueryRs(IMsgSetResponse responseMsgSet) { if (responseMsgSet == null) return; IResponseList responseList = responseMsgSet.ResponseList; if (responseList == null) return; //if we sent only one request, there is only one response, we'll walk the list for this sample for(int i=0; i < responseList.Count; i++) { IResponse response = responseList.GetAt(i); //check the status code of the response, 0=ok, >0 is warning if (response.StatusCode >= 0) { //the request-specific response is in the details, make sure we have some if (response.Detail != null) { //make sure the response is the type we're expecting ENResponseType responseType = (ENResponseType)response.Type.GetValue(); if (responseType == ENResponseType.rtAccountQueryRs) { //upcast to more specific type here, this is safe because we checked with response.Type check above IAccountRetList AccountRet = (IAccountRetList)response.Detail; WalkAccountRet(AccountRet); } } } } } void WalkAccountRet(IAccountRetList AccountRet) { if (AccountRet == null) return; //Go through all the elements of IAccountRetList //Get value of ListID string ListID436 = (string)AccountRet.ListID.GetValue(); //Get value of TimeCreated DateTime TimeCreated437 = (DateTime)AccountRet.TimeCreated.GetValue(); //Get value of TimeModified DateTime TimeModified438 = (DateTime)AccountRet.TimeModified.GetValue(); //Get value of EditSequence string EditSequence439 = (string)AccountRet.EditSequence.GetValue(); //Get value of Name string Name440 = (string)AccountRet.Name.GetValue(); //Get value of FullName string FullName441 = (string)AccountRet.FullName.GetValue(); //Get value of IsActive if (AccountRet.IsActive != null) { bool IsActive442 = (bool)AccountRet.IsActive.GetValue(); } if (AccountRet.ParentRef != null) { //Get value of ListID if (AccountRet.ParentRef.ListID != null) { string ListID443 = (string)AccountRet.ParentRef.ListID.GetValue(); } //Get value of FullName if (AccountRet.ParentRef.FullName != null) { string FullName444 = (string)AccountRet.ParentRef.FullName.GetValue(); } } //Get value of Sublevel int Sublevel445 = (int)AccountRet.Sublevel.GetValue(); //Get value of AccountType ENAccountType AccountType446 = (ENAccountType)AccountRet.AccountType.GetValue(); //Get value of SpecialAccountType if (AccountRet.SpecialAccountType != null) { ENSpecialAccountType SpecialAccountType447 = (ENSpecialAccountType)AccountRet.SpecialAccountType.GetValue(); } //Get value of IsTaxAccount if (AccountRet.IsTaxAccount != null) { bool IsTaxAccount448 = (bool)AccountRet.IsTaxAccount.GetValue(); } //Get value of AccountNumber if (AccountRet.AccountNumber != null) { string AccountNumber449 = (string)AccountRet.AccountNumber.GetValue(); } //Get value of BankNumber if (AccountRet.BankNumber != null) { string BankNumber450 = (string)AccountRet.BankNumber.GetValue(); } //Get value of Desc if (AccountRet.Desc != null) { string Desc451 = (string)AccountRet.Desc.GetValue(); } //Get value of Balance if (AccountRet.Balance != null) { double Balance452 = (double)AccountRet.Balance.GetValue(); } //Get value of TotalBalance if (AccountRet.TotalBalance != null) { double TotalBalance453 = (double)AccountRet.TotalBalance.GetValue(); } if (AccountRet.SalesTaxCodeRef != null) { //Get value of ListID if (AccountRet.SalesTaxCodeRef.ListID != null) { string ListID454 = (string)AccountRet.SalesTaxCodeRef.ListID.GetValue(); } //Get value of FullName if (AccountRet.SalesTaxCodeRef.FullName != null) { string FullName455 = (string)AccountRet.SalesTaxCodeRef.FullName.GetValue(); } } if (AccountRet.TaxLineInfoRet != null) { //Get value of TaxLineID int TaxLineID456 = (int)AccountRet.TaxLineInfoRet.TaxLineID.GetValue(); //Get value of TaxLineName if (AccountRet.TaxLineInfoRet.TaxLineName != null) { string TaxLineName457 = (string)AccountRet.TaxLineInfoRet.TaxLineName.GetValue(); } } //Get value of CashFlowClassification if (AccountRet.CashFlowClassification != null) { ENCashFlowClassification CashFlowClassification458 = (ENCashFlowClassification)AccountRet.CashFlowClassification.GetValue(); } if (AccountRet.CurrencyRef != null) { //Get value of ListID if (AccountRet.CurrencyRef.ListID != null) { string ListID459 = (string)AccountRet.CurrencyRef.ListID.GetValue(); } //Get value of FullName if (AccountRet.CurrencyRef.FullName != null) { string FullName460 = (string)AccountRet.CurrencyRef.FullName.GetValue(); } } if (AccountRet.DataExtRetList != null) { for (int i461 = 0; i461 < AccountRet.DataExtRetList.Count; i461++) { IDataExtRet DataExtRet = AccountRet.DataExtRetList.GetAt(i461); //Get value of OwnerID if (DataExtRet.OwnerID != null) { string OwnerID462 = (string)DataExtRet.OwnerID.GetValue(); } //Get value of DataExtName string DataExtName463 = (string)DataExtRet.DataExtName.GetValue(); //Get value of DataExtType ENDataExtType DataExtType464 = (ENDataExtType)DataExtRet.DataExtType.GetValue(); //Get value of DataExtValue string DataExtValue465 = (string)DataExtRet.DataExtValue.GetValue(); } } } } } |