.. currentmodule:: TatInternalObject
Интеграция
======================================================================
.. pas:function:: GetADOConnectionString(ID: Variant): String
Метод возвращает строку соединения с внешней БД по идентификатору.
Строки соединения хранятся в сущности INT\_ADOConnectionString.
:param Variant ID:
Идентификатор строки соединения
:rtype: String
.. warning:: |not_implemented|
.. pas:function:: RunImport(SchemeName: String; SessionType: TbtkSessionType): String
Метод запускает на выполнение настроенную ранее через приложение
**Integrator** схему импорта данных.
:param String SchemeName:
Системное имя схемы импорта данных
:param TbtkSessionType SessionType:
Параметр определяет какую сессию использовать для импорта. Параметр
является не обязательным, по умолчанию, если параметр не задан
используется новая сессия. Возможны параметры:
stNewSession
новая сессия
stCurrentSession
текущая
:rtype: String
.. code-block:: sql
:caption: Пример использования
begin
-- изменяем строку соединения с именем ExcelConnect
-- если будут грузить несколько пользователей одновременно возможна блокировка
-- в этом случае нужно к имени коннектора прибавлять имя пользователя
-- и сделать по схеме импорта под каждого пользователя (можно размножать их и динамически путем копирования)
INT_ADOCONNECTIONSTRINGAPI.Register('ExcelConnect',
'Provider=Microsoft.Jet.OLEDB.4.0 |image0| ata Source=' || :svNewPath ||
';Extended Properties=Excel 8.0;Persist Security Info=False','');
end;
.. code-block:: delphi
// путь или имя файла по умолчанию
path := '';
// выбираем файл
s := AskFileNameForOpen(path);
// если выбрали
if not VarIsNull(s) then
begin
// изменяем строку соединения
ExecSqlEx('ChangeConnectionStr', 'svNewPath', [ftString], [s]);
// запускаем схему импорта 'TestImport'
RunImport('TestImport');
end;
.. warning:: |not_implemented|
.. pas:function:: RunExport(SchemeName: String): String
Метод запускает на выполнение настроенную ранее через приложение
Integrator схему экспорта данных.
:param String SchemeName:
Системное имя схемы экспорта
:rtype: String
.. warning:: |not_implemented|
.. pas:function:: SendMail(Address, Subject, Message, AttachFileNames, AttachFileCaptions: String)
Метод формирует электронное письмо используя стандарт MAPI, и передаёт
его в почтовый клиент, установленный по умолчанию для отправки. Почтовый
клиент должен поддерживать стандарт MAPI.
:param String Address:
Адрес электронной почты получателя. Можно указать несколько адресов через точку с запятой.
:param String Subject:
Тема письма
:param String Message:
Текст письма
:param String AttachFileNames:
Имя прикрепляемого файла с путём к нему или массив имен файлов. Имя
файла должно включать полный путь к нему.
:param String AttachFileCaptions:
Имя файла, отображаемое в почтовом клиенте или массив заголовков.
Обычно, это - имя файла без пути.
.. code-block:: delphi
:caption: Пример использования. Формирует файл во временном каталоге Windows и прикрепляет его к создаваемому электронному письму.
FileName := GetTempFileName('','.gsc');
MyFileContent := '[EXECPARAMS]' + #10 +
'Application=SEL_TESTAPPLICATION' + #10 +
'OPERATION=ShowMDIForm' + #10 +
'PARAMS=''FileName=C:\ffff\anyfilename.ext'';''SelectionName=SEL\_ANY\_Selection'';''RepName=AnyRep''' + #10 +
'NOSPLASH=1';
SaveToFile(FileName, MyFileContent);
SendMail('mailbox@mail.ru', 'Тема письма', 'Сообщение', FileName, ExtractFileName(FileName));
//Отправка письма без вложений
SendMail('mailbox@mail.ru', 'Тема письма', 'Сообщение', '', '');
// Для прикрепления нескольких файлов надо воспользоваться следующим синтаксисом:
SendMail('mailbox@mail.ru', 'Тема письма', 'Сообщение', [FileName1,FileName2],
[ExtractFileName(FileName1),ExtractFileName(FileName1)]);
// Отправка письма нескольким адресатам
SendMail('mailbox@mail.ru; mailbox2@mail.ru; mailbox3@mail.ru', 'Тема письма', 'Сообщение', FileName, ExtractFileName(FileName));
.. note::
Корректным значением аргумента ``AttachFileNames`` является непустая строка или непустой массив строк. Любые иные значения, такие как: пустая строка, ``Null``, ``nil``, пустой массив - игнорируются и метод считает, что прикрепляемые файлы отсутствуют.
.. pas:attribute:: Classificator: TbtkClassificator
Объект, реализующий доступ к системе "Классификаторы" компании ITSI
:rtype: TbtkClassificator
.. warning:: |not_supported|
TbtkSessionType
----------------
.. pas:class:: TbtkSessionType
Перечисление задает типы доступных сессий, обычно можно получить текущую
сессию выборки, сессию приложения, и новую сессию(взять из пула
свободных сессий или создавать новую).
.. warning:: |not_supported|
.. pas:attribute:: stMainSession
Главная сессия приложения, сессия созданная при входе в приложение.
.. pas:attribute:: stCurrentSession
Текущая сессия выборки.
.. pas:attribute:: stNewSession
Новая сессия
TbtkClassificator
----------------------------------------------------------------------
.. pas:class:: TbtkClassificator
Класс предоставляющий методы для работы с базой данных системы
"Классификаторы" компании ITSI
Для работы необходимы библиотеки itsi\_m.dll, itsi\_tool.dll и ключ HASP
.. warning:: |not_supported|
.. pas:attribute:: Connected: Boolean
Указывает, что соединение с базой данных "Классификаторы" установлено.
:rtype: Boolean
.. pas:method:: GetMaterial(code, msg, name, mix, grade: String): Boolean
Функция поиска материала по коду
:param String code:
указатель на строку, содержащую полный код материала
:param String msg:
указатель на строку, в которую будет записано описание ошибки
:param String name:
указатель на строку, в которую будет записано «Наименование» материала
:param String mix:
указатель на строку, в которую будет записан «Сортамент» материала
:param String grade:
указатель на строку, в которую будет записана «Марка» материала
:rtype: Boolean
.. code-block:: delphi
:caption: Пример использования
msg := '';
if not Classificator.Connected then
if not Classificator.Connect('QUALIFS', msg) then
begin
ShowMessage(Msg);
Exit;
end;
code := '00234903627';
msg := '';
name := '';
mix := '';
grade := '';
if Classificator.GetMaterial(code, Msg, Name, mix, grade) then
ShowMessage(code + ' - ' + Msg + ' - ' + Name + ' - ' + mix + ' - ' + grade)
else
ShowMessage(Msg);
Classificator.Disconnect;
.. pas:method:: Disconnect()
Процедура отключения от базы данных системы «Классификаторы».
.. code-block:: delphi
:caption: Пример использования
msg := '';
if not Classificator.Connected then
if not Classificator.Connect('QUALIFS', msg) then
begin
ShowMessage(Msg);
Exit;
end;
code := '00234903627';
msg := '';
name := '';
mix := '';
grade := '';
if Classificator.GetMaterial(code, Msg, Name, mix, grade) then
ShowMessage(code + ' - ' + Msg + ' - ' + Name + ' - ' + mix + ' - ' + grade)
else
ShowMessage(Msg);
Classificator.Disconnect;
.. pas:method:: Connect(dsn, msg: String): Boolean
Функция подключения к базе данных системы «Классификаторы»
:param String dsn:
строка, содержащая имя источника данных, который используется для
подключения системы «Классификаторы» к базе данных
:param String msg:
строка, в которую будет записано описание ошибки, в случает её
возникновения
:rtype: Boolean
.. code-block:: delphi
:caption: Пример использования
msg := '';
if not Classificator.Connected then
if not Classificator.Connect('QUALIFS', msg) then
begin
ShowMessage(Msg);
Exit;
end;
code := '00234903627';
msg := '';
name := '';
mix := '';
grade := '';
if Classificator.GetMaterial(code, Msg, Name, mix, grade) then
ShowMessage(code + ' - ' + Msg + ' - ' + Name + ' - ' + mix + ' - ' + grade)
else
ShowMessage(Msg);
Classificator.Disconnect;
.. pas:attribute:: Outlook: TbtkOutlookApplication
Объект реализующий вспомогательные методы работы с MS Outlook.
:rtype: TbtkOutlookApplication
TbtkOutlookApplication
----------------------------------------------------------------------
.. pas:class:: TbtkOutlookApplication
TbtkOutlookApplication
.. warning:: |not_supported|
.. pas:attribute:: Application: Variant
Свойство содержит ссылку на COM-сервер MS Outlook, к которому
осуществлено подключение.
:rtype: Variant
.. code-block:: delphi
:caption: Пример использования
if Outlook.ActiveExplorerExists then
begin
ActiveExplorer := Outlook.Application.ActiveExplorer;
if ActiveExplorer.Selection.Count > 0 then
begin
if ActiveExplorer.Selection.Item(1).Class = 43 then
ShowMessage('Выделенный элемент является письмом')
else
ShowMessage('Выделенный элемент не является письмом');
end;
end;
.. pas:attribute:: Connected: Boolean
Свойство указывает осуществлено ли подключение к COM-серверу MS Outlook
:rtype: Boolean
.. pas:attribute:: ActiveExplorerExists: Variant
Свойство указывает на существование активной рабочей области у
приложения MS Outlook, к которому осуществлено подключение. Это свойство
создано из-за невозможности проверки существования объекта
``Outlook.Application.ActiveExplorer`` методами скриптера.
:rtype: Variant
.. pas:attribute:: Visible: Boolean
Свойство указывает видимо ли в данный момент приложение MS Outlook
:rtype: Boolean
.. pas:method:: Disconnect()
Метод подключает объект Outlook от COM-сервера приложения MS Outlook.
.. pas:method:: Connect()
Метод подключает объект Outlook к COM-серверу приложения MS Outlook.
.. pas:method:: UnRegisterNewMailEvent(Selection: TbtkScriptSelectionObject; OpName: String)
Метод разрегистрирует операцию, зарегистрированную ранее в качестве
обработчика события ``OnNewMail``
:param TbtkScriptSelectionObject Selection:
Выборка с операцией обработчиком.
:param String OpName:
Имя операции обработчика.
.. pas:method:: RegisterNewMailEvent(Selection: TbtkScriptSelectionObject; OpName: String)
Метод регистрирует операцию, которая будет вызываться при возникновении
события ``OnNewMail`` в MS Outlook.
:param TbtkScriptSelectionObject Selection:
Выборка с операцией обработчиком.
:param String OpName:
Имя операции обработчика.
.. code-block:: delphi
:caption: Пример использования
Outlook.RegisterNewMailEvent(Selection, 'OnAfterNewMail');
.. pas:method:: Show()
Делает приложение MS Outlook видимым.