Мы часто делаем е-мейл рассылку нашим клиентам. Но все больше писем возвращаются от Mail Delivery System (или Subsystem), в которых пишется, что такого ящика не существует (в том или ином виде). Подскажите, как можно выделить такие письма, чтобы в дальнейшем выделить не работающие е-мейл адреса из них? Можно ли как-то, используя COM, проверять входящие письма и, например, искать с помощью регулярных выражений текст, который свидетельствует о том, что этот ящик не рабочий?
Может кто-то сталкивался с такой задачей и решал ее.

Нравится

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

Признак неправильного адресата указывается в заголовке сообщения. Вот пример
...
X-Failed-Recipients: abcdСОБАКАmail.ru
...

Вопрос в том, как это анализировать стандартными средствами..
Надо смотреть в сторону метода GetSMTPHeader интерфейса IMessage.

ЗЫ
Знак "собака" тут нормально не ставится, переносится на новую строку, а должно быть одной строкой

У нас почтовый сервер начинает отдавать такие ответы и если отправитель попал в черные списки (подозрение на спам). Может быть вы излишне активно использовали рассылки и какой нибудь клиент с ящиком на mail.ru или подобных сервисах пожаловался на вас как на спамеров?

"Евгений Либин" написал:Признак неправильного адресата указывается в заголовке сообщения. Вот пример
...
X-Failed-Recipients: abcdСОБАКАmail.ru
...

Да, Евгений, в секции "Заголовки Интернета" пишет такую строчку. Спасибо за помощь :)

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

Подскажите, что я делаю не так?

В Террасофт стоит MS SQL. стоит задача взять определенные данные с БД Firebird на другом сервере.

Пытаюсь реализовать это с помощью ADO. Создала ADOConnection co строкой подключения :

Provider=MSDASQL.1;Password=masterkey;Persist Security Info=True;User ID=SYSDBA;Extended Properties="Driver=Firebird/InterBase(r) driver; Uid=SYSDBA;Pwd=masterkey; DbName=..."

Проверка подключения производится норм.

Затем создаю ADODataset. Создаю поле P_NAME. Как строку подключения выбираю ADOConnection. Текст SQL- запроса:

SELECT P_NAME FROM PEOPLE

Создаю Окно редактирования. В невизуальных компонентах выбираю источником ADODataset. Визуальных создаю поле TextDataControl и настраиваю его на поле P_NAME.
Так же в окне раздела создаю новый DataGrid. Настраиваю его на ADODataset.

Зайдя под клиентом в гриде не отображается ничего ,а при входе в окно редактирования возникает такая вот ошибка

Ошибка выполнения метода 'wnd_BaseDBEditOnPrepare'. Object 'DataField ID' is not assigned

Нравится

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

Здравствуйте Елена,
К примеру, хоти получить колонку Name с таблицы tbl_Account (БД Firebird). При этом сама конфигурация Terrasoft на MS SQL Server 2008

Шаг 1
Создаем ADOConnection в строку соединения пишем (т.е лупу мы не нажимаем)

Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey; DbName=E:\ClientsDB\firebird\Anastasiya\TS.FDB

DbName - путь к БД
В данном случае
E:\ClientsDB\firebird\Anastasiya\TS.FDB
Uid - логин
Pwd - пароль

Шаг 2.
Далее создаю ADO Dataset
В поле соединения, устанавливаю название сервиса подключения с Шага 1
В поле текст SQL пишу:

select "Name" from "tbl_Account"

Кавычки принципиальны.

Далее я создаем в Data Fields строковое поле Name при этом название и заголовок прописываем руками (оно не подхватывается как в случае работы с обычным DataSet)

Шаг 3. Проверяем результаты
Создем сервис Window унаследываемего от wnd_BaseGridArea. Переоткрываем сервис окна
В невизуальных dlData выбираем созданный на шаге 2 датасет
в grdData создаем DataGridView в нем определяем колонки, ставим их видимыми.

В grdData свойство ActiveView выставляем в DataGridView, получим такой вид сервиса

На OnPrepare окна открывем датасет

