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.