AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.10.2008, 10:21   #1  
Marija84 is offline
Marija84
Участник
 
26 / 10 (1) +
Регистрация: 30.12.2013
Всем Доброго времени суток!
Подскажите, плзз, если кто сталкивался: Как можно в Navision задать время напоминания выполнения задачи.

При постановке задача в модуле CRM, происходит синхронизации с Outlook и она отображается Outlook. Мне необходимо задать время напоминания выполения задачи 10 утра. В outlook есть объект TaskItem.ReminderTime, а в Navision его уже нет... Надо сделать в 4ке, но если на 5ке легче, будем на 5ку переносить все...

Спасибо!
Старый 28.10.2008, 10:13   #2  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
Примерно так:

Код:
OutlApp 	Automation 'Microsoft Outlook 11.0 Object Library'.Application	
OutlTask	Automation 'Microsoft Outlook 11.0 Object Library'.TaskItem	
TimeText	Variant
***************************		
IF ISCLEAR(OutlApp) THEN
   CREATE(OutlApp);
OutlTask := OutlApp.CreateItem(3);

OutlTask.Complete := FALSE; 
OutlTask.Subject := 'Тема задания';
OutlTask.Body := 'Такая вот задача';
OutlTask.DueDate := 281008D; // Срок выполнения

// Оповещение
OutlTask.ReminderSet := TRUE;
TimeText := '28.10.2008 10:30';
OutlTask.ReminderTime := TimeText;

OutlTask.Save;
CLEAR(OutlApp);
Старый 29.10.2008, 13:31   #3  
anatol33 is offline
anatol33
Участник
 
109 / 10 (1) +
Регистрация: 02.09.2008
Спасибо .Quattro. воспользовался Вашим кодом, от себя добавлю.

Если хотите назначить задачу другому пользователю добавьте следующий код:

Код:
OutlTask.Importance(2); // важно
TimeText := FORMAT("Posting Date",0,'<Day,2>.<Month,2>.<Year4>') + ' 09:00';
OutlTask.Owner('Sender Name'); // из адресной книги
OutlTask.Recipients.Add('Recipient Name 1'); // из адресной книги
OutlTask.Recipients.Add('Recipient Name 2'); // из адресной книги
OutlTask.Assign;
OutlTask.Send;
//OutlTask.Save;
Старый 29.10.2008, 13:38   #4  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
самое лучшее спасибо - в рейтинге под аватаркой!
Старый 10.11.2008, 17:08   #5  
Marija84 is offline
Marija84
Участник
 
26 / 10 (1) +
Регистрация: 30.12.2013
Спасибо за помощь!
Долго пробовала сама справиться, но не смогла... Поэтому, прошу у Вас помощи еще раз:
Вы писали способ реализации для объекта: 'Microsoft Outlook 11.0 Object Library'.TaskItem,
а в стандарте Navision задачи создается с помощью: 'NS Outlook Synchronization Handler'.OTask, а для данного объекта нет свойста ReminderSet....
Как быть, может кто подскажет: Как можно обратиться к созданной задаче, сделать ее объектом типа 'Microsoft Outlook 11.0 Object Library'.TaskItem и уже потом изменить свойство ReminderSet.

Всем Спасибо....
Старый 11.11.2008, 11:22   #6  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
Можно попоробовать через EntryID

Код:
OutlApp		Automation	'Microsoft Outlook 11.0 Object Library'.Application	
OutlNameSpace  Automation	'Microsoft Outlook 11.0 Object Library'.NameSpace	
OutlTask	   Automation	'Microsoft Outlook 11.0 Object Library'.TaskItem	
=======================
IF ISCLEAR(OutlApp) THEN
   CREATE(OutlApp);

OutlNameSpace := OutlApp.GetNamespace('MAPI');
OutlTask := OutlNameSpace.GetItemFromID(TaskItem.EntryID);
Старый 11.11.2008, 12:25   #7  
Marija84 is offline
Marija84
Участник
 
26 / 10 (1) +
Регистрация: 30.12.2013
Спасибо! Но у меня что-то не получается...
Я написа так:
Код:
OutlApp		Automation	'Microsoft Outlook 11.0 Object Library'.Application	
OutlNameSpace  Automation	'Microsoft Outlook 11.0 Object Library'.NameSpace	
OutlTask	   Automation	'Microsoft Outlook 11.0 Object Library'.TaskItem	
=======================
IF ISCLEAR(OutlApp) THEN
   CREATE(OutlApp);

OutlNameSpace := OutlApp.GetNamespace('MAPI');
OutlTask := OutlNameSpace.GetItemFromID(format(TaskItem.EntryID));
OutlTask.ReminderSet := TRUE;
OutlTask.Save;
И при создании задачи появляется ошибка: Не удалось вызвать функцию GetItemFromID. Компонент OLE или Automation вернул неизвестный код ошибки.
Отправила на печать format(TaskItem.EntryID) = "In Use" - это правильно?
Старый 11.11.2008, 13:44   #8  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
Это вы написали в КЮ 5073 в функции ProcessOutlookTask?
Старый 11.11.2008, 13:55   #9  
Marija84 is offline
Marija84
Участник
 
26 / 10 (1) +
Регистрация: 30.12.2013
в КЮ 5073 в функции CreateTaskItem.
Старый 11.11.2008, 14:45   #10  
.Quattro. is offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Регистрация: 22.05.2006
после строчки IF TaskItem.Save THEN BEGIN?
Старый 11.11.2008, 14:51   #11  
Marija84 is offline
Marija84
Участник
 
26 / 10 (1) +
Регистрация: 30.12.2013
Да.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:45.