TimeEntryQuery

Queries the QBPOS company for the time entries specified.


Request

Response

XMLOPS

VB.NET

C#

Tag Type Max length Implementation Required

ITimeEntryQuery

Queries the QBPOS company for the time entries specified.
    2.0  

metaData

This is used in a query to cause a count of query objects to be returned. You can specify that the count of query objects is to be returned with the returned objects, or you can specify that only a count and no data is returned. (The default is that no count is returned.) A common use of this feature is to specify a count with no data in order to determine how many objects to expect from the actual query. If you don’t want a query to return a count, either don’t use this feature, or specify the value NoMetaData. If you want only a count, specify the value MetaDataOnly. If you want data and a count, specify MetaDataAndResponseData. You should be aware that the count returned via this setting is not guaranteed to be exact: it could be off slightly due to new object creation or deletions.
IQBENmetaDataType   4.0|us.png|  

iterator

The iterator attribute provided with most query types also allows you to break down query results in smaller and more manageable chunks of data. An iterator results in responses that contain only the specified number of objects. Iterators are only valid for the application that starts them, and they are only valid for the current QuickBooks session.
IQBENiteratorType   5.0|us.png|  

iteratorID

The iterator query attribute is provided with most query types to allow you to break down query results into smaller and more manageable chunks of data. An iterator results in responses that contain only the specified number of objects. The iterator is created when a query contains the iterator attribute set to Start, along with a MaxReturn value specifying how many records are to be returned in each iteration. The response to that first query iteration contains, along with the response data, an IteratorID value that uniquely identifies that iterator. This is important because you can have many iterators active at the same time. Accordingly, in subsequent iterations of that query, you need to supply that returned iteratorID so the SDK knows where to resume the iteration.
IQBUUIDType   5.0|us.png|  

MaxReturned

This element is used for limiting the number of objects returned in the query to the number specified in MaxReturned. It is required if you use the Iterator attribute to iterate through large or potentially large query returns. When used with the Iterator, MaxReturned specifies the number of records returned in each iteration. It can be modified during the iteration. For details on the Iterator, please refer to the QBPOS SDK Programming Guide. A less optimal, but still possible way to use this element is as follows. You can use this element by itself to chunk up data, by initially using a range filter with the desired starting (From range) and ending range (To range). Then, in subsequent queries, leave the To range alone, but change the From range to coincide with the last object from the previous query.
IQBIntType      

OwnerIDList

The list of Owner IDs in the requests. An ownerID refers to the owner of a data extension:If OwnerID is 0, this is a public data extension. For example, if you intend to use this with a custom field that is supported in the UI, you must use an owner ID of 0.If OwnerID is a GUID, for example {6B063959-81B0-4622-85D6-F548C8CCB517}, this field is a private data extension defined by an integrated application. Note that OwnerID values are not case-sensitive, meaning that if you enter an OwnerID value with lower-case letters, the value will be saved and returned with upper-case letters. When you share a private data extension with another application, the other application must know both the OwnerID and the DataExtName, as these together form a data extension’s unique name.
IGUIDList      

ListID

The unique ID returned by QBPOS for this object. If supplied in a request, the ListID is a reference to an object required in the request. For example, in a SalesOrder or PurchaseOrder line item, the ListID that is required is an Item list ID.
IQBIDType      

ORClockInTimeFilters

IORClockInTimeFilters      

ClockInTimeFilter

Filters by the clock-in datetime value.
IClockInTimeFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

ClockInTime

The date and time at which the employee clocked-in.
IQBDateTimeType     Y

ClockInTimeRangeFilter

Filters by the specified range of datetime values.
IClockInTimeRangeFilter      

FromClockInTime

Start of the range of clock-in time values.
IQBDateTimeType     Y

ToClockInTime

End of the range of clock-in time values.
IQBDateTimeType     Y

ORClockOutTimeFilters

IORClockOutTimeFilters      

ClockOutTimeFilter

Filter by the employee clock-out time values.
IClockOutTimeFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

ClockOutTime

The date and time at which the employee clocked out.
IQBDateTimeType     Y

ClockOutTimeRangeFilter

Filter by the specified range of employee clock-out values.
IClockOutTimeRangeFilter      

FromClockOutTime

Start of the range of clock-out time values.
IQBDateTimeType     Y

ToClockOutTime

End of the range of clock-out time values.
IQBDateTimeType     Y

ORCreatedByFilters

IORCreatedByFilters      

CreatedByFilter

Filters by the CreatedBy field value in the time entry record.
ICreatedByFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

CreatedBy

The person who created this time entry. It can be any value: QBPOS does not check this name against a list of employees or QBPOS user logins.
IQBStringType 40 chars   Y

CreatedByRangeFilter

Filters by a range of CreatedBy field value in the time entry records.
ICreatedByRangeFilter      

FromCreatedBy

Start of the range of CreatedBy values.
IQBStringType 40 chars   Y

ToCreatedBy

End of the range of CreatedBy values.
IQBStringType 40 chars   Y

EmployeeListID

The listID of the employee whose time is being tracked in this time entry. It must be either the list ID of a currently valid employee in the QBPOS company or the macro representing an employee that is being added to the QBPOS company in the current message set.
IQBIDType      

OREmployeeLoginNameFilters

IOREmployeeLoginNameFilters      

EmployeeLoginNameFilter

Filters by employee login name.
IEmployeeLoginNameFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

EmployeeLoginName

The name used by the employee to log into the QBPOS company.
IQBStringType 20 chars   Y

EmployeeLoginNameRangeFilter

Filters by a range of employee login names.
IEmployeeLoginNameRangeFilter      

FromEmployeeLoginName

Start of the range of employee login name values.
IQBStringType 20 chars   Y

ToEmployeeLoginName

End of the range of employee login name values.
IQBStringType 20 chars   Y

ORFirstNameFilters

IORFirstNameFilters      

FirstNameFilter

Filters by the first name.
IFirstNameFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

FirstName

The first name.
IQBStringType 30 chars   Y

FirstNameRangeFilter

