Столкнулся недавно с интересной ситуацией, когда клиент использует Outlook и не хочет хранить все письма в Террасофте, но есть необходимость к задачам и договорам присоединять или письма из Outlook или вложения. Его (клиента) не устраивает промежуточное сохранение на диск, он хочет перетаскивать прямо в CRM/ Задача усложнялась еще тем, что на части машин установлен MS Office x64. В результате, "покурив" несколько дней Google, был разработан дополнительный компонент для Terrasoft 3.3.1, который позволяет перетаскивать письма и вложения из MS Outlook прямо в Террасофт. Компонент проходит стадию тестирования и обкатки, и проверен только на 3.3.1, хотя потенциально нет ограничения по использованию. Предполагается, что компонент будет платный, но ближайшие пару месяцев все желающие могут его попробовать бесплатно. Установка крайне проста (примерно 10 строчек кода в одном сервисе) перетаскивание будет работать во всех закладках "Фалы".

Нравится

Поделиться

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

День добрый Евгений!!! поделитесь пожалуйста компонентом я желаю протестировать его. спасибо.

Добрый день, Михаил.

Высылайте запрос на почту e.libin@gmail.com.
Сегодня допишу инструкцию по установке компонента и сразу вышлю.

Евгений, функционал Drag&Drop работает из коробки, если не ошибаюсь, начиная с версии 3.3.2 (сервис scr_FilesDetailGridArea, функции grdDataOnDragDropSystemObjects, InsertSystemObjects, AddObject). Все это работает в том числе с перетаскиванием файлов и писем из аутлук:

На сколько я понимаю, суть компонента в том, что этот функционал будет работать на более ранних версиях Террасофт 3.X?

Да, действительно, в 3.3.2 эта возможность есть в коробке :smile:, и как правильно сказал Александр, этот компонент может быть интересен пользователям Террасофт 3.3.1 и ниже.

Показать все комментарии
Нашей компанией, в дополнение к BPMonline CRM 7, был приобретён продукт BPMonline Outlook Connector. При установке продукта в компании выяснилось, что продукт BPMonline Outlook Connector не работает на версии Microsoft Outlook версии 64 бита. В документации к продукту, в том числе на сайте Terrasoft, нет информации о том, что версия Microsoft Outlook 2010/2013 версии 64 бита не поддерживается. В имеющейся у нас конфигурации программных средств использование продукта BPMonline Outlook Connector не возможно без поддержки в нем 64-х битного Microsoft Outlook. Ответ от техподдержки: "Дело в том, что продукт «BPMonline Outlook Connector» не разрабатывался в Terrasoft. Данное решение является разработкой компании invisibleCRM и по существующей на данный момент у нас информации, поддержка работы MS Office x64 – не планируется. " Все, тупик. Что делать?
1 комментарий

Николай Геннадьевич,
спасибо за Ваше обращение. В ближайшее время с Вами свяжется сотрудник профильного департамента для обсуждения данного вопроса и вариантов его решения.

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

Может кто-то делал автоматический разбор сообщений OUTLOOK?
Задача проста: после автозагрузки письма, автоматически прочитать тему, отправителся, получателя и главное сам текст сообщения то есть разбирать IMAGE-поле (поиск с regexp'ами).
Нужен какой-нибудь пример или ссылка.

Нравится

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

Добрый день!

На самом деле, это довольно трудоемкая задача, которая требует реализации механизма считывания данных из письма, их обработки и сохранения.

К сожалению, в рамках технической поддержки, подобных реализаций не было.

Большое спасибо за ответы. Жаль что они мне мало чем помогли. Если что-то "накопаю", то выложу тут

а у TS есть компонент которым можно "смотреть" сообщение?
или надо аутлуковскими com-объектами пользоваться?

Только через com.
А что за версия TSClient?

"Евгений Либин" написал:

А что за версия TSClient?


TSClient v3.3.2.305

"Евгений Либин" написал:

А что за версия TSClient?


TSClient v3.3.2.305

Шансы есть.
В 3.3.2 интеграцию с Outlook перенесли в скрипты конфигурации и там можно вклиниться, но нужно понимать, что если одно и то же письмо придет двум и более человек, то есть шанс задвоить обработку.

"Евгений Либин" написал:

Шансы есть.

В 3.3.2 интеграцию с Outlook перенесли в скрипты конфигурации и там можно вклиниться, но нужно понимать, что если одно и то же письмо придет двум и более человек, то есть шанс задвоить обработку.


Отлично, Евгений, Вы меня обрадовали :-) буду разбираться!

