Queries for all UI extension event subscriptions that (a) match the specified SubscriberID, and (b) were originally created using the same qbXML spec version as the one used to make the subscription query. That is, if you make a qbXML 4.0 subscription query you will only get subscriptions originally made with qbXML 4.0! To get subscriptions made with qbXML 5.0, your subscription query must itself use qbXML 5.0.
The subscriberID you supply to this query is the one that was used to make the original event subscription, and which should have been written down by the person who made the subscription. (There is no way to get the SubscriberID if you don’t already know it.)
For details about the UI-extension feature, see Integrating with the QuickBooks UI.
This request must be invoked using the request processor method ProcessSubscription(), if you use qbXML. If you use QBFC, this request must be appended to an ISubscriptionMsgSetRequest object instantiated by the QBSessionManager method CreateSubscriptionMsgSetRequest() and invoked by the method DoSubscriptionRequests().
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 | <?xml version="1.0" encoding="utf-8"?> <?qbxml version="17.0"?> <QBXML> <QBXMLSubscriptionMsgsRq onError="stopOnError"> <UIExtensionSubscriptionQueryRq> <SubscriberID >GUIDTYPE</SubscriberID> <!-- required --> </UIExtensionSubscriptionQueryRq> <UIExtensionSubscriptionQueryRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE"> <UIExtensionSubscriptionRet> <!-- optional --> <SubscriberID >GUIDTYPE</SubscriberID> <!-- required --> <TimeCreated >DATETIMETYPE</TimeCreated> <!-- required --> <TimeLastProcessed >DATETIMETYPE</TimeLastProcessed> <!-- optional --> <COMCallbackInfo> <!-- required --> <AppName >STRTYPE</AppName> <!-- required --> <!-- BEGIN OR --> <ProgID >STRTYPE</ProgID> <!-- optional --> <!-- OR --> <CLSID >GUIDTYPE</CLSID> <!-- optional --> <!-- END OR --> </COMCallbackInfo> <MenuExtensionSubscription> <!-- required --> <!-- AddToMenu may have one of the following values: File, Company, Customers, Vendors, Employees, Banking --> <AddToMenu >ENUMTYPE</AddToMenu> <!-- required --> <!-- BEGIN OR --> <Submenu> <!-- optional --> <DisplayCondition> <!-- optional --> <!-- VisibleIf may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <VisibleIf >ENUMTYPE</VisibleIf> <!-- optional, may repeat --> <!-- VisibleIfNot may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <VisibleIfNot >ENUMTYPE</VisibleIfNot> <!-- optional, may repeat --> <!-- EnabledIf may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <EnabledIf >ENUMTYPE</EnabledIf> <!-- optional, may repeat --> <!-- EnabledIfNot may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <EnabledIfNot >ENUMTYPE</EnabledIfNot> <!-- optional, may repeat --> </DisplayCondition> <MenuItem> <!-- required, may repeat --> <MenuText >STRTYPE</MenuText> <!-- required --> <EventTag >STRTYPE</EventTag> <!-- required --> <DisplayCondition> <!-- optional --> <!-- VisibleIf may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <VisibleIf >ENUMTYPE</VisibleIf> <!-- optional, may repeat --> <!-- VisibleIfNot may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <VisibleIfNot >ENUMTYPE</VisibleIfNot> <!-- optional, may repeat --> <!-- EnabledIf may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <EnabledIf >ENUMTYPE</EnabledIf> <!-- optional, may repeat --> <!-- EnabledIfNot may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <EnabledIfNot >ENUMTYPE</EnabledIfNot> <!-- optional, may repeat --> </DisplayCondition> </MenuItem> </Submenu> <!-- OR --> <MenuItem> <!-- optional --> <MenuText >STRTYPE</MenuText> <!-- required --> <EventTag >STRTYPE</EventTag> <!-- required --> <DisplayCondition> <!-- optional --> <!-- VisibleIf may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <VisibleIf >ENUMTYPE</VisibleIf> <!-- optional, may repeat --> <!-- VisibleIfNot may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <VisibleIfNot >ENUMTYPE</VisibleIfNot> <!-- optional, may repeat --> <!-- EnabledIf may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <EnabledIf >ENUMTYPE</EnabledIf> <!-- optional, may repeat --> <!-- EnabledIfNot may have one of the following values: AccountantCopyExists, AssemblyItemsEnabled, ClassesEnabled, EstimatesEnabled, HasCustomers, HasVendors, InventoryEnabled, IsAccountantCopy, MultiUserMode, PayrollEnabled, PriceLevelsEnabled, SalesOrdersEnabled, SalesTaxEnabled, TimeTrackingEnabled --> <EnabledIfNot >ENUMTYPE</EnabledIfNot> <!-- optional, may repeat --> </DisplayCondition> </MenuItem> <!-- END OR --> </MenuExtensionSubscription> </UIExtensionSubscriptionRet> </UIExtensionSubscriptionQueryRs> </QBXMLSubscriptionMsgsRq> </QBXML> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | '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 DoUIExtensionSubscriptionQuery()
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 ISubscriptionMsgSetRequest
requestMsgSet = sessionManager.CreateSubscriptionMsgSetRequest("US",16,0)
BuildUIExtensionSubscriptionQueryRq(requestMsgSet)
'Connect to QuickBooks and begin a session
sessionManager.OpenConnection("","Sample Code from OSR")
connectionOpen = True
' Send subscription request to QuickBooks.
' Please note that you don't need to call BeginSession.
' The subscriptions will be propagated to all the company files
' that are opened from this computer.
'Send the request and get the response from QuickBooks
Dim responseMsgSet as ISubscriptionMsgSetResponse
responseMsgSet = sessionManager.DoSubscriptionRequests(requestMsgSet)
'Close the connection to QuickBooks
sessionManager.CloseConnection()
connectionOpen = False
WalkUIExtensionSubscriptionQueryRs(responseMsgSet)
Catch e as Exception
MessageBox.Show(e.Message, "Error")
if (connectionOpen) then
sessionManager.CloseConnection()
End If
End Try
End Sub
Public Sub BuildUIExtensionSubscriptionQueryRq(requestMsgSet as ISubscriptionMsgSetRequest)
Dim UIExtensionSubscriptionQueryRq as IUIExtensionSubscriptionQuery
UIExtensionSubscriptionQueryRq= requestMsgSet.AppendUIExtensionSubscriptionQueryRq()
'Set field value for SubscriberID
UIExtensionSubscriptionQueryRq.SubscriberID.SetValue(System.Guid.NewGuid().ToString())
End Sub
Public Sub WalkUIExtensionSubscriptionQueryRs( responseMsgSet as ISubscriptionMsgSetResponse)
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.rtUIExtensionSubscriptionQueryRs) then
'upcast to more specific type here, this is safe because we checked with response.Type check above
Dim UIExtensionSubscriptionRet as IUIExtensionSubscriptionRet
UIExtensionSubscriptionRet = CType(response.Detail,IUIExtensionSubscriptionRet)
WalkUIExtensionSubscriptionRet(UIExtensionSubscriptionRet)
End If
End If
End If
Next j
End Sub
Public Sub WalkUIExtensionSubscriptionRet(UIExtensionSubscriptionRet as IUIExtensionSubscriptionRet)
if (UIExtensionSubscriptionRet is nothing) then
Exit Sub
End If
'Go through all the elements of IUIExtensionSubscriptionRet
'Get value of SubscriberID
Dim SubscriberID25007 as String
SubscriberID25007 = UIExtensionSubscriptionRet.SubscriberID.GetValue()
'Get value of TimeCreated
Dim TimeCreated25008 as DateTime
TimeCreated25008 = UIExtensionSubscriptionRet.TimeCreated.GetValue()
'Get value of TimeLastProcessed
if ( not UIExtensionSubscriptionRet.TimeLastProcessed is nothing) then
Dim TimeLastProcessed25009 as DateTime
TimeLastProcessed25009 = UIExtensionSubscriptionRet.TimeLastProcessed.GetValue()
End If
'Get value of AppName
Dim AppName25010 as String
AppName25010 = UIExtensionSubscriptionRet.COMCallbackInfo.AppName.GetValue()
if (not UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID is nothing) then
if (not UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.ProgID is nothing) then
'Get value of ProgID
if ( not UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.ProgID is nothing) then
Dim ProgID25012 as String
ProgID25012 = UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.ProgID.GetValue()
End If
End If
if (not UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.CLSID is nothing) then
'Get value of CLSID
if ( not UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.CLSID is nothing) then
Dim CLSID25013 as String
CLSID25013 = UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.CLSID.GetValue()
End If
End If
End If
'Get value of AddToMenu
Dim AddToMenu25014 as ENAddToMenu
AddToMenu25014 = UIExtensionSubscriptionRet.MenuExtensionSubscription.AddToMenu.GetValue()
if (not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu is nothing) then
if (not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu is nothing) then
if (not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu. is nothing) then
if (not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition. is nothing) then
'Get value of VisibleIfList
if ( not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.VisibleIfList is nothing) then
Dim VisibleIf25016 as ENVisibleIfList
VisibleIf25016 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.VisibleIfList.GetValue()
End If
'Get value of VisibleIfNotList
if ( not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.VisibleIfNotList is nothing) then
Dim VisibleIfNot25017 as ENVisibleIfNotList
VisibleIfNot25017 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.VisibleIfNotList.GetValue()
End If
'Get value of EnabledIfList
if ( not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.EnabledIfList is nothing) then
Dim EnabledIf25018 as ENEnabledIfList
EnabledIf25018 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.EnabledIfList.GetValue()
End If
'Get value of EnabledIfNotList
if ( not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.EnabledIfNotList is nothing) then
Dim EnabledIfNot25019 as ENEnabledIfNotList
EnabledIfNot25019 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.EnabledIfNotList.GetValue()
End If
End If
if (not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.MenuItemList is nothing)
Dim i25020 as Integer
for i25020 = 0 to UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.MenuItemList.Count - 1
Dim MenuItem as IMenuItem
MenuItem = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.MenuItemList.GetAt(i25020)
'Get value of MenuText
Dim MenuText25021 as String
MenuText25021 = MenuItemMenuText.GetValue()
'Get value of EventTag
Dim EventTag25022 as String
EventTag25022 = MenuItemEventTag.GetValue()
if (not MenuItemDisplayCondition. is nothing) then
'Get value of VisibleIfList
if ( not MenuItemDisplayCondition.VisibleIfList is nothing) then
Dim VisibleIf25023 as ENVisibleIfList
VisibleIf25023 = MenuItemDisplayCondition.VisibleIfList.GetValue()
End If
'Get value of VisibleIfNotList
if ( not MenuItemDisplayCondition.VisibleIfNotList is nothing) then
Dim VisibleIfNot25024 as ENVisibleIfNotList
VisibleIfNot25024 = MenuItemDisplayCondition.VisibleIfNotList.GetValue()
End If
'Get value of EnabledIfList
if ( not MenuItemDisplayCondition.EnabledIfList is nothing) then
Dim EnabledIf25025 as ENEnabledIfList
EnabledIf25025 = MenuItemDisplayCondition.EnabledIfList.GetValue()
End If
'Get value of EnabledIfNotList
if ( not MenuItemDisplayCondition.EnabledIfNotList is nothing) then
Dim EnabledIfNot25026 as ENEnabledIfNotList
EnabledIfNot25026 = MenuItemDisplayCondition.EnabledIfNotList.GetValue()
End If
End If
Next i25020
End If
End If
End If
if (not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem is nothing) then
if (not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem. is nothing) then
'Get value of MenuText
Dim MenuText25027 as String
MenuText25027 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.MenuText.GetValue()
'Get value of EventTag
Dim EventTag25028 as String
EventTag25028 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.EventTag.GetValue()
if (not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition. is nothing) then
'Get value of VisibleIfList
if ( not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.VisibleIfList is nothing) then
Dim VisibleIf25029 as ENVisibleIfList
VisibleIf25029 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.VisibleIfList.GetValue()
End If
'Get value of VisibleIfNotList
if ( not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.VisibleIfNotList is nothing) then
Dim VisibleIfNot25030 as ENVisibleIfNotList
VisibleIfNot25030 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.VisibleIfNotList.GetValue()
End If
'Get value of EnabledIfList
if ( not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.EnabledIfList is nothing) then
Dim EnabledIf25031 as ENEnabledIfList
EnabledIf25031 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.EnabledIfList.GetValue()
End If
'Get value of EnabledIfNotList
if ( not UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.EnabledIfNotList is nothing) then
Dim EnabledIfNot25032 as ENEnabledIfNotList
EnabledIfNot25032 = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.EnabledIfNotList.GetValue()
End If
End If
End If
End If
End If
End Sub
End Class
End Module
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | //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 DoUIExtensionSubscriptionQuery() { 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 ISubscriptionMsgSetRequest requestMsgSet = sessionManager.CreateSubscriptionMsgSetRequest("US",16,0); BuildUIExtensionSubscriptionQueryRq(requestMsgSet); //Connect to QuickBooks and begin a session sessionManager.OpenConnection("","Sample Code from OSR"); connectionOpen = true; //Send the request and get the response from QuickBooks ISubscriptionMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet); //End the session and close the connection to QuickBooks sessionManager.CloseConnection(); connectionOpen = false; WalkUIExtensionSubscriptionQueryRs(responseMsgSet); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); if (connectionOpen) { sessionManager.CloseConnection(); } } } void BuildUIExtensionSubscriptionQueryRq(ISubscriptionMsgSetRequest requestMsgSet) { IUIExtensionSubscriptionQuery UIExtensionSubscriptionQueryRq= requestMsgSet.AppendUIExtensionSubscriptionQueryRq(); //Set field value for SubscriberID UIExtensionSubscriptionQueryRq.SubscriberID.SetValue(Guid.NewGuid().ToString()); } void WalkUIExtensionSubscriptionQueryRs(ISubscriptionMsgSetResponse 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.rtUIExtensionSubscriptionQueryRs) { //upcast to more specific type here, this is safe because we checked with response.Type check above IUIExtensionSubscriptionRet UIExtensionSubscriptionRet = (IUIExtensionSubscriptionRet)response.Detail; WalkUIExtensionSubscriptionRet(UIExtensionSubscriptionRet); } } } } } void WalkUIExtensionSubscriptionRet(IUIExtensionSubscriptionRet UIExtensionSubscriptionRet) { if (UIExtensionSubscriptionRet == null) return; //Go through all the elements of IUIExtensionSubscriptionRet //Get value of SubscriberID string SubscriberID24981 = (string)UIExtensionSubscriptionRet.SubscriberID.GetValue(); //Get value of TimeCreated DateTime TimeCreated24982 = (DateTime)UIExtensionSubscriptionRet.TimeCreated.GetValue(); //Get value of TimeLastProcessed if (UIExtensionSubscriptionRet.TimeLastProcessed != null) { DateTime TimeLastProcessed24983 = (DateTime)UIExtensionSubscriptionRet.TimeLastProcessed.GetValue(); } //Get value of AppName string AppName24984 = (string)UIExtensionSubscriptionRet.COMCallbackInfo.AppName.GetValue(); if (UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID != null) { if (UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.ProgID != null) { //Get value of ProgID if (UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.ProgID != null) { string ProgID24986 = (string)UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.ProgID.GetValue(); } } if (UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.CLSID != null) { //Get value of CLSID if (UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.CLSID != null) { string CLSID24987 = (string)UIExtensionSubscriptionRet.COMCallbackInfo.ORProgCLSID.CLSID.GetValue(); } } } //Get value of AddToMenu ENAddToMenu AddToMenu24988 = (ENAddToMenu)UIExtensionSubscriptionRet.MenuExtensionSubscription.AddToMenu.GetValue(); if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu != null) { if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu != null) { if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu != null) { if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition != null) { //Get value of VisibleIfList if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.VisibleIfList != null) { ENVisibleIfList VisibleIf24990 = (ENVisibleIfList)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.VisibleIfList.GetValue(); } //Get value of VisibleIfNotList if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.VisibleIfNotList != null) { ENVisibleIfNotList VisibleIfNot24991 = (ENVisibleIfNotList)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.VisibleIfNotList.GetValue(); } //Get value of EnabledIfList if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.EnabledIfList != null) { ENEnabledIfList EnabledIf24992 = (ENEnabledIfList)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.EnabledIfList.GetValue(); } //Get value of EnabledIfNotList if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.EnabledIfNotList != null) { ENEnabledIfNotList EnabledIfNot24993 = (ENEnabledIfNotList)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.DisplayCondition.EnabledIfNotList.GetValue(); } } if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.MenuItemList != null) { for (int i24994 = 0; i24994 < UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.MenuItemList.Count; i24994++) { IMenuItem MenuItem = UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.Submenu.MenuItemList.GetAt(i24994); //Get value of MenuText string MenuText24995 = (string)MenuItem.MenuText.GetValue(); //Get value of EventTag string EventTag24996 = (string)MenuItem.EventTag.GetValue(); if (MenuItem.DisplayCondition != null) { //Get value of VisibleIfList if (MenuItem.DisplayCondition.VisibleIfList != null) { ENVisibleIfList VisibleIf24997 = (ENVisibleIfList)MenuItem.DisplayCondition.VisibleIfList.GetValue(); } //Get value of VisibleIfNotList if (MenuItem.DisplayCondition.VisibleIfNotList != null) { ENVisibleIfNotList VisibleIfNot24998 = (ENVisibleIfNotList)MenuItem.DisplayCondition.VisibleIfNotList.GetValue(); } //Get value of EnabledIfList if (MenuItem.DisplayCondition.EnabledIfList != null) { ENEnabledIfList EnabledIf24999 = (ENEnabledIfList)MenuItem.DisplayCondition.EnabledIfList.GetValue(); } //Get value of EnabledIfNotList if (MenuItem.DisplayCondition.EnabledIfNotList != null) { ENEnabledIfNotList EnabledIfNot25000 = (ENEnabledIfNotList)MenuItem.DisplayCondition.EnabledIfNotList.GetValue(); } } } } } } if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem != null) { if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem != null) { //Get value of MenuText string MenuText25001 = (string)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.MenuText.GetValue(); //Get value of EventTag string EventTag25002 = (string)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.EventTag.GetValue(); if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition != null) { //Get value of VisibleIfList if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.VisibleIfList != null) { ENVisibleIfList VisibleIf25003 = (ENVisibleIfList)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.VisibleIfList.GetValue(); } //Get value of VisibleIfNotList if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.VisibleIfNotList != null) { ENVisibleIfNotList VisibleIfNot25004 = (ENVisibleIfNotList)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.VisibleIfNotList.GetValue(); } //Get value of EnabledIfList if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.EnabledIfList != null) { ENEnabledIfList EnabledIf25005 = (ENEnabledIfList)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.EnabledIfList.GetValue(); } //Get value of EnabledIfNotList if (UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.EnabledIfNotList != null) { ENEnabledIfNotList EnabledIfNot25006 = (ENEnabledIfNotList)UIExtensionSubscriptionRet.MenuExtensionSubscription.ORMenuSubmenu.MenuItem.DisplayCondition.EnabledIfNotList.GetValue(); } } } } } } } } |