Filters by a range of first names.
IFirstNameRangeFilter      

FromFirstName

Start of the first name range.
IQBStringType 30 chars   Y

ToFirstName

End of the first name range.
IQBStringType 30 chars   Y

ORLastNameFilters

IORLastNameFilters      

LastNameFilter

Filters by the last name.
ILastNameFilter      

MatchStringCriterion

This specifies which part of the string is being looked at.
IQBENMatchStringCriterionType     Y

LastName

The last name.
IQBStringType 30 chars   Y

LastNameRangeFilter

Filters by a range of last names.
ILastNameRangeFilter      

FromLastName

Start of the last name range.
IQBStringType 30 chars   Y

ToLastName

End of the last name range.
IQBStringType 30 chars   Y

ORStoreNumberFilters

IORStoreNumberFilters      

StoreNumberFilter

Available only for multi-store versions of QBPOS. Filters Quantity Adjustment Memos by the store number of the store originating the Quantity Adjustment Memo.
IStoreNumberFilter      

MatchNumericCriterion

Specifies how the specified numeric value will filter the target objects, that is, specifies the the comparison that will be used.
IQBENMatchNumericCriterionType     Y

StoreNumber

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.
IQBIntType     Y

StoreNumberRangeFilter

Available only for multi-store versions of QBPOS. Filters Quantity Adjustment Memos by the specified range of store numbers of the store originating the Quantity Adjustment Memo.
IStoreNumberRangeFilter      

FromStoreNumber

Available for multi-store versions of QBPOS. Specifies the starting value of the Store Number range. Only memos whose Store Number value is at this value level or higher will be returned in the query.
IQBIntType     Y

ToStoreNumber

Specifies the ending value of the Store Number range. Only memos whose Store Number value falls between the FromStoreNumber value and this value will be returned in the query.
IQBIntType     Y

QuickBooksFlag

This element is used only if QBPOS is being used with QuickBooks Financial Software. The value here displays the status of data export for a memo: NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), or ERROR (attempting to send the memo to QuickBooks resulted in an error). Values: NotPosted, Completed, Error, UnbilledPurchases No default value.
IQBENQuickBooksFlagType   2.5  

IncludeRetElementList

You can use the IncludeRetElement feature to restrict the data returned in the response to the specified qbposXML field here. If you do this, only those elements specified will be returned. To use this feature, you simply add the qbposXML element name to the IncludeRetElementList. The following example shows how to do this, specifying that only the CreatedBy and ClockOutTime elements are to be returned in the TimeEntryAdd response: Dim MyTimeEntry As ITimeEntryAdd Set MyTimeEntry = requestMsgSet.AppendTimeEntryAddRq MyTimeEntry.IncludeRetElementList.Add “CreatedBy” MyTimeEntry.IncludeRetElementList.Add “ClockOutTime” ‘ set the other properties as desired…
IBSTRList 50 chars    
Tag Type Max length Implementation Required

IResponse

Queries the QBPOS company for the time entries specified.
    2.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

retCount

The retCount is returned in a query if in the query request you specified the metaData attribute with a value of MetaDataOnly (in which case the retCount is the only data returned in the query response) or MetaDataAndResponseData (the query response contains object data AND the approximate count). The retCount value contains the approximate count of the objects that could be expected to be returned from the query. A common use of this feature is to specify a count with no data in order to determine how many objects to expect from the actual query. You should be aware that the count returned in retCount is not guaranteed to be exact: it could be off slightly due to new object creation or deletions.
IQBIntType   4.0|us.png| Y

iteratorRemainingCount

This attribute is provided in the response in a query using iterators, indicating the number of objects remaining in the iteration. This can help you specify a MaxReturn value tailored to the number of objects still to be iterated through in your query.
IQBIntType   5.0|us.png| Y

iteratorID

The iterator query attribute is provided with most query types to allow you to break down query results into smaller and more manageable chunks of data. An iterator results in responses that contain only the specified number of objects. The iterator is created when a query contains the iterator attribute set to Start, along with a MaxReturn value specifying how many records are to be returned in each iteration. The response to that first query iteration contains, along with the response data, an IteratorID value that uniquely identifies that iterator. This is important because you can have many iterators active at the same time. Accordingly, in subsequent iterations of that query, you need to supply that returned iteratorID so the SDK knows where to resume the iteration.
IQBUUIDType   5.0|us.png| Y

Detail

ITimeEntryRetList      

(List of ITimeEntryRet Objects)

       

ListID

The unique ID returned by QBPOS for this object. If supplied in a request, the ListID is a reference to an object required in the request. For example, in a SalesOrder or PurchaseOrder line item, the ListID that is required is an Item list ID.
IQBIDType      

ClockInTime

The date and time at which the employee clocked-in.
IQBDateTimeType      

ClockOutTime

The date and time at which the employee clocked out.
IQBDateTimeType      

CreatedBy

The person who created this time entry. It can be any value: QBPOS does not check this name against a list of employees or QBPOS user logins.
IQBStringType 40 chars    

EmployeeListID

The listID of the employee whose time is being tracked in this time entry. It must be either the list ID of a currently valid employee in the QBPOS company or the macro representing an employee that is being added to the QBPOS company in the current message set.
IQBIDType      

EmployeeLoginName

The name used by the employee to log into the QBPOS company.
IQBStringType 20 chars    

FirstName

The first name.
IQBStringType 30 chars    

LastName

The last name.
IQBStringType 30 chars    

StoreNumber

This is used only for multi-store versions of QBPOS. The value is between 1 and 10, since a maximum of 10 stores are currently supported.
IQBIntType      

QuickBooksFlag

This element is used only if QBPOS is being used with QuickBooks Financial Software. The value here displays the status of data export for a memo: NOT POSTED (not yet sent to QuickBooks), COMPLETE (sent to QuickBooks), or ERROR (attempting to send the memo to QuickBooks resulted in an error). Values: NotPosted, Completed, Error, UnbilledPurchases No default value.
IQBENQuickBooksFlagType   2.5  

DataExtRetList

