5. Интеграция

GetADOConnectionString(ID: Variant): String

Метод возвражает строку соединения с внешней БД по идентификатору. Строки соединения хранятся в сущности INT_ADOConnectionString.

Parameters:ID (Variant) – Идентификатор строки соединения
Return type:String
RunImport(SchemeName: String; SessionType: TbtkSessionType): String

Метод запускает на выполнение настроенную ранее через приложение Integrator схему импорта данных.

Parameters:
  • SchemeName (String) – Системное имя схемы исмпорта данных
  • SessionType (TbtkSessionType) –

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

    stNewSession
    новая сессия
    stCurrentSession
    текущая
Return type:

String

Пример использования
<SQL>
  <ChangeConnectionStr>
  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;
  </ChangeConnectionStr>
</SQL>
<PASCAL>
  // путь или имя файла по умолчанию
  path := '';

  // выбираем файл
  s := AskFileNameForOpen(path);

  // если выбрали
  if not VarIsNull(s) then
  begin
    // изменяем строку соединения
    ExecSqlEx('ChangeConnectionStr', 'svNewPath', [ftString], [s]);

    // запускаем схему импорта 'TestImport'
    RunImport('TestImport');
  end;
</PASCAL>
RunExport(SchemeName: String): String

Метод запускает на выполнение настроенную ранее через приложение Integrator схему экспорта данных.

Parameters:SchemeName (String) – Системное имя схемы экспорта
Return type:String
SendMail(Address, Subject, Message, AttachFileNames, AttachFileCaptions: String)

Метод формирует электронное письмо используя стандарт MAPI, и передаёт его в почтовый клиент, установленный по умолчанию для отправки. Почтовый клиент должен поддерживать стандарт MAPI.

Parameters:
  • Address (String) – Адрес элетронной почты получателя. Можно указать несколько адресов через точку с запятой.
  • Subject (String) – Тема письма
  • Message (String) – Тест письма
  • AttachFileNames (String) – Имя прикрепляемого файла с путём к нему или массив имен файлов. Имя файла должно включать полный путь к нему.
  • AttachFileCaptions (String) – Имя файла, отображаемое в почтовом клиенте или массив заголовков. Обычно, это - имя файла без пути.
Пример использования. Формирует файл во временном каталоге Windows и прикрепляет его к создаваемому электронному письму.
<PASCAL>
  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));
</PASCAL>

Note

Корректным значением аргумента AttachFileNames является непустая строка или непустой массив строк. Любые иные значения, такие как: пустая строка, Null, nil, пустой массив - игнорируются и метод считает, что прикрепляемые файлы отсутствуют.

Changed in version 5.6.16: Появилась возможность задания нескольких адресатов.

Changed in version 5.12.0_ms12: Появилась возможность вызывать метод без прикрепленных файлов явно.

Classificator: TbtkClassificator

Объект, реализующий доступ к системе “Классификаторы” компании ITSI

Return type:TbtkClassificator

5.1. TbtkSessionType

class TbtkSessionType

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

stMainSession

Главная сессия приложения, сессия созданная при входе в приложение.

stCurrentSession

Текущая сессия выборки.

stNewSession

Новая сессия

5.2. TbtkClassificator

class TbtkClassificator

Класс предоставляющий методы для работы с базой данных системы “Классификаторы” компании ITSI

Для работы необходимы библиотеки itsi_m.dll, itsi_tool.dll и ключ HASP

Connected: Boolean

Указывает, что соединение с базой данных “Классификаторы” установлено.

Return type:Boolean
GetMaterial(code, msg, name, mix, grade: String): Boolean

Функция поиска материала по коду

Parameters:
  • code (String) – указатель на строку, содержащую полный код материала
  • msg (String) – указатель на строку, в которую будет записано описание ошибки
  • name (String) – указатель на строку, в которую будет записано «Наименование» материала
  • mix (String) – указатель на строку, в которую будет записан «Сортамент» материала
  • grade (String) – указатель на строку, в которую будет записана «Марка» материала
Return type:

Boolean

Пример использования
<PASCAL>
  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;
</PASCAL>
Disconnect()

Процедура отключения от базы данных системы «Классификаторы».

Пример использования
<PASCAL>
  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;
</PASCAL>
Connect(dsn, msg: String): Boolean

Функция подключения к базе данных системы «Классификаторы»

Parameters:
  • dsn (String) – строка, содержащая имя источника данных, который используется для подключения системы «Классификаторы» к базе данных
  • msg (String) – строка, в которую будет записано описание ошибки, в случает её возникновения
Return type:

Boolean

Пример использования
<PASCAL>
  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;
</PASCAL>
Outlook: TbtkOutlookApplication

Объект реализующий впомогательные методы работы с MS Outlook.

Return type:TbtkOutlookApplication

5.3. TbtkOutlookApplication

class TbtkOutlookApplication

TbtkOutlookApplication

Application: Variant

Свойство содержит ссылку на COM-сервер MS Outlook, к которому осуществлено подключение.

Return type:Variant
Пример использования
<pascal>
  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;
</pascal>
Connected: Boolean

Свойство указывает осуществлено ли подключение к COM-серверу MS Outlook

Return type:Boolean
ActiveExplorerExists: Variant

Свойство указывает на существование активной рабочей обрасти у приложения MS Outlook, к которому осуществлено подключение. Это свойство создано из-за невозможности проверки существования объекта Outlook.Application.ActiveExplorer методами скриптера.

Return type:Variant
Visible: Boolean

Свойство указывает видимо ли в данный момент приложение MS Outlook

Return type:Boolean
Disconnect()

Метод подключает объект Outlook от COM-сервера приложения MS Outlook.

Connect()

Метод подключает объект Outlook к COM-серверу приложения MS Outlook.

UnRegisterNewMailEvent(Selection: TbtkScriptSelectionObject; OpName: String)

Метод разрегистрирует операцию, зарегистрированную ранее в качестве обработчика события OnNewMail

Parameters:
  • Selection (TbtkScriptSelectionObject) – Выборка с операцией обработчиком.
  • OpName (String) – Имя операции обработчика.
RegisterNewMailEvent(Selection: TbtkScriptSelectionObject; OpName: String)

Метод регистрирует операцию, которая будет вызываться при возникновении события OnNewMail в MS Outlook.

Parameters:
  • Selection (TbtkScriptSelectionObject) – Выборка с операцией обработчиком.
  • OpName (String) – Имя операции обработчика.
Пример использования
<pascal>
  Outlook.RegisterNewMailEvent(Selection, 'OnAfterNewMail');
</pascal>
Show()

Делает приложение MS Outlook видимым.