Queries for the specified inventory item or set of items. Notice that certain modifications to the item can be caused by other transactions, such as ItemReceipts where the item’s on hand quantity is increased. Modifications through these transactions do not result in changing the TimeModified stamp (only the Mod operation will do that), but those changes will be detected when you use the FromModifiedDate/ToModifiedDate filters in your query. Notice that you cannot get an inventory asset value from QuickBooks using this query. Instead, you need to use the General Summary Report query (which currently doesn’t include Assembly Items). Suppose you needed a way to search for the amount on hand of items that have had their amount changed since a certain date. Again, you would not use this query, but a GeneralDetailReportQuery that has its GeneralDetailReportType set to “InventoryValuationDetail.” This will tell you which items changed by how much. Also, suppose you wanted the on-hand quantity from QB as of a specific date. You would use a General Summary Report of the type Inventory Valuation Summary. (Again, this report doesn’t include Inventory Assemblies.)
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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | <?xml version="1.0" encoding="utf-8"?> <?qbxml version="16.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <ItemInventoryQueryRq metaData="ENUMTYPE" iterator="ENUMTYPE" iteratorID="UUIDTYPE"> <!-- 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 --> <ClassFilter> <!-- optional --> <!-- BEGIN OR --> <ListID >IDTYPE</ListID> <!-- optional, may repeat --> <!-- OR --> <FullName >STRTYPE</FullName> <!-- optional, may repeat --> <!-- OR --> <ListIDWithChildren >IDTYPE</ListIDWithChildren> <!-- optional --> <!-- OR --> <FullNameWithChildren >STRTYPE</FullNameWithChildren> <!-- optional --> <!-- END OR --> </ClassFilter> <!-- END OR --> <IncludeRetElement >STRTYPE</IncludeRetElement> <!-- optional, may repeat --> <OwnerID >GUIDTYPE</OwnerID> <!-- optional, may repeat --> </ItemInventoryQueryRq> <ItemInventoryQueryRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE" retCount="INTTYPE" iteratorRemainingCount="INTTYPE" iteratorID="UUIDTYPE"> <ItemInventoryRet> <!-- 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 --> <BarCodeValue >STRTYPE</BarCodeValue> <!-- optional --> <IsActive >BOOLTYPE</IsActive> <!-- optional --> <ClassRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </ClassRef> <ParentRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </ParentRef> <Sublevel >INTTYPE</Sublevel> <!-- required --> <ManufacturerPartNumber >STRTYPE</ManufacturerPartNumber> <!-- optional --> <UnitOfMeasureSetRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </UnitOfMeasureSetRef> <IsTaxIncluded >BOOLTYPE</IsTaxIncluded> <!-- optional --> <SalesTaxCodeRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </SalesTaxCodeRef> <SalesDesc >STRTYPE</SalesDesc> <!-- optional --> <SalesPrice >PRICETYPE</SalesPrice> <!-- optional --> <IncomeAccountRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </IncomeAccountRef> <PurchaseDesc >STRTYPE</PurchaseDesc> <!-- optional --> <PurchaseCost >PRICETYPE</PurchaseCost> <!-- optional --> <PurchaseTaxCodeRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </PurchaseTaxCodeRef> <COGSAccountRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </COGSAccountRef> <PrefVendorRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </PrefVendorRef> <AssetAccountRef> <!-- optional --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </AssetAccountRef> <ReorderPoint >QUANTYPE</ReorderPoint> <!-- optional --> <Max >QUANTYPE</Max> <!-- optional --> <QuantityOnHand >QUANTYPE</QuantityOnHand> <!-- optional --> <AverageCost >PRICETYPE</AverageCost> <!-- optional --> <QuantityOnOrder >QUANTYPE</QuantityOnOrder> <!-- optional --> <QuantityOnSalesOrder >QUANTYPE</QuantityOnSalesOrder> <!-- optional --> <ExternalGUID >GUIDTYPE</ExternalGUID> <!-- optional --> <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> </ItemInventoryRet> </ItemInventoryQueryRs> </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 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 | '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 DoItemInventoryQuery() 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 BuildItemInventoryQueryRq(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 WalkItemInventoryQueryRs(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 BuildItemInventoryQueryRq(requestMsgSet as IMsgSetRequest) Dim ItemInventoryQueryRq as IItemInventoryQuery ItemInventoryQueryRq= requestMsgSet.AppendItemInventoryQueryRq() Dim ORListQueryWithOwnerIDAndClassElementType13321 as String ORListQueryWithOwnerIDAndClassElementType13321 = "ListIDList" if (ORListQueryWithOwnerIDAndClassElementType13321 == "ListIDList") then 'Set field value for ListIDList 'May create more than one of these if needed ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListIDList.Add("200000-1011023419") End If if (ORListQueryWithOwnerIDAndClassElementType13321 == "FullNameList") then 'Set field value for FullNameList 'May create more than one of these if needed ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.FullNameList.Add("ab") End If if (ORListQueryWithOwnerIDAndClassElementType13321 == "ListWithClassFilter") then 'Set field value for MaxReturned ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.MaxReturned.SetValue(6) 'Set field value for ActiveStatus ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ActiveStatus.SetValue(ENActiveStatus.asActiveOnly [DEFAULT]) 'Set field value for FromModifiedDate ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.FromModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false) 'Set field value for ToModifiedDate ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ToModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false) Dim ORNameFilterElementType13322 as String ORNameFilterElementType13322 = "NameFilter" if (ORNameFilterElementType13322 == "NameFilter") then 'Set field value for MatchCriterion ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ORNameFilter.NameFilter.MatchCriterion.SetValue(ENMatchCriterion.mcStartsWith) 'Set field value for Name ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ORNameFilter.NameFilter.Name.SetValue("ab") End If if (ORNameFilterElementType13322 == "NameRangeFilter") then 'Set field value for FromName ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ORNameFilter.NameRangeFilter.FromName.SetValue("ab") 'Set field value for ToName ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ORNameFilter.NameRangeFilter.ToName.SetValue("ab") End If Dim ORClassFilterElementType13323 as String ORClassFilterElementType13323 = "ListIDList" if (ORClassFilterElementType13323 == "ListIDList") then 'Set field value for ListIDList 'May create more than one of these if needed ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ClassFilter.ORClassFilter.ListIDList.Add("200000-1011023419") End If if (ORClassFilterElementType13323 == "FullNameList") then 'Set field value for FullNameList 'May create more than one of these if needed ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ClassFilter.ORClassFilter.FullNameList.Add("ab") End If if (ORClassFilterElementType13323 == "ListIDWithChildren") then 'Set field value for ListIDWithChildren ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ClassFilter.ORClassFilter.ListIDWithChildren.SetValue("200000-1011023419") End If if (ORClassFilterElementType13323 == "FullNameWithChildren") then 'Set field value for FullNameWithChildren ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ClassFilter.ORClassFilter.FullNameWithChildren.SetValue("ab") End If End If 'Set field value for IncludeRetElementList 'May create more than one of these if needed ItemInventoryQueryRq.IncludeRetElementList.Add("ab") 'Set field value for OwnerIDList 'May create more than one of these if needed ItemInventoryQueryRq.OwnerIDList.Add(System.Guid.NewGuid().ToString()) End Sub Public Sub WalkItemInventoryQueryRs( 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.rtItemInventoryQueryRs) then 'upcast to more specific type here, this is safe because we checked with response.Type check above Dim ItemInventoryRet as IItemInventoryRetList ItemInventoryRet = CType(response.Detail,IItemInventoryRetList) WalkItemInventoryRet(ItemInventoryRet) End If End If End If Next j End Sub Public Sub WalkItemInventoryRet(ItemInventoryRet as IItemInventoryRetList) if (ItemInventoryRet is nothing) then Exit Sub End If 'Go through all the elements of IItemInventoryRetList 'Get value of ListID Dim ListID13324 as String ListID13324 = ItemInventoryRet.ListID.GetValue() 'Get value of TimeCreated Dim TimeCreated13325 as DateTime TimeCreated13325 = ItemInventoryRet.TimeCreated.GetValue() 'Get value of TimeModified Dim TimeModified13326 as DateTime TimeModified13326 = ItemInventoryRet.TimeModified.GetValue() 'Get value of EditSequence Dim EditSequence13327 as String EditSequence13327 = ItemInventoryRet.EditSequence.GetValue() 'Get value of Name Dim Name13328 as String Name13328 = ItemInventoryRet.Name.GetValue() 'Get value of FullName Dim FullName13329 as String FullName13329 = ItemInventoryRet.FullName.GetValue() 'Get value of BarCodeValue if ( not ItemInventoryRet.BarCodeValue is nothing) then Dim BarCodeValue13330 as String BarCodeValue13330 = ItemInventoryRet.BarCodeValue.GetValue() End If 'Get value of IsActive if ( not ItemInventoryRet.IsActive is nothing) then Dim IsActive13331 as Boolean IsActive13331 = ItemInventoryRet.IsActive.GetValue() End If if (not ItemInventoryRet.ClassRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.ClassRef.ListID is nothing) then Dim ListID13332 as String ListID13332 = ItemInventoryRet.ClassRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.ClassRef.FullName is nothing) then Dim FullName13333 as String FullName13333 = ItemInventoryRet.ClassRef.FullName.GetValue() End If End If if (not ItemInventoryRet.ParentRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.ParentRef.ListID is nothing) then Dim ListID13334 as String ListID13334 = ItemInventoryRet.ParentRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.ParentRef.FullName is nothing) then Dim FullName13335 as String FullName13335 = ItemInventoryRet.ParentRef.FullName.GetValue() End If End If 'Get value of Sublevel Dim Sublevel13336 as Integer Sublevel13336 = ItemInventoryRet.Sublevel.GetValue() 'Get value of ManufacturerPartNumber if ( not ItemInventoryRet.ManufacturerPartNumber is nothing) then Dim ManufacturerPartNumber13337 as String ManufacturerPartNumber13337 = ItemInventoryRet.ManufacturerPartNumber.GetValue() End If if (not ItemInventoryRet.UnitOfMeasureSetRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.UnitOfMeasureSetRef.ListID is nothing) then Dim ListID13338 as String ListID13338 = ItemInventoryRet.UnitOfMeasureSetRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.UnitOfMeasureSetRef.FullName is nothing) then Dim FullName13339 as String FullName13339 = ItemInventoryRet.UnitOfMeasureSetRef.FullName.GetValue() End If End If 'Get value of IsTaxIncluded if ( not ItemInventoryRet.IsTaxIncluded is nothing) then Dim IsTaxIncluded13340 as Boolean IsTaxIncluded13340 = ItemInventoryRet.IsTaxIncluded.GetValue() End If if (not ItemInventoryRet.SalesTaxCodeRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.SalesTaxCodeRef.ListID is nothing) then Dim ListID13341 as String ListID13341 = ItemInventoryRet.SalesTaxCodeRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.SalesTaxCodeRef.FullName is nothing) then Dim FullName13342 as String FullName13342 = ItemInventoryRet.SalesTaxCodeRef.FullName.GetValue() End If End If 'Get value of SalesDesc if ( not ItemInventoryRet.SalesDesc is nothing) then Dim SalesDesc13343 as String SalesDesc13343 = ItemInventoryRet.SalesDesc.GetValue() End If 'Get value of SalesPrice if ( not ItemInventoryRet.SalesPrice is nothing) then Dim SalesPrice13344 as Double SalesPrice13344 = ItemInventoryRet.SalesPrice.GetValue() End If if (not ItemInventoryRet.IncomeAccountRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.IncomeAccountRef.ListID is nothing) then Dim ListID13345 as String ListID13345 = ItemInventoryRet.IncomeAccountRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.IncomeAccountRef.FullName is nothing) then Dim FullName13346 as String FullName13346 = ItemInventoryRet.IncomeAccountRef.FullName.GetValue() End If End If 'Get value of PurchaseDesc if ( not ItemInventoryRet.PurchaseDesc is nothing) then Dim PurchaseDesc13347 as String PurchaseDesc13347 = ItemInventoryRet.PurchaseDesc.GetValue() End If 'Get value of PurchaseCost if ( not ItemInventoryRet.PurchaseCost is nothing) then Dim PurchaseCost13348 as Double PurchaseCost13348 = ItemInventoryRet.PurchaseCost.GetValue() End If if (not ItemInventoryRet.PurchaseTaxCodeRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.PurchaseTaxCodeRef.ListID is nothing) then Dim ListID13349 as String ListID13349 = ItemInventoryRet.PurchaseTaxCodeRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.PurchaseTaxCodeRef.FullName is nothing) then Dim FullName13350 as String FullName13350 = ItemInventoryRet.PurchaseTaxCodeRef.FullName.GetValue() End If End If if (not ItemInventoryRet.COGSAccountRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.COGSAccountRef.ListID is nothing) then Dim ListID13351 as String ListID13351 = ItemInventoryRet.COGSAccountRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.COGSAccountRef.FullName is nothing) then Dim FullName13352 as String FullName13352 = ItemInventoryRet.COGSAccountRef.FullName.GetValue() End If End If if (not ItemInventoryRet.PrefVendorRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.PrefVendorRef.ListID is nothing) then Dim ListID13353 as String ListID13353 = ItemInventoryRet.PrefVendorRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.PrefVendorRef.FullName is nothing) then Dim FullName13354 as String FullName13354 = ItemInventoryRet.PrefVendorRef.FullName.GetValue() End If End If if (not ItemInventoryRet.AssetAccountRef. is nothing) then 'Get value of ListID if ( not ItemInventoryRet.AssetAccountRef.ListID is nothing) then Dim ListID13355 as String ListID13355 = ItemInventoryRet.AssetAccountRef.ListID.GetValue() End If 'Get value of FullName if ( not ItemInventoryRet.AssetAccountRef.FullName is nothing) then Dim FullName13356 as String FullName13356 = ItemInventoryRet.AssetAccountRef.FullName.GetValue() End If End If 'Get value of ReorderPoint if ( not ItemInventoryRet.ReorderPoint is nothing) then Dim ReorderPoint13357 as Integer ReorderPoint13357 = ItemInventoryRet.ReorderPoint.GetValue() End If 'Get value of Max if ( not ItemInventoryRet.Max is nothing) then Dim Max13358 as Integer Max13358 = ItemInventoryRet.Max.GetValue() End If 'Get value of QuantityOnHand if ( not ItemInventoryRet.QuantityOnHand is nothing) then Dim QuantityOnHand13359 as Integer QuantityOnHand13359 = ItemInventoryRet.QuantityOnHand.GetValue() End If 'Get value of AverageCost if ( not ItemInventoryRet.AverageCost is nothing) then Dim AverageCost13360 as Double AverageCost13360 = ItemInventoryRet.AverageCost.GetValue() End If 'Get value of QuantityOnOrder if ( not ItemInventoryRet.QuantityOnOrder is nothing) then Dim QuantityOnOrder13361 as Integer QuantityOnOrder13361 = ItemInventoryRet.QuantityOnOrder.GetValue() End If 'Get value of QuantityOnSalesOrder if ( not ItemInventoryRet.QuantityOnSalesOrder is nothing) then Dim QuantityOnSalesOrder13362 as Integer QuantityOnSalesOrder13362 = ItemInventoryRet.QuantityOnSalesOrder.GetValue() End If 'Get value of ExternalGUID if ( not ItemInventoryRet.ExternalGUID is nothing) then Dim ExternalGUID13363 as String ExternalGUID13363 = ItemInventoryRet.ExternalGUID.GetValue() End If if (not ItemInventoryRet.DataExtRetList is nothing) Dim i13364 as Integer for i13364 = 0 to ItemInventoryRet.DataExtRetList.Count - 1 Dim DataExtRet as IDataExtRet DataExtRet = ItemInventoryRet.DataExtRetList.GetAt(i13364) 'Get value of OwnerID if ( not DataExtRetOwnerID is nothing) then Dim OwnerID13365 as String OwnerID13365 = DataExtRetOwnerID.GetValue() End If 'Get value of DataExtName Dim DataExtName13366 as String DataExtName13366 = DataExtRetDataExtName.GetValue() 'Get value of DataExtType Dim DataExtType13367 as ENDataExtType DataExtType13367 = DataExtRetDataExtType.GetValue() 'Get value of DataExtValue Dim DataExtValue13368 as String DataExtValue13368 = DataExtRetDataExtValue.GetValue() Next i13364 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 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | //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 DoItemInventoryQuery() { 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; BuildItemInventoryQueryRq(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; WalkItemInventoryQueryRs(responseMsgSet); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); if (sessionBegun) { sessionManager.EndSession(); } if (connectionOpen) { sessionManager.CloseConnection(); } } } void BuildItemInventoryQueryRq(IMsgSetRequest requestMsgSet) { IItemInventoryQuery ItemInventoryQueryRq= requestMsgSet.AppendItemInventoryQueryRq(); //Set attributes //Set field value for metaData ItemInventoryQueryRq.metaData.SetValue("IQBENmetaDataType"); //Set field value for iterator ItemInventoryQueryRq.iterator.SetValue("IQBENiteratorType"); //Set field value for iteratorID ItemInventoryQueryRq.iteratorID.SetValue("IQBUUIDType"); string ORListQueryWithOwnerIDAndClassElementType13273 = "ListIDList"; if (ORListQueryWithOwnerIDAndClassElementType13273 == "ListIDList") { //Set field value for ListIDList //May create more than one of these if needed ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListIDList.Add("200000-1011023419"); } if (ORListQueryWithOwnerIDAndClassElementType13273 == "FullNameList") { //Set field value for FullNameList //May create more than one of these if needed ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.FullNameList.Add("ab"); } if (ORListQueryWithOwnerIDAndClassElementType13273 == "ListWithClassFilter") { //Set field value for MaxReturned ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.MaxReturned.SetValue(6); //Set field value for ActiveStatus ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ActiveStatus.SetValue(ENActiveStatus.asActiveOnly [DEFAULT]); //Set field value for FromModifiedDate ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.FromModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false); //Set field value for ToModifiedDate ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ToModifiedDate.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false); string ORNameFilterElementType13274 = "NameFilter"; if (ORNameFilterElementType13274 == "NameFilter") { //Set field value for MatchCriterion ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ORNameFilter.NameFilter.MatchCriterion.SetValue(ENMatchCriterion.mcStartsWith); //Set field value for Name ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ORNameFilter.NameFilter.Name.SetValue("ab"); } if (ORNameFilterElementType13274 == "NameRangeFilter") { //Set field value for FromName ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ORNameFilter.NameRangeFilter.FromName.SetValue("ab"); //Set field value for ToName ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ORNameFilter.NameRangeFilter.ToName.SetValue("ab"); } string ORClassFilterElementType13275 = "ListIDList"; if (ORClassFilterElementType13275 == "ListIDList") { //Set field value for ListIDList //May create more than one of these if needed ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ClassFilter.ORClassFilter.ListIDList.Add("200000-1011023419"); } if (ORClassFilterElementType13275 == "FullNameList") { //Set field value for FullNameList //May create more than one of these if needed ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ClassFilter.ORClassFilter.FullNameList.Add("ab"); } if (ORClassFilterElementType13275 == "ListIDWithChildren") { //Set field value for ListIDWithChildren ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ClassFilter.ORClassFilter.ListIDWithChildren.SetValue("200000-1011023419"); } if (ORClassFilterElementType13275 == "FullNameWithChildren") { //Set field value for FullNameWithChildren ItemInventoryQueryRq.ORListQueryWithOwnerIDAndClass.ListWithClassFilter.ClassFilter.ORClassFilter.FullNameWithChildren.SetValue("ab"); } } //Set field value for IncludeRetElementList //May create more than one of these if needed ItemInventoryQueryRq.IncludeRetElementList.Add("ab"); //Set field value for OwnerIDList //May create more than one of these if needed ItemInventoryQueryRq.OwnerIDList.Add(Guid.NewGuid().ToString()); } void WalkItemInventoryQueryRs(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.rtItemInventoryQueryRs) { //upcast to more specific type here, this is safe because we checked with response.Type check above IItemInventoryRetList ItemInventoryRet = (IItemInventoryRetList)response.Detail; WalkItemInventoryRet(ItemInventoryRet); } } } } } void WalkItemInventoryRet(IItemInventoryRetList ItemInventoryRet) { if (ItemInventoryRet == null) return; //Go through all the elements of IItemInventoryRetList //Get value of ListID string ListID13276 = (string)ItemInventoryRet.ListID.GetValue(); //Get value of TimeCreated DateTime TimeCreated13277 = (DateTime)ItemInventoryRet.TimeCreated.GetValue(); //Get value of TimeModified DateTime TimeModified13278 = (DateTime)ItemInventoryRet.TimeModified.GetValue(); //Get value of EditSequence string EditSequence13279 = (string)ItemInventoryRet.EditSequence.GetValue(); //Get value of Name string Name13280 = (string)ItemInventoryRet.Name.GetValue(); //Get value of FullName string FullName13281 = (string)ItemInventoryRet.FullName.GetValue(); //Get value of BarCodeValue if (ItemInventoryRet.BarCodeValue != null) { string BarCodeValue13282 = (string)ItemInventoryRet.BarCodeValue.GetValue(); } //Get value of IsActive if (ItemInventoryRet.IsActive != null) { bool IsActive13283 = (bool)ItemInventoryRet.IsActive.GetValue(); } if (ItemInventoryRet.ClassRef != null) { //Get value of ListID if (ItemInventoryRet.ClassRef.ListID != null) { string ListID13284 = (string)ItemInventoryRet.ClassRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.ClassRef.FullName != null) { string FullName13285 = (string)ItemInventoryRet.ClassRef.FullName.GetValue(); } } if (ItemInventoryRet.ParentRef != null) { //Get value of ListID if (ItemInventoryRet.ParentRef.ListID != null) { string ListID13286 = (string)ItemInventoryRet.ParentRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.ParentRef.FullName != null) { string FullName13287 = (string)ItemInventoryRet.ParentRef.FullName.GetValue(); } } //Get value of Sublevel int Sublevel13288 = (int)ItemInventoryRet.Sublevel.GetValue(); //Get value of ManufacturerPartNumber if (ItemInventoryRet.ManufacturerPartNumber != null) { string ManufacturerPartNumber13289 = (string)ItemInventoryRet.ManufacturerPartNumber.GetValue(); } if (ItemInventoryRet.UnitOfMeasureSetRef != null) { //Get value of ListID if (ItemInventoryRet.UnitOfMeasureSetRef.ListID != null) { string ListID13290 = (string)ItemInventoryRet.UnitOfMeasureSetRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.UnitOfMeasureSetRef.FullName != null) { string FullName13291 = (string)ItemInventoryRet.UnitOfMeasureSetRef.FullName.GetValue(); } } //Get value of IsTaxIncluded if (ItemInventoryRet.IsTaxIncluded != null) { bool IsTaxIncluded13292 = (bool)ItemInventoryRet.IsTaxIncluded.GetValue(); } if (ItemInventoryRet.SalesTaxCodeRef != null) { //Get value of ListID if (ItemInventoryRet.SalesTaxCodeRef.ListID != null) { string ListID13293 = (string)ItemInventoryRet.SalesTaxCodeRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.SalesTaxCodeRef.FullName != null) { string FullName13294 = (string)ItemInventoryRet.SalesTaxCodeRef.FullName.GetValue(); } } //Get value of SalesDesc if (ItemInventoryRet.SalesDesc != null) { string SalesDesc13295 = (string)ItemInventoryRet.SalesDesc.GetValue(); } //Get value of SalesPrice if (ItemInventoryRet.SalesPrice != null) { double SalesPrice13296 = (double)ItemInventoryRet.SalesPrice.GetValue(); } if (ItemInventoryRet.IncomeAccountRef != null) { //Get value of ListID if (ItemInventoryRet.IncomeAccountRef.ListID != null) { string ListID13297 = (string)ItemInventoryRet.IncomeAccountRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.IncomeAccountRef.FullName != null) { string FullName13298 = (string)ItemInventoryRet.IncomeAccountRef.FullName.GetValue(); } } //Get value of PurchaseDesc if (ItemInventoryRet.PurchaseDesc != null) { string PurchaseDesc13299 = (string)ItemInventoryRet.PurchaseDesc.GetValue(); } //Get value of PurchaseCost if (ItemInventoryRet.PurchaseCost != null) { double PurchaseCost13300 = (double)ItemInventoryRet.PurchaseCost.GetValue(); } if (ItemInventoryRet.PurchaseTaxCodeRef != null) { //Get value of ListID if (ItemInventoryRet.PurchaseTaxCodeRef.ListID != null) { string ListID13301 = (string)ItemInventoryRet.PurchaseTaxCodeRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.PurchaseTaxCodeRef.FullName != null) { string FullName13302 = (string)ItemInventoryRet.PurchaseTaxCodeRef.FullName.GetValue(); } } if (ItemInventoryRet.COGSAccountRef != null) { //Get value of ListID if (ItemInventoryRet.COGSAccountRef.ListID != null) { string ListID13303 = (string)ItemInventoryRet.COGSAccountRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.COGSAccountRef.FullName != null) { string FullName13304 = (string)ItemInventoryRet.COGSAccountRef.FullName.GetValue(); } } if (ItemInventoryRet.PrefVendorRef != null) { //Get value of ListID if (ItemInventoryRet.PrefVendorRef.ListID != null) { string ListID13305 = (string)ItemInventoryRet.PrefVendorRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.PrefVendorRef.FullName != null) { string FullName13306 = (string)ItemInventoryRet.PrefVendorRef.FullName.GetValue(); } } if (ItemInventoryRet.AssetAccountRef != null) { //Get value of ListID if (ItemInventoryRet.AssetAccountRef.ListID != null) { string ListID13307 = (string)ItemInventoryRet.AssetAccountRef.ListID.GetValue(); } //Get value of FullName if (ItemInventoryRet.AssetAccountRef.FullName != null) { string FullName13308 = (string)ItemInventoryRet.AssetAccountRef.FullName.GetValue(); } } //Get value of ReorderPoint if (ItemInventoryRet.ReorderPoint != null) { int ReorderPoint13309 = (int)ItemInventoryRet.ReorderPoint.GetValue(); } //Get value of Max if (ItemInventoryRet.Max != null) { int Max13310 = (int)ItemInventoryRet.Max.GetValue(); } //Get value of QuantityOnHand if (ItemInventoryRet.QuantityOnHand != null) { int QuantityOnHand13311 = (int)ItemInventoryRet.QuantityOnHand.GetValue(); } //Get value of AverageCost if (ItemInventoryRet.AverageCost != null) { double AverageCost13312 = (double)ItemInventoryRet.AverageCost.GetValue(); } //Get value of QuantityOnOrder if (ItemInventoryRet.QuantityOnOrder != null) { int QuantityOnOrder13313 = (int)ItemInventoryRet.QuantityOnOrder.GetValue(); } //Get value of QuantityOnSalesOrder if (ItemInventoryRet.QuantityOnSalesOrder != null) { int QuantityOnSalesOrder13314 = (int)ItemInventoryRet.QuantityOnSalesOrder.GetValue(); } //Get value of ExternalGUID if (ItemInventoryRet.ExternalGUID != null) { string ExternalGUID13315 = (string)ItemInventoryRet.ExternalGUID.GetValue(); } if (ItemInventoryRet.DataExtRetList != null) { for (int i13316 = 0; i13316 < ItemInventoryRet.DataExtRetList.Count; i13316++) { IDataExtRet DataExtRet = ItemInventoryRet.DataExtRetList.GetAt(i13316); //Get value of OwnerID if (DataExtRet.OwnerID != null) { string OwnerID13317 = (string)DataExtRet.OwnerID.GetValue(); } //Get value of DataExtName string DataExtName13318 = (string)DataExtRet.DataExtName.GetValue(); //Get value of DataExtType ENDataExtType DataExtType13319 = (ENDataExtType)DataExtRet.DataExtType.GetValue(); //Get value of DataExtValue string DataExtValue13320 = (string)DataExtRet.DataExtValue.GetValue(); } } } } } |