If you specify any custom fields/private data extensions to be returned in the query request (in the OwnerIDList), then this Ret List will contain all of the data extensions that belong to each specified OwnerID. For example, if you specify an OwnerID value of 0 (custom fields), then the query will return all custom data for the returned records.
IDataExtRetList      

(List of IDataExtRet Objects)

       

OwnerID

OwnerID refers to the owner of a data extension, and must be 0 or a valid GUID. (Custom fields, which are visible in the QuickBooks UI, always have an OwnerID of 0. ) Usually you would keep your application’s GUID confidential to prevent other applications from accessing your data extensions. But if you want to share data extensions with another application, the applications need to use the same GUID. In this case, each application could use two GUIDs, one for shared data extensions and one for confidential data extensions. (An application can have any number of GUIDs.) When you share a data extension with another application, the other application must know both the OwnerID and the DataExtName, as these together form a data extension’s unique name.
IQBGUIDType     Y

DataExtName

The name of the data extension. If this is a custom field, DataExtName will be visible as a label in the QuickBooks user interface. Also because OwnerID and DataExtName together make the data extension unique, and because custom fields all have the same OwnerID of zero, the DataExtName must be a unique value among existing custom fields. In contrast, the DataExtName for private data extensions must be unique only for the specified OwnerID GUID.
IQBStringType     Y

DataExtType

b>DataExtType The type of the data extension.
IQBENDataExtTypeType     Y

DataExtValue

The data in this field. The maximum length of DataExtValue will depend on the DataExtType of this data extension. For example, if DataExtType is STR255TYPE, the maximum length of DataExtValue is 255 characters. If DataExtType is STR1024TYPE, the maximum size of DataExtValue is 1KB.
IQBStringType     Y

  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
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="4.0"?>
<QBPOSXML>
        <QBPOSXMLMsgsRq onError="stopOnError">
                <TimeEntryQueryRq metaData="ENUMTYPE" iterator="ENUMTYPE" iteratorID="UUIDTYPE">
                        <MaxReturned >INTTYPE</MaxReturned> <!-- optional -->
                        <OwnerID >GUIDTYPE</OwnerID> <!-- optional, may repeat -->
                        <ListID >IDTYPE</ListID> <!-- optional -->
                        <!-- BEGIN OR -->
                                <ClockInTimeFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <ClockInTime >DATETIMETYPE</ClockInTime> <!-- required -->
                                </ClockInTimeFilter>
                        <!-- OR -->
                                <ClockInTimeRangeFilter> <!-- optional -->
                                        <FromClockInTime >DATETIMETYPE</FromClockInTime> <!-- required -->
                                        <ToClockInTime >DATETIMETYPE</ToClockInTime> <!-- required -->
                                </ClockInTimeRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <ClockOutTimeFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <ClockOutTime >DATETIMETYPE</ClockOutTime> <!-- required -->
                                </ClockOutTimeFilter>
                        <!-- OR -->
                                <ClockOutTimeRangeFilter> <!-- optional -->
                                        <FromClockOutTime >DATETIMETYPE</FromClockOutTime> <!-- required -->
                                        <ToClockOutTime >DATETIMETYPE</ToClockOutTime> <!-- required -->
                                </ClockOutTimeRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <CreatedByFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <CreatedBy >STRTYPE</CreatedBy> <!-- required -->
                                </CreatedByFilter>
                        <!-- OR -->
                                <CreatedByRangeFilter> <!-- optional -->
                                        <FromCreatedBy >STRTYPE</FromCreatedBy> <!-- required -->
                                        <ToCreatedBy >STRTYPE</ToCreatedBy> <!-- required -->
                                </CreatedByRangeFilter>
                        <!-- END OR -->
                        <EmployeeListID >IDTYPE</EmployeeListID> <!-- optional -->
                        <!-- BEGIN OR -->
                                <EmployeeLoginNameFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <EmployeeLoginName >STRTYPE</EmployeeLoginName> <!-- required -->
                                </EmployeeLoginNameFilter>
                        <!-- OR -->
                                <EmployeeLoginNameRangeFilter> <!-- optional -->
                                        <FromEmployeeLoginName >STRTYPE</FromEmployeeLoginName> <!-- required -->
                                        <ToEmployeeLoginName >STRTYPE</ToEmployeeLoginName> <!-- required -->
                                </EmployeeLoginNameRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <FirstNameFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <FirstName >STRTYPE</FirstName> <!-- required -->
                                </FirstNameFilter>
                        <!-- OR -->
                                <FirstNameRangeFilter> <!-- optional -->
                                        <FromFirstName >STRTYPE</FromFirstName> <!-- required -->
                                        <ToFirstName >STRTYPE</ToFirstName> <!-- required -->
                                </FirstNameRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <LastNameFilter> <!-- optional -->
                                        <!-- MatchStringCriterion may have one of the following values: Equal, StartsWith, Contains, EndsWith -->
                                        <MatchStringCriterion >ENUMTYPE</MatchStringCriterion> <!-- required -->
                                        <LastName >STRTYPE</LastName> <!-- required -->
                                </LastNameFilter>
                        <!-- OR -->
                                <LastNameRangeFilter> <!-- optional -->
                                        <FromLastName >STRTYPE</FromLastName> <!-- required -->
                                        <ToLastName >STRTYPE</ToLastName> <!-- required -->
                                </LastNameRangeFilter>
                        <!-- END OR -->
                        <!-- BEGIN OR -->
                                <StoreNumberFilter> <!-- optional -->
                                        <!-- MatchNumericCriterion may have one of the following values: LessThan, LessThanEqual, Equal, GreaterThan, GreaterThanEqual -->
                                        <MatchNumericCriterion >ENUMTYPE</MatchNumericCriterion> <!-- required -->
                                        <StoreNumber >INTTYPE</StoreNumber> <!-- required -->
                                </StoreNumberFilter>
                        <!-- OR -->
                                <StoreNumberRangeFilter> <!-- optional -->
                                        <FromStoreNumber >INTTYPE</FromStoreNumber> <!-- required -->
                                        <ToStoreNumber >INTTYPE</ToStoreNumber> <!-- required -->
                                </StoreNumberRangeFilter>
                        <!-- END OR -->
                        <!-- QuickBooksFlag may have one of the following values: NotPosted, Completed, Error, UnbilledPurchases -->
                        <QuickBooksFlag >ENUMTYPE</QuickBooksFlag> <!-- optional -->
                        <IncludeRetElement >STRTYPE</IncludeRetElement> <!-- optional, may repeat -->
                </TimeEntryQueryRq>

                <TimeEntryQueryRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE" retCount="INTTYPE" iteratorRemainingCount="INTTYPE" iteratorID="UUIDTYPE">
                        <TimeEntryRet> <!-- optional, may repeat -->
                                <ListID >IDTYPE</ListID> <!-- optional -->
                                <ClockInTime >DATETIMETYPE</ClockInTime> <!-- optional -->
                                <ClockOutTime >DATETIMETYPE</ClockOutTime> <!-- optional -->
                                <CreatedBy >STRTYPE</CreatedBy> <!-- optional -->
                                <EmployeeListID >IDTYPE</EmployeeListID> <!-- optional -->
                                <EmployeeLoginName >STRTYPE</EmployeeLoginName> <!-- optional -->
                                <FirstName >STRTYPE</FirstName> <!-- optional -->
                                <LastName >STRTYPE</LastName> <!-- optional -->
                                <StoreNumber >INTTYPE</StoreNumber> <!-- optional -->
                                <!-- QuickBooksFlag may have one of the following values: NotPosted, Completed, Error, UnbilledPurchases -->
                                <QuickBooksFlag >ENUMTYPE</QuickBooksFlag> <!-- optional -->
                                <DataExtRet> <!-- optional, may repeat -->
                                        <OwnerID >GUIDTYPE</OwnerID> <!-- required -->
                                        <DataExtName >STRTYPE</DataExtName> <!-- required -->
                                        <!-- DataExtType may have one of the following values: INTTYPE, AMTTYPE, PRICETYPE, QUANTYPE, PERCENTTYPE, DATETIMETYPE, STR255TYPE, STR1024TYPE -->
                                        <DataExtType >ENUMTYPE</DataExtType> <!-- required -->
                                        <DataExtValue >STRTYPE</DataExtValue> <!-- required -->
                                </DataExtRet>
                        </TimeEntryRet>
                </TimeEntryQueryRs>
        </QBPOSXMLMsgsRq>