Кстати, может быть удобнее было бы "разгребать" загруженные письма с помощью функционала SQL-сервера?

Так не получится.
Хотя, можно сделать отдельный сервис для обработки писем, т.е. выгребать из базы все необработанные письма и обрабатывать их.

"Евгений Либин" написал:

Так не получится.

Хотя, можно сделать отдельный сервис для обработки писем, т.е. выгребать из базы все необработанные письма и обрабатывать их.


Если под "сервисом" понимать террасофт, то НЕТ. Я имел ввиду забыть про террасофт и, к примеру, повесить триггер на инсерт в табличку tbl_MailMessage, который будет смотреть на новую запись, парсить (средствами sql, может с привлечением com-outlook)...

Так тоже можно, но реализация будет очень сложной.

Коллеги, если кому-то интересно сделал (пока) простой вариант поиска в содержимом письма:
В scr_MailUtils сделал функцию

function FindTextInMessage (FileName, SearchString) { 
	if (!GetCanCreateMessage(true)) {
		return;
	}
	if (!InitMailUtils()) {
		return;
	}
	var MailItem = Outlook.Application.CreateItemFromTemplate(FileName);
	//var Body = GetMailItemBody(MailItem);
	var Body = MailItem.Body;
	Body = Body.replace(new RegExp('%20', 'ig'), ' '); //потому что все равно в текст закрадываются огрызки html
	switch (SearchString) {
	case '%%mail': //
		var STR = '[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-])+\.(ru|com|de|org)';
		var re = new RegExp(STR, 'ig');
		var re1 = new RegExp(STR);
		var FindString = Body.match(re);
		var IsExist = re1.test(Body); //если существует
		if (IsExist) {
			Log.Write(1,'найден майл: ' + FindString );
		}
		break;
	case undefined:
	case null:
		Log.Write(1, 'не указан текст поиска');
		break;
	default:
		var re = new RegExp (SearchString, 'ig');
		var FindString = Body.match(re);
		Log.Write(1, 'найден текст: ' + FindString);
		break;
	}
}

Нужно расширить функцию и, возможно, в дальнейшем включить в базовый функционал.

В моем случае нужна проверка на наличие майлов в теле письма. Поэтому при получении письма в scr_MSOutlookLibrary в функции сохранения письма function SaveMailItem (в моем случае после POST для MessageContent) вставил

FindTextInMessage (FileName, '%%mail');

Ну и собственно, если надо файл из базы вытянуть, то

var FileName = SaveMailMessageToFile(RecordID);
Показать все комментарии

В Террасофт реализован очень удобный механизм привязки и хранения e-mail сообщений - есть в базе такой адрес - подтягивается, отсутствует - не подтягивается. Но не дай Бог вам поставить галочки "игнорировать адрес отправителя\получателя" в настройках пользователя или добавить адрес рабочего мейла в карточку контакта пользователя, а потом проинтегрировать все письма в автоматическом режиме...
В нашей компании объем и количество внутренней почты такие же, а то и больше, чем почты внешней.
И периодически то настройки у кого-нибудь слетят, то новый офис-менеджер добавит всем пользователям их рабочие е-мейлы.... В результате база разом увеличивается на всю внутренную переписку пользователя (с вложениями!).
И хотя подчистить не так и сложно (отправитель like %@your_domain.zone AND получатель like %@your_domain.zone), но, во-первых, за этим надо следить, а во-вторых, бывают сложные случаи, когда письмо отправляется (или получается) не только кому-то внутри, но и одновременно наружу:
send to vasya@company.ru, client@somewhere.com
Такие письма приходится искать вручную... Или сделать вид, что их и не было, что не очень хорошо ))

