Page Assignments not working for Archived Tasks

  • 1
  • Problem
  • Updated 3 years ago
  • Solved
I have a visual force page that is overriding the edit and view actions on the Task object (as described here).

This works great until we encounter a task that has been archived. When you try to edit or view the task you get an error saying:


Data Not Available
The data you were trying to access could not be found. It may be due to another user deleting the data or a system error.


If I open up the log, its easy to see that the error is happening because the query to get the record type, doesn't include the ALL ROWS clause.

select RecordTypeId, RecordType.DeveloperName from Task where Id = 'MYID' limit 1
Return no record
select RecordTypeId, RecordType.DeveloperName from Task where Id = 'MYID' ALL ROWS
Return record
Photo of Charlie Jonas

Charlie Jonas

  • 670 Points 500 badge 2x thumb

Posted 5 years ago

  • 1
Photo of Zach McElrath

Zach McElrath, Employee

  • 49,056 Points 20k badge 2x thumb
Hi Charlie,

There are really two problems to address here before you'll be able to view an Archived Task:

1. The "Data not available" error message.

This is actually a Visualforce error, not a Skuid error --- if you were to remove the
<skuid:page/>
component from your override Visualforce Page, this error message will still be thrown, if you reference a field on the Task standard controller somewhere in your Visualforce Page, e.g. in the "title" attribute, through something like
title="{!Task.Subject}"



The only way to address this that I've found is to just not reference any Task fields in the VF page, e.g. give you VF page a generic / static title such as "View Task".


2. Skuid is not performing an ALL ROWS query to retrieve the Task Record Type OR when performing the Model's query.

We are working to fix both of these issues. First we're working to expose a Model property (it will be in the "Advanced" properties section) that will allow you to query ALL ROWS on a particular Model. Second, we'll fix the RecordType query to ensure it is an ALL ROWS query.

We expect that these will be made available as part of our Skuid 4.6 release, which is coming out later today.

Regards,

Zach
Photo of Zach McElrath

Zach McElrath, Employee

  • 49,056 Points 20k badge 2x thumb
Update --- the release is being delayed until tomorrow.
Photo of Charlie Jonas

Charlie Jonas

  • 670 Points 500 badge 2x thumb
Thanks for keeping me posted
Photo of Charlie Jonas

Charlie Jonas

  • 670 Points 500 badge 2x thumb
Actually it seems that you were right and the issue is with my controller extension. It seems to at least work when the task is archived and the record type is one that goes to a standard page. I haven't tested what happens when an archived task is redirected to a skuid page.
Photo of Charlie Jonas

Charlie Jonas

  • 670 Points 500 badge 2x thumb
This is what my page looks like:


<apex:page standardController="Task" docType="html-5.0" readOnly="true"
extensions="MDIController">
<skuid:page objectType="Task" actionType="View/Edit" />
</apex:page>


I'm not referencing any fields directly but maybe it could have to do with the controller extension (I'm not actually using the task object passed into the extension). The controller extension only contains javascript remoting functions
Photo of Hasantha Liyanage

Hasantha Liyanage

  • 1,446 Points 1k badge 2x thumb
Just enabling "Query Deleted / Archived records" doesn't work at all, may I know the reason? are there anything else that I have missed/have todo? I am using skuid 6.x 
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
I'm not sure what you mean.  Can you give us a little more detail about what you are trying to do,  and how you have it set up in Skuid?