function wnd_BaseGridAreaOnPrepare(Window) {
	dlData.Dataset.Open();
}

запустить тестовый сервис можно по нажатию F9

XML тесовых сервисов прикрепил.

Большое спасибо! Все заработало!
Только строку подключения в ADOConnection немного поменяла (иначе система не находила базу):

Provider=MSDASQL.1;Password=masterkey;Persist Security Info=True;User ID=SYSDBA;Extended Properties="Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey; DbName=адрес"

Если у Вас возникнут вопросы, обращайтесь.

Столкнулась с такой проблемой.
Данные выводятся, но не все, т.е., если в колонке 100 записей, выводит только половину.
2 колонки из таблицы, которые связаны с другими таблицами этой же базы, выводит не как значения, а как -1 (значения в колонках точно есть)

При открытии грида с этими данными выходит в лог ошибку:

Ошибка выполнения метода 'dlAttendanceOnDatasetAfterPositionChange'. Объект TSObjectLibrary.ADODataset ({5119679C-DF62-4F33-ABD8-CD2BA96A64EA}) не поддерживает интерфейс IDBDataset ({B77D78C1-40FD-4A5A-9592-DC0A6072AA3B})

"Перепечай Елена" написал:Данные выводятся, но не все, т.е., если в колонке 100 записей, выводит только половину.

Попробуйте изменить параметр количества записей в наборе данных в свойствах конфигурации

По поводу второго вопроса, буду пробывать воспроизвести

Увеличила количество записей в конфигурации, все заработало, спасибо!

Возникла неожиданная, для меня, проблема. После переустановке windows пропало соединение с БД. Строка подключения осталась таже, ничего не менялось, но при попытки присоединения к Firebird выдает ошибку:

"Не выполнена проверка соединения из-за ошибки при инициализации поставщика. Неопознанная ошибка"

В теме http://www.community.terrasoft.ru/forum/topic/6760#comment-28808 обсуждалось, что необходимо установить Firebird ODBC Driver (http://www.firebirdsql.org/en/odbc-driver/) , при переустановке ОС он удалился.

Поставила Firebird_ODBC_2.0.0.151_Win32.exe, ошибка осталась

На сколько я понимаю путь

"Перепечай Елена" написал:Provider=MSDASQL.1;Password=masterkey;Persist Security Info=True;User ID=SYSDBA;Extended Properties="Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey; DbName=адрес"

содержит алиас "адрес" в котором хранится путь к вашей БД firebird, проверьте, пожалуйста, прописан ли он.

да, конечно, путь прописан в строке подключения

Под переустановкой ОС вы имеете в виду что, вы поставили ту же операционную систему, или установили, что то более новое? К примеру с Windows XP перешли на Windows 7, версию работы с памятью (x32, x64) системы не меняли (имеется в виду редакция ОС для работы с памятью) ?

перешла с ХР на 7-ку. х32 как было так и осталось.

Елена, мое предположение что Windows 7 использует более новые методы доступа, следовательно возможно строка подключения должна выглядеть немного иначе
1.Попробуйте перегенирировать строку подключения.
2.Попробуйте пройти по ссылке http://msdn.microsoft.com/en-us/data/aa937729.aspx , и скачать более полные пакеты для полючения к бд ( http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=219… )

И кстати, вы проверяли подключение к БД Firebird ?

Удалось добиться успешной проверки соединения, выбрав поставщиком OLE DB Provider for Microsoft Directory Services.

Строка соединения сформировалась таким образом:

Provider=ADsDSOObject;User ID=SYSDBA;Encrypt Password=False;Data Source=firebird.fdb;Location=адрес;Mode=ReadWrite;Bind Flags=0;ADSI Flag=-2147483648;

В ADODataBase написала текст запроса:

SELECT "P_FAM" FROM "PEOPLE"

Создаю строковое поле, подключаю все это к гриду.
При запуске клиента выдает ошибку

"Ошибка открытия источника данных "db_ADOFirebird". Оригинальное сообщение об ошибке: Произошла одна или несколько ошибок во время обработки команды"

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

