Краткий обзор подключаемых модулей
Подключаемые модули добавляют во внутренний язык типы и функции для решения разнообразных задач. Эти средства позволяют программе на внутреннем языке взаимодействовать с операционной системой и другими компонентами, развернутыми на компьютере.
Основные модули
Особую роль играют модули 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 есть аналогичная функция ПОЛУЧИТЬ_ФАЙЛ. |