</QBPOSXML>

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
'The following sample code is generated as an illustration of
'Creating requests and parsing responses ONLY
'This code is NOT intended to show best practices or ideal code
'Use at your most careful discretion

imports System
imports System.Net
imports System.Drawing
imports System.Collections
imports System.ComponentModel
imports System.Windows.Forms
imports System.Data
imports System.IO
imports Interop.qbposfc4

        Public Class SampleTimeEntryQuery
                Public Sub  DoTimeEntryQuery()
                        Dim sessionBegun as Boolean
                        sessionBegun = False
                        Dim connectionOpen as Boolean
                        connectionOpen = False
                        Dim sessionManager as QBPOSSessionManager
                        sessionManager = nothing

                        Try
                                'Create the session Manager object
                                sessionManager = new QBPOSSessionManager

                                'Create the message set request object to hold our request
                                Dim requestMsgSet as IMsgSetRequest
                                requestMsgSet = sessionManager.CreateMsgSetRequest(4,0)
                                requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue

                                BuildTimeEntryQueryRq(requestMsgSet)

                                'Connect to QuickBooks and begin a session
                                sessionManager.OpenConnection("","Sample Code from OSR")
                                connectionOpen = True
                                sessionManager.BeginSession("")
                                sessionBegun = True

                                'Send the request and get the response from QuickBooks
                                Dim responseMsgSet as IMsgSetResponse
                                responseMsgSet = sessionManager.DoRequests(requestMsgSet)

                                'End the session and close the connection to QuickBooks
                                sessionManager.EndSession()
                                sessionBegun = False
                                sessionManager.CloseConnection()
                                connectionOpen = False

                                WalkTimeEntryQueryRs(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 BuildTimeEntryQueryRq(requestMsgSet as IMsgSetRequest)
                        Dim TimeEntryQueryRq as ITimeEntryQuery
                        TimeEntryQueryRq= requestMsgSet.AppendTimeEntryQueryRq()
                        'Set field value for MaxReturned
                        TimeEntryQueryRq.MaxReturned.SetValue(6)
                        'Set field value for OwnerIDList
                        'May create more than one of these if needed
                        TimeEntryQueryRq.OwnerIDList.Add(System.Guid.NewGuid().ToString())
                        'Set field value for ListID
                        TimeEntryQueryRq.ListID.SetValue("200000-1011023419")
                        Dim ORClockInTimeFiltersElementType4297 as String
                        ORClockInTimeFiltersElementType4297 = "ClockInTimeFilter"
                        if (ORClockInTimeFiltersElementType4297 = "ClockInTimeFilter") then
                                'Set field value for MatchNumericCriterion
                                TimeEntryQueryRq.ORClockInTimeFilters.ClockInTimeFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for ClockInTime
                                TimeEntryQueryRq.ORClockInTimeFilters.ClockInTimeFilter.ClockInTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                        End If
                        if (ORClockInTimeFiltersElementType4297 = "ClockInTimeRangeFilter") then
                                'Set field value for FromClockInTime
                                TimeEntryQueryRq.ORClockInTimeFilters.ClockInTimeRangeFilter.FromClockInTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                                'Set field value for ToClockInTime
                                TimeEntryQueryRq.ORClockInTimeFilters.ClockInTimeRangeFilter.ToClockInTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                        End If
                        Dim ORClockOutTimeFiltersElementType4298 as String
                        ORClockOutTimeFiltersElementType4298 = "ClockOutTimeFilter"
                        if (ORClockOutTimeFiltersElementType4298 = "ClockOutTimeFilter") then
                                'Set field value for MatchNumericCriterion
                                TimeEntryQueryRq.ORClockOutTimeFilters.ClockOutTimeFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for ClockOutTime
                                TimeEntryQueryRq.ORClockOutTimeFilters.ClockOutTimeFilter.ClockOutTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                        End If
                        if (ORClockOutTimeFiltersElementType4298 = "ClockOutTimeRangeFilter") then
                                'Set field value for FromClockOutTime
                                TimeEntryQueryRq.ORClockOutTimeFilters.ClockOutTimeRangeFilter.FromClockOutTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                                'Set field value for ToClockOutTime
                                TimeEntryQueryRq.ORClockOutTimeFilters.ClockOutTimeRangeFilter.ToClockOutTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false)
                        End If
                        Dim ORCreatedByFiltersElementType4299 as String
                        ORCreatedByFiltersElementType4299 = "CreatedByFilter"
                        if (ORCreatedByFiltersElementType4299 = "CreatedByFilter") then
                                'Set field value for MatchStringCriterion
                                TimeEntryQueryRq.ORCreatedByFilters.CreatedByFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for CreatedBy
                                TimeEntryQueryRq.ORCreatedByFilters.CreatedByFilter.CreatedBy.SetValue("ab")
                        End If
                        if (ORCreatedByFiltersElementType4299 = "CreatedByRangeFilter") then
                                'Set field value for FromCreatedBy
                                TimeEntryQueryRq.ORCreatedByFilters.CreatedByRangeFilter.FromCreatedBy.SetValue("ab")
                                'Set field value for ToCreatedBy
                                TimeEntryQueryRq.ORCreatedByFilters.CreatedByRangeFilter.ToCreatedBy.SetValue("ab")
                        End If
                        'Set field value for EmployeeListID
                        TimeEntryQueryRq.EmployeeListID.SetValue("200000-1011023419")
                        Dim OREmployeeLoginNameFiltersElementType4300 as String
                        OREmployeeLoginNameFiltersElementType4300 = "EmployeeLoginNameFilter"
                        if (OREmployeeLoginNameFiltersElementType4300 = "EmployeeLoginNameFilter") then
                                'Set field value for MatchStringCriterion
                                TimeEntryQueryRq.OREmployeeLoginNameFilters.EmployeeLoginNameFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for EmployeeLoginName
                                TimeEntryQueryRq.OREmployeeLoginNameFilters.EmployeeLoginNameFilter.EmployeeLoginName.SetValue("ab")
                        End If
                        if (OREmployeeLoginNameFiltersElementType4300 = "EmployeeLoginNameRangeFilter") then
                                'Set field value for FromEmployeeLoginName
                                TimeEntryQueryRq.OREmployeeLoginNameFilters.EmployeeLoginNameRangeFilter.FromEmployeeLoginName.SetValue("ab")
                                'Set field value for ToEmployeeLoginName
                                TimeEntryQueryRq.OREmployeeLoginNameFilters.EmployeeLoginNameRangeFilter.ToEmployeeLoginName.SetValue("ab")
                        End If
                        Dim ORFirstNameFiltersElementType4301 as String
                        ORFirstNameFiltersElementType4301 = "FirstNameFilter"
                        if (ORFirstNameFiltersElementType4301 = "FirstNameFilter") then
                                'Set field value for MatchStringCriterion
                                TimeEntryQueryRq.ORFirstNameFilters.FirstNameFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for FirstName
                                TimeEntryQueryRq.ORFirstNameFilters.FirstNameFilter.FirstName.SetValue("ab")
                        End If
                        if (ORFirstNameFiltersElementType4301 = "FirstNameRangeFilter") then
                                'Set field value for FromFirstName
                                TimeEntryQueryRq.ORFirstNameFilters.FirstNameRangeFilter.FromFirstName.SetValue("ab")
                                'Set field value for ToFirstName
                                TimeEntryQueryRq.ORFirstNameFilters.FirstNameRangeFilter.ToFirstName.SetValue("ab")
                        End If
                        Dim ORLastNameFiltersElementType4302 as String
                        ORLastNameFiltersElementType4302 = "LastNameFilter"
                        if (ORLastNameFiltersElementType4302 = "LastNameFilter") then
                                'Set field value for MatchStringCriterion
                                TimeEntryQueryRq.ORLastNameFilters.LastNameFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual)
                                'Set field value for LastName
                                TimeEntryQueryRq.ORLastNameFilters.LastNameFilter.LastName.SetValue("ab")
                        End If
                        if (ORLastNameFiltersElementType4302 = "LastNameRangeFilter") then
                                'Set field value for FromLastName
                                TimeEntryQueryRq.ORLastNameFilters.LastNameRangeFilter.FromLastName.SetValue("ab")
                                'Set field value for ToLastName
                                TimeEntryQueryRq.ORLastNameFilters.LastNameRangeFilter.ToLastName.SetValue("ab")
                        End If
                        Dim ORStoreNumberFiltersElementType4303 as String
                        ORStoreNumberFiltersElementType4303 = "StoreNumberFilter"
                        if (ORStoreNumberFiltersElementType4303 = "StoreNumberFilter") then
                                'Set field value for MatchNumericCriterion
                                TimeEntryQueryRq.ORStoreNumberFilters.StoreNumberFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan)
                                'Set field value for StoreNumber
                                TimeEntryQueryRq.ORStoreNumberFilters.StoreNumberFilter.StoreNumber.SetValue(6)
                        End If
                        if (ORStoreNumberFiltersElementType4303 = "StoreNumberRangeFilter") then
                                'Set field value for FromStoreNumber
                                TimeEntryQueryRq.ORStoreNumberFilters.StoreNumberRangeFilter.FromStoreNumber.SetValue(6)
                                'Set field value for ToStoreNumber
                                TimeEntryQueryRq.ORStoreNumberFilters.StoreNumberRangeFilter.ToStoreNumber.SetValue(6)
                        End If
                        'Set field value for QuickBooksFlag
                        TimeEntryQueryRq.QuickBooksFlag.SetValue(ENQuickBooksFlag.qbfNotPosted)
                        'Set field value for IncludeRetElementList
                        'May create more than one of these if needed
                        TimeEntryQueryRq.IncludeRetElementList.Add("ab")
                End Sub




                Public Sub WalkTimeEntryQueryRs( 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.rtTimeEntryQueryRs) then
                                                        'upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        Dim TimeEntryRet as ITimeEntryRetList
                                                        TimeEntryRet = CType(response.Detail,ITimeEntryRetList)
                                                        for z=0 to TimeEntryRet.Count-1
                                                                WalkTimeEntryRet(TimeEntryRet.GetAt(z))
                                                        Next z
                                                End If
                                        End If
                                End If
                        Next j
                End Sub




                Public Sub WalkTimeEntryRet(TimeEntryRet as ITimeEntryRet)
                        if (TimeEntryRet is nothing) then
                                Exit Sub
                        End If

                        'Go through all the elements of ITimeEntryRetList
                        'Get value of ListID
                        if ( not TimeEntryRet.ListID is nothing) then
                                Dim ListID4304 as String
                                ListID4304 = TimeEntryRet.ListID.GetValue()
                        End If
                        'Get value of ClockInTime
                        if ( not TimeEntryRet.ClockInTime is nothing) then
                                Dim ClockInTime4305 as DateTime
                                ClockInTime4305 = TimeEntryRet.ClockInTime.GetValue()
                        End If
                        'Get value of ClockOutTime
                        if ( not TimeEntryRet.ClockOutTime is nothing) then
                                Dim ClockOutTime4306 as DateTime
                                ClockOutTime4306 = TimeEntryRet.ClockOutTime.GetValue()
                        End If
                        'Get value of CreatedBy
                        if ( not TimeEntryRet.CreatedBy is nothing) then
                                Dim CreatedBy4307 as String
                                CreatedBy4307 = TimeEntryRet.CreatedBy.GetValue()
                        End If
                        'Get value of EmployeeListID
                        if ( not TimeEntryRet.EmployeeListID is nothing) then
                                Dim EmployeeListID4308 as String
                                EmployeeListID4308 = TimeEntryRet.EmployeeListID.GetValue()
                        End If
                        'Get value of EmployeeLoginName
                        if ( not TimeEntryRet.EmployeeLoginName is nothing) then
                                Dim EmployeeLoginName4309 as String
                                EmployeeLoginName4309 = TimeEntryRet.EmployeeLoginName.GetValue()
                        End If
                        'Get value of FirstName
                        if ( not TimeEntryRet.FirstName is nothing) then
                                Dim FirstName4310 as String
                                FirstName4310 = TimeEntryRet.FirstName.GetValue()
                        End If
                        'Get value of LastName
                        if ( not TimeEntryRet.LastName is nothing) then
                                Dim LastName4311 as String
                                LastName4311 = TimeEntryRet.LastName.GetValue()
                        End If
                        'Get value of StoreNumber
                        if ( not TimeEntryRet.StoreNumber is nothing) then
                                Dim StoreNumber4312 as Integer
                                StoreNumber4312 = TimeEntryRet.StoreNumber.GetValue()
                        End If
                        'Get value of QuickBooksFlag
                        if ( not TimeEntryRet.QuickBooksFlag is nothing) then
                                Dim QuickBooksFlag4313 as ENQuickBooksFlag
                                QuickBooksFlag4313 = TimeEntryRet.QuickBooksFlag.GetValue()
                        End If
                        if (not TimeEntryRet.DataExtRetList is nothing)
                                Dim i4314 as Integer
                                for i4314 = 0  to TimeEntryRet.DataExtRetList.Count - 1
                                        Dim DataExtRet as IDataExtRet
                                        DataExtRet = TimeEntryRet.DataExtRetList.GetAt(i4314)
                                        'Get value of OwnerID
                                        Dim OwnerID4315 as String
                                        OwnerID4315 = DataExtRet.OwnerID.GetValue()
                                        'Get value of DataExtName
                                        Dim DataExtName4316 as String
                                        DataExtName4316 = DataExtRet.DataExtName.GetValue()
                                        'Get value of DataExtType
                                        Dim DataExtType4317 as ENDataExtType
                                        DataExtType4317 = DataExtRet.DataExtType.GetValue()
                                        'Get value of DataExtValue
                                        Dim DataExtValue4318 as String
                                        DataExtValue4318 = DataExtRet.DataExtValue.GetValue()
                                Next i4314
                        End If
                End Sub




        End Class

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
//The following sample code is generated as an illustration of
//Creating requests and parsing responses ONLY
//This code is NOT intended to show best practices or ideal code
//Use at your most careful discretion

