There is a bug within FieldOne Sky where you try and complete Work Order Schedule and it will cause a Timeout Exception.

 

Below is an example of a Work Order Schedule which has been In Progress since June 2016. Since creating the post its been over a year since this record has been updated.

 

If you try and change the System Status to Completed it will try and save the Work Order Schedule for 2 minutes which will then display a Timeout Exception:

Log File:

Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Unexpected exception from plug-in (Execute): FieldOne.Sky.FieldOneSkyPlugin: System.TimeoutException: Couldn’t complete execution of the FieldOne.Sky.FieldOneSkyPlugin plug-in within the 2-minute limit.Detail: 
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
 <ErrorCode>-2147220956</ErrorCode>
 <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
 <Message>Unexpected exception from plug-in (Execute): FieldOne.Sky.FieldOneSkyPlugin: System.TimeoutException: Couldn’t complete execution of the FieldOne.Sky.FieldOneSkyPlugin plug-in within the 2-minute limit.</Message>
 <Timestamp>2017-07-23T16:18:24.5495907Z</Timestamp>
 <ExceptionRetriable>false</ExceptionRetriable>
 <ExceptionSource i:nil="true" />
 <InnerFault i:nil="true" />
 <OriginalException i:nil="true" />
 <TraceText>

[FieldOne.Sky: FieldOne.Sky.FieldOneSkyPlugin]
[b5ffb761-4c0d-4fa2-a1b0-4563fc054974: #AUTO# Update (post-operation) for f1_workorderresource]

FieldOneSkyPlugin: PluginContext Start
FieldOneSkyPlugin: MessageName: Update
FieldOneSkyPlugin: PrimaryEntityName: f1_workorderresource
FieldOneSkyPlugin: PrimaryEntityId: b8fb2bcd-fe36-e611-811c-3863bb3c33b0
FieldOneSkyPlugin: SecondaryEntityName: none
FieldOneSkyPlugin: PostEntityImages.Count: 1
FieldOneSkyPlugin: PreEntityImages.Count: 1
FieldOneSkyPlugin: InputParameters: 
 Target = Microsoft.Xrm.Sdk.Entity
 ConcurrencyBehavior = Default
 parentExecutionId = a33c19ab-6bff-4d7b-b98c-7500bd393726
FieldOneSkyPlugin: OutputParameters: 
FieldOneSkyPlugin: SharedVariables: 
FieldOneSkyPlugin: UserId: 33ec328d-a4c5-e511-8112-3863bb34de58
FieldOneSkyPlugin: InitiatingUserID: 33ec328d-a4c5-e511-8112-3863bb34de58
FieldOneSkyPlugin: Mode: 0
FieldOneSkyPlugin: OrganizationName: orgafa4f92f
FieldOneSkyPlugin: OrganizationId: e1a435fa-ab48-46d2-b125-f9c6562957b8
FieldOneSkyPlugin: BusinessUnitId: b1491872-2f98-e511-8102-3863bb3630d8
FieldOneSkyPlugin: CorrelationId: b481f4a7-4d87-40c6-b3fb-3eafcad9ee1f
FieldOneSkyPlugin: RequestId: eb5ccfdb-630a-44e7-841c-3ba574005af5
FieldOneSkyPlugin: OperationId: eb5ccfdb-630a-44e7-841c-3ba574005af5
FieldOneSkyPlugin: IsInTransaction: True
FieldOneSkyPlugin: Depth: 1
FieldOneSkyPlugin: IsExecutingOffline: False
FieldOneSkyPlugin: Stage: 40
FieldOneSkyPlugin: Parent PluginContext Start
FieldOneSkyPlugin: PluginContext Start
FieldOneSkyPlugin: MessageName: Update
FieldOneSkyPlugin: PrimaryEntityName: f1_workorderresource
FieldOneSkyPlugin: PrimaryEntityId: b8fb2bcd-fe36-e611-811c-3863bb3c33b0
FieldOneSkyPlugin: SecondaryEntityName: none
FieldOneSkyPlugin: PostEntityImages.Count: 0
FieldOneSkyPlugin: PreEntityImages.Count: 0
FieldOneSkyPlugin: InputParameters: 
 Target = Microsoft.Xrm.Sdk.Entity
 SuppressDuplicateDetection = False
 ConcurrencyBehavior = Default
 parentExecutionId = f0572513-1f34-4d0f-93f5-b83a214a5976
FieldOneSkyPlugin: OutputParameters: 
FieldOneSkyPlugin: SharedVariables: 
FieldOneSkyPlugin: UserId: 33ec328d-a4c5-e511-8112-3863bb34de58
FieldOneSkyPlugin: InitiatingUserID: 33ec328d-a4c5-e511-8112-3863bb34de58
FieldOneSkyPlugin: Mode: 0
FieldOneSkyPlugin: OrganizationName: orgafa4f92f
FieldOneSkyPlugin: OrganizationId: e1a435fa-ab48-46d2-b125-f9c6562957b8
FieldOneSkyPlugin: BusinessUnitId: b1491872-2f98-e511-8102-3863bb3630d8
FieldOneSkyPlugin: CorrelationId: b481f4a7-4d87-40c6-b3fb-3eafcad9ee1f
FieldOneSkyPlugin: RequestId: eb5ccfdb-630a-44e7-841c-3ba574005af5
FieldOneSkyPlugin: OperationId: eb5ccfdb-630a-44e7-841c-3ba574005af5
FieldOneSkyPlugin: IsInTransaction: True
FieldOneSkyPlugin: Depth: 1
FieldOneSkyPlugin: IsExecutingOffline: False
FieldOneSkyPlugin: Stage: 30
FieldOneSkyPlugin: PluginContext End
FieldOneSkyPlugin: Parent PluginContext End
FieldOneSkyPlugin: PluginContext End
FieldOneSkyPlugin: InitializePlugin()
FieldOneSkyPlugin: CreateEntityOperation(f1_workorderresource)
FieldOneSkyPlugin: Operation type: WorkOrderResourceOperation
FieldOneSkyPlugin: operation.Initialize()
FieldOneSkyPlugin: InputEntity:
 f1_systemstatus = Microsoft.Xrm.Sdk.OptionSetValue
 f1_schedulestatus = Microsoft.Xrm.Sdk.EntityReference
 f1_workorderresourceid = b8fb2bcd-fe36-e611-811c-3863bb3c33b0
 modifiedon = 7/23/2017 4:16:19 PM
 modifiedby = Microsoft.Xrm.Sdk.EntityReference
 modifiedonbehalfby = 
 f1_starttime = 6/21/2016 6:16:23 AM
 f1_endtime = 7/23/2017 4:16:23 PM
 f1_duration = 572280
 f1_actualarrivaltime = 6/21/2016 9:20:23 AM
 f1_totaltraveltime = 184
 f1_estimatedarrivaltime = 6/21/2016 6:16:23 AM
 f1_estimatedtraveltime = 0
FieldOneSkyPlugin: PreEntityImage:
 f1_duration = 244
 statecode = Microsoft.Xrm.Sdk.OptionSetValue
 f1_endtime = 6/21/2016 10:20:23 AM
 f1_allowoverlapping = False
 f1_traveltimemanuallychanged = True
 f1_breaktimemanuallychanged = False
 createdon = 6/20/2016 3:51:17 PM
 owneridyominame = Jenna McMillan
 importsequencenumber = 0
 f1_workorder = Microsoft.Xrm.Sdk.EntityReference
 f1_is_copy = False
 ownerid = Microsoft.Xrm.Sdk.EntityReference
 modifiedon = 6/21/2016 3:44:52 PM
 f1_totaltraveltime = 184
 f1_preventtimestampcreation = False
 f1_workorderresourceid = b8fb2bcd-fe36-e611-811c-3863bb3c33b0
 transactioncurrencyid = Microsoft.Xrm.Sdk.EntityReference
 exchangerate = 1.0000000000
 f1_resourceschedulesource = Microsoft.Xrm.Sdk.OptionSetValue
 timezoneruleversionnumber = 4
 f1_resource = Microsoft.Xrm.Sdk.EntityReference
 f1_name = Carl Whiteman
 statuscode = Microsoft.Xrm.Sdk.OptionSetValue
 modifiedby = Microsoft.Xrm.Sdk.EntityReference
 createdbyyominame = Jenna McMillan
 f1_costmanuallychanged = False
 f1_billabletimemanuallychanged = False
 f1_traveltimerescheduling = False
 f1_systemstatus = Microsoft.Xrm.Sdk.OptionSetValue
 f1_starttime = 6/21/2016 6:16:23 AM
 createdby = Microsoft.Xrm.Sdk.EntityReference
 owningbusinessunit = Microsoft.Xrm.Sdk.EntityReference
 f1_estimatedarrivaltime = 6/21/2016 6:16:23 AM
 owninguser = Microsoft.Xrm.Sdk.EntityReference
 f1_actualarrivaltime = 6/21/2016 9:20:23 AM
 f1_estimatedtraveltime = 0
 modifiedbyyominame = Carl Whiteman
 f1_cascadecrewchangesmanualychanged = False
 f1_cascadecrewchanges = False
FieldOneSkyPlugin: PostEntityImage:
 f1_duration = 572280
 statecode = Microsoft.Xrm.Sdk.OptionSetValue
 f1_endtime = 7/23/2017 4:16:23 PM
 f1_allowoverlapping = False
 f1_traveltimemanuallychanged = True
 f1_breaktimemanuallychanged = False
 f1_schedulestatus = Microsoft.Xrm.Sdk.EntityReference
 createdon = 6/20/2016 3:51:17 PM
 owneridyominame = Jenna McMillan
 importsequencenumber = 0
 f1_workorder = Microsoft.Xrm.Sdk.EntityReference
 f1_is_copy = False
 ownerid = Microsoft.Xrm.Sdk.EntityReference
 modifiedon = 7/23/2017 4:16:19 PM
 f1_totaltraveltime = 184
 f1_preventtimestampcreation = False
 f1_workorderresourceid = b8fb2bcd-fe36-e611-811c-3863bb3c33b0
 transactioncurrencyid = Microsoft.Xrm.Sdk.EntityReference
 exchangerate = 1.0000000000
 f1_resourceschedulesource = Microsoft.Xrm.Sdk.OptionSetValue
 timezoneruleversionnumber = 4
 f1_resource = Microsoft.Xrm.Sdk.EntityReference
 f1_name = Carl Whiteman
 statuscode = Microsoft.Xrm.Sdk.OptionSetValue
 modifiedby = Microsoft.Xrm.Sdk.EntityReference
 createdbyyominame = Jenna McMillan
 f1_costmanuallychanged = False
 f1_billabletimemanuallychanged = False
 f1_traveltimerescheduling = False
 f1_systemstatus = Microsoft.Xrm.Sdk.OptionSetValue
 f1_starttime = 6/21/2016 6:16:23 AM
 createdby = Microsoft.Xrm.Sdk.EntityReference
 owningbusinessunit = Microsoft.Xrm.Sdk.EntityReference
 f1_estimatedarrivaltime = 6/21/2016 6:16:23 AM
 owninguser = Microsoft.Xrm.Sdk.EntityReference
 f1_actualarrivaltime = 6/21/2016 9:20:23 AM
 f1_estimatedtraveltime = 0
 modifiedbyyominame = Thomas Dayman
 f1_cascadecrewchangesmanualychanged = False
 f1_cascadecrewchanges = False
FieldOneSkyPlugin: operation.Execute()
FieldOneSkyPlugin: PluginStage: 40 MessageName: Update
FieldOneSkyPlugin: Before calling message handler
FieldOneSkyPlugin: After
FieldOneSkyPlugin: AfterUpdate
FieldOneSkyPlugin: AfterCreateOrUpdate


</TraceText>
</OrganizationServiceFault>


I contacted Microsoft Support about the issue and they sent me an email on how to fix the Timeout Exception.

Symptom:
Users are unable to change the System Status to Complete on the Work Order Schedule, having a System.TimeoutException occurring on a FieldOne Sky plugin when trying to Complete a Work Order Schedule.

Cause:
This issue has been observed when there is a large difference in time between “Travelling” ,“In progress” and “Completed” status for the Work Order Schedules cause the error.

Resolution:
In order to overcome the issue, for the affected Work Orders Schedules, the plan is to remove all the schedule timestamps, while not deleting the initial Schedule timestamp of “Scheduled” solves the issue.

 

So to solve the problem, you have to go into the Schedule Timestamps and delete all the schedule timestamps while still keeping the original “Scheduled” Timestamp.

 

Once you have deleted those old Timestamps, you can go ahead and add new timestamps yourself like so:

As you can see the Work Order Schedule has been updated and is now saved and the Work Order has been updated to “Open-Completed”

 

This is a known bug in FieldOne Sky and it doesn’t look like its getting patched in the near future due to Field Services already being released. So I’m guessing that Field Service doesn’t have this problem. But if you do get a similar issue you can just follow this guide and you will be good to go.

 

If this solution doesn’t work for you. Then you will have to deactivate the original Work order Schedule and create it again with the same details.

Leave a Reply

Your email address will not be published. Required fields are marked *