When an iOS Device tries to complete an Outlook/Exchange Recurring TASK (i.e. which appears as a Reminder in the iOS Reminders App), or even tries to amend that Recurring Task, the RecurrencePattern MAPI Property seems to get Set or Re-Set to an Incorrect value, which can result in MAPI Errors.
To test this, I create through the Outlook UI a Monthly (monthNth) recurring task, e.g. one which repeats every 3 months on the 2nd day of the month, starting today (02 Oct. 2020), with no end Date. Using OutlookSpy, this gives a 54 byte RecurrencePattern MAPI Property, which is translated as below:
043004300C200200000000000000030000000000000002000000232000000A00000000000000000000000000000060A6280DDF80E95A
ReaderVersion : 0x3004
WriterVersion : 0x3004
RecurFrequency : 0x200C (Monthly)
PatternType : 0x0002 (Month)
CalendarType : 0x0000 (CAL_DEFAULT)
FirstDateTime : 0 (0x00000000)
Period : 3 (0x00000003)
SlidingFlag : 0 (0x00000000)
//Pattern type specific:
Day of month : 2 (0x00000002)
//End of pattern type specific:
EndType : 00002023 (Never end)
OccurrenceCount : 10 (0x0000000A)
FirstDOW : 0 (0x00000000) (Sunday)
DeletedInstanceCount : 0 (0x00000000)
ModifiedInstanceCount : 0 (0x00000000)
StartDate : 220767840 (0x0D28A660) = 02/10/2020 00:00
EndDate : 1525252319 (0x5AE980DF) = 31/12/4500 23:59
If this recurring task (or the first instance of it) is completed using the iOS Reminders app, one Completed Task (in strikethrough) is automatically created in the relevant Tasks Folder in Outlook (missing most of the conventional MAPI Recurring Task properties it must be said), and a new Recurring Task also appears, moved on to the next date (but sometimes even that date is WRONG). In The New Recurring Task, the RecurrencePattern MAPI Prop is set to an invalid length (now 70 bytes as opposed to 54)...the start Date of is also changed, sometimes (depending on the type of the Recurrence Pattern) to a clearly incorrect date (compared to the original RecurringTask start date). Per OutlookSpy, this is what now appears for the recurring task:
043004300C200200000000000000030000000000000002000000232000000A000000000000000000000000000000E0AB2A0DDF80E95A06300000093000000000000000000000
ReaderVersion : 0x3004
WriterVersion : 0x3004
RecurFrequency : 0x200C (Monthly)
PatternType : 0x0002 (Month)
CalendarType : 0x0000 (CAL_DEFAULT)
FirstDateTime : 0 (0x00000000)
Period : 3 (0x00000003)
SlidingFlag : 0 (0x00000000)
//Pattern type specific:
Day of month : 2 (0x00000002)
//End of pattern type specific:
EndType : 00002023 (Never end)
OccurrenceCount : 10 (0x0000000A)
FirstDOW : 0 (0x00000000) (Sunday)
DeletedInstanceCount : 0 (0x00000000)
ModifiedInstanceCount : 0 (0x00000000)
StartDate : 220900320 (0x0D2AABE0) = 02/01/2021 00:00
EndDate : 1525252319 (0x5AE980DF) = 31/12/4500 23:59
ReaderVersion2 : 0x00003006
WriterVersion2 : 0x00003009
StartTimeOffset : 0 (0x00000000)
EndTimeOffset : 0 (0x00000000)
Error parsing the blob "TExtendedRuleConditionStream: reading past EOF" at positon 70 (0x00000046)
Could anyone shed any light on this, and/or provide a work-around....these RecurrencePattern MAPI props are obviously critical in and shouldn't be changed or made incorrect in updated/new Reucrring Task Items.
Incidentally, when the Recurring Task is "marked complete" through the Outlook UI, the RecurrencePattern MAPI prop. itself doesn't change at all (not for ='No End Date' recurring tasks anyway), and only the TaskDueDate and TaskVersion props. appear to change.
Thanks in advance for any help you can provide.
User contributions licensed under CC BY-SA 3.0