InventoryQtyAdjustmentAdd

This provides functionality similar to the New Quantity Memo form displayed in the QBPOS UI when the user selects Inventory->New Quantity Memo. This is used to adjust inventory quantities for shrinkage, donations to charitable organizations, remove items that are unsaleable, or to correct errors. You can adjust quantities for one item or multiple items. Each item for which the quantity is being adjusted must have its own InventoryQtyAdjustmentItemAdd lines added within the InventoryQtyAdjustmentAdd request.


Request

Response

XMLOPS

VB.NET

C#

Tag Type Max length Implementation Required

IInventoryQtyAdjustmentAdd

This provides functionality similar to the New Quantity Memo form displayed in the QBPOS UI when the user selects Inventory->New Quantity Memo. This is used to adjust inventory quantities for shrinkage, donations to charitable organizations, remove items that are unsaleable, or to correct errors. You can adjust quantities for one item or multiple items. Each item for which the quantity is being adjusted must have its own InventoryQtyAdjustmentItemAdd lines added within the InventoryQtyAdjustmentAdd request.
       

defMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

Associate

The employee making the adjustment transaction.
IQBStringType 40 chars    

Comments

The Comment field contains a description of the transaction, for example, why a memo was issued, or why cash was paid out (receipt).
IQBStringType 300 chars    

InventoryAdjustmentSource

The action or functionality that created the adjustment: manually created memo (Manual), physical inventory (Physical), Assembly item (Assembly).
IQBENInventoryAdjustmentSourceType      

QuickBooksFlag

This element is used only if QBPOS is being used with QuickBooks Financial Software. The value here displays the status of data export for a memo: NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), or ERROR (attempting to send the memo to QuickBooks resulted in an error). Values: NotPosted, Completed, Error, UnbilledPurchases No default value.
IQBENQuickBooksFlagType      

Reason

Enter the reason for the adjustment or select from the following predefined reasons: Cycle Count (Cycl Cnt), Vendor Change (Vend Chg), Price Line (Prc Line), End of Season (Seas End), Annual (Annual), Shrinkage (Shrink), Stolen (Stolen), Damaged (Damaged), New Item (New Item).
IQBStringType 8 chars   Y

StoreNumber

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.
IQBIntType      

TxnDate

The date of the transaction. In some cases, if you leave TxnDate out of an -Add message, QuickBooks will prefill TxnDate with the date of the last-saved transaction of the same type.
IQBDateType      

TxnState

Indicates whether the transaction is complete (Normal) or is a “held document” (Held) which means it is not yet finalized. For example, a saved draft pending while awaiting some work or decision.
IQBENTxnStateType   1.1  

Workstation

Workstation from which the transaction was made.
IQBIntType      

InventoryQtyAdjustmentItemAddList

The list of IInventoryCostAdjustmentItemAdd objects (InventoryQtyAdjustment line items) in the request.
IInventoryQtyAdjustmentItemAddList      

(List of IInventoryQtyAdjustmentItemAdd Objects)

       

ListID

The unique ID returned by QBPOS for this object. If supplied in a request, the ListID is a reference to an object required in the request. For example, in a SalesOrder or PurchaseOrder line item, the ListID that is required is an Item list ID.
IQBIDType     Y

useMacro

You use a macro in a request message set if you need to create some object in one request, then refer to it in a subsequent request within that same message set. For example, you could create an inventory item and then include that item as a line item in a sales order all in one request message set, rather than create the item, query for it, then include it in a separate SalesOrderAdd request. In this latter case, you are accessing QBPOS three times, versus only once, using macros. The item to be referenced is specified via the defmacro. The actual reference to that item in the succeeding request is done via the use macro, as follows: ItemInventoryAdd defMacro=”ListID:Inv1” In the above line, you simply replace Inv1 with the name you want to give the macro. When you reference this macro in another request (one that requires that object’s listID) in the same message set, you use this syntax: ListID useMacro=”ListID:Inv1” This is covered in more detail in the Programming Guide.
IQBStringType   2.0  

NewQuantity

The new quantity of the item being adjusted.
IQBQuanType     Y

SerialNumber

Item serial numbers can be recorded in QBPOS for purposes of warranty tracking or meeting legal requirements. Once recorded, former documents can be quickly located by searching by serial number. To use serial number tracking: 1. In inventory, specify those items for which you want to record serial numbers by selecting PROMPT in the Serial # Tracking field. 2. When listing these items on documents (except purchase orders and cost memos), the QBPOS user is prompted to enter a unique serial number for each unit being processed. If listing several items on a document for which you have set the serial number requirement, the user is prompted to enter serial numbers for each unit of each of those items in sequence.
IQBStringType 25 chars    

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars 2.0  

IncludeRetElementList

You can use the IncludeRetElement feature to restrict the data returned in the response to the specified qbposXML field here. If you do this, only those elements specified will be returned. To use this feature, you simply add the qbposXML element name to the IncludeRetElementList. The following example shows how to do this, specifying that only the CreatedBy and ClockOutTime elements are to be returned in the TimeEntryAdd response: Dim MyTimeEntry As ITimeEntryAdd Set MyTimeEntry = requestMsgSet.AppendTimeEntryAddRq MyTimeEntry.IncludeRetElementList.Add “CreatedBy” MyTimeEntry.IncludeRetElementList.Add “ClockOutTime” ‘ set the other properties as desired…
IBSTRList 50 chars 2.0  
Tag Type Max length Implementation Required

IResponse

This provides functionality similar to the New Quantity Memo form displayed in the QBPOS UI when the user selects Inventory->New Quantity Memo. This is used to adjust inventory quantities for shrinkage, donations to charitable organizations, remove items that are unsaleable, or to correct errors. You can adjust quantities for one item or multiple items. Each item for which the quantity is being adjusted must have its own InventoryQtyAdjustmentItemAdd lines added within the InventoryQtyAdjustmentAdd request.
       

