Returns one Ret object that contains a list of all of the account mappings currently in effect for Form 1099-NEC and Form 1099-MISC. You can optionally supply a Box number (representing the corresponding text box in the 1099 forms) if you only want the mappings for a particular box in the form. Using SDK version 15 or older will not yield correct category account mappings in the response.
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 | <?xml version="1.0" encoding="utf-8"?> <?qbxml version="17.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <Form1099CategoryAccountMappingQueryRq> <FormType>STRTYPE</FormType> <!-- optional --> <!-- MappingCategory may have one of the following values: BOX1, BOX2, BOX3, BOX4, BOX5, BOX6, BOX7, BOX8, BOX9, BOX10, BOX13, BOX14, BOX15 --> <MappingCategory >ENUMTYPE</MappingCategory> <!-- optional, may repeat --> </Form1099CategoryAccountMappingQueryRq> <Form1099CategoryAccountMappingQueryRs 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, BOX16 --> <MappingCategory >ENUMTYPE</MappingCategory> <!-- required --> <AccountRef> <!-- optional, may repeat --> <ListID >IDTYPE</ListID> <!-- optional --> <FullName >STRTYPE</FullName> <!-- optional --> </AccountRef> <Threshold >AMTTYPE</Threshold> <!-- optional --> </CategoryAccountMapping> </Form1099CategoryAccountMappingRet> </Form1099CategoryAccountMappingQueryRs> </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 | '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 DoForm1099CategoryAccountMappingQuery()
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
BuildForm1099CategoryAccountMappingQueryRq(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
WalkForm1099CategoryAccountMappingQueryRs(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 BuildForm1099CategoryAccountMappingQueryRq(requestMsgSet as IMsgSetRequest)
Dim Form1099CategoryAccountMappingQueryRq as IForm1099CategoryAccountMappingQuery
Form1099CategoryAccountMappingQueryRq= requestMsgSet.AppendForm1099CategoryAccountMappingQueryRq()
'Set field value of form type ("MISC" or "NEC")
Form1099CategoryAccountMappingQueryRq.FormType.SetValue("MISC")
'Set field value for MappingCategoryList
'May create more than one of these if needed
Form1099CategoryAccountMappingQueryRq.MappingCategoryList.Add(ENMappingCategoryList.mclBOX1)
End Sub
Public Sub WalkForm1099CategoryAccountMappingQueryRs( 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.rtForm1099CategoryAccountMappingQueryRs) 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 IsFiling1099Misc10614 as Boolean
IsFiling1099Misc10614 = Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue()
'Get value of FormType
Dim FormType10614 as String
FormType10614 = Form1099CategoryAccountMappingRet.FormType.GetValue()
if (not Form1099CategoryAccountMappingRet.CategoryAccountMappingList is nothing)
Dim i10615 as Integer
for i10615 = 0 to Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count - 1
Dim CategoryAccountMapping as ICategoryAccountMapping
CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10615)
'Get value of MappingCategory
Dim MappingCategory10616 as ENMappingCategory
MappingCategory10616 = CategoryAccountMappingMappingCategory.GetValue()
if (not CategoryAccountMappingAccountRefList is nothing)
Dim i10617 as Integer
for i10617 = 0 to CategoryAccountMappingAccountRefList.Count - 1
Dim QBBaseRef as IQBBaseRef
QBBaseRef = CategoryAccountMappingAccountRefList.GetAt(i10617)
'Get value of ListID
if ( not QBBaseRefListID is nothing) then
Dim ListID10618 as String
ListID10618 = QBBaseRefListID.GetValue()
End If
'Get value of FullName
if ( not QBBaseRefFullName is nothing) then
Dim FullName10619 as String
FullName10619 = QBBaseRefFullName.GetValue()
End If
Next i10617
End If
'Get value of Threshold
if ( not CategoryAccountMappingThreshold is nothing) then
Dim Threshold10620 as Double
Threshold10620 = CategoryAccountMappingThreshold.GetValue()
End If
Next i10615
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 | //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 DoForm1099CategoryAccountMappingQuery() { 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; BuildForm1099CategoryAccountMappingQueryRq(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; WalkForm1099CategoryAccountMappingQueryRs(responseMsgSet); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); if (sessionBegun) { sessionManager.EndSession(); } if (connectionOpen) { sessionManager.CloseConnection(); } } } void BuildForm1099CategoryAccountMappingQueryRq(IMsgSetRequest requestMsgSet) { IForm1099CategoryAccountMappingQuery Form1099CategoryAccountMappingQueryRq= requestMsgSet.AppendForm1099CategoryAccountMappingQueryRq(); //Set field value for FormType ("MISC" or "NEC") Form1099CategoryAccountMappingQueryRq.FormType.SetValue("MISC"); //Set field value for MappingCategoryList //May create more than one of these if needed Form1099CategoryAccountMappingQueryRq.MappingCategoryList.Add(ENMappingCategoryList.mclBOX1); } void WalkForm1099CategoryAccountMappingQueryRs(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.rtForm1099CategoryAccountMappingQueryRs) { //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 IsFiling1099Misc10607 = (bool)Form1099CategoryAccountMappingRet.IsFiling1099Misc.GetValue(); //Get value of FormType string FormType10607 = (string)Form1099CategoryAccountMappingRet.FormType.GetValue(); if (Form1099CategoryAccountMappingRet.CategoryAccountMappingList != null) { for (int i10608 = 0; i10608 < Form1099CategoryAccountMappingRet.CategoryAccountMappingList.Count; i10608++) { ICategoryAccountMapping CategoryAccountMapping = Form1099CategoryAccountMappingRet.CategoryAccountMappingList.GetAt(i10608); //Get value of MappingCategory ENMappingCategory MappingCategory10609 = (ENMappingCategory)CategoryAccountMapping.MappingCategory.GetValue(); if (CategoryAccountMapping.AccountRefList != null) { for (int i10610 = 0; i10610 < CategoryAccountMapping.AccountRefList.Count; i10610++) { IQBBaseRef QBBaseRef = CategoryAccountMapping.AccountRefList.GetAt(i10610); //Get value of ListID if (QBBaseRef.ListID != null) { string ListID10611 = (string)QBBaseRef.ListID.GetValue(); } //Get value of FullName if (QBBaseRef.FullName != null) { string FullName10612 = (string)QBBaseRef.FullName.GetValue(); } } } //Get value of Threshold if (CategoryAccountMapping.Threshold != null) { double Threshold10613 = (double)CategoryAccountMapping.Threshold.GetValue(); } } } } } } |