Добрый день.
При попытке создать письмо через Terrasoft при закрытом Outlooke, вылезает ошибка "Неизвестное исключение" в данной строке var Recipient = MailItem.Recipients.Add(Address) скрипта scr_OutlookUtils :
if (ValidateEmailAddress(Address)) {
var Recipient = MailItem.Recipients.Add(Address);
Recipient.Type = RecipientType;
Recipient.Resolve;
}
}
Распознает например:
Address = "Иванов Иван Иванович "
RecipientType = 1
При уже запущенном Outlooke в данной ситуации проблем не возникает.
В чем может быть загвоздка?
Нравится
похоже на то, что нет возможности сформировать само письмо.
1) проверьте, не остается ли Outlook в диспетчере задач, после его закрытия (встречались различные проблемы именно при таких симптомах ;) )
2) Перерегистрируйте все библиотеки.
1. Нет, Outlooka нет в диспетчере
2. Не помогает
Кстати при ошибке на значке outlooka появляется шестеренка
Константин, т.е. если Outlook не запущен, и в системе Вы пытаетесь сформировать письмо, Outlook запускается ,но в трее отображается иконка с шестеренкой?
Похоже на то, что Outlook блокирует доступ. Проверьте надстройки COM-объектов Outlook - отключите все, кроме плагина Terrasoft .
"Олейник Дмитрий" написал:Константин, т.е. если Outlook не запущен, и в системе Вы пытаетесь сформировать письмо, Outlook запускается ,но в трее отображается иконка с шестеренкой?
Да, все верно.
Сделал вот так:
Но, в списке остается поведение при запуске - загружать при запуске
Все равно вылетает ошибка
Константин,
1) если у Вас семерка запустите MSOfficceConfig от имени администратора (обязательно правой кнопкой - запуск от имени администратора), проверьте стоят ли три галочки напротив Outlook, Excel, Word. Попробуйте их убрать и поставить заново, если они там все-таки проставлены. При этом закройте все прилодения пакета MS Officce, и сам Террасофт.
2) Уточните версию Террасофт.
3) что происходит если нажать двойным кликом на значок outlook'a с шестеренкой в трее?
Спасибо.
1. Перерегестрировал. Не помогло
2. 3.4.0.87
3. Открывается Outlook, впервый раз выдал доступ (было разрешено всегда)
Здравствуйте, Константин.
Попробуйте обновиться на новую сборку 3.4.0, направив нам запрос в тех. поддержку: support@terrasoft.ru.
Также отключите UAC на Вашем ПК, еще раз проверьте COM-надстройки.
После обновления сборки проблема не исчезла :cry:
Общая информация Дата/Время: 05.02.2013 19:42:38 Local Date/Time: 05.02.2013 19:42:38 Local Time Zone: Russian Standard Time Computer Name: 412-K Имя пользователя: kogut Операционная система: Windows 7 Professional, Build: 7601, 'Service Pack 1'
Посмотрел отладку и заметил что в функции function CreateNewMessage(Params) творится
debugger; var Message = CreateNewOutlookMessage(Params.Template ? Params.Template.FileName : null); if (Params.Address) { if (typeof(Params.Address) == 'string') { Params.Address = [Params.Address]; } else { Params.Address = RemoveDublicates(Params.Address); } for (var i = 0; i < Params.Address.length; i++) { AddRecipient(Message, Params.Address[i], olTo);
Когда дело доходит до Message, если в отладке поставить в просмотр Message.Recipients, то при прохождении он пишет, даже если обновлять.
Message.Recipients Не удается вычислить выражение. Операция прервана
И соответсвенно выдает ошибку в функции AddRecipient(Message, Params.Address[i], olTo);
Но если посмотреть физически на свойства message (даже если сразу после CreateNewOutlookMessage), и найти там Recipients, дальше он пройдет все без ошибки.
Как так?
Александр, у на другом ПК ситуация воспроизводится?
Вообще, по логике при создании письма без шаблона, письмо должно создаваться пустое, и поле "Кому" (Recipients) заполняться не должно.