В Windows 7 соединение можно получить следующим образом:
Среда:
Установлен Firebird-2.0.3.12981-1-Win32
Установлен Firebird_ODBC_2.0.0.151_Win32.exe

Запускаем
Для x32 %windir%\system32\odbcad32.exe
( Панель управления\Все элементы панели управления\Администрирование\Источники данных (ODBC) )

Для x64 %windir%\SysWOW64\odbcad32.exe
Замечание для Windows 7 x64 принципиально запускать именно 32х битную версию утилиты работы с ODBC

Во вкладке User DSN добавляем Data Source

Выбираем источник Firebird/InterBase(r) driver

Выбираем базу, выбираем клиент Firebird, расставляем галочки, проверяем соединение.

Получили соединение

Теперь в Terrasoft Администраторе переходим в сервис ADO подключения, в моем примере это adocon_fb
В строке соединения, нажимаем лупуи выбираем Provider

Во вкладке Connection, выбираем DSN, логин/пароль НЕ заполняем

Проверяем соединение.

Строка соединения будет выглядеть примерно так:

Provider=MSDASQL.1;Persist Security Info=False;Data Source=fbConnection

Проверяем получение данных

Спасибо, Алексей, соединение установилось, в этом проблем нет.
Но все равно осталась предыдущая ошибка
"Произошла одна или несколько ошибок во время обработки команды"

Команда которую я прописала:

SELECT "P_FAM" FROM "PEOPLE"

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

хм... перезагрузка компьютера помогла, ошибка пропала!
Большое спасибо за помощь, Алексей!

Есть еще такой вопрос. Подобные настройки соединения с БД надо провести у все пользователей, кому понадобится доступ к данным из этой базы?

Елена, провести настройку подключение придется на всех компьютерах, но задачу можно упростить, к примеру, база данных firebird лежит на сервере, к которому есть доступ на всех пользовательских компьютерах, сами настройки ODBC хранятся в реестре HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
т.е задача сводится к тому что бы экспортировать настройки, и запускать reg файлы на пользовательских компьютерах, перед этим разместив файлы БД firebird на доступном для всех ресурсе

Скажите, а есть ли варианты без дополнительных настроек у пользователей? Например, использование Linked Server? Или все равно надо будет доп настройки делать?

Елена, возможно вас устроит вариант выполнения ежедневного запроса данных с Firebird на уровне БД по средствам job в табличку SQL Server ?

можете описать этот вариант подробнее?

Елена, сложность в обоих вариантах состоит в том что бы написать запрос в SQL Server который бы получал данные с Firebird. В случае с Job в SQL Server нам надо писать insert или в случае ADO Dataset мы можем подключится к существующей конфигурации SQL Server и на ней же выполнить селект который полит данные с Firebird, остановлюсь на реализации первого варианта.

Предполагается что у нас уже есть System DSN


Создаем Linked Server

Создался Linked Server, проверяем подключение

Далее, получить данные с сервера Firebird можем следующим запросом

select Name from OPENQUERY([FBDB], 'SELECT * FROM "tbl_Account"')

Запрос которым мы создадим таблицу и запишем в нее данные с firebird

select Name into tbl_accountfb from OPENQUERY([FBDB], 'SELECT * FROM "tbl_Account"')

Далее создаем job

Указываем название job и владельца

Далее создаем шаг job

Скрипт для job

begin
delete tbl_accountfb;
insert into tbl_accountfb
select Name from OPENQUERY([FBDB], 'SELECT * FROM "tbl_Account"');
end

Указываем, что мы делаем при успешном и неудачном завершении шага

Далее нам следует указать, чтобы SQL Agent запускал данный job по указанным дням в условленное время

Далее Вы можете создать в конфигурации таблицу, с колонками как в tbl_accountfb, при сохранении сервиса таблицы, отказаться от сохранения ее в БД, тем самым данный сервис будет ссылкой на таблицу, которая будет обновляется через job в дни указанные по расписанию.
Работать с таблицей можно будет, как с обычным сервисом Terrasoft

Такой вопрос. В БД Firebird в день добавляется в среднем около 100 нужных мне записей. Со временем, постоянная перекачка данных не будет ли подтормаживать сеть?

