UIExtensionSubscriptionQuery(3.0)

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#

Tag Type Max length Implementation Required

IUIExtensionSubscriptionQuery

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 the chapter called “Integrating with the QuickBooks UI” in the QB SDK Programmer’s Guide (PDF, 9.6 MB). 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().
    3.0  

SubscriberID

A unique identifier that an application sets when it adds a subscription so that the application can later query or delete the subscription.
IQBGUIDType     Y
Tag Type Max length Implementation Required

IResponse

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 the chapter called “Integrating with the QuickBooks UI” in the QB SDK Programmer’s Guide (PDF, 9.6 MB). 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().
    3.0  

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

IUIExtensionSubscriptionRet      

SubscriberID

A unique identifier that an application sets when it adds a subscription so that the application can later query or delete the subscription.
IQBGUIDType     Y

TimeCreated

Time the object was created.
IQBDateTimeType     Y

TimeLastProcessed

For data and UI events: TimeLastProcessed will be present if this subscription has been processed by at least one company file. It indicates the last time that this subscription is propagated to a company file. For UI extensions: TimeLastProcessed indicates when the extension was processed for an installation of QuickBooks (not for a company file, as with events). UI extensions are processed by each installation of QuickBooks the first time QuickBooks is started after a UI extension is added. No additional processing of the subscription is done as data files are opened. (Each data file has to grant access to the extension, but this does not affect the TimeLastProcessed.)
IQBDateTimeType      

COMCallbackInfo

Information used to start your application and invoke its callback routine in response to subscribed events.
ICOMCallbackInfo     Y

AppName

The name of your application as it will appear in the authorization dialog box and, if you add a menu extension, in the QuickBooks menu.
IQBStringType 128 chars   Y

ORProgCLSID

IORProgCLSID     Y

ProgID

You must assign a CLSID or a ProgID for the callback class that implements the SDK interface IQBEventCallback. If you want multiple CLSIDs/ProgIDs for your application (perhaps because you want one EXE to handle data events, another EXE to handle UI events, and still another EXE to handle UI extension events), you can use a different SubscriberID to subscribe to each event type.
IQBStringType 128 chars    

CLSID

You must assign a CLSID or a ProgID for the callback class that implements the SDK interface IQBEventCallback. If you want multiple CLSIDs/ProgIDs for your application (perhaps because you want one EXE to handle data events, another EXE to handle UI events, and still another EXE to handle UI extension events), you can use a different SubscriberID to subscribe to each event type.
IQBGUIDType      

MenuExtensionSubscription

Adds a menu extension to QuickBooks. (Each application can add only one menu extension to QuickBooks.) Include a Submenu aggregate if you are adding several menu items that will be nested to the right of your AppName in the QuickBooks menu. Include a MenuItem aggregate if you do not have submenu items. In this case, the MenuText will appear after your AppName (separated by a colon) in the QuickBooks menu.
IMenuExtensionSubscription     Y

AddToMenu

The top-level QuickBooks menu where the menu extension will appear. Menu extensions have assigned locations within these QuickBooks menus.
IQBENAddToMenuType     Y

ORMenuSubmenu

IORMenuSubmenu     Y

Submenu

Your application name (AppName) appears at a predefined location in the QuickBooks menu and is followed by a right arrow that opens the submenu. The subitems (the list of MenuItem objects) show up in the order in which they are specified in the Submenu object.
ISubmenu      

DisplayCondition

Controls whether this menu (or submenu) item is visible and enabled, depending on certain conditions being true or false within QuickBooks. The VisibleIf and VisibleIfNot fields control whether the item is displayed. The EnabledIf and EnabledIfNot tags control whether the item is grayed out.
IDisplayCondition      

VisibleIfList

A list of IENVisibleIf objects. If all the conditions you set in this list are true in QuickBooks, this menu item will be displayed.
IENVisibleIfList      

VisibleIfNotList

A list of IENVisibleIfNot objects. If all the conditions you set in this list are false in QuickBooks, this menu item will be displayed.
IENVisibleIfNotList      

EnabledIfList