Мне все это немного надоело еще на 2й раз и я, получив несколько левелапов :wink:, избавил себя от этой проблемы раз и навсегда.

Для этого я долго скакал по скриптам интеграции в попытке найти оптимальную точку для проверки, поближе познакомился с регэкспами, проникся проблемой валидации е-мейлов и разродился вот такой маленькой доработкой.

Логика:
При автоинтеграции (но не вручную ) письма проверяются на наличие хотя бы одного из отправителя\получателей (отправитель один, получателей - сколько влезет) не из одного и того же домена. Основой для проверки служит адрес отправителя - т.к. он один.
Например:
send from petya@company.ru to vasya@company.ru, client@somewhere.com пройдет
send from petya@company.ru to vasya@company.ru, masha@company.ru не пройдет

Скрипт:
в функцию function SyncronizeMailItem(MailItem, Options) вставить после
var MessageID = MapiMessage.GetSMTPHeader('X-TS' + MessageIDUserPropertyName);

        if (CheckIsSameDomain(MapiMessage)){    // проверяем не внутренняя ли почта, если да - выход
                return;
        }

сама функция

function CheckIsSameDomain(MapiMessage) {
        var SenderAddress = MapiMessage.SenderAddress;

// избавляемся от " в адресах
        var RecipientAddress =
                MapiMessage.GetRecipientList().CommaText.substr(0, 249).replace(/"/g, '');  //";

// избавляемся от конструкций типа Имя Фамилия> в получателях - услужливый Outlook ставит это ко всем известным ему контактам
        RecipientAddress = RecipientAddress.replace(/[^>]+>,?/g, '');

// находим домен отправителя (от @ до конца строки)
        var SenderDomain = /@.+$/.exec(SenderAddress);

// находим домены получателей (регексп может быть странноватый, но работает)
        var RecipientDomainAr = RecipientAddress.match(/@\S+(?:(?:\.(?:\S{2,})){1,10})/g);
        if (!Assigned(RecipientDomainAr)) {
                return false;
        }
        for (var i = 0; i = RecipientDomainAr.length; i++) {
                if (RecipientDomainAr[i] != SenderDomain) { \\ если отличается выходим из функции
                        return false;
                }
        }
        return true;
}

ПС. И да - ущерб производительности имеет место, но не сильный

Нравится

Поделиться

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

косяк :redface:
var SenderDomain = /@.+$/.exec(SenderAddress)[0]

for (var i = 0; i <= RecipientDomainAr.length - 1; i++)

// избавляемся от " в адресах
        var RecipientAddress = 
                MapiMessage.GetRecipientList().CommaText.substr(0, 249).replace(/"/g, '');  //";
 
// избавляемся от конструкций типа <Имя Фамилия> в получателях - услужливый Outlook ставит это ко всем известным ему контактам
        RecipientAddress = RecipientAddress.replace(/<[^>]+>,?/g, '');

заменить на

var RecipientAddress = MapiMessage.GetRecipientList(true).CommaText
Показать все комментарии

Добрый день.
При попытке создать письмо через Terrasoft при закрытом Outlooke, вылезает ошибка "Неизвестное исключение" в данной строке var Recipient = MailItem.Recipients.Add(Address) скрипта scr_OutlookUtils :

function AddRecipient(MailItem, Address, RecipientType) {
        if (ValidateEmailAddress(Address)) {
                var Recipient = MailItem.Recipients.Add(Address);
                Recipient.Type = RecipientType;
                Recipient.Resolve;
        }
}

Распознает например:
Address = "Иванов Иван Иванович "
RecipientType = 1

При уже запущенном Outlooke в данной ситуации проблем не возникает.

В чем может быть загвоздка?

Нравится

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

похоже на то, что нет возможности сформировать само письмо.
1) проверьте, не остается ли Outlook в диспетчере задач, после его закрытия (встречались различные проблемы именно при таких симптомах ;) )
2) Перерегистрируйте все библиотеки.

1. Нет, Outlooka нет в диспетчере

2. Не помогает

