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#
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(); } } } } } |