StatusCode

A number that corresponds to a statusSeverity and statusMessage. Five status codes relate directly to signon messages: 2000, 2010, 2020, 2030, and 2040. For details about these and other statusCode values that can be returned, see the statusCode table on the Error Codes page.
IQBIntType     Y

StatusSeverity

One of the following values: INFO The request was completed, and the results are consistent with what your application expected. WARNING The request was completed, but the results might not be consistent with what you expected. ERROR The request was not completed. No data will appear in the server’s response after the statusMessage.
IQBStringType     Y

StatusMessage

A user-readable explanation of the success or error condition that is indicated by the statusCode. For details about the statusMessage values that can be returned, see the “Explanation” column of the statusCode table on the Error Codes page.
IQBStringType     Y

Detail

IInventoryQtyAdjustmentRet      

TxnID

QuickBooks generates a unique TxnID for each transaction that is added to QuickBooks. A TxnID returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the TxnID of a TimeTracking transaction to TransactionQueryRq requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window.
IQBIDType      

TimeCreated

The timestamp indicating the time when this object was created in QBPOS.
IQBDateTimeType   1.1  

TimeModified

The time when the object was modified by QBPOS.
IQBDateTimeType      

Associate

The employee making the adjustment transaction.
IQBStringType 40 chars    

Comments

The Comment field contains a description of the transaction, for example, why a memo was issued, or why cash was paid out (receipt).
IQBStringType 300 chars    

CostDifference

Difference in cost for the item. The value displayed is equal to the New Cost minus the Old Cost.
IQBAmountType      

HistoryDocStatus

Indicates the current status of the cost memo created as a result of this request. Status of reversed means that this was an original memo that had to be corrected. Status of reversing means that this memo caused an older memo to be reversed. Status of regular means that the document has been corrected.
IQBENHistoryDocStatusType      

InventoryAdjustmentNumber

The adjustment number for an adjustment is automatically assigned by QBPOS when an adjustment is successfully added to QBPOS.
IQBIntType      

InventoryAdjustmentSource

The action or functionality that created the adjustment: manually created memo (Manual), physical inventory (Physical), Assembly item (Assembly).
IQBENInventoryAdjustmentSourceType      

ItemsCount

The number of line items in the adjustment add request that added the adjustment to QBPOS.
IQBIntType      

NewQuantity

The new quantity of the item being adjusted.
IQBQuanType      

OldQuantity

The quantity of the item prior to the adjustment.
IQBQuanType      

QtyDifference

Difference in quantity for the item. The value displayed is equal to the New Quantity minus the Old Quantity.
IQBQuanType      

QuickBooksFlag

This element is used only if QBPOS is being used with QuickBooks Financial Software. The value here displays the status of data export for a memo: NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), or ERROR (attempting to send the memo to QuickBooks resulted in an error). Values: NotPosted, Completed, Error, UnbilledPurchases No default value.
IQBENQuickBooksFlagType      

Reason

Enter the reason for the adjustment or select from the following predefined reasons: Cycle Count (Cycl Cnt), Vendor Change (Vend Chg), Price Line (Prc Line), End of Season (Seas End), Annual (Annual), Shrinkage (Shrink), Stolen (Stolen), Damaged (Damaged), New Item (New Item).
IQBStringType 8 chars    

StoreExchangeStatus

In multi store configurations, if the customer’s information has changed, this information is updated at the headquarters store. This response field indicates whether the information was successfully updated or not.
IQBENStoreExchangeStatusType      

StoreNumber

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.
IQBIntType      

TxnDate

The date of the transaction. In some cases, if you leave TxnDate out of an -Add message, QuickBooks will prefill TxnDate with the date of the last-saved transaction of the same type.
IQBDateType      

TxnState

Indicates whether the transaction is complete (Normal) or is a “held document” (Held) which means it is not yet finalized. For example, a saved draft pending while awaiting some work or decision.
IQBENTxnStateType   1.1  

Workstation

Workstation from which the transaction was made.
IQBIntType      

InventoryQtyAdjustmentItemRetList

The list of IInventoryCostAdjustmentItemAdd objects (InventoryQtyAdjustment line items) in the request.
IInventoryQtyAdjustmentItemRetList      

(List of IInventoryQtyAdjustmentItemRet Objects)

       

ListID

The unique ID returned by QBPOS for this object. If supplied in a request, the ListID is a reference to an object required in the request. For example, in a SalesOrder or PurchaseOrder line item, the ListID that is required is an Item list ID.
IQBIDType      

NewQuantity

The new quantity of the item being adjusted.
IQBQuanType      

NumberOfBaseUnits

If you use multiple units of measure, rather than a single UOM, you need to select one of the UOMs as the base unit. This base unit should be the smallest unit that you sell by. Inventory quantities are always expressed in terms of this base unit.
IQBQuanType   2.0  

OldQuantity

The quantity of the item prior to the adjustment.
IQBQuanType      

QtyDifference

Difference in quantity for the item. The value displayed is equal to the New Quantity minus the Old Quantity.
IQBQuanType      

SerialNumber

Item serial numbers can be recorded in QBPOS for purposes of warranty tracking or meeting legal requirements. Once recorded, former documents can be quickly located by searching by serial number. To use serial number tracking: 1. In inventory, specify those items for which you want to record serial numbers by selecting PROMPT in the Serial # Tracking field. 2. When listing these items on documents (except purchase orders and cost memos), the QBPOS user is prompted to enter a unique serial number for each unit being processed. If listing several items on a document for which you have set the serial number requirement, the user is prompted to enter serial numbers for each unit of each of those items in sequence.
IQBStringType 25 chars    

UnitOfMeasure

If the company is using only a single unit of measure, this specifies the unit of measure for the item. If the company is using multiple units of measure, this specifies the base unit of measure for the item. Inventory quantities are tracked and reported in terms of this base unit.
IQBStringType 20 chars 2.0  