Елена, данный job запускается в определенное время в определенные дни один раз, т.е он не работает как процесс который постоянно записывает данные в таблицу, следовательно логично запускать его скажем ночью в определенные дни, когда никто не работает с системой. В скрипте, который запускается, удаляются все записи с таблицы tbl_accountfb, а потом добавляются по новому с Firebird, если вы не импортируете миллионы записей, то процесс совершенно не критичен и будет проходить за секунды.

А если данные должны обновляться каждый день днем, в рабочее время, не вызовет ли это каких либо сбоев?

Предлагаю вам установить на таблицу, в которую вы будете импортировать данные с Firebird доступ только на чтение, что бы на уровне БД никто с пользователей не держал таблицу на запись в SQL Server, во время работы job.

Скажите, можно ли изменить job таким образом, чтобы таблица не удалялась полностью и потом перезаписывалась, а данные просто добавлялись в нее ( таблица обновлялась)?

Елена попробуйте дописать логику скрипта который отрабатывает во время шага job, доработка будет состоять в добавлении проверки на существующие записи

Пример :

insert into tbl_to 
select * from tbl_from 
where not exists 
(select * from tbl_to where tbl_to.name = tbl_from.name)

При этом происходит только добавление записей, существующие записи не обновляются

INSERT INTO tbl_to 
SELECT * FROM OPENQUERY ([FBDB],'SELECT * FROM tbl_from') 
WHERE NOT EXISTS 
(SELECT * FROM tbl_to WHERE tbl_to.name = ???)

Как обратиться к таблице из которой берем инфу если она в linked server? снова писать OPENQUERY?

Попробуйте поставить алиас,и проверить работу, самого SELECT'a

SELECT * FROM OPENQUERY ([FBDB],'SELECT * FROM tbl_from') a
WHERE NOT EXISTS
(SELECT * FROM tbl_to WHERE tbl_to.name = a.Name)

вернет ли он только новые записи ?

Попробовала так:

Select* from openquery ([FBDB],'Select R_ID From Record') a
Where Not EXISTS 
(SELECT * FROM a WHERE a.R_ID <17242)

Invalid object name 'a'.

Если просто:

Select* from openquery ([FBDB],'Select R_ID From Record') a
Where a.R_ID >=17242

Все отлично, а в подзапросе не указано что такое "а"

Елена, запросом

SELECT* FROM openquery ([FBDB],'Select R_ID From Record') a
WHERE a.R_ID >=17242

вы определяете что openquery ([FBDB],'Select R_ID From Record') это алиас a, и потом уже фильтруете, SQL подставяет вместо a = openquery ([FBDB],'Select R_ID From Record') и вы получаете фильтр openquery ([FBDB],'Select R_ID From Record').R_ID >=17242

Запрос

SELECT * FROM a WHERE a.R_ID <17242

ищет таблицу а, ее не находит, и выдает ошибку Invalid object name 'a', так как во FROM запрос еще не видит таблицы определенной выше

Попробуйте запустить запрос подобный http://www.community.terrasoft.ru/forum/topic/6843#comment-31260

SELECT* FROM openquery ([FBDB],'Select R_ID From Record') a
WHERE NOT EXISTS 
(SELECT * FROM tbl_AttendenceFoto WHERE AttendenceFoto.R_ID =a.R_ID)

Работает!!!!
Большое спасибо!!!!

Сделала все по инструкции, однако не проходит проверка соединения при создании драйвера (Не удалось открыть базу). База расположена на диске D, адрес на латинице.
В чем может быть проблема? Что посоветуете для ее решения?

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

Уточните пожалуйста, какую именно инструкцию выполнили?
Прикрепите файлы с изображением на которых будет видны Ваши настройки.

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

В настройках синхронизации с 1С при добавлении объекта синхронизации типа "Документ" автоматически добавляются ключевые поля для связки документа в ТС с документом в 1С:
- ДатаДок
- НомерДок
- Объект1С (название объекта 1С)

