ИНСТРУКЦИЯ ПО РАБОТЕ С DOT, XLT ФАЙЛАМИ.

Файлы с расширением .dot и .xlt являются шаблонами документов в Microsoft Office Word и Microsoft Office Excel соответственно.

Открытие шаблона:
контекстное меню файла шаблона → Открыть

Сохранение шаблона в Microsoft Office Word:
п.м. Файл → Сохранить как… → указать тип сохраняемого файла "Шаблон документа (*.dot)" → указать папку для сохранения

Сохранение шаблона в Microsoft Office Excel:
п.м. Файл → Сохранить как… → указать тип сохраняемого файла "Шаблон (*.xlt)" → указать папку для сохранения

Шаблоны, используемые в АБС "Finist-Retail" должны находиться в папке, указанной в системном параметре "USERDOTFILESPATH" (категория "Папки"). Рекомендуется установить следующее значение параметра "C:\FinistRetail\tpl\XXX" (где, FinistRetail - папка старта программы, tpl - подпапка для хранения файлов tpl, и XXX - подпапка для хранения шаблонов dot. Наименование папки ХХХ рекомендуется указать уникальное для банка, например в виде аббревиатуры наименования банка).

Dot-файлы

Шаблоны в MS Word могут содержать любой текст, таблицы и другие элементы форматирования MS Word.

Для того чтобы добавить значения реквизитов объекта на шаблон следует вставить в шаблон поля MS Word (текстовое поле на панели "Формы"):

- кнопка, с помощью которой добавляют поле.

Затем для каждого поля вызвать посредством контекстного меню "Свойства - Текст справки"

На вкладке "Клавиша F1" и в "Текст справки" указать:

- Имя реквизита с указанием объекта и параметров реквизита, если необходимо

или

- Имя системного параметра или параметра шаблона.

Если в качестве параметра поля используется системный параметр, то в тексте справки следует ввести его наименование (например, "ФИОКонтролераВДоговоре" - без кавычек).

В случае, когда в качестве параметра поля используется реквизит объекта Договор, то в тексте справки может быть введено например, "Договор.Отделение.Код".

Перед окончательным сохранением следует выключить режим затемнения.

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

Если в DOT-шаблоне имеется процедура VBA с именем, определенным системным параметром "POSTRUNTPLMACRO" (По умолчанию ="PostRunTpl"Text), то после инициализации полей значениями реквизитов и параметров будет автоматически вызвана эта процедура, которой можно произвести различные преобразования документа.

Например, для вывода суммы прописью в поле:

Sub PostRunTpl()

       ' Активизируем документ и сделаем его видимым

       Application.Visible = True

       Application.Activate

       ' Используем для получения суммы прописью ActiveX WfinTools.dll

       On Error Resume Next

     Set tools = GetObject(, "wfintools.comtools")

     If Err.Number <> 0 Then

       Set tools = CreateObject("wfintools.comtools")

     End If

     On Error GoTo 0

       ' Занесем в поле с закладкой "prop" сумму прописью поля

       ' с закладкой "summa" для валюты с кодом из поля с закладкой "curr"

       ActiveDocument.FormFields("prop").Result = _

         tools.propis(ActiveDocument.FormFields("summa").Result, _

       ActiveDocument.FormFields("curr"))

End Sub

Xlt-файлы

Шаблоны в MS Excel также могут содержать текст, таблицы и другие элементы. Для преобразования документа используется редактор Visual Basic, к которому можно перейти:

п.м. Сервис → Макрос → Редактор Visual Basic

Для записи данных в ячейку также используются процедуры VBA В процедуре VBA доступны объекты Shell и NamedObjects, позволяющие обращаться к функциям ядра системы и передавать в шаблон параметры и бизнес-объекты точно так же как в VB-скриптах, используемых внутри системы.

ПРИМЕР ЗАПИСИ ФАМИЛИИ КЛИЕНТА В ЯЧЕЙКУ

Sub Standart()

' В эту функцию код не добавляем, используем Work

      For Each obj In Worksheets("Лист1").OLEObjects

           If obj.Name = "Unit1" Then

                Set Unit = obj.Object

                Set obShell = Unit.Shell

                Set obNamedObjects = Unit.NamedObjects

                Set Unit = Nothing

                Call Work (obShell, obNamedObjects)

                Exit Sub

           End If

      Next

          ' Внимание: компонент Comtpl.WordConnected не зарегестрирован

           ' попытка продолжить работу

           Work Nothing, Nothing

End Sub

Sub Work(ByVal obShell As Object, ByVal obNamedObjects As Object)

           On Error GoTo ex_it

           If obShell Is Nothing Or obNamedObjects Is Nothing Then

      MsgBox "Отсутствует компонент Comtpl.WordConnected, обратитесь к администратору"

                Exit Sub

           End If

Dim j, j1

Set client = obNamedObjects.ActiveObject("Клиент")

Range("F3").Select

ActiveCell.FormulaR1C1 = client.GetProperty("Фамилия", Nothing).GetStr()

Application.Visible = True

ex_it:

Set obShell = Nothing

Set obNamedObjects = Nothing

End Sub