DataExtRetList

If you specify any custom fields/private data extensions to be returned in the query request (in the OwnerIDList), then this Ret List will contain all of the data extensions that belong to each specified OwnerID. For example, if you specify an OwnerID value of 0 (custom fields), then the query will return all custom data for the returned records.
IDataExtRetList   1.2  

(List of IDataExtRet Objects)

       

OwnerID

OwnerID refers to the owner of a data extension, and must be 0 or a valid GUID. (Custom fields, which are visible in the QuickBooks UI, always have an OwnerID of 0. ) Usually you would keep your application’s GUID confidential to prevent other applications from accessing your data extensions. But if you want to share data extensions with another application, the applications need to use the same GUID. In this case, each application could use two GUIDs, one for shared data extensions and one for confidential data extensions. (An application can have any number of GUIDs.) When you share a data extension with another application, the other application must know both the OwnerID and the DataExtName, as these together form a data extension’s unique name.
IQBGUIDType     Y

DataExtName

The name of the data extension. If this is a custom field, DataExtName will be visible as a label in the QuickBooks user interface. Also because OwnerID and DataExtName together make the data extension unique, and because custom fields all have the same OwnerID of zero, the DataExtName must be a unique value among existing custom fields. In contrast, the DataExtName for private data extensions must be unique only for the specified OwnerID GUID.
IQBStringType     Y

DataExtType

b>DataExtType The type of the data extension.
IQBENDataExtTypeType     Y

DataExtValue

The data in this field. The maximum length of DataExtValue will depend on the DataExtType of this data extension. For example, if DataExtType is STR255TYPE, the maximum length of DataExtValue is 255 characters. If DataExtType is STR1024TYPE, the maximum size of DataExtValue is 1KB.
IQBStringType     Y

 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
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="4.0"?>
<QBPOSXML>
        <QBPOSXMLMsgsRq onError="stopOnError">
                <InventoryQtyAdjustmentAddRq>
                        <InventoryQtyAdjustmentAdd defMacro="MACROTYPE"> <!-- required -->
                                <Associate >STRTYPE</Associate> <!-- optional -->
                                <Comments >STRTYPE</Comments> <!-- optional -->
                                <!-- InventoryAdjustmentSource may have one of the following values: Manual, PhysicalInventory, Assembly -->
                                <InventoryAdjustmentSource >ENUMTYPE</InventoryAdjustmentSource> <!-- optional -->
                                <!-- QuickBooksFlag may have one of the following values: NotPosted, Completed, Error, UnbilledPurchases -->
                                <QuickBooksFlag >ENUMTYPE</QuickBooksFlag> <!-- optional -->
                                <Reason >STRTYPE</Reason> <!-- required -->
                                <StoreNumber >INTTYPE</StoreNumber> <!-- optional -->
                                <TxnDate >DATETYPE</TxnDate> <!-- optional -->
                                <!-- TxnState may have one of the following values: Normal, Held -->
                                <TxnState >ENUMTYPE</TxnState> <!-- optional -->
                                <Workstation >INTTYPE</Workstation> <!-- optional -->
                                <InventoryQtyAdjustmentItemAdd> <!-- optional, may repeat -->
                                        <ListID  useMacro="MACROTYPE">IDTYPE</ListID> <!-- required -->
                                        <NewQuantity >QUANTYPE</NewQuantity> <!-- required -->
                                        <SerialNumber >STRTYPE</SerialNumber> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                </InventoryQtyAdjustmentItemAdd>
                        </InventoryQtyAdjustmentAdd>
                        <IncludeRetElement >STRTYPE</IncludeRetElement> <!-- optional, may repeat -->
                </InventoryQtyAdjustmentAddRq>

                <InventoryQtyAdjustmentAddRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE">
                        <InventoryQtyAdjustmentRet> <!-- optional -->
                                <TxnID >IDTYPE</TxnID> <!-- optional -->
                                <TimeCreated >DATETIMETYPE</TimeCreated> <!-- optional -->
                                <TimeModified >DATETIMETYPE</TimeModified> <!-- optional -->
                                <Associate >STRTYPE</Associate> <!-- optional -->
                                <Comments >STRTYPE</Comments> <!-- optional -->
                                <CostDifference >AMTTYPE</CostDifference> <!-- optional -->
                                <!-- HistoryDocStatus may have one of the following values: Regular, Reversed, Reversing -->
                                <HistoryDocStatus >ENUMTYPE</HistoryDocStatus> <!-- optional -->
                                <InventoryAdjustmentNumber >INTTYPE</InventoryAdjustmentNumber> <!-- optional -->
                                <!-- InventoryAdjustmentSource may have one of the following values: Manual, PhysicalInventory, Assembly -->
                                <InventoryAdjustmentSource >ENUMTYPE</InventoryAdjustmentSource> <!-- optional -->
                                <ItemsCount >INTTYPE</ItemsCount> <!-- optional -->
                                <NewQuantity >QUANTYPE</NewQuantity> <!-- optional -->
                                <OldQuantity >QUANTYPE</OldQuantity> <!-- optional -->
                                <QtyDifference >QUANTYPE</QtyDifference> <!-- optional -->
                                <!-- QuickBooksFlag may have one of the following values: NotPosted, Completed, Error, UnbilledPurchases -->
                                <QuickBooksFlag >ENUMTYPE</QuickBooksFlag> <!-- optional -->
                                <Reason >STRTYPE</Reason> <!-- optional -->
                                <!-- StoreExchangeStatus may have one of the following values: Modified, Sent, Acknowledged -->
                                <StoreExchangeStatus >ENUMTYPE</StoreExchangeStatus> <!-- optional -->
                                <StoreNumber >INTTYPE</StoreNumber> <!-- optional -->
                                <TxnDate >DATETYPE</TxnDate> <!-- optional -->
                                <!-- TxnState may have one of the following values: Normal, Held -->
                                <TxnState >ENUMTYPE</TxnState> <!-- optional -->
                                <Workstation >INTTYPE</Workstation> <!-- optional -->
                                <InventoryQtyAdjustmentItemRet> <!-- optional, may repeat -->
                                        <ListID >IDTYPE</ListID> <!-- optional -->
                                        <NewQuantity >QUANTYPE</NewQuantity> <!-- optional -->
                                        <NumberOfBaseUnits >QUANTYPE</NumberOfBaseUnits> <!-- optional -->
                                        <OldQuantity >QUANTYPE</OldQuantity> <!-- optional -->
                                        <QtyDifference >QUANTYPE</QtyDifference> <!-- optional -->
                                        <SerialNumber >STRTYPE</SerialNumber> <!-- optional -->
                                        <UnitOfMeasure >STRTYPE</UnitOfMeasure> <!-- optional -->
                                </InventoryQtyAdjustmentItemRet>
                                <DataExtRet> <!-- optional, may repeat -->
                                        <OwnerID >GUIDTYPE</OwnerID> <!-- required -->
                                        <DataExtName >STRTYPE</DataExtName> <!-- required -->
                                        <!-- DataExtType may have one of the following values: INTTYPE, AMTTYPE, PRICETYPE, QUANTYPE, PERCENTTYPE, DATETIMETYPE, STR255TYPE, STR1024TYPE -->
                                        <DataExtType >ENUMTYPE</DataExtType> <!-- required -->
                                        <DataExtValue >STRTYPE</DataExtValue> <!-- required -->
                                </DataExtRet>
                        </InventoryQtyAdjustmentRet>
                </InventoryQtyAdjustmentAddRs>
        </QBPOSXMLMsgsRq>