В 1С бывает возникает ситуация, когда дата документа корректируется и изменяется, например, с даты 01.08.11 на 05.08.11. В таком случае при следующем импорте документа в Террасофт из 1С фильтрация по дате 05.08.11, номеру документа и объекту 1С выдаст пустой результат, и создастся новый документ в Террасофте. Но это не правильно, потому что на самом деле этот документ уже есть в Террасофте. Допустим, номер документа является уникальным в 1С в диапазоне 1 года. Каким образом нужно настроить импорт документов из 1С так, чтобы находились документы не по полной дате, а по году, то есть накладывался фильтр по 2011 году? Учитывается ли в утилите синхронизации такая особенность? и как это сделать?

Нравится

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

В базовой версии интеграции нет фильтрации исключительно по году.

В случае, если номер документа является уникальным - необходимо установить данное поле [Номер] как Ключевое (а у даты - снять данную галочку).
Нумерацию же документов можно проводить с учетом года (указывая в номере документа год). Или проводить фильтрацию: "дата создания документа больше чем 31.12.2010"(в этом случае номер в рамках года будет уникальным).

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

Дело в том, что каждый элемент в 1С имеет тоже уникальный идентификатор. Вот к нему можно и попытаться привязаться, но уже из скрипта
Вот пример получения уникального кода в 1С

 ГУИДССЫЛКИ	= СсылкаНаОбъект.УникальныйИдентификатор();
// или
НоменклатураСсылка = Справочники.Номенклатура.НайтиПоКоду("00013");
Если НЕ НоменклатураСсылка.Пустая() Тогда
   Сообщить("GUID = " + НоменклатураСсылка.УникальныйИдентификатор());
КонецЕсли; 
 

Я эту проблему у себя решал тем, что создавал фильтр типа like и накладывал это фильтр там, где шла фильтрация по полю Date1C (ДатаДок):

function AddDate1CYearFilter(SelectQuery) {
    for (var i = 0; i < SelectQuery.Count; i++){
        var Select = SelectQuery.Items(i);
        var Filters = Select.Filters;
		AddLikeFieldFilter(Select, 'Date1CYear', 'Date1C', ltEqual);
    }
}
 
function ApplyDate1CYearFilter(Dataset, DocDate) {
	var FilterName = 'Date1CYear';
	var SelectQuery = Dataset.SelectQuery;
	var DateObj = new Date(DocDate);
	var FilterPattern = '[0-3][0-9].[0-1][0-9].'+DateObj.getYear();
	var FilterCodes = new Array(FilterName);
	EnableSelectQueryFilters(SelectQuery, true, FilterCodes);	
	SetParameterValue(SelectQuery.Parameters, FilterName, FilterPattern);
}

Вызов этих функций в разных местах:

AddDate1CYearFilter(Dataset.SelectQuery);
 
ApplyDate1CYearFilter(Dataset, DocDate);

Может и есть какое-то лучшее решение, но пока сделал так :smile:

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

Здравствуйте,
можно ли программно присоединить к создаваемому по шаблону е-мэйлу файл, как вложение.

Е-мэйл создается с помощью стандартной ф-ии:
function SendEmailByAddress(MailUtils, TemplateFileName, Address, Subject) {
// by default 'false' means immediate message sending
// 'true' means putting message to 'Outbox' Outlook folders
var SendResult = MailUtils.SendMessage(TemplateFileName, Address,
Subject, false);
if (!SendResult) {
SendResult = false;
}
return SendResult;
}

Или может быть есть другие решения задачи?

Версия Terrasoft CRM 3.0.2.245 под Firebird.

Нравится

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

Здравствуйте Юрий,
Попробуйте воспользоватся советама в теме http://www.community.terrasoft.com.ua/forum/topic/6788

Действительно в случае с MailUtils.SendMessage(.......) получилось прикрепить вложение, добавив параметр Attachments.

Еще вопрос можно ли аналогичное действие реализовать при создании е-мэйла через MailUtils.CreateMessage(TemplateFileName, MailAddress, MailSubject).
Просто подстановка еще одного параметра Attachments не проходит, выдается ошибка (насчет, количество параметров не соответствует).

Используйте из scr_MailUtils