using System;
using System.Net;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
using Interop.qbposfc4;

namespace com.intuit.idn.samples
{
        public class SampleTimeEntryQuery
        {
                public void  DoTimeEntryQuery()
                {
                        bool sessionBegun = false;
                        bool connectionOpen = false;
                        QBPOSSessionManager sessionManager = null;

                        try
                        {
                                //Create the session Manager object
                                sessionManager = new QBPOSSessionManager();

                                //Create the message set request object to hold our request
                                IMsgSetRequest requestMsgSet = sessionManager.CreateMsgSetRequest(4,0);
                                requestMsgSet.Attributes.OnError = ENRqOnError.roeContinue;

                                BuildTimeEntryQueryRq(requestMsgSet);

                                //Connect to QuickBooks and begin a session
                                sessionManager.OpenConnection("","Sample Code from OSR");
                                connectionOpen = true;
                                sessionManager.BeginSession("");
                                sessionBegun = true;

                                //Send the request and get the response from QuickBooks
                                IMsgSetResponse responseMsgSet = sessionManager.DoRequests(requestMsgSet);

                                //End the session and close the connection to QuickBooks
                                sessionManager.EndSession();
                                sessionBegun = false;
                                sessionManager.CloseConnection();
                                connectionOpen = false;

                                WalkTimeEntryQueryRs(responseMsgSet);
                        }
                        catch (Exception e)
                        {
                                MessageBox.Show(e.Message, "Error");
                                if (sessionBegun)
                                {
                                        sessionManager.EndSession();
                                }
                                if (connectionOpen)
                                {
                                        sessionManager.CloseConnection();
                                }
                        }
                }
                void BuildTimeEntryQueryRq(IMsgSetRequest requestMsgSet)
                {
                        ITimeEntryQuery TimeEntryQueryRq= requestMsgSet.AppendTimeEntryQueryRq();
                        //Set attributes
                        //Set field value for metaData
                        TimeEntryQueryRq.metaData.SetValue(ENmetaData.mdMetaDataAndResponseData);
                        //Set field value for iterator
                        TimeEntryQueryRq.iterator.SetValue(ENiterator.itStart);
                        //Set field value for iteratorID
                        TimeEntryQueryRq.iteratorID.SetValue("{D7355385-A17B-4f5d-B34D-F34C79C3E6FC}");
                        //Set field value for MaxReturned
                        TimeEntryQueryRq.MaxReturned.SetValue(6);
                        //Set field value for OwnerIDList
                        //May create more than one of these if needed
                        TimeEntryQueryRq.OwnerIDList.Add(Guid.NewGuid().ToString());
                        //Set field value for ListID
                        TimeEntryQueryRq.ListID.SetValue("200000-1011023419");
                        string ORClockInTimeFiltersElementType4319 = "ClockInTimeFilter";
                        if (ORClockInTimeFiltersElementType4319 == "ClockInTimeFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                TimeEntryQueryRq.ORClockInTimeFilters.ClockInTimeFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for ClockInTime
                                TimeEntryQueryRq.ORClockInTimeFilters.ClockInTimeFilter.ClockInTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                        }
                        if (ORClockInTimeFiltersElementType4319 == "ClockInTimeRangeFilter")
                        {
                                //Set field value for FromClockInTime
                                TimeEntryQueryRq.ORClockInTimeFilters.ClockInTimeRangeFilter.FromClockInTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                                //Set field value for ToClockInTime
                                TimeEntryQueryRq.ORClockInTimeFilters.ClockInTimeRangeFilter.ToClockInTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                        }
                        string ORClockOutTimeFiltersElementType4320 = "ClockOutTimeFilter";
                        if (ORClockOutTimeFiltersElementType4320 == "ClockOutTimeFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                TimeEntryQueryRq.ORClockOutTimeFilters.ClockOutTimeFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for ClockOutTime
                                TimeEntryQueryRq.ORClockOutTimeFilters.ClockOutTimeFilter.ClockOutTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                        }
                        if (ORClockOutTimeFiltersElementType4320 == "ClockOutTimeRangeFilter")
                        {
                                //Set field value for FromClockOutTime
                                TimeEntryQueryRq.ORClockOutTimeFilters.ClockOutTimeRangeFilter.FromClockOutTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                                //Set field value for ToClockOutTime
                                TimeEntryQueryRq.ORClockOutTimeFilters.ClockOutTimeRangeFilter.ToClockOutTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false);
                        }
                        string ORCreatedByFiltersElementType4321 = "CreatedByFilter";
                        if (ORCreatedByFiltersElementType4321 == "CreatedByFilter")
                        {
                                //Set field value for MatchStringCriterion
                                TimeEntryQueryRq.ORCreatedByFilters.CreatedByFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for CreatedBy
                                TimeEntryQueryRq.ORCreatedByFilters.CreatedByFilter.CreatedBy.SetValue("ab");
                        }
                        if (ORCreatedByFiltersElementType4321 == "CreatedByRangeFilter")
                        {
                                //Set field value for FromCreatedBy
                                TimeEntryQueryRq.ORCreatedByFilters.CreatedByRangeFilter.FromCreatedBy.SetValue("ab");
                                //Set field value for ToCreatedBy
                                TimeEntryQueryRq.ORCreatedByFilters.CreatedByRangeFilter.ToCreatedBy.SetValue("ab");
                        }
                        //Set field value for EmployeeListID
                        TimeEntryQueryRq.EmployeeListID.SetValue("200000-1011023419");
                        string OREmployeeLoginNameFiltersElementType4322 = "EmployeeLoginNameFilter";
                        if (OREmployeeLoginNameFiltersElementType4322 == "EmployeeLoginNameFilter")
                        {
                                //Set field value for MatchStringCriterion
                                TimeEntryQueryRq.OREmployeeLoginNameFilters.EmployeeLoginNameFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for EmployeeLoginName
                                TimeEntryQueryRq.OREmployeeLoginNameFilters.EmployeeLoginNameFilter.EmployeeLoginName.SetValue("ab");
                        }
                        if (OREmployeeLoginNameFiltersElementType4322 == "EmployeeLoginNameRangeFilter")
                        {
                                //Set field value for FromEmployeeLoginName
                                TimeEntryQueryRq.OREmployeeLoginNameFilters.EmployeeLoginNameRangeFilter.FromEmployeeLoginName.SetValue("ab");
                                //Set field value for ToEmployeeLoginName
                                TimeEntryQueryRq.OREmployeeLoginNameFilters.EmployeeLoginNameRangeFilter.ToEmployeeLoginName.SetValue("ab");
                        }
                        string ORFirstNameFiltersElementType4323 = "FirstNameFilter";
                        if (ORFirstNameFiltersElementType4323 == "FirstNameFilter")
                        {
                                //Set field value for MatchStringCriterion
                                TimeEntryQueryRq.ORFirstNameFilters.FirstNameFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for FirstName
                                TimeEntryQueryRq.ORFirstNameFilters.FirstNameFilter.FirstName.SetValue("ab");
                        }
                        if (ORFirstNameFiltersElementType4323 == "FirstNameRangeFilter")
                        {
                                //Set field value for FromFirstName
                                TimeEntryQueryRq.ORFirstNameFilters.FirstNameRangeFilter.FromFirstName.SetValue("ab");
                                //Set field value for ToFirstName
                                TimeEntryQueryRq.ORFirstNameFilters.FirstNameRangeFilter.ToFirstName.SetValue("ab");
                        }
                        string ORLastNameFiltersElementType4324 = "LastNameFilter";
                        if (ORLastNameFiltersElementType4324 == "LastNameFilter")
                        {
                                //Set field value for MatchStringCriterion
                                TimeEntryQueryRq.ORLastNameFilters.LastNameFilter.MatchStringCriterion.SetValue(ENMatchStringCriterion.mscEqual);
                                //Set field value for LastName
                                TimeEntryQueryRq.ORLastNameFilters.LastNameFilter.LastName.SetValue("ab");
                        }
                        if (ORLastNameFiltersElementType4324 == "LastNameRangeFilter")
                        {
                                //Set field value for FromLastName
                                TimeEntryQueryRq.ORLastNameFilters.LastNameRangeFilter.FromLastName.SetValue("ab");
                                //Set field value for ToLastName
                                TimeEntryQueryRq.ORLastNameFilters.LastNameRangeFilter.ToLastName.SetValue("ab");
                        }
                        string ORStoreNumberFiltersElementType4325 = "StoreNumberFilter";
                        if (ORStoreNumberFiltersElementType4325 == "StoreNumberFilter")
                        {
                                //Set field value for MatchNumericCriterion
                                TimeEntryQueryRq.ORStoreNumberFilters.StoreNumberFilter.MatchNumericCriterion.SetValue(ENMatchNumericCriterion.mncLessThan);
                                //Set field value for StoreNumber
                                TimeEntryQueryRq.ORStoreNumberFilters.StoreNumberFilter.StoreNumber.SetValue(6);
                        }
                        if (ORStoreNumberFiltersElementType4325 == "StoreNumberRangeFilter")
                        {
                                //Set field value for FromStoreNumber
                                TimeEntryQueryRq.ORStoreNumberFilters.StoreNumberRangeFilter.FromStoreNumber.SetValue(6);
                                //Set field value for ToStoreNumber
                                TimeEntryQueryRq.ORStoreNumberFilters.StoreNumberRangeFilter.ToStoreNumber.SetValue(6);
                        }
                        //Set field value for QuickBooksFlag
                        TimeEntryQueryRq.QuickBooksFlag.SetValue(ENQuickBooksFlag.qbfNotPosted);
                        //Set field value for IncludeRetElementList
                        //May create more than one of these if needed
                        TimeEntryQueryRq.IncludeRetElementList.Add("ab");
                }




