Redemption TaskRequestItem

  • Thread starter Thread starter D String
  • Start date Start date
D

D String

Does anyone know if you can send a TaskRequestItem using Redemption?

I am trying to create an Add-In that will watch the Inbox for a specific
email item. When the email arrives, it will automatically generate a
TaskRequestItem back to the individual who sent the email.

I can create the TaskItem and Assign it, however when attempting to send I
run into the OSG. I wanted to use Redemption to bypass this, however I can't
get it to send a TaskRequestItem, it appears to only support a TaskItem.

Any assistance would be appreciated.

Thank you
DS
 
TaskRequestItem is not creatable, when you create (or open) a TaskItem and
call TaskItem.Send, Outlook internally creates a Task request and sends; the
original task is left intact. You can do the same using Redemption by
creating a SafeTaskItem object, setting the SafeTaskItem.Item property and
calling SafeTaskItem.Send.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
I realize that the TaskRequestItem is not creatable, after you have created
a TaskItem, you call the Assign method and it is converted into a
TaskRequestItem. From there you can set the To property and send the
TaskRequest to that individual.

What I am seeing happen is that I create a TaskItem, call Assign, set the
Recipient, set the Subject, set the Body and then call Send. The
TaskRequestItem is sent as expected. Here is where it has the problem
though. In reviewing the Initiators computer, the TaskRequest displays that
it has not been sent.

Overview: "A" sends a email message to "B". "B" creates a TaskItem and
Assigns it to "A", then sends it. "A" receives a TaskRequest and accepts it.
All as expected. But on "B"s computer, the Task shows that it has Not been
sent. So when "A" makes changes to the Task Item, it is not updated to "B".

Does this make more sense?

DS
 
No, calling TaskItem.Assign does not return a TaskRequestItem and it does
not turn the original TaskItem into a TaskRequestItem.
TaskRequestItem is created when you call TaskItem.Send. The TaskRequestItem
is then sent and saved in the Sent Items folder.
What is your code?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
I'll try to explain what I am reading, and understanding. This is a quote
from Randy Byrne's book on Building Applications with Microsoft Outlook.

"In much the same way as you can invite others to a meeting by sending them
an AppointmentItem object, you can delegate a task to others by sending them
a TaskItem object. Before sending the object, however, you must first use
the Assign method to create an assigned task."

I tried to create a TaskItem and call the Send method, however it tells me
that I must call the Assign method before calling Send. I tried using a
SafeTaskItem with the code below, and nothing happened for me at all.
Running this from the VBA:

Private Sub MyTest()

Dim objTask As TaskItem
Dim objNew As Object

Set objNew = CreateObject("Redemption.SafeTaskItem")
Set objTask = Application.CreateItem(olTaskItem)

objNew.Item = objTask
objNew.Recipients.Add ("S, D") -- Fullname is here
objNew.Send

Set objNew = Nothing
Set objTask = Nothing
End Sub

When you call the Assign method, the Subject, To, and Due Date properties
become available to the TaskItem. Basically it becomes a TaskRequestItem
that you can update the properties and then Send.

Am I off base on something somewhere??

Thank you for your help

ds
 
Essentially what happens on the Extended MAPI level when you call
TaskItem.Assign, is that Outlook changes a named property
({00062008-0000-0000-C000-000000000046}, 0x8518, PT_LONG) from 1 to 0. When
you call TaskItem.Send, it checks that flag, nothing else.
Try to call Recipients.ResolveAll before calling SafeTaskItem.Send.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
 
Okay, I understand what you are saying. You are refering to sending a
TaskItem to another individual. I am talking about Delegating a Task to
another person. This would be the same as creating a Task and clicking
"Assign Task". Even the Inspector changes when you do this.

If I just Send a TaskItem to a person, they receive a new Task in their Task
List. However, if I Assign and Send a TaskItem, it is sent as a
TaskRequestItem that the user "Accepts", then any updates they make to the
Task are automatically sent back to the Originator.

I used ResolveAll and I received a new Task Item in my list, however it is
not a delegated task that updates the person that it came from. From
everything that I have seen and read, the TaskItem and the TaskRequestItem
are different. My question is does Redemption handle the sending of a
TaskRequestItem? Can you provide an example of sending a delegated
TaskItem/TaskRequestItem?

Thanks
ds
 
Back
Top