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 | <?xml version="1.0" encoding="utf-8"?> <?qbxml version="16.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <Form1099CategoryAccountMappingModRq> <Form1099CategoryAccountMappingMod> <!-- required --> <IsFiling1099Misc >BOOLTYPE</IsFiling1099Misc> <!-- optional --> <FormType>STRTYPE</FormType> <!-- optional --> <CategoryAccountMappingMod> <!-- optional, may repeat --> <!-- MappingCategory may have one of the following values: BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX14, BOX16 --> <MappingCategory >ENUMTYPE</MappingCategory> <!-- required --> <MappingAccount> <!-- optional, may repeat --> <AccountRef> <!-- required --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </AccountRef> <ForceMapping >BOOLTYPE</ForceMapping> <!-- optional --> </MappingAccount> <Threshold >AMTTYPE</Threshold> <!-- optional --> </CategoryAccountMappingMod> </Form1099CategoryAccountMappingMod> </Form1099CategoryAccountMappingModRq> <Form1099CategoryAccountMappingModRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE"> <Form1099CategoryAccountMappingRet> <!-- optional --> <IsFiling1099Misc >BOOLTYPE</IsFiling1099Misc> <!-- required --> <FormType>STRTYPE</FormType> <!-- optional --> <CategoryAccountMapping> <!-- optional, may repeat --> <!-- MappingCategory may have one of the following values: BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX14, BOX1 --> <MappingCategory >ENUMTYPE</MappingCategory> <!-- required --> <AccountRef> <!-- optional, may repeat --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </AccountRef> <Threshold >AMTTYPE</Threshold> <!-- optional --> </CategoryAccountMapping> </Form1099CategoryAccountMappingRet> </Form1099CategoryAccountMappingModRs> </QBXMLMsgsRq> </QBXML> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | 'The following sample code is generated as an illustration of 'Creating requests and parsing responses ONLY 'This code is NOT intended to show best practices or ideal code 'Use at your most careful discretion imports System imports System.Net imports System.Drawing imports System.Collections imports System.ComponentModel imports System.Windows.Forms imports System.Data imports System.IO imports Interop.QBFC16 Module com.intuit.idn.samples Public Class Sample Public Sub DoForm1099CategoryAccountMappingMod() Dim sessionBegun as Boolean sessionBegun = False Dim connectionOpen as Boolean connectionOpen = False Dim sessionManager as QBSessionManager sessionManager = nothing Try 'Create the session Manager object sessionManager = new QBSessionManager 'Create the message set request object to hold our request Dim requestMsgSet as IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US",16,0) requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue BuildForm1099CategoryAccountMappingModRq(requestMsgSet) 'Connect to QuickBooks and begin a session sessionManager.OpenConnection("","Sample Code from OSR") connectionOpen = True sessionManager.BeginSession("", ENOpenMode.omDontCare) sessionBegun = True 'Send the request and get the response from QuickBooks Dim responseMsgSet as IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet) 'End the session and close the connection to QuickBooks sessionManager.EndSession() sessionBegun = False sessionManager.CloseConnection() connectionOpen = False WalkForm1099CategoryAccountMappingModRs(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 BuildForm1099CategoryAccountMappingModRq(requestMsgSet as IMsgSetRequest) Dim Form1099CategoryAccountMappingModRq as IForm1099CategoryAccountMappingMod Form1099CategoryAccountMappingModRq= requestMsgSet.AppendForm1099CategoryAccountMappingModRq() 'Set field value for IsFiling1099Misc Form1099CategoryAccountMappingModRq.IsFiling1099Misc.SetValue(True) 'Set field value of form type ("MISC" or "NEC") Form1099CategoryAccountMappingModRq.FormType.SetValue("MISC") Dim CategoryAccountMappingMod10598 as ICategoryAccountMappingMod CategoryAccountMappingMod10598=Form1099CategoryAccountMappingModRq.CategoryAccountMappingModList.Append() 'Set field value for MappingCategory CategoryAccountMappingMod10598.MappingCategory.SetValue(ENMappingCategory.mcBOX1) Dim MappingAccount10599 as IMappingAccount MappingAccount10599=CategoryAccountMappingMod10598.MappingAccountList.Append() 'Set field value for ListID MappingAccount10599.AccountRef.ListID.SetValue("200000-1011023419") 'Set field value for FullName MappingAccount10599.AccountRef.FullName.SetValue("ab") 'Set field value for ForceMapping MappingAccount10599.ForceMapping.SetValue(True) 'Set field value for Threshold CategoryAccountMappingMod10598.Threshold.SetValue(10.01) End Sub Public Sub WalkForm1099CategoryAccountMappingModRs( 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.rtForm1099CategoryAccountMappingModRs) then 'upcast to more specific type here, this is safe because we checked with response.Type check above Dim Form1099CategoryAccountMappingRet as IForm1099CategoryAccountMappingRet Form1099CategoryAccountMappingRet = CType(response.Detail,IForm1099CategoryAccountMappingRet) WalkForm1099CategoryAccountMappingRet(Form1099CategoryAccountMappingRet) End If End If End If Next j End Sub Public Sub WalkForm1099CategoryAccountMappingRet(Form1099CategoryAccountMappingRet as IForm1099CategoryAccountMappingRet) if (Form1099CategoryAccountMappingRet is nothing) then Exit Sub End If 'Go through all the elements of IForm1099CategoryAccountMappingRet 'Get value of IsFiling1099Misc Dim IsFiling1099Misc10600 as Boolean IsFiling1099Misc10600 = Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue() 'Get value of FormType Dim FormType10600 as String FormType10600 = Form1099CategoryAccountMappingRet.FormType.GetValue() if (not Form1099CategoryAccountMappingRet.CategoryAccountMappingList is nothing) Dim i10601 as Integer for i10601 = 0 to Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count - 1 Dim CategoryAccountMapping as ICategoryAccountMapping CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10601) 'Get value of MappingCategory Dim MappingCategory10602 as ENMappingCategory MappingCategory10602 = CategoryAccountMappingMappingCategory.GetValue() if (not CategoryAccountMappingAccountRefList is nothing) Dim i10603 as Integer for i10603 = 0 to CategoryAccountMappingAccountRefList.Count - 1 Dim QBBaseRef as IQBBaseRef QBBaseRef = CategoryAccountMappingAccountRefList.GetAt(i10603) 'Get value of ListID if ( not QBBaseRefListID is nothing) then Dim ListID10604 as String ListID10604 = QBBaseRefListID.GetValue() End If 'Get value of FullName if ( not QBBaseRefFullName is nothing) then Dim FullName10605 as String FullName10605 = QBBaseRefFullName.GetValue() End If Next i10603 End If 'Get value of Threshold if ( not CategoryAccountMappingThreshold is nothing) then Dim Threshold10606 as Double Threshold10606 = CategoryAccountMappingThreshold.GetValue() End If Next i10601 End If End Sub End Class End Module |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | //The following sample code is generated as an illustration of //Creating requests and parsing responses ONLY //This code is NOT intended to show best practices or ideal code //Use at your most careful discretion using System; using System.Net; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO; using Interop.QBFC16; namespace com.intuit.idn.samples { public class Sample { public void DoForm1099CategoryAccountMappingMod() { bool sessionBegun = false; bool connectionOpen = false; QBSessionManager sessionManager = null; try { //Create the session Manager object sessionManager = new QBSessionManager(); //Create the message set request object to hold our request IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest("US",16,0); requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue; BuildForm1099CategoryAccountMappingModRq(requestMsgSet); //Connect to QuickBooks and begin a session sessionManager.OpenConnection("","Sample Code from OSR"); connectionOpen = true; sessionManager.BeginSession("", ENOpenMode.omDontCare); sessionBegun = true; //Send the request and get the response from QuickBooks IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet); //End the session and close the connection to QuickBooks sessionManager.EndSession(); sessionBegun = false; sessionManager.CloseConnection(); connectionOpen = false; WalkForm1099CategoryAccountMappingModRs(responseMsgSet); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); if (sessionBegun) { sessionManager.EndSession(); } if (connectionOpen) { sessionManager.CloseConnection(); } } } void BuildForm1099CategoryAccountMappingModRq(IMsgSetRequest requestMsgSet) { IForm1099CategoryAccountMappingMod Form1099CategoryAccountMappingModRq= requestMsgSet.AppendForm1099CategoryAccountMappingModRq(); //Set field value for IsFiling1099Misc Form1099CategoryAccountMappingModRq.IsFiling1099Misc.SetValue(true); //Set field value for FormType ("MISC" or "NEC") Form1099CategoryAccountMappingModRq.FormType.SetValue("MISC"); ICategoryAccountMappingMod CategoryAccountMappingMod10589=Form1099CategoryAccountMappingModRq.CategoryAccountMappingModList.Append(); //Set field value for MappingCategory CategoryAccountMappingMod10589.MappingCategory.SetValue(ENMappingCategory.mcBOX1); IMappingAccount MappingAccount10590=CategoryAccountMappingMod10589.MappingAccountList.Append(); //Set field value for ListID MappingAccount10590.AccountRef.ListID.SetValue("200000-1011023419"); //Set field value for FullName MappingAccount10590.AccountRef.FullName.SetValue("ab"); //Set field value for ForceMapping MappingAccount10590.ForceMapping.SetValue(true); //Set field value for Threshold CategoryAccountMappingMod10589.Threshold.SetValue(10.01); } void WalkForm1099CategoryAccountMappingModRs(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.rtForm1099CategoryAccountMappingModRs) { //upcast to more specific type here, this is safe because we checked with response.Type check above IForm1099CategoryAccountMappingRet Form1099CategoryAccountMappingRet = (IForm1099CategoryAccountMappingRet)response.Detail; WalkForm1099CategoryAccountMappingRet(Form1099CategoryAccountMappingRet); } } } } } void WalkForm1099CategoryAccountMappingRet(IForm1099CategoryAccountMappingRet Form1099CategoryAccountMappingRet) { if (Form1099CategoryAccountMappingRet == null) return; //Go through all the elements of IForm1099CategoryAccountMappingRet //Get value of IsFiling1099Misc bool IsFiling1099Misc10591 = (bool)Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue(); //Get value of FormType string FormType10591 = (string)Form1099CategoryAccountMappingRet.FormType.GetValue(); if (Form1099CategoryAccountMappingRet.CategoryAccountMappingList != null) { for (int i10592 = 0; i10592 < Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count; i10592++) { ICategoryAccountMapping CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10592); //Get value of MappingCategory ENMappingCategory MappingCategory10593 = (ENMappingCategory)CategoryAccountMapping.MappingCategory.GetValue(); if (CategoryAccountMapping.AccountRefList != null) { for (int i10594 = 0; i10594 < CategoryAccountMapping.AccountRefList.Count; i10594++) { IQBBaseRef QBBaseRef = CategoryAccountMapping.AccountRefList.GetAt(i10594); //Get value of ListID if (QBBaseRef.ListID != null) { string ListID10595 = (string)QBBaseRef.ListID.GetValue(); } //Get value of FullName if (QBBaseRef.FullName != null) { string FullName10596 = (string)QBBaseRef.FullName.GetValue(); } } } //Get value of Threshold if (CategoryAccountMapping.Threshold != null) { double Threshold10597 = (double)CategoryAccountMapping.Threshold.GetValue(); } } } } } } |