Кстати при ошибке на значке outlooka появляется шестеренка

Константин, т.е. если Outlook не запущен, и в системе Вы пытаетесь сформировать письмо, Outlook запускается ,но в трее отображается иконка с шестеренкой?

Похоже на то, что Outlook блокирует доступ. Проверьте надстройки COM-объектов Outlook - отключите все, кроме плагина Terrasoft .

"Олейник Дмитрий" написал:Константин, т.е. если Outlook не запущен, и в системе Вы пытаетесь сформировать письмо, Outlook запускается ,но в трее отображается иконка с шестеренкой?

Да, все верно.

Сделал вот так:
первый шаг
Но, в списке остается поведение при запуске - загружать при запуске
2 шаг

Все равно вылетает ошибка

Константин,

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) заполняться не должно.

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

Добрый день.
Как в шаблонах сообщений Outlook оставить с поля Дата/Время отобразить только дату?

Шаблон:
Добрый день #Контакт#
Напоминаем что вы назначены на роль #Роль# в проекте #Название#
Плановая дата начала: #Плановая дата начала#
Плановая дата завершения: #Плановая дата завершения#

При запуске

Добрый день
Вы назначены на роль в проекте TestWork1
Плановая дата начала: 30.10.2012 9:00:00
Плановая дата завершения: 30.10.2012 18:00:00

Я пытался сделать:

  1. В запросе sq_Project свойство Extract Date Tume Kind установлено в Date для колонки EstimatedStartDate
  2. В tbl_Project для колонки EstimatedStartDate: Date Time Kind = Date

Данные действия привели к тому что время для даты начала ставится 9:00:00, для конечной 18:00:00

Бинарные файлы Terrasoft 3.3.2.277
Конфигурация XRM 3.3.2.157

Нравится

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

Добрый день!

Для решения вопроса сделайте следующее:

1. Найдите скрипт, который подставляет значения в макросы
2. В нем сделать проверку на тип данных в колонке
3. В случае, если тип "дата" - проверить какой формат отображения даты и конвертировать полученное значение

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

Доброго времени суток, коллеги!
Недавно столкнулся с задачей: "синхронизировать поля Terrasoft.Обращение и Outlook.Краткое Имя".
Как оказалось взаимосвязи между ними практически нет :smile:

карточка контакта в Outlook

В карточке Outlook "Краткое Имя" - это то, что подставлятся в строку e-mail адреса в формате:
"Краткое Имя" . Пройдя отладчиком по Outlook выявил следующее соответствие полей ("нет" - означает, что в Terrasoft аналог у данного поля отсутствует):

FullName - Фамилия Имя Отчество - tbl_Contact.Name
Birthday - - tbl_ContactAnniversary.AnniversaryDate
Body - Description. - tbl_Contact.Description
BusinessTelephoneNumber - workphone1 - tbl_Contact.Communication1
Business2TelephoneNumber - workphone2 - нет
MobileTelephoneNumber - mobilephone - tbl_Contact.Communication2
BusinessAddress - work address - tbl_Contact.Address
BusinessAddressCity - - tbl_Contact.CityID
BusinessAddressCountry - Россия - tbl_Contact.CountryID
BusinessAddressPostalCode
BusinessAddressPostOfficeBox
BusinessAddressState - work address - tbl_Contact.StateID
BusinessFaxNumber - workfax - tbl_Contact.Communication4 (при условии, что тип средства связи 4 = Fax)
CompanyAndFullName - ООО Название Организации" - tbl_Account.OfficialAccountName
CompanyName - ООО Название Организации"" - tbl_Account.Name
Department - Отдел - tbl_Contact.Department
JobTitle - Должность - tbl_Contact.JobID

WebPage - http://webpage.com - нет
IMAddress - instatnmessenger - нет

Email1Address - email1@mail.com - tbl_Contact.Communication3 (при условии, что тип средства связи 3 = Email)
Email1DisplayName - Краткое Имя 1 (email1@mail.com) - нет

Email2Address - email2@mail.com - нет
Email2DisplayName - Краткое Имя 2 (email2@mail.com) - нет