function CreateEmptyMessageWithAttachments(MailAddress, MailSubject, BodyFormat,
	CodePage, Importance, Attachments)

Евгений,
к сожалению в этой версии (3.0.2.245) в scr_MailUtils функции CreateEmptyMessageWithAttachments нет.
Есть только:

function CreateEmptyMessage(MailAddress, MailSubject) {
	var MailUtils = GetMailUtils();
	MailUtils.CreateEmptyMessage(MailAddress, MailSubject);
}
 
function CreateMessageFromTemplate(TemplateFileName, MailAddress, MailSubject) {
	var MailUtils = GetMailUtils();
	MailUtils.CreateMessage(TemplateFileName, MailAddress, MailSubject);
}

Вы можете выложить Текст скрипта scr_MailUtils?

Да, выкладываю.

Выложите именно текст скрипта а не сам сервис (чуть внимательнее ;))

Выкладываю, текст скрипта

Добавьте в скрипт этот код

function CreateEmptyMessageWithAttachments(MailAddress, MailSubject, BodyFormat,
	CodePage, Importance, Attachments) {
	if (!GetCanCreateMessage(true)) {
		return;
	}
	var MailUtils = GetMailUtilsWithoutMacroses();
	if (IsEmptyValue(MailAddress)) {
        MailAddress = '';
	}
   	if (IsEmptyValue(MailSubject)) {
        MailSubject = '';
	}
	if (IsEmptyValue(BodyFormat)) {
        BodyFormat = 1;
	}
   	if (IsEmptyValue(CodePage)) {
        CodePage = '';
	}
   	if (IsEmptyValue(Importance)) {
        Importance = 1;
	}
	MailUtils.CreateEmptyMessage(MailAddress, MailSubject, BodyFormat,
		CodePage, Importance, Attachments);
}

А потом попробуйте его вызвать.
50/50 что заработает т.к. непонятна версия вашей библиотеки TSOutlookLibrary

Чем всё закончилось?

На вызов:
MailUtils.CreateEmptyMessage(MailAddress, MailSubject, BodyFormat, CodePage, Importance, Attachments);
появляется ошибка:
Недопустимое число аргументов или присвоение значения свойства.

Эх....
Похоже в вашей версии этого нет.

Да, видимо так.
Похоже это добавили начиная с версий 3.0.4.

Здравствуйте, Юрий!

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

Инна Безверхняя,
II линия службы поддержки Terrasoft

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

Необходимо наладить интеграцию между Террасофтом и 1С, чтобы мы всегда имели актуальную финансовую информацию в нашей CRM и могли выставлять закрывающие документы самостоятельно.

Прошу помочь в этом вопросе и отозваться тех, кто заинтересован в сотрудничестве. Спасибо.

Нравится

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

Добрый день!
Наша компания с радостью поможет Вам настроить интеграцию Terrasoft и 1С. На данный момент накоплен богатый опыт интеграции как с 1С7, так и с 1С8. Как мы можем связаться с Вами, чтобы уточнить необходимую информацию?

Полина Бичан,
CRM-консультант
Компании "КомплИТ"
E-mail polina-b@komplit.by

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

Денис, доброе утро!

С радостью можем Вам помочь с интеграцией Terrasoft и 1С

<Бизнес Технологии>
Виталий Липовецкий
+38067 106-35-25
lipovetskii@gmail.com
Skype: vitaliy_lipovetskiy

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

Всем доброго времени суток.
Помогите, плиз, решить проблемы с кодировкой при открытии письма из СРМ. При этом, если открывать письмо из Outlook всё отображается нормально.
Установлена ОС Win7 x32 Outlook 2010
TerrasoftCRM 3.3.0.78
С чем может быть связана данная проблема и как её можно решить?

Нравится

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

Данная ситуация происходит со всеми письмами?
Есть ли у Вас машины, на которых письма открываются нормально?
Зависит ли проблема от формата письма (текстовый, HTML)?
Происходит ли та же проблема на машинах, на которых установлен Outlook 2007?

Также рекомендуем Вам выполнить обновление до версии 3.3.0.81.

