Modifies the specified time entry record for an employee.
Request
Response
XMLOPS
VB.NET
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?xml version="1.0" encoding="utf-8"?> <?qbposxml version="4.0"?> <QBPOSXML> <QBPOSXMLMsgsRq onError="stopOnError"> <TimeEntryModRq> <TimeEntryMod> <!-- required --> <ListID useMacro="MACROTYPE">IDTYPE</ListID> <!-- required --> <ClockInTime >DATETIMETYPE</ClockInTime> <!-- optional --> <ClockOutTime >DATETIMETYPE</ClockOutTime> <!-- optional --> <CreatedBy >STRTYPE</CreatedBy> <!-- optional --> <EmployeeListID useMacro="MACROTYPE">IDTYPE</EmployeeListID> <!-- optional --> <StoreNumber >INTTYPE</StoreNumber> <!-- optional --> </TimeEntryMod> <IncludeRetElement >STRTYPE</IncludeRetElement> <!-- optional, may repeat --> </TimeEntryModRq> <TimeEntryModRs statusCode="INTTYPE" statusSeverity="STRTYPE" statusMessage="STRTYPE"> <TimeEntryRet> <!-- optional --> <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> </TimeEntryModRs> </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 | '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 SampleTimeEntryMod Public Sub DoTimeEntryMod() 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 BuildTimeEntryModRq(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 WalkTimeEntryModRs(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 BuildTimeEntryModRq(requestMsgSet as IMsgSetRequest) Dim TimeEntryModRq as ITimeEntryMod TimeEntryModRq= requestMsgSet.AppendTimeEntryModRq() 'Set field value for ListID TimeEntryModRq.ListID.SetValue("200000-1011023419") 'Set attributes 'Set field value for ListID to use Macro TimeEntryModRq.ListID.SetValueUseMacro("200000-1011023419") 'Set field value for ClockInTime TimeEntryModRq.ClockInTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false) 'Set field value for ClockOutTime TimeEntryModRq.ClockOutTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false) 'Set field value for CreatedBy TimeEntryModRq.CreatedBy.SetValue("ab") 'Set field value for EmployeeListID TimeEntryModRq.EmployeeListID.SetValue("200000-1011023419") 'Set attributes 'Set field value for EmployeeListID to use Macro TimeEntryModRq.EmployeeListID.SetValueUseMacro("200000-1011023419") 'Set field value for StoreNumber TimeEntryModRq.StoreNumber.SetValue(6) 'Set field value for IncludeRetElementList 'May create more than one of these if needed TimeEntryModRq.IncludeRetElementList.Add("ab") End Sub Public Sub WalkTimeEntryModRs( 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.rtTimeEntryModRs) then 'upcast to more specific type here, this is safe because we checked with response.Type check above Dim TimeEntryRet as ITimeEntryRet TimeEntryRet = CType(response.Detail,ITimeEntryRet) WalkTimeEntryRet(TimeEntryRet) 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 ITimeEntryRet 'Get value of ListID if ( not TimeEntryRet.ListID is nothing) then Dim ListID4267 as String ListID4267 = TimeEntryRet.ListID.GetValue() End If 'Get value of ClockInTime if ( not TimeEntryRet.ClockInTime is nothing) then Dim ClockInTime4268 as DateTime ClockInTime4268 = TimeEntryRet.ClockInTime.GetValue() End If 'Get value of ClockOutTime if ( not TimeEntryRet.ClockOutTime is nothing) then Dim ClockOutTime4269 as DateTime ClockOutTime4269 = TimeEntryRet.ClockOutTime.GetValue() End If 'Get value of CreatedBy if ( not TimeEntryRet.CreatedBy is nothing) then Dim CreatedBy4270 as String CreatedBy4270 = TimeEntryRet.CreatedBy.GetValue() End If 'Get value of EmployeeListID if ( not TimeEntryRet.EmployeeListID is nothing) then Dim EmployeeListID4271 as String EmployeeListID4271 = TimeEntryRet.EmployeeListID.GetValue() End If 'Get value of EmployeeLoginName if ( not TimeEntryRet.EmployeeLoginName is nothing) then Dim EmployeeLoginName4272 as String EmployeeLoginName4272 = TimeEntryRet.EmployeeLoginName.GetValue() End If 'Get value of FirstName if ( not TimeEntryRet.FirstName is nothing) then Dim FirstName4273 as String FirstName4273 = TimeEntryRet.FirstName.GetValue() End If 'Get value of LastName if ( not TimeEntryRet.LastName is nothing) then Dim LastName4274 as String LastName4274 = TimeEntryRet.LastName.GetValue() End If 'Get value of StoreNumber if ( not TimeEntryRet.StoreNumber is nothing) then Dim StoreNumber4275 as Integer StoreNumber4275 = TimeEntryRet.StoreNumber.GetValue() End If 'Get value of QuickBooksFlag if ( not TimeEntryRet.QuickBooksFlag is nothing) then Dim QuickBooksFlag4276 as ENQuickBooksFlag QuickBooksFlag4276 = TimeEntryRet.QuickBooksFlag.GetValue() End If if (not TimeEntryRet.DataExtRetList is nothing) Dim i4277 as Integer for i4277 = 0 to TimeEntryRet.DataExtRetList.Count - 1 Dim DataExtRet as IDataExtRet DataExtRet = TimeEntryRet.DataExtRetList.GetAt(i4277) 'Get value of OwnerID Dim OwnerID4278 as String OwnerID4278 = DataExtRet.OwnerID.GetValue() 'Get value of DataExtName Dim DataExtName4279 as String DataExtName4279 = DataExtRet.DataExtName.GetValue() 'Get value of DataExtType Dim DataExtType4280 as ENDataExtType DataExtType4280 = DataExtRet.DataExtType.GetValue() 'Get value of DataExtValue Dim DataExtValue4281 as String DataExtValue4281 = DataExtRet.DataExtValue.GetValue() Next i4277 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 | //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 SampleTimeEntryMod { public void DoTimeEntryMod() { 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; BuildTimeEntryModRq(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; WalkTimeEntryModRs(responseMsgSet); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); if (sessionBegun) { sessionManager.EndSession(); } if (connectionOpen) { sessionManager.CloseConnection(); } } } void BuildTimeEntryModRq(IMsgSetRequest requestMsgSet) { ITimeEntryMod TimeEntryModRq= requestMsgSet.AppendTimeEntryModRq(); //Set field value for ListID TimeEntryModRq.ListID.SetValue("200000-1011023419"); //Set attributes //Set field value for ListID to use Macro TimeEntryModRq.ListID.SetValueUseMacro("200000-1011023419"); //Set field value for ClockInTime TimeEntryModRq.ClockInTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false); //Set field value for ClockOutTime TimeEntryModRq.ClockOutTime.SetValue(DateTime.Parse("12/15/2007 12:15:12"),false); //Set field value for CreatedBy TimeEntryModRq.CreatedBy.SetValue("ab"); //Set field value for EmployeeListID TimeEntryModRq.EmployeeListID.SetValue("200000-1011023419"); //Set attributes //Set field value for EmployeeListID to use Macro TimeEntryModRq.EmployeeListID.SetValueUseMacro("200000-1011023419"); //Set field value for StoreNumber TimeEntryModRq.StoreNumber.SetValue(6); //Set field value for IncludeRetElementList //May create more than one of these if needed TimeEntryModRq.IncludeRetElementList.Add("ab"); } void WalkTimeEntryModRs(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.rtTimeEntryModRs) { //upcast to more specific type here, this is safe because we checked with response.Type check above ITimeEntryRet TimeEntryRet = (ITimeEntryRet)response.Detail; WalkTimeEntryRet(TimeEntryRet); } } } } } void WalkTimeEntryRet(ITimeEntryRet TimeEntryRet) { if (TimeEntryRet == null) return; //Go through all the elements of ITimeEntryRet //Get value of ListID if (TimeEntryRet.ListID != null) { string ListID4282 = (string)TimeEntryRet.ListID.GetValue(); } //Get value of ClockInTime if (TimeEntryRet.ClockInTime != null) { DateTime ClockInTime4283 = (DateTime)TimeEntryRet.ClockInTime.GetValue(); } //Get value of ClockOutTime if (TimeEntryRet.ClockOutTime != null) { DateTime ClockOutTime4284 = (DateTime)TimeEntryRet.ClockOutTime.GetValue(); } //Get value of CreatedBy if (TimeEntryRet.CreatedBy != null) { string CreatedBy4285 = (string)TimeEntryRet.CreatedBy.GetValue(); } //Get value of EmployeeListID if (TimeEntryRet.EmployeeListID != null) { string EmployeeListID4286 = (string)TimeEntryRet.EmployeeListID.GetValue(); } //Get value of EmployeeLoginName if (TimeEntryRet.EmployeeLoginName != null) { string EmployeeLoginName4287 = (string)TimeEntryRet.EmployeeLoginName.GetValue(); } //Get value of FirstName if (TimeEntryRet.FirstName != null) { string FirstName4288 = (string)TimeEntryRet.FirstName.GetValue(); } //Get value of LastName if (TimeEntryRet.LastName != null) { string LastName4289 = (string)TimeEntryRet.LastName.GetValue(); } //Get value of StoreNumber if (TimeEntryRet.StoreNumber != null) { int StoreNumber4290 = (int)TimeEntryRet.StoreNumber.GetValue(); } //Get value of QuickBooksFlag if (TimeEntryRet.QuickBooksFlag != null) { ENQuickBooksFlag QuickBooksFlag4291 = (ENQuickBooksFlag)TimeEntryRet.QuickBooksFlag.GetValue(); } if (TimeEntryRet.DataExtRetList != null) { for (int i4292 = 0; i4292 < TimeEntryRet.DataExtRetList.Count; i4292++) { IDataExtRet DataExtRet = TimeEntryRet.DataExtRetList.GetAt(i4292); //Get value of OwnerID string OwnerID4293 = (string)DataExtRet.OwnerID.GetValue(); //Get value of DataExtName string DataExtName4294 = (string)DataExtRet.DataExtName.GetValue(); //Get value of DataExtType ENDataExtType DataExtType4295 = (ENDataExtType)DataExtRet.DataExtType.GetValue(); //Get value of DataExtValue string DataExtValue4296 = (string)DataExtRet.DataExtValue.GetValue(); } } } } } |