Email3Address - email3@mail.com - нет
Email3DisplayName - Краткое Имя 3 (email3@mail.com) - нет

FileAs - Отчество, Фамилия Имя - нет
FirstName - Фамилия - нет
Gender - - tbl_Contact.GenderID

HomeTelephoneNumber - Homephone1 - нет
Home2TelephoneNumber - Homephone2 - нет
HomeFaxNumber - Homefax - нет
OtherTelephoneNumber - -

HomeAddress - - нет
HomeAddressCity - - нет
HomeAddressCountry - - нет
HomeAddressPostalCode - - нет
HomeAddressPostOfficeBox - - нет
HomeAddressState - - нет
HomeAddressStreet - - нет

OfficeLocation - Комната - нет
OtherAddress - - нет
OtherAddressCity - - нет
OtherAddressCountry - - нет
OtherAddressPostalCode - - нет
OtherAddressPostOfficeBox - - нет
OtherAddressState - - нет
OtherAddressStreet - - нет
OtherFaxNumber - - нет
- - нет
LastName - Фамилия - нет
NickName - Псевдоним - нет

Profession - Проффесия - нет
Suffix - Суффикс - нет
Title - Обращение - нет

В конфигурации Terrasoft логика синхронизации заложена в сервис Common\Tools\Integration\MS Office\MS Outlook\MS Outlook Synchronization Library\scr_MSOutlookContactSynchronization.

Из Outlook в Terrasoft - метод SetContactInfoFromMSOutlook(olContact)
Из Terrasoft в Outlook - метод SetContactInfoToOutlook(olContact, ContactDataset)
Надеюсь, мои наблюдения будут Вам полезны!
Приятной работы!

Нравится

Поделиться

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

При работе с системой через плагин Outlook не работает механизм автозапуска процессов. Т.е., например, при создании инцидента должен запускаться процесс. Если инцидент создать через стандартный интерфейс, процесс запустится. Если же инцидент создать через плагин в процессе привязки нового письма (открыв справочник инцидентов и добавив туда запись в окне связей сообщения), то процесс не запустится.

Разобравшись с механизмом автозапуска обнаружил, что в методе OnPrepare scr_Main инициализируется объект DatasetTriggers и на объект Services вешается обработчик события Deserialize, который в свою очередь проверяет, что десериализуемый объект является датасетом и входит в список автозапуска и вешает на события BeforePost и AfterPost датасета собственные обработчки.

Попробовал повторить тот же трюк при инициализации плагина Outlook. Не работает. Обработчик десериализации не срабатывает. Максимума удалось добиться с подобным кодом

при инициализации плагина
var Wnd = Services.GetSingleItemByUSI('wnd_Main');
Wnd.Prepare();
Connector.Atributes('MainWindow') = wnd;

потом в нужном месте вручную установить на нужный датасет обработчик
DatasetTriggers.Install(MyDataset);

Тогда срабатывает автозапуск процессов на этом датасете. Причём, если вместо wnd_Main использовать другое окно и инициализацию DatasetTriggers делать вручную, то вообще не работает.

Как заставить работать автозапуск процессов в плагине Outlook?
ServiceDesk 3.4

PS В реестрах справочников открываемых через плагин не работают горячие клавиши вроде быстрого поиска и пр. Возможно, связано.

Нравится

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

Федор, автоматический запуск процессов реализовывался только для окна TSClient, он не будет работать из MSOutlook.
Для реализации данной функциональности нужно при инициализации плагина в его скрипте воссоздать всю необходимую логику, взять ее из scr_Main.
Приблизительный алгоритм (не окончательное решение):
1. Подключить в используемые скрипты scr_DatasetTriggers.
2. В момент инициализации прописать вызов:

DatasetTriggers.Load();
SetServicesEvents();

3. Добавить функции function SetServicesEvents() и function DoAfterDeserializeItem(Service):

function SetServicesEvents() { 	
	Services.EventSubscribedServiceTypeCodes.Add('DBDataset');
	SetObjectEventDispatcher(Self, Services, Services.UID,
		'OnAfterDeserializeItem', 'DoAfterDeserializeItem');
}
 