A list of IENEnabledIf objects. If all the conditions you set in this list are true in QuickBooks, this menu item will be enabled. (That is, it will not be grayed out.)
IENEnabledIfList      

EnabledIfNotList

A list of IENEnabledIfNot objects. If all the conditions you set in this list are false in QuickBooks, this menu item will be enabled. (That is, it will not be grayed out.)
IENEnabledIfNotList      

MenuItemList

A list of IMenuItem objects, each of which represents a menu item.
IMenuItemList     Y

(List

of IMenuItem Objects)
       

MenuText

The string that appears in the QuickBooks menu: If MenuText is within a Submenu, MenuText appears as a subitem nested under your application name. Your application name appears at a predefined location in the QuickBooks menu and is followed by a right arrow that opens your submenu. If MenuText is not within a Submenu (that is, if you only have one menu item), MenuText follows your AppName (separated by a colon) at a predefined location in the QuickBooks menu, usually near the bottom. If your application name plus MenuText is more than 50 characters, MenuText will appear as a subitem.
IQBStringType 50 chars   Y

EventTag

Set by your application in a menu-extension subscription and returned in the EventTag element of the UIExtensionEvent aggregate in the QBXMLEvents message.
IQBStringType 50 chars   Y

DisplayCondition

Controls whether this menu (or submenu) item is visible and enabled, depending on certain conditions being true or false within QuickBooks. The VisibleIf and VisibleIfNot fields control whether the item is displayed. The EnabledIf and EnabledIfNot tags control whether the item is grayed out.
IDisplayCondition      

VisibleIfList

A list of IENVisibleIf objects. If all the conditions you set in this list are true in QuickBooks, this menu item will be displayed.
IENVisibleIfList      

VisibleIfNotList

A list of IENVisibleIfNot objects. If all the conditions you set in this list are false in QuickBooks, this menu item will be displayed.
IENVisibleIfNotList      

EnabledIfList

A list of IENEnabledIf objects. If all the conditions you set in this list are true in QuickBooks, this menu item will be enabled. (That is, it will not be grayed out.)
IENEnabledIfList      

EnabledIfNotList

A list of IENEnabledIfNot objects. If all the conditions you set in this list are false in QuickBooks, this menu item will be enabled. (That is, it will not be grayed out.)
IENEnabledIfNotList      

MenuItem

A menu item.
IMenuItem      

MenuText

The string that appears in the QuickBooks menu: If MenuText is within a Submenu, MenuText appears as a subitem nested under your application name. Your application name appears at a predefined location in the QuickBooks menu and is followed by a right arrow that opens your submenu. If MenuText is not within a Submenu (that is, if you only have one menu item), MenuText follows your AppName (separated by a colon) at a predefined location in the QuickBooks menu, usually near the bottom. If your application name plus MenuText is more than 50 characters, MenuText will appear as a subitem.
IQBStringType 50 chars   Y

EventTag

Set by your application in a menu-extension subscription and returned in the EventTag element of the UIExtensionEvent aggregate in the QBXMLEvents message.
IQBStringType 50 chars   Y

DisplayCondition

Controls whether this menu (or submenu) item is visible and enabled, depending on certain conditions being true or false within QuickBooks. The VisibleIf and VisibleIfNot fields control whether the item is displayed. The EnabledIf and EnabledIfNot tags control whether the item is grayed out.
IDisplayCondition      

VisibleIfList

A list of IENVisibleIf objects. If all the conditions you set in this list are true in QuickBooks, this menu item will be displayed.
IENVisibleIfList      

VisibleIfNotList

A list of IENVisibleIfNot objects. If all the conditions you set in this list are false in QuickBooks, this menu item will be displayed.
IENVisibleIfNotList      

EnabledIfList

A list of IENEnabledIf objects. If all the conditions you set in this list are true in QuickBooks, this menu item will be enabled. (That is, it will not be grayed out.)
IENEnabledIfList      

EnabledIfNotList

A list of IENEnabledIfNot objects. If all the conditions you set in this list are false in QuickBooks, this menu item will be enabled. (That is, it will not be grayed out.)
IENEnabledIfNotList      

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




        }
}