                void WalkTimeEntryQueryRs(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.rtTimeEntryQueryRs)
                                                {
                                                        //upcast to more specific type here, this is safe because we checked with response.Type check above
                                                        ITimeEntryRetList TimeEntryRet = (ITimeEntryRetList)response.Detail;
                                                        for(int z=0; z < TimeEntryRet.Count; z++)
                                                        {
                                                                WalkTimeEntryRet(TimeEntryRet.GetAt(z));
                                                        }
                                                }
                                        }
                                }
                        }
                }




                void WalkTimeEntryRet(ITimeEntryRet TimeEntryRet)
                {
                        if (TimeEntryRet == null) return;
                        //Go through all the elements of ITimeEntryRetList
                        //Get value of ListID
                        if (TimeEntryRet.ListID != null)
                        {
                                string ListID4326 = (string)TimeEntryRet.ListID.GetValue();
                        }
                        //Get value of ClockInTime
                        if (TimeEntryRet.ClockInTime != null)
                        {
                                DateTime ClockInTime4327 = (DateTime)TimeEntryRet.ClockInTime.GetValue();
                        }
                        //Get value of ClockOutTime
                        if (TimeEntryRet.ClockOutTime != null)
                        {
                                DateTime ClockOutTime4328 = (DateTime)TimeEntryRet.ClockOutTime.GetValue();
                        }
                        //Get value of CreatedBy
                        if (TimeEntryRet.CreatedBy != null)
                        {
                                string CreatedBy4329 = (string)TimeEntryRet.CreatedBy.GetValue();
                        }
                        //Get value of EmployeeListID
                        if (TimeEntryRet.EmployeeListID != null)
                        {
                                string EmployeeListID4330 = (string)TimeEntryRet.EmployeeListID.GetValue();
                        }
                        //Get value of EmployeeLoginName
                        if (TimeEntryRet.EmployeeLoginName != null)
                        {
                                string EmployeeLoginName4331 = (string)TimeEntryRet.EmployeeLoginName.GetValue();
                        }
                        //Get value of FirstName
                        if (TimeEntryRet.FirstName != null)
                        {
                                string FirstName4332 = (string)TimeEntryRet.FirstName.GetValue();
                        }
                        //Get value of LastName
                        if (TimeEntryRet.LastName != null)
                        {
                                string LastName4333 = (string)TimeEntryRet.LastName.GetValue();
                        }
                        //Get value of StoreNumber
                        if (TimeEntryRet.StoreNumber != null)
                        {
                                int StoreNumber4334 = (int)TimeEntryRet.StoreNumber.GetValue();
                        }
                        //Get value of QuickBooksFlag
                        if (TimeEntryRet.QuickBooksFlag != null)
                        {
                                ENQuickBooksFlag QuickBooksFlag4335 = (ENQuickBooksFlag)TimeEntryRet.QuickBooksFlag.GetValue();
                        }
                        if (TimeEntryRet.DataExtRetList != null)
                        {
                                for (int i4336 = 0; i4336 < TimeEntryRet.DataExtRetList.Count; i4336++)
                                {
                                        IDataExtRet DataExtRet = TimeEntryRet.DataExtRetList.GetAt(i4336);
                                        //Get value of OwnerID
                                        string OwnerID4337 = (string)DataExtRet.OwnerID.GetValue();
                                        //Get value of DataExtName
                                        string DataExtName4338 = (string)DataExtRet.DataExtName.GetValue();
                                        //Get value of DataExtType
                                        ENDataExtType DataExtType4339 = (ENDataExtType)DataExtRet.DataExtType.GetValue();
                                        //Get value of DataExtValue
                                        string DataExtValue4340 = (string)DataExtRet.DataExtValue.GetValue();
                                }
                        }
                }




        }
}