function DoAfterDeserializeItem(Service) {	
	var ServiceTypeCode = Service.ServiceTypeCode;
	if (ServiceTypeCode == 'DBDataset') {
		DatasetTriggers.Install(Service);
	}
}

Хочу заметить, что окно [Связи сообщения] в MSOutlook создано с минимальной функциональностью, чтобы не нагружать оперативную память и увеличить быстродействие.

А ещё при работе из Аутлука объект Connector имеет значительно меньше атрибутов, чем тот же Connector при обычном запуске TC. И если в карточке (например, задачи) открытой по лукапу в окне связей добавлена логика, работающая с этими атрибутами и не проверяющая их наличие, можно получить ошибку.

Есть реализация запуска БП по ссылке. (Также как мы переходим в раздел или открываем карточку).

Формат ссылки: terrasoft://WFStart/Workflow/%7b8C91E8A4-942C-4F39-BCB3-0C7D5D9C5779%7d/AccountID|%7b04B25C6A-9336-42DD-838F-E686D83B882C%7d
где «%7b8C91E8A4-942C-4F39-BCB3-0C7D5D9C5779%7d» – идентификатор диаграммы,
«AccountID|%7b04B25C6A-9336-42DD-838F-E686D83B882C%7d» – параметер/значение передаваемое в БП. Все параметры в ссылке разделяются «/».

1) Изменена функция RunHyperlink(…) (scr_HyperlinkUtils)

function RunHyperlink(Action, Params) {
         Action = Action.toLowerCase();
         switch (Action) {
                   case 'goto':
                            HyperlinkGotoWorkspace(Params);
                            break;
                   case 'open':
                            return HyperlinkOpenCard(Params);
                            break;
                            //Add this
                   case 'wfstart':
                            return HyperlinkStartWorkflow(Params);
                            break;
         }
}

2) И добавлена функция запуска БП HyperlinkStartWorkflow(…) (scr_HyperlinkUtils)

function HyperlinkStartWorkflow(Params) {
         if (Params.length < 2) {
                   return;
         }
         var Module = Params[0];
         var IDValue = Params[1].replace(/%7b/g, '{').replace(/%7d/, '}'); //Diagram ID
         var ParameterHash = Params.slice(2, Params.length);
         var ParamNames = new Array();
         var ParamValues = new Array();
         for (var i = 0, iLength = ParameterHash.length; i < iLength; i++) {
                   var tmp = new String(ParameterHash[i]).split('|');
                   if (('length' in tmp) && (tmp.length > 1)) {
                            ParamNames.push(tmp[0]);
                            ParamValues.push(tmp[1]);
                   }
         }
         WFStartByID(IDValue, ParamNames, ParamValues);
}
Показать все комментарии

При интеграции с Outlook у пользователя было пустое окно связей сообщений, и возникала подобная ошибка при автопривязке.
Выяснилось, что пользователь сделал перенос базы. Решение проблемы – создание пользователя fkeys и его сопоставление.

1

Нравится

Поделиться

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

Напомню, что для выполнения сопоставления, необходимо на базе данный MS SQL выполнить скрипт:

sp_change_users_login 'update_one', 'fkeys', 'fkeys'
Показать все комментарии

Добрый день!
Тестируем XRM Demo 3.4.0.76. При установленной и включенной интеграции с Outlook (пробовали и 2007, и 2010) любая отправка/получение письма вызывает окно во весь экран с ошибкой добавления параметров в базу данных - Dynamic SQL Error code = -303 (см. приложенный файл).
Если адресат или отправитель есть в контактах, то затем появляется еще одно сообщение об ошибке: "Возникла ошибка обработки события Microsoft Office: .DispID: 61441".
Перед этим тестировали TS Sales - с ней таких проблем не возникало.
Что мы делаем неправильно?

Нравится

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

Ссылка с актуальной демо-версией будет выслана Вам на e-mail
Также список демо-версий Вы можете посмотреть в соответсвующем разделе http://www.community.terrasoft.ua/resources/partners/base/products

Супер, спасибо - ошибка пропала!

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