Примерно каждые 10-15 минут получаю сообщение

"Ваша сессия работы с приложением Outlook была завершена сервером из-за превышения интервала бездействия системы"

Как лечится ?

Нравится

1 комментарий

Здравствуйте,

увеличьте интервал для конкурентных сессий:[Файл]->[Настройки]->[Системные настройки]->[UpdateActiveSessionPeriod]

Как пример, можете увеличить интервал до 15 мин.

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

Добрый день.

Используем в организации terrasoft 3.3.2.145, постепенно переводим наших сотрудников на 2013 офисный пакет и столкнулись с проблемой, что при попытке отправить претензию через Outlook 2013, он (Outlook) вылетает с ошибкой, хотя письмо все же уходит. Проблема не повторяется только в безопасном режиме, но что именно отключается в безопасном режиме и не мешает работе terrasoft пока не пойму.

При закрытии почты, terrasoft выдает такое сообщение:

Класс исключения: EOleException
Сообщение об ошибке: Компьютер удаленного сервера не существует или недоступен



СТЕК ВЫЗОВА
TSScript.TScript.ExecuteMethod (Line 1045, "TSScript.pas") ()
System.@CheckAutoResult ()
TSScriptableService.TScriptableService.ExecuteScriptMethod (Line 466, "..\..\ObjectLibraries\TSObjectLibrary\TSScriptableService.pas") ()
TSWindow.TWindow.ExecuteScriptMethod (Line 2273, "..\..\ObjectLibraries\TSWindowLibrary\TSWindow.pas") ()
TSObjectEventsDispatcher.TObjectEventsDispatcher.AttemptToExecuteScriptMethod (Line 355, "TSObjectEventsDispatcher.pas") ()
TSObjectEventsDispatcher.TObjectEventsDispatcher.Invoke (Line 671, "TSObjectEventsDispatcher.pas") ()
TSConnectionPoints.TConnectionPointDispatcher.Invoke (Line 577, "TSConnectionPoints.pas") ()
Comobj.DispatchInvokeError ()
Comobj.DispatchInvokeError ()
TSWindow.TWindow.DoClose (Line 2196, "..\..\ObjectLibraries\TSWindowLibrary\TSWindow.pas") ()
TSDskWindow.TDskWindow.DoClose (Line 899, "TSDskWindow.pas") ()
TSDskWindow.TInternalWindow.DoClose (Line 536, "TSDskWindow.pas") ()
Controls.TControl.WndProc ()
Controls.TWinControl.WndProc ()
TSDskWindow.TInternalWindow.WndProc (Line 426, "TSDskWindow.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.Win32Proc (Line 557, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.DefWin32Proc (Line 609, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
Controls.TWinControl.DefaultHandler ()
Forms.TCustomForm.WMSysCommand ()
Controls.TWinControl.WndProc ()
TSDskWindow.TInternalWindow.WndProc (Line 426, "TSDskWindow.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.Win32Proc (Line 557, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.DefWin32Proc (Line 609, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
Controls.TWinControl.DefaultHandler ()
Controls.TWinControl.WndProc ()
TSDskWindow.TInternalWindow.WndProc (Line 426, "TSDskWindow.pas") ()
Classes.TDataModule.WriteHeight ()
TntControls.TWinControlTrap.Win32Proc (Line 557, "..\TNT\TntControls.pas") ()
Classes.TDataModule.WriteHeight ()
Forms.TApplication.ProcessMessage ()
TSClient.TSClient (Line 131, "d:\Projects\TerrasoftCRM30\TerrasoftCRM\Src\Desktop\TSCRM\TSClient.dpr") ()

АКТИВНЫЕ ЭЛЕМЕНТЫ УПРАВЛЕНИЯ
tvMain (TTSCStringTree)
grdData (TfrmDataGrid)
wnd_AccountClaimsGridArea (TInternalWindow)
pgClaims (TInternalPage)
pcDetails (TInternalPages)
fmClient (TTSCPanel)
wnd_AccountsWorkspaceTInternalFrameSetC7680CC9F1624A9BB84C5CE4BAFEBDC5 (TInternalFrameSet)
wnd_AccountsWorkspace (TInternalWindow)
wnd_Main (TInternalWindow)

Изначально думал, что фаерволл блокирует работу, судя по сообщению "Компьютер удаленного сервера не существует или недоступен", но позже выяснилось, что он тут не при чем.

Через дебаг проверил, что почта вылетает на этом моменте:

function SendMailMessageToResponsibleDeparment(Dataset)
{
        var compName = Dataset.ValAsStr('AccountName');
        var todayDate = DateToStr(GetLocalDate());
    var claimsMaxDate=DateToStr(Dataset.ValAsDateTime('MaxEndingDate'));
        var claimsNumber =  Dataset.ValAsInt('Number');
        var cretedEmployeName =  GetContactNameByID(Connector.CurrentUser.ContactID);
        EmailDescriptionRichDataControl.DatasetLink.Dataset.Open();
        debugger;
        var cliemsTest = System.RTFToText(EmailDescriptionRichDataControl.DataField);
        if(cliemsTest == '' || cliemsTest == null) cliemsTest = dlData.Dataset.ValAsStr('ProblemDescription');
        var bodyMess = FormatStr('текст сообщения',todayDate,compName,claimsNumber,cretedEmployeName,claimsMaxDate,cliemsTest);
    var mailAdres = GetDepartmentManagersEmail(Dataset.ValAsGUID('ResponsibleDivision'));
    mailAdres.Mail[mailAdres.Mail.length] = "mail address";
    debugger;
   
    SendEmail({Address: mailAdres.Mail,
                Subject: FormatStr("Тема письма",compName),Body: bodyMess,AutoSend: true,SendImmediately: true,
                BodyFormat: 1});
}

А именно при попытке отправки письма:

  SendEmail({Address: mailAdres.Mail,
                Subject: FormatStr("Тема письма",compName),Body: bodyMess,AutoSend: true,SendImmediately: true,
                BodyFormat: 1});

Или же вызове следующей функции:

function GetContactMailForID(ContactID)
{    
        return GetContactMail(GetContactInfo(ContactID));      
}

function GetContactTitle(ContactDataset)
{
debugger;
   if(ContactDataset.State == dstInactive)
                    ContactDataset.Open();
        if(ContactDataset.ValIsNull('JobID'))
                return '';
        var jobID = ContactDataset.ValAsGUID('JobID');
        var jobDS = Services.GetNewItemByUSI('Contacts\\Dictionaries\\Job\\ds_Job');
        ApplyDatasetFilter(jobDS, 'ID', jobID, true);
        jobDS.Open();
        var res = jobDS.ValAsStr('Name');
        jobDS.Close();
        return res;
}

После того, как скрипт отработает, почта закрывается и создается новое сообщение.

Нравится

4 комментария

Попробовал еще запускать Outlook в разных безопасных режимах:

/safe

Starts Outlook without the Reading Pane or toolbar customizations. Both native and managed Component Object Model (COM) add-ins are turned off.

/safe:3

Both native and managed Component Object Model (COM) add-ins are turned off.

Я так и не понял, как Outlook отключает add-ins, если после запуска почты они все равно работают. Возможно он отключает какие-то записи отдельные в реестре.

Добрый день!
Трудно сказать в чем может быть причина, ведь Outlook 2013 гораздо старше 3.3.2. Вопрос с Office 2013 полностью решен в 3.4.1. Можете попробовать продебажить метод SendEMail (находится в scr_MailUtils) и определить в какой момент происходит свал

"Артем Гура" написал:

Добрый день!

Трудно сказать в чем может быть причина, ведь Outlook 2013 гораздо старше 3.3.2. Вопрос с Office 2013 полностью решен в 3.4.1. Можете попробовать продебажить метод SendEMail (находится в scr_MailUtils) и определить в какой момент происходит свал

Прошу прощения за долгий ответ.

А нет ли возможности скачать версию 3.4.1? Найти ее к сожалению не смог. Или она только под заказ доступна? И нужно ли будет переделывать что-то со стороны серверной части?

Добрый день!

По вопросам приобретения продукта Вам необходимо обращаться к ответственному менеджеру.

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

Террасофт не связывается с outlook и excel 2013.
Когда пытаешься экспортировать данные в excel, то пишет, что excel не найден.
С аутлуком связывается, но каждый раз в нем надо прописывать заново конфигурацию.
Кто-нибудь сталкивался, что делать?

Нравится

9 комментариев

Здравствуйте, Александр.

Microsoft Office 2013 поддерживается для интеграции "из коробки" начиная с версии 3.5.

На более ранних версиях для корректной интеграции необходимо изменить значение переменной SupportedMSOfficeVersionArray, которая находится в одном из скриптов конфигурации - scr_MSOfficeConsts или scr_MSOfficeUtils, в зависимости от версии:

http://i56.fastpic.ru/big/2014/0428/72/b4760c7551617add32648aac78277372.png

После выполненных изменений желательно повторно снять и снова установить галочки в TSMSOfficeConfig.exe и перезайти в клиентскую часть.

В период внесения изменений все продукты MS Office должны быть закрыты и их не должно быть в запущенных процессах.

Также, прошу обратить внимание на разрядность установленной версии MS Office:
64-битные версии (2010, 2013) поддерживаются лишь с версии 3.4.1.

Андрей, т.е. для x64 надо еще и бинарники обновить, а где их можно взять?

Александр, выслал Вам на почту бинарные файлы и инструкцию по обновлению с 3.4.0 до 3.4.1.

А как бы увидеть, на какое значение нужно изменить? не видна картинка из первого ответа...

Прошу прощения.

Для поддержки MS Office 2013 необходимо добавить в массив значение '15.0'.

спасибо...

Прикрепляю еще раз скриншот на всякий случай:

Массив называется SupportedMSOfficeVersionArray. В него необходимо добавить значение '15.0'.

http://i67.fastpic.ru/big/2014/0805/99/11a7863544285f878cfe909751b95999.png

Здраствуйте!
Скажите возможно ли этим же способом добавить поддержку MS Office 2016? Сейчас он доступен в качестве тестовой версии на сайте microsoft. интересует только экспорт данных в excel без связки с outlook.

Здравствуйте!

Тестирование в связке с Microsoft Office 2016 на текущий момент не проводилось.

Но Вы можете аналогичным образом добавить значение '16.0' в массив с поддерживаемыми версиями Microsoft Office.

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