Данная проблема возникает только на этом компьютере со всеми письмами. На другом с такой же конфигурацией, хоть и сразу не показывала нормальная кодировка, но если средствами Outlook менять кодировку, то письмо нормально показывается. На 2007 офисе такой проблемы не наблюдается. Мы используем Apache для Web-сервиса, а на сколько мне известно версия 3.3.0.81 для Apache нет.

Проверьте реестр Windows
Ключ Default_CodePageOut равен 20866?

HKEY_CURRENT_USER\Software\Microsoft\Office\[версия]\Outlook\Options\MSHTML\International

Попробуйте установить данное значение.

Подтверждаю проблему. При сочетании Windows 7 + Outlook 2010 письма из Terrasoft открываются в непонятной кодировке (были перепробованы разные и ни одна не подошла).
Было перепробовано на разных конфигурациях и на разных компьютерах.
На XP + Outlook 2010 все хорошо, на Win 7 + Outlook 2007 все хорошо. При открытии письма в Thunderbird отображается нормально, но много мусорного текста и нету вложений.

Вышеуказанный ключ реестра совпадает. Версия Terrasoft CRM 3.2.
Нужна помощь!

Ваш запрос передан в отдел разработки для рассмотрения.

Добрый день!
К сожалению, нам не удалось воспроизвести данную проблему на тестовой площадке.
В рамках инцидента 092260, прошу предоставить возможность удаленного подключения.

С уважением
Белецкий Арсений
Операционный менеджер
Группа компаний Terrasoft

После перехода на версию 3.3.2 проблема исчезла. Спасибо за предложенную помощь!

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

Здравствуйте, подскажите возможно ли поменять текст Terrasoft в меню интеграции с офисными приложениями (см. картинку во вложении), причем если соединение выполнить то далее тоже везде заменить Terrasoft?

Нравится

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

Здравствуйте Денис,

Настройки данного Ribbon, находятся в <Папка Terrasoft>\Settings\MSOfficeRibbon.xml

Спасибо, но у меня там данные только для outlook. для word и excel их необходимо добавить самостоятельно?

К сожалению, название меню нельзя переименовать, так как поиск команд-бара в Outlook’е осуществляется только по его названию.
А на это название завязана и конфигурация и ядро системы.

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

Добрый день!
Необходимо импортировать данные из БД Firebird, которая находится на отдельном сервере, в Terrasoft. В Terrasoft стоит MS SQL. Пробовала через компоненты ADO, не устанавливается соединение. Буду очень благодарна, если подскажите какую-либо идею, возможно существует пример решения.

Нравится

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

ADO отличный вариант, но медленный... объемы базы, количество записей какое?
насчет не устанавливается соединение основная проблема видимо в строке соединения? тут масса примеров http://www.connectionstrings.com/

а какой вариант более быстрый?
База достаточно большая, каждый день заносится новая информация и именно эту информацию мне необходимо брать в Terrasoft и формировать на основании ее отчет.
Проблема с соединением именно в строке (спасибо за ссылку!) и в выборе провайдера OLEDB

ODBC из бесплатных проще всего взять "родной" http://www.firebirdsql.org/en/odbc-driver/
Более быстрый будет перенос данных средствами импорта/экспорта на сервере... как вариант написать небольшую утилиту, которая будет запускаться планировщиком и из базы firebird кидать данные в базу SQL Terrasoft...
Если использовать ADO и средства Terrasoft то схема возможна аналогичная, пишем все в рамках Terrasoft, запускаем опять же планировщиком или вручную - подтягиваются свежие данные

Возможен ли такой вариант:
Если все делать через Terrasoft. Подвязать соединение с базой через ADO на кнопку. То есть по требованию пользователя (нажатие кнопки) из Firebird вытягиваются нужные данные и заносятся в Terrasoft
Если это возможно, то у меня возникает вопрос, как соединение через ADOConnection подвязать на кнопку

ADOConnection -> ADODataset. На нажатие кнопки брать экземпляр данного датасета, открывать его, брать из него данные и делать с ними все что угодно:)

