Руководство разработчика

Краткий обзор подключаемых модулей

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

Основные модули

Особую роль играют модули ATHENA и LOCCFG. Эти модули предоставляют доступ к базе данных и конфигурации клиентского места.

Модуль ATHENA содержит объявления типов и функций для работы с базой данных. Например, в нем содержатся объявления типов ОПЕРАЦИЯ и АНАЛИТИКА, использующихся повсеместно в серверных и клиентских алгоритмах (см. Использование внутреннего языка на стороне сервера и Настройка внешнего вида и поведения журналов и справочников на клиентском месте). Также модуль содержит тип КОНФИГУРАТОР, который позволяет в режиме монопольного доступа произвольным образом изменять базу данных. Например, конфигурирование базы данных может включать в себя создание новых журналов и типов операций, изменение структуры плана аналитики и т.п.

Модуль LOCCFG позволяет программно производить настройку клиентского места. С помощью его функций и типов задаются все настройки, которые можно видеть в окне "Настройка отображения". Также модуль предоставляет функцию ЛКФ_КОМПИЛЯЦИЯ, которая незаменима для программной компиляции программ прикладного решения.

Модуль FC предоставляет средства для создания диалоговых окон и печатных форм.

Работа с файлами

Модуль FILES включает средства для поиска, копирования и удаления файлов и директорий на диске компьютера. Поддерживается семейство функций для манипуляций с путями именами файлов.

Объектный тип ФАЙЛ позволяет осуществлять чтение и запись произвольных текстовых файлов. Для удобного чтения и записи конфигурационных файлов в формате ini существует специальный тип КОНФИГ_ФАЙЛ. Тип АРХИВ_ФАЙЛ позволяет записывать и считывать произвольные значения в специальный двоичный файл, что может использоваться для переноса данных в рамках прикладного решения.

Также модуль содержит средства расширения платформы. Вызов внешних приложений возможен с помощью функций СОЗДАТЬ_ПРОЦЕСС и КОМАНДА_ОБОЛОЧКИ. С помощью них можно запускать *.exe файлы, открывать страницы в Интернет-браузере и т.п. Тип ДИНАМИЧЕСКАЯ_БИБЛИОТЕКА позволяет осуществлять загрузку динамических библиотек *.dll и вызов функций из ниx.

Модуль XML предназначен для разбора и формирования xml-файлов. С помощью типов этого модуля программа на внутреннем языке получает доступ к возможностям библиотеки MS XML.

В Инфо-Бухгалтер 8 есть тип для чтения и записи текстовых файлов и некоторые функции для работы с файлами. Для вызова exe-файлов есть функции ВЫПОЛНИТЬ и СОЗДАТЬ_ПРОЦЕСС. Взаимодействие с dll возможно с помощью функции ВЫЗОВ, но функции в dll должны иметь строго заданный вид.

Работа с COM

Модуль MODCOM предоставляет еще одно важное средство расширения возможностей платформы: доступ к технологии COM. С помощью COM-интерфейсов можно взаимодействовать с различными программными компонентами, установленными на компьютере: от офисных приложений, до программ обслуживания оборудования (сканеров, кассовых аппаратов и т.п.).

Например, следующий код откроет документ "DemoBook.xls" в Excel:

ПЕРЕМ СТРОКА: имя_файла = "DemoBook.xls"

ПЕРЕМ ДИН_COM_ОБЪЕКТ: приложение;
приложение.СОЗДАТЬ_ЭКЗЕМПЛЯР("", "", "Excel.Application")
приложение.ЗАПИСАТЬ("Visible", ДА)

ПЕРЕМ ДИН_COM_ОБЪЕКТ: книги
приложение.СЧИТАТЬ("Workbooks", книги)

ПЕРЕМ ДИН_COM_ОБЪЕКТ: книга
книги.ВЫЗВАТЬ("Open"(имя_файла), книга)

Здесь создается COM-объект по ProgId = "Excel.Application". Запись и чтение свойств (properties) осуществляется методами ЗАПИСАТЬ и СЧИТАТЬ. Метод ВЫЗВАТЬ осуществляет вызов метода книги (workbook) Excel "Open" с параметром – именем файла. Обработка ошибок опущена для краткости.

В Инфо-Бухгалтер 8 также есть средства для работы с COM, но ограничения внутреннего языка не позволяют использовать их столь же полно, как в Инфо-Бухгалтер 10.

Работа с Интернет

Модуль GNET предоставляет средства для получения файлов из сети Интернет по протоколам http и ftp (функция ПОЛУЧИТЬ_ФАЙЛ), а также для отправки писем электронной почты (тип ПИСЬМО). Для отправляемых писем имеется возможность прикрепления файлов:

ПЕРЕМ ПИСЬМО: письмо
письмо.адреса[1] = "someperson@someserver.ru"
письмо.тема = "Ваш заказ принят"
письмо.сообщение = "Здравствуйте! ..."
письмо.файлы[1] = "C:\upload\somefile.zip"

письмо.ОТПРАВИТЬ
В Инфо-Бухгалтер 8 есть аналогичная функция ПОЛУЧИТЬ_ФАЙЛ.