Синхронизация задач с MS Outlook

День добрый, уважаемые участники интернет сообщества!

Как вы, наверное, все знаете, в Terrasoft существует возможность двусторонней синхронизации задач между MS Outlook и Terrasoft. Хочу рассказать об одной особенности: если выполнять синхронизацию задач из Terrasoft в MS Outlook, то в случае если для задачи в Terrasoft установлен признак "Отображать в расписании", то задача будет интегрирована в MS Outlook как встреча и будет отображена в календаре.
1
В ином случае - задача попадет в меню "Задачи" в папку "Задачи".
2

Эта особенность реализована в скрипте scr_MsOutlookSynchronization:

if (ShowInSheduler) {
         olItem = OutlookSync.OutlookApplication.CreateItem(olAppointmentItem);
} else {
         olItem = OutlookSync.OutlookApplication.CreateItem(olTaskItem);
         }
IsAddUserField = true;
OutlookSync.CreatedItem++;

где
 var ShowInSheduler = (TerrasoftItemDataset.Values('ShowInScheduler') == 1);

Соответственно, Вы можете легко изменить указанную логику, например по типу задачи (если тип: встреча – создаем встречу, в ином случае задачу):

if (IsMeetingOrTask) {
         olItem = OutlookSync.OutlookApplication.CreateItem(olAppointmentItem);
} else {
         olItem = OutlookSync.OutlookApplication.CreateItem(olTaskItem);
         }
IsAddUserField = true;
OutlookSync.CreatedItem++;

var IsMeetingOrTask = (TerrasoftItemDataset.Values('TypeID') == '{63FB4E89-EE75-404F-8352-1E712AC909F6}');

где '{63FB4E89-EE75-404F-8352-1E712AC909F6}' – ID типа задачи «Встреча».

Либо, как другой вариант, в этом участке кода можно настроить синхронизацию таким образом, чтобы создавалась как задача так и встреча, убрав проверку вообще:

olItem = OutlookSync.OutlookApplication.CreateItem(olAppointmentItem);
olItem = OutlookSync.OutlookApplication.CreateItem(olTaskItem);        
IsAddUserField = true;
OutlookSync.CreatedItem++;

Приятной работы с Terrasoft!

Нравится

Поделиться

0 комментариев
Показать все комментарии