ADOConnection -> ADODataset. На нажатие кнопки брать экземпляр данного датасета, открывать его, брать из него данные и делать с ними все что угодно:)

Пытаюсь подключить тестовую базу Firebird.
В ADOConnection ввела строку подключения:
Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey;DbName=D:\TEST\testdb.fdb
При проверке подключения выдает ошибку
"Не выполнена проверка подключения из-за ошибки при инициализации поставщика. [ODBC Firebird Driver] unavailable database"
Подскажите, пожалуйста, как правильно подключиться

база локально на этой же машине по пути D:\TEST\testdb.fdb? Firebird сервер на этой же машине?

да, это тестовый вариант, поэтому все находится локально

пока приходит в голову проверить работает ли firebird сервер вообще (версия?), попробовать получить доступ к этой же локальной базе с помощью например IBExpert
+ там еще точка с запятой в конце строки должна бы быть

локальная версия БД действительно была повреждена. Попробовала подключиться к БД на сервере, получилось!
Спасибо за помощь!

Еще один вопрос. При проверке подключение ADOConnection идет подтверждение, все нормально. А в ADODataset, я указала как соединение ADOConnection и пытаюсь отобразить все поля, но выдается ошибка о том ,что логин пароль базы данных Firebird указаны неверно.

Пришлите скриншоты настроеных ADOConnection и ADODataset

Высылаю скриншоты подключений ADOConnection и ADODataset. Проверка подключения проходит нормально, но добавление полей не происходит. Ошибка возникает когда я пытаюсь в Data Field добавить все поля

Попробуйте следующее:
Настройте имя источника данных [Панель управления]->[Администрирование]->[Источники данных (ODBC)]
В параметрах подключения используйте [Использовать имя источника данных]

На присланных Вами скриншотах плохо видны настройки. Пришлите сервисы используемые Вами с настройками ADO и реализации.

Здравствуйте,
В строке подключения ADOConnection допишите, пожалуйста "localhost:":
Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey;DbName=localhost:D:\TEST\testdb.fdb

Решение в теме http://www.community.terrasoft.ru/forum/topic/6843

Яворский Алексей
Эксперт 3-й линии поддержки

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

Здравствуйте!
У некоторых пользователей не отправляются почтовые уведомления при создании задач.

Закономерностей выявить не удалось.
Интеграция с MS Outlook настроена, импорт-экспорт задач при синхронизации проходят корректно.
ОС Windows 7, почтовый клиент MS Outlook 2007, Terrasoft XRM 3.3.2.43.

Подскажите, пожалуйста, в какую сторону копать.

Нравится

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

Сейчас порекомендуют обновить бинарники (1) - кстати очень полезное дело :smile:
и описать подробнее что значит не отправляются (2) - не генерируются, не попадают в Outlook, возникает/нет ошибка и прочее

Первый шаг - проверяем у пользователей наличие нужного параметра в "файл" - "настройки" "настройки пользователя" - "задачи", там как раз про отправку уведомлений

Обновление не будет лишним. (сделайте запрос в службу поддержки на обновление).
Ситуация происходит с одной и той же задачей но под разными пользователями?
Добавлен ли e-mail адрес на деталь [Средства связи] (именно деталь а не в карточке) у контакта, которому должна быть выполнена отправка письма?
Настроена ли у пользователей интеграция с Outlook? Могут ли они с раздела [E-mail] сформировать письмо?
Выдается ли какое-либо системное оповещение при добавлении задачи?

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

как загрузить в activex карту из MapInfo Mapx?

Нравится

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

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

На сколько я понял с документакции MapX которую нашел в интернете
http://reference.mapinfo.com/common/docs/mapx-none-4.0-guide-pdf-none-e…

На стр. 32 описано как подключить контрол к Delphi. Следовательно компонент уже зарегестрирован в реестре.

Для того что бы обратится к нему нам следует знаеть его название, его можно посмотреть в реестре
HKEY_CLASSES_ROOT\CLSID посмотрите ключи с названием MapX

Далее вызов в Terrasoft Администратор, вызываем объект следующим образом

newObj = new ActiveXObject('Название компоненты ActiveX');

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

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