</QBPOSXML>

  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.qbposfc4

        Public Class SampleInventoryQtyAdjustmentAdd
                Public Sub  DoInventoryQtyAdjustmentAdd()
                        Dim sessionBegun as Boolean
                        sessionBegun = False
                        Dim connectionOpen as Boolean
                        connectionOpen = False
                        Dim sessionManager as QBPOSSessionManager
                        sessionManager = nothing

                        Try
                                'Create the session Manager object
                                sessionManager = new QBPOSSessionManager

                                'Create the message set request object to hold our request
                                Dim requestMsgSet as IMsgSetRequest
                                requestMsgSet = sessionManager.CreateMsgSetRequest(4,0)
                                requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue

                                BuildInventoryQtyAdjustmentAddRq(requestMsgSet)

                                'Connect to QuickBooks and begin a session
                                sessionManager.OpenConnection("","Sample Code from OSR")
                                connectionOpen = True
                                sessionManager.BeginSession("")
                                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

                                WalkInventoryQtyAdjustmentAddRs(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 BuildInventoryQtyAdjustmentAddRq(requestMsgSet as IMsgSetRequest)
                        Dim InventoryQtyAdjustmentAddRq as IInventoryQtyAdjustmentAdd
                        InventoryQtyAdjustmentAddRq= requestMsgSet.AppendInventoryQtyAdjustmentAddRq()
                        'Set field value for Associate
                        InventoryQtyAdjustmentAddRq.Associate.SetValue("ab")
                        'Set field value for Comments
                        InventoryQtyAdjustmentAddRq.Comments.SetValue("ab")
                        'Set field value for InventoryAdjustmentSource
                        InventoryQtyAdjustmentAddRq.InventoryAdjustmentSource.SetValue(ENInventoryAdjustmentSource.iasManual)
                        'Set field value for QuickBooksFlag
                        InventoryQtyAdjustmentAddRq.QuickBooksFlag.SetValue(ENQuickBooksFlag.qbfNotPosted)
                        'Set field value for Reason
                        InventoryQtyAdjustmentAddRq.Reason.SetValue("ab")
                        'Set field value for StoreNumber
                        InventoryQtyAdjustmentAddRq.StoreNumber.SetValue(6)
                        'Set field value for TxnDate
                        InventoryQtyAdjustmentAddRq.TxnDate.SetValue(DateTime.Parse("12/15/2007"))
                        'Set field value for TxnState
                        InventoryQtyAdjustmentAddRq.TxnState.SetValue(ENTxnState.tsNormal)
                        'Set field value for Workstation
                        InventoryQtyAdjustmentAddRq.Workstation.SetValue(6)
                        Dim InventoryQtyAdjustmentItemAdd1041 as IInventoryQtyAdjustmentItemAdd
                        InventoryQtyAdjustmentItemAdd1041=InventoryQtyAdjustmentAddRq.InventoryQtyAdjustmentItemAddList.Append()
                        'Set field value for ListID
                        InventoryQtyAdjustmentItemAdd1041.ListID.SetValue("200000-1011023419")
                        'Set attributes
                        'Set field value for ListID to use Macro
                        InventoryQtyAdjustmentItemAdd1041.ListID.SetValueUseMacro("200000-1011023419")
                        'Set field value for NewQuantity
                        InventoryQtyAdjustmentItemAdd1041.NewQuantity.SetValue(2)
                        'Set field value for SerialNumber
                        InventoryQtyAdjustmentItemAdd1041.SerialNumber.SetValue("ab")
                        'Set field value for UnitOfMeasure
                        InventoryQtyAdjustmentItemAdd1041.UnitOfMeasure.SetValue("ab")
                        'Set field value for IncludeRetElementList
                        'May create more than one of these if needed
                        InventoryQtyAdjustmentAddRq.IncludeRetElementList.Add("ab")
                End Sub




                Public Sub WalkInventoryQtyAdjustmentAddRs( 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.rtInventoryQtyAdjustmentAddRs) then
                                                        'upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        Dim InventoryQtyAdjustmentRet as IInventoryQtyAdjustmentRet
                                                        InventoryQtyAdjustmentRet = CType(response.Detail,IInventoryQtyAdjustmentRet)
                                                                WalkInventoryQtyAdjustmentRet(InventoryQtyAdjustmentRet)
                                                End If
                                        End If
                                End If
                        Next j
                End Sub




                Public Sub WalkInventoryQtyAdjustmentRet(InventoryQtyAdjustmentRet as IInventoryQtyAdjustmentRet)
                        if (InventoryQtyAdjustmentRet is nothing) then
                                Exit Sub
                        End If

                        'Go through all the elements of IInventoryQtyAdjustmentRet
                        'Get value of TxnID
                        if ( not InventoryQtyAdjustmentRet.TxnID is nothing) then
                                Dim TxnID1042 as String
                                TxnID1042 = InventoryQtyAdjustmentRet.TxnID.GetValue()
                        End If
                        'Get value of TimeCreated
                        if ( not InventoryQtyAdjustmentRet.TimeCreated is nothing) then
                                Dim TimeCreated1043 as DateTime
                                TimeCreated1043 = InventoryQtyAdjustmentRet.TimeCreated.GetValue()
                        End If
                        'Get value of TimeModified
                        if ( not InventoryQtyAdjustmentRet.TimeModified is nothing) then
                                Dim TimeModified1044 as DateTime
                                TimeModified1044 = InventoryQtyAdjustmentRet.TimeModified.GetValue()
                        End If
                        'Get value of Associate
                        if ( not InventoryQtyAdjustmentRet.Associate is nothing) then
                                Dim Associate1045 as String
                                Associate1045 = InventoryQtyAdjustmentRet.Associate.GetValue()
                        End If
                        'Get value of Comments
                        if ( not InventoryQtyAdjustmentRet.Comments is nothing) then
                                Dim Comments1046 as String
                                Comments1046 = InventoryQtyAdjustmentRet.Comments.GetValue()
                        End If
                        'Get value of CostDifference
                        if ( not InventoryQtyAdjustmentRet.CostDifference is nothing) then
                                Dim CostDifference1047 as Double
                                CostDifference1047 = InventoryQtyAdjustmentRet.CostDifference.GetValue()
                        End If
                        'Get value of HistoryDocStatus
                        if ( not InventoryQtyAdjustmentRet.HistoryDocStatus is nothing) then
                                Dim HistoryDocStatus1048 as ENHistoryDocStatus
                                HistoryDocStatus1048 = InventoryQtyAdjustmentRet.HistoryDocStatus.GetValue()
                        End If
                        'Get value of InventoryAdjustmentNumber
                        if ( not InventoryQtyAdjustmentRet.InventoryAdjustmentNumber is nothing) then
                                Dim InventoryAdjustmentNumber1049 as Integer
                                InventoryAdjustmentNumber1049 = InventoryQtyAdjustmentRet.InventoryAdjustmentNumber.GetValue()
                        End If
                        'Get value of InventoryAdjustmentSource
                        if ( not InventoryQtyAdjustmentRet.InventoryAdjustmentSource is nothing) then
                                Dim InventoryAdjustmentSource1050 as ENInventoryAdjustmentSource
                                InventoryAdjustmentSource1050 = InventoryQtyAdjustmentRet.InventoryAdjustmentSource.GetValue()
                        End If
                        'Get value of ItemsCount
                        if ( not InventoryQtyAdjustmentRet.ItemsCount is nothing) then
                                Dim ItemsCount1051 as Integer
                                ItemsCount1051 = InventoryQtyAdjustmentRet.ItemsCount.GetValue()
                        End If
                        'Get value of NewQuantity
                        if ( not InventoryQtyAdjustmentRet.NewQuantity is nothing) then
                                Dim NewQuantity1052 as Double
                                NewQuantity1052 = InventoryQtyAdjustmentRet.NewQuantity.GetValue()
                        End If
                        'Get value of OldQuantity
                        if ( not InventoryQtyAdjustmentRet.OldQuantity is nothing) then
                                Dim OldQuantity1053 as Double
                                OldQuantity1053 = InventoryQtyAdjustmentRet.OldQuantity.GetValue()
                        End If
                        'Get value of QtyDifference
                        if ( not InventoryQtyAdjustmentRet.QtyDifference is nothing) then
                                Dim QtyDifference1054 as Double
                                QtyDifference1054 = InventoryQtyAdjustmentRet.QtyDifference.GetValue()
                        End If
                        'Get value of QuickBooksFlag
                        if ( not InventoryQtyAdjustmentRet.QuickBooksFlag is nothing) then
                                Dim QuickBooksFlag1055 as ENQuickBooksFlag
                                QuickBooksFlag1055 = InventoryQtyAdjustmentRet.QuickBooksFlag.GetValue()
                        End If
                        'Get value of Reason
                        if ( not InventoryQtyAdjustmentRet.Reason is nothing) then
                                Dim Reason1056 as String
                                Reason1056 = InventoryQtyAdjustmentRet.Reason.GetValue()
                        End If
                        'Get value of StoreExchangeStatus
                        if ( not InventoryQtyAdjustmentRet.StoreExchangeStatus is nothing) then
                                Dim StoreExchangeStatus1057 as ENStoreExchangeStatus
                                StoreExchangeStatus1057 = InventoryQtyAdjustmentRet.StoreExchangeStatus.GetValue()
                        End If
                        'Get value of StoreNumber
                        if ( not InventoryQtyAdjustmentRet.StoreNumber is nothing) then
                                Dim StoreNumber1058 as Integer
                                StoreNumber1058 = InventoryQtyAdjustmentRet.StoreNumber.GetValue()
                        End If
                        'Get value of TxnDate
                        if ( not InventoryQtyAdjustmentRet.TxnDate is nothing) then
                                Dim TxnDate1059 as DateTime
                                TxnDate1059 = InventoryQtyAdjustmentRet.TxnDate.GetValue()
                        End If
                        'Get value of TxnState
                        if ( not InventoryQtyAdjustmentRet.TxnState is nothing) then
                                Dim TxnState1060 as ENTxnState
                                TxnState1060 = InventoryQtyAdjustmentRet.TxnState.GetValue()
                        End If
                        'Get value of Workstation
                        if ( not InventoryQtyAdjustmentRet.Workstation is nothing) then
                                Dim Workstation1061 as Integer
                                Workstation1061 = InventoryQtyAdjustmentRet.Workstation.GetValue()
                        End If
                        if (not InventoryQtyAdjustmentRet.InventoryQtyAdjustmentItemRetList is nothing)
                                Dim i1062 as Integer
                                for i1062 = 0  to InventoryQtyAdjustmentRet.InventoryQtyAdjustmentItemRetList.Count - 1
                                        Dim InventoryQtyAdjustmentItemRet as IInventoryQtyAdjustmentItemRet
                                        InventoryQtyAdjustmentItemRet = InventoryQtyAdjustmentRet.InventoryQtyAdjustmentItemRetList.GetAt(i1062)
                                        'Get value of ListID
                                        if ( not InventoryQtyAdjustmentItemRet.ListID is nothing) then
                                                Dim ListID1063 as String
                                                ListID1063 = InventoryQtyAdjustmentItemRet.ListID.GetValue()
                                        End If
                                        'Get value of NewQuantity
                                        if ( not InventoryQtyAdjustmentItemRet.NewQuantity is nothing) then
                                                Dim NewQuantity1064 as Double
                                                NewQuantity1064 = InventoryQtyAdjustmentItemRet.NewQuantity.GetValue()
                                        End If
                                        'Get value of NumberOfBaseUnits
                                        if ( not InventoryQtyAdjustmentItemRet.NumberOfBaseUnits is nothing) then
                                                Dim NumberOfBaseUnits1065 as Double
                                                NumberOfBaseUnits1065 = InventoryQtyAdjustmentItemRet.NumberOfBaseUnits.GetValue()
                                        End If
                                        'Get value of OldQuantity
                                        if ( not InventoryQtyAdjustmentItemRet.OldQuantity is nothing) then
                                                Dim OldQuantity1066 as Double
                                                OldQuantity1066 = InventoryQtyAdjustmentItemRet.OldQuantity.GetValue()
                                        End If
                                        'Get value of QtyDifference
                                        if ( not InventoryQtyAdjustmentItemRet.QtyDifference is nothing) then
                                                Dim QtyDifference1067 as Double
                                                QtyDifference1067 = InventoryQtyAdjustmentItemRet.QtyDifference.GetValue()
                                        End If
                                        'Get value of SerialNumber
                                        if ( not InventoryQtyAdjustmentItemRet.SerialNumber is nothing) then
                                                Dim SerialNumber1068 as String
                                                SerialNumber1068 = InventoryQtyAdjustmentItemRet.SerialNumber.GetValue()
                                        End If
                                        'Get value of UnitOfMeasure
                                        if ( not InventoryQtyAdjustmentItemRet.UnitOfMeasure is nothing) then
                                                Dim UnitOfMeasure1069 as String
                                                UnitOfMeasure1069 = InventoryQtyAdjustmentItemRet.UnitOfMeasure.GetValue()
                                        End If
                                Next i1062
                        End If
                        if (not InventoryQtyAdjustmentRet.DataExtRetList is nothing)
                                Dim i1070 as Integer
                                for i1070 = 0  to InventoryQtyAdjustmentRet.DataExtRetList.Count - 1
                                        Dim DataExtRet as IDataExtRet
                                        DataExtRet = InventoryQtyAdjustmentRet.DataExtRetList.GetAt(i1070)
                                        'Get value of OwnerID
                                        Dim OwnerID1071 as String
                                        OwnerID1071 = DataExtRet.OwnerID.GetValue()
                                        'Get value of DataExtName
                                        Dim DataExtName1072 as String
                                        DataExtName1072 = DataExtRet.DataExtName.GetValue()
                                        'Get value of DataExtType
                                        Dim DataExtType1073 as ENDataExtType
                                        DataExtType1073 = DataExtRet.DataExtType.GetValue()
                                        'Get value of DataExtValue
                                        Dim DataExtValue1074 as String
                                        DataExtValue1074 = DataExtRet.DataExtValue.GetValue()
                                Next i1070
                        End If
                End Sub




        End Class

  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
//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.qbposfc4;

namespace com.intuit.idn.samples
{
        public class SampleInventoryQtyAdjustmentAdd
        {
                public void  DoInventoryQtyAdjustmentAdd()
                {
                        bool sessionBegun = false;
                        bool connectionOpen = false;
                        QBPOSSessionManager sessionManager = null;

                        try
                        {
                                //Create the session Manager object
                                sessionManager = new QBPOSSessionManager();

                                //Create the message set request object to hold our request
                                IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest(4,0);
                                requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;

                                BuildInventoryQtyAdjustmentAddRq(requestMsgSet);

                                //Connect to QuickBooks and begin a session
                                sessionManager.OpenConnection("","Sample Code from OSR");
                                connectionOpen = true;
                                sessionManager.BeginSession("");
                                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;

                                WalkInventoryQtyAdjustmentAddRs(responseMsgSet);
                        }
                        catch (Exception e)
                        {
                                MessageBox.Show(e.Message, "Error");
                                if (sessionBegun)
                                {
                                        sessionManager.EndSession();
                                }
                                if (connectionOpen)
                                {
                                        sessionManager.CloseConnection();
                                }
                        }
                }
                void BuildInventoryQtyAdjustmentAddRq(IMsgSetRequest requestMsgSet)
                {
                        IInventoryQtyAdjustmentAdd InventoryQtyAdjustmentAddRq= requestMsgSet.AppendInventoryQtyAdjustmentAddRq();
                        //Set attributes
                        //Set field value for defMacro
                        InventoryQtyAdjustmentAddRq.defMacro.SetValue("IQBStringType");
                        //Set field value for Associate
                        InventoryQtyAdjustmentAddRq.Associate.SetValue("ab");
                        //Set field value for Comments
                        InventoryQtyAdjustmentAddRq.Comments.SetValue("ab");
                        //Set field value for InventoryAdjustmentSource
                        InventoryQtyAdjustmentAddRq.InventoryAdjustmentSource.SetValue(ENInventoryAdjustmentSource.iasManual);
                        //Set field value for QuickBooksFlag
                        InventoryQtyAdjustmentAddRq.QuickBooksFlag.SetValue(ENQuickBooksFlag.qbfNotPosted);
                        //Set field value for Reason
                        InventoryQtyAdjustmentAddRq.Reason.SetValue("ab");
                        //Set field value for StoreNumber
                        InventoryQtyAdjustmentAddRq.StoreNumber.SetValue(6);
                        //Set field value for TxnDate
                        InventoryQtyAdjustmentAddRq.TxnDate.SetValue(DateTime.Parse("12/15/2007"));
                        //Set field value for TxnState
                        InventoryQtyAdjustmentAddRq.TxnState.SetValue(ENTxnState.tsNormal);
                        //Set field value for Workstation
                        InventoryQtyAdjustmentAddRq.Workstation.SetValue(6);
                        IInventoryQtyAdjustmentItemAdd InventoryQtyAdjustmentItemAdd1075=InventoryQtyAdjustmentAddRq.InventoryQtyAdjustmentItemAddList.Append();
                        //Set field value for ListID
                        InventoryQtyAdjustmentItemAdd1075.ListID.SetValue("200000-1011023419");
                        //Set attributes
                        //Set field value for ListID to use Macro
                        InventoryQtyAdjustmentItemAdd1075.ListID.SetValueUseMacro("200000-1011023419");
                        //Set field value for NewQuantity
                        InventoryQtyAdjustmentItemAdd1075.NewQuantity.SetValue(2);
                        //Set field value for SerialNumber
                        InventoryQtyAdjustmentItemAdd1075.SerialNumber.SetValue("ab");
                        //Set field value for UnitOfMeasure
                        InventoryQtyAdjustmentItemAdd1075.UnitOfMeasure.SetValue("ab");
                        //Set field value for IncludeRetElementList
                        //May create more than one of these if needed
                        InventoryQtyAdjustmentAddRq.IncludeRetElementList.Add("ab");
                }




                void WalkInventoryQtyAdjustmentAddRs(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.rtInventoryQtyAdjustmentAddRs)
                                                {
                                                        //upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        IInventoryQtyAdjustmentRet InventoryQtyAdjustmentRet = (IInventoryQtyAdjustmentRet)response.Detail;
                                                                WalkInventoryQtyAdjustmentRet(InventoryQtyAdjustmentRet);
                                                }
                                        }
                                }
                        }
                }




                void WalkInventoryQtyAdjustmentRet(IInventoryQtyAdjustmentRet InventoryQtyAdjustmentRet)
                {
                        if (InventoryQtyAdjustmentRet == null) return;
                        //Go through all the elements of IInventoryQtyAdjustmentRet
                        //Get value of TxnID
                        if (InventoryQtyAdjustmentRet.TxnID != null)
                        {
                                string TxnID1076 = (string)InventoryQtyAdjustmentRet.TxnID.GetValue();
                        }
                        //Get value of TimeCreated
                        if (InventoryQtyAdjustmentRet.TimeCreated != null)
                        {
                                DateTime TimeCreated1077 = (DateTime)InventoryQtyAdjustmentRet.TimeCreated.GetValue();
                        }
                        //Get value of TimeModified
                        if (InventoryQtyAdjustmentRet.TimeModified != null)
                        {
                                DateTime TimeModified1078 = (DateTime)InventoryQtyAdjustmentRet.TimeModified.GetValue();
                        }
                        //Get value of Associate
                        if (InventoryQtyAdjustmentRet.Associate != null)
                        {
                                string Associate1079 = (string)InventoryQtyAdjustmentRet.Associate.GetValue();
                        }
                        //Get value of Comments
                        if (InventoryQtyAdjustmentRet.Comments != null)
                        {
                                string Comments1080 = (string)InventoryQtyAdjustmentRet.Comments.GetValue();
                        }
                        //Get value of CostDifference
                        if (InventoryQtyAdjustmentRet.CostDifference != null)
                        {
                                double CostDifference1081 = (double)InventoryQtyAdjustmentRet.CostDifference.GetValue();
                        }
                        //Get value of HistoryDocStatus
                        if (InventoryQtyAdjustmentRet.HistoryDocStatus != null)
                        {
                                ENHistoryDocStatus HistoryDocStatus1082 = (ENHistoryDocStatus)InventoryQtyAdjustmentRet.HistoryDocStatus.GetValue();
                        }
                        //Get value of InventoryAdjustmentNumber
                        if (InventoryQtyAdjustmentRet.InventoryAdjustmentNumber != null)
                        {
                                int InventoryAdjustmentNumber1083 = (int)InventoryQtyAdjustmentRet.InventoryAdjustmentNumber.GetValue();
                        }
                        //Get value of InventoryAdjustmentSource
                        if (InventoryQtyAdjustmentRet.InventoryAdjustmentSource != null)
                        {
                                ENInventoryAdjustmentSource InventoryAdjustmentSource1084 = (ENInventoryAdjustmentSource)InventoryQtyAdjustmentRet.InventoryAdjustmentSource.GetValue();
                        }
                        //Get value of ItemsCount
                        if (InventoryQtyAdjustmentRet.ItemsCount != null)
                        {
                                int ItemsCount1085 = (int)InventoryQtyAdjustmentRet.ItemsCount.GetValue();
                        }
                        //Get value of NewQuantity
                        if (InventoryQtyAdjustmentRet.NewQuantity != null)
                        {
                                int NewQuantity1086 = (int)InventoryQtyAdjustmentRet.NewQuantity.GetValue();
                        }
                        //Get value of OldQuantity
                        if (InventoryQtyAdjustmentRet.OldQuantity != null)
                        {
                                int OldQuantity1087 = (int)InventoryQtyAdjustmentRet.OldQuantity.GetValue();
                        }
                        //Get value of QtyDifference
                        if (InventoryQtyAdjustmentRet.QtyDifference != null)
                        {
                                int QtyDifference1088 = (int)InventoryQtyAdjustmentRet.QtyDifference.GetValue();
                        }
                        //Get value of QuickBooksFlag
                        if (InventoryQtyAdjustmentRet.QuickBooksFlag != null)
                        {
                                ENQuickBooksFlag QuickBooksFlag1089 = (ENQuickBooksFlag)InventoryQtyAdjustmentRet.QuickBooksFlag.GetValue();
                        }
                        //Get value of Reason
                        if (InventoryQtyAdjustmentRet.Reason != null)
                        {
                                string Reason1090 = (string)InventoryQtyAdjustmentRet.Reason.GetValue();
                        }
                        //Get value of StoreExchangeStatus
                        if (InventoryQtyAdjustmentRet.StoreExchangeStatus != null)
                        {
                                ENStoreExchangeStatus StoreExchangeStatus1091 = (ENStoreExchangeStatus)InventoryQtyAdjustmentRet.StoreExchangeStatus.GetValue();
                        }
                        //Get value of StoreNumber
                        if (InventoryQtyAdjustmentRet.StoreNumber != null)
                        {
                                int StoreNumber1092 = (int)InventoryQtyAdjustmentRet.StoreNumber.GetValue();
                        }
                        //Get value of TxnDate
                        if (InventoryQtyAdjustmentRet.TxnDate != null)
                        {
                                DateTime TxnDate1093 = (DateTime)InventoryQtyAdjustmentRet.TxnDate.GetValue();
                        }
                        //Get value of TxnState
                        if (InventoryQtyAdjustmentRet.TxnState != null)
                        {
                                ENTxnState TxnState1094 = (ENTxnState)InventoryQtyAdjustmentRet.TxnState.GetValue();
                        }
                        //Get value of Workstation
                        if (InventoryQtyAdjustmentRet.Workstation != null)
                        {
                                int Workstation1095 = (int)InventoryQtyAdjustmentRet.Workstation.GetValue();
                        }
                        if (InventoryQtyAdjustmentRet.InventoryQtyAdjustmentItemRetList != null)
                        {
                                for (int i1096 = 0; i1096 < InventoryQtyAdjustmentRet.InventoryQtyAdjustmentItemRetList.Count; i1096++)
                                {
                                        IInventoryQtyAdjustmentItemRet InventoryQtyAdjustmentItemRet = InventoryQtyAdjustmentRet.InventoryQtyAdjustmentItemRetList.GetAt(i1096);
                                        //Get value of ListID
                                        if (InventoryQtyAdjustmentItemRet.ListID != null)
                                        {
                                                string ListID1097 = (string)InventoryQtyAdjustmentItemRet.ListID.GetValue();
                                        }
                                        //Get value of NewQuantity
                                        if (InventoryQtyAdjustmentItemRet.NewQuantity != null)
                                        {
                                                int NewQuantity1098 = (int)InventoryQtyAdjustmentItemRet.NewQuantity.GetValue();
                                        }
                                        //Get value of NumberOfBaseUnits
                                        if (InventoryQtyAdjustmentItemRet.NumberOfBaseUnits != null)
                                        {
                                                int NumberOfBaseUnits1099 = (int)InventoryQtyAdjustmentItemRet.NumberOfBaseUnits.GetValue();
                                        }
                                        //Get value of OldQuantity
                                        if (InventoryQtyAdjustmentItemRet.OldQuantity != null)
                                        {
                                                int OldQuantity1100 = (int)InventoryQtyAdjustmentItemRet.OldQuantity.GetValue();
                                        }
                                        //Get value of QtyDifference
                                        if (InventoryQtyAdjustmentItemRet.QtyDifference != null)
                                        {
                                                int QtyDifference1101 = (int)InventoryQtyAdjustmentItemRet.QtyDifference.GetValue();
                                        }
                                        //Get value of SerialNumber
                                        if (InventoryQtyAdjustmentItemRet.SerialNumber != null)
                                        {
                                                string SerialNumber1102 = (string)InventoryQtyAdjustmentItemRet.SerialNumber.GetValue();
                                        }
                                        //Get value of UnitOfMeasure
                                        if (InventoryQtyAdjustmentItemRet.UnitOfMeasure != null)
                                        {
                                                string UnitOfMeasure1103 = (string)InventoryQtyAdjustmentItemRet.UnitOfMeasure.GetValue();
                                        }
                                }
                        }
                        if (InventoryQtyAdjustmentRet.DataExtRetList != null)
                        {
                                for (int i1104 = 0; i1104 < InventoryQtyAdjustmentRet.DataExtRetList.Count; i1104++)
                                {
                                        IDataExtRet DataExtRet = InventoryQtyAdjustmentRet.DataExtRetList.GetAt(i1104);
                                        //Get value of OwnerID
                                        string OwnerID1105 = (string)DataExtRet.OwnerID.GetValue();
                                        //Get value of DataExtName
                                        string DataExtName1106 = (string)DataExtRet.DataExtName.GetValue();
                                        //Get value of DataExtType
                                        ENDataExtType DataExtType1107 = (ENDataExtType)DataExtRet.DataExtType.GetValue();
                                        //Get value of DataExtValue
                                        string DataExtValue1108 = (string)DataExtRet.DataExtValue.GetValue();
                                }
                        }
                }




        }
}