Внешние компоненты для 1С:Предприятия 7.7
Что делать, когда стандартных возможностей не хватает? Когда стандартных
возможностей не хватает, нужно брать нестандартные ;-) Благо фирма 1С
предусмотрела подключение к V7 библиотек дополнительных функций. Компоненты
рассортированы по функционалу, одна и та же компонента может оказаться в
нескольких разделах.
Визуальный интерфейс
• Управление окнами •
Addon
Управление размером, позицией на экране, заголовком окон.
Свернуть/развернуть/восстановить.
Addy
Свернуть/развернуть/восстановить. Двигать окна по экрану,
передавать/отбирать фокус.
aiWindows
Свернуть/развернуть/восстановить. Изменить размер/заголовок. Получить
список открытых окон.
Выделить здесь явного лидера вряд ли получится, все три компоненты
обладают необходимым минимумом функций, но у каждой есть своя уникальная фича.
• Расширения диалоговых форм •
Addy
Красивые цветные и мигающие надписи, круги и квадратики. Прогресс-бар.
Visual Tools
Дерево элементов. Таблица значений с цветным текстом, фоном и прямым
вводом.
Это направление компонентостроения пока что развито слабо. Что
неудивительно, работать с диалоговыми формами V7 "изнутри" довольно
сложно.
• Работа с мышью •
My Mouse
Обработка правого клика. Построение контекстного меню. Иконки и картинки в
меню. Отметка пунктов меню.
Step VC
Обработка левого клика. Замена списка значений нормальным меню в стиле
Windows. Иконки в меню. Отметка пунктов меню.
По одной компоненте на каждую кнопку мыши. Страшно подумать, какие сложные
и эргономичные интерфейсы можно строить на этих двух компонентах.
• Работа с клавиатурой •
addHook
Отлеживание любых нажатых пользователем клавиш (в том числе системных) и
генерация внешнего события. Распознавание alt, ctrl и shift. Обалденная
штука.
PLBrowseKeyHandler
Перехват нажатий клавиш на экранных таблицах значений. Обработка ins, del,
etc.
Проблемы с клавиатурой в V7? Какие проблемы? ;-)
• Звуковые файлы •
Addon
Проигрывание WAV-файлов.
Проигрывание MIDI-файлов.
Издаваемые компьютером звуки вряд ли относятся к визуальному интерфейсу,
но тем не менее. Почему-то самой интересной штуки – MP3-плейера – пока что
никто не реализовал…
Вычисления
• Математические функции •
Addon • Addy • aiMath • Math • Rainbow
Все четыре компоненты обладают достаточным набором функций из области
математики и тригонометрии. Самый большой набор, пожалуй, у aiMath, а вот
Addon помимо математических содержит некоторое количество строковых функций
(вроде подсчёта слов в строке и т.п. вещей).
• Специфические вычисления •
Reval
Функция EvalExpr(). В отличие от метода Шаблон(), в тексте выражения можно
использовать тригонометрию, бинарную логику, корни/степени, а самое главное –
можно определять и использовать переменные внутри выражения.
Доступ к базам данных
• Доступ к базам в формате MSSQL •
AdvSerch
Сложный поиск в справочниках SQL-версии. Свой визуальный интерфейс для
построения запросов.
ConnectSQL
Расшифровка параметров доступа к SQL-базе (файл 1cv7.dds). Генерация
строки соединения для SQL- и DBF-версий.
Rainbow
Прямые SQL-запросы к информационной базе. Мгновенное извлечение данных.
ToySQL
Прямой доступ к SQL-базе. Загрузка в базу SQL-скриптов из внешних файлов.
Известно, что V7 умеет хранить базы данных под MSSQL. Но мощнейшие
возможности этой СУБД никак нельзя использовать штатными методами. Между тем
как прямые SQL-запросы позволяют извлекать данные в десятки раз быстрее, чем
при помощи встроенного языка V7. И для этих целей есть все необходимые
инструменты.
Шлюзы ко внешним приложениям
• Шлюзы к TWAIN-драйверу •
Scan
Сканирование графического образа. Запись в BMP. Помещение картинки в
clipboard.
Scanner
Сканирование графического образа. Запись в BMP и JPG. Настройка степени
сжатия JPG.
Функционал практически одинаковый, правда, Scanner умеет работать со
сжатой графикой. Владельцам сканеров остаётся выбрать одну библиотеку из
двух.
• Шлюзы к MSE и MSXML •
V7Plus
Получение данных по протоколу HTTP. «Обёртка» для MS XML Parser v3.
RBrowser
Закачка и отрисовка HTML (а также GIF, PNG и любых других файлов,
поддерживаемых MSIE) в окне V7. «Минибраузер».
Эти две компонеты вполне покрывают все потребности при работе с MSIE: одна
позволяет скачать и распотрошить текст страницы, а другая покажет страницу в
окне.
• Шлюзы к другим приложениям •
Fox Emulator
Шлюз к Visual FoxPro v5. Все функции и все
возможности fox'а. Требует наличия runtime-библиотек FoxPro.
V7Queue
Шлюз к службе MSMQ
(Micro$oft Message Queue). Доступ к функциям службы сообщений Windows
2000.
Очень полезные библиотеки, особенно V7Queue – это практически готовая
транспортная служба для передачи данных между различными приложениями,
распределёнными в пространстве локальной или глобальной сети, поддерживающая
нотификацию, гарантию доставки, приоритеты, сложные маршруты и т.п. вещи.
Коммуникации, Internet
• Электронная почта •
V7Plus
«Обёртка» для управления MAPI-клиентом. Отправка, получение писем.
Поддержка аттачменов.
Mail
Собственный механизм работы с E-mail. Почтовый клиент не нужен. Полноценная
работа с POP3 и SMTP серверами.
SendMail
Только отправка писем. Поддержка аттачментов. Почтовый клиент не нужен.
Wheel
Только отправка почы. Можно использовать почтовый клиент (MAPI), а можно
работать напрямую с SMTP.
Явным лидером в этой категории является Mail. Использовать V7Plus можно,
но с оглядкой: её почтовые функции не свободны от ошибок и далеко не любой
почтовый клиент сможет корректно работать с этой библиотекой.
• Получение информации из Интернета •
Valuta
Закачка курсов валют прямо с сервера Центробанка России. Собственный
механизм работы с HTTP.
Informer
Получение информации с сервера РосБизнесКонсалтинга. От курса доллара и
прогнозов погоды до курсов цветных металлов и коэффициента инфляции РФ.
Конечно, всё то же самое можно вытащить из Интернета и «руками». Но эти
две компоненты позволяют обойтись без трудоёмкого ручного скачивания и
разбора файлов, доставка нужной информации осуществляется буквально одним
оператором.
Системные функции, работа с окружением
• Системная информация •
V7Info
Программное получение информации о версии и релизе V7.
V7Plus
Данные о процессоре, памяти, ОС и т.п. Номер релиза V7. Генерация GUID.
Addon
Информация о размере экрана, имени машины; метки, размеры и серийные
номера логических томов. Очень полезная функция – информация о версии
произвольного DLL или EXE файла.
Иногда окружение играет существенную роль для работы конфигурации, поэтому
системная информация лишней не бывает. Что характерно, очень немногие внешние
компоненты имеют такой полезный метод, как НомерВерсии(). А зря…
• Работа с zip-архивами •
Rarus API Extender
Создание и удаление архивов, добавление, удаление и извлечение файлов, подсчёт
размеров.
Wheel
Добавить файл в архив, извлечь файл из архива. Файл всегда только один.
Работать с архивами приходится практически всегда, когда в задаче тем или
иным образом фигурирует перемещение файлов по тонким каналам. И без API к
ZIP'у в этом случае просто не обойтись. Библиотека от Раруса пока что
остаётся единственным достойным исполнителем этой роли.
• Работа с
реестром Windows •
AddREG • aiRegistry •
Rarus API Extender • Wheel
Работать с реестром в повседневной жизни V7-программиста приходится
довольно редко, но всё-таки иногда приходится. Проблема не в наличии
инструмента, а в его выборе ;-) Лидером по функциональности является
aiRegistery, эта компонента умеет даже работать с реестром удалённой машины
(подключаясь к нему по локальной сети, прямо как regedit.exe). Но
навороченный функционал нужен крайне редко. Так что лично я бы отдал
предпочтение многофункциональной и проверенной временем библиотеке от Раруса.
• Работа с файлами •
Rarus API Extender
Работа с INI-файлами. Ничего особенного, легко эмулируется штатными
средствами.
V7Plus
Чтение и запись больших текстовых файлов. Прямое обращение к диску,
поэтому работает быстро. В один момент времени работает только с одним
файлом. Ограничение на размер строки, 32k.
Wheel
Чтение и запись бинарных файлов. Уникальная функция, аналогов не имеет.
Работа с внешними файлами «неродных» форматов на V7 практически не
реализована (объект «Текст» я не считаю, по причине явной бестолковости и
удручающей ресурсоёмкости). Перечисленные библиотеки с грехом пополам
восполняют этот пробел, но, если подходить серьёзно, нормальная работа с
большими текстовыми файлами под V7 по-прежнему невозможна. На фоне массового
увлечения форматом XML это более чем грустный факт…
• Системные команды •
Addon
Масса системных функций, начиная от чтения/установки буфера обмена и
форматирования дискет, и заканчивая принудительным завершением сесии V7 по
критической ошибке.
Конечно, почти всё это (кроме, разве что, метода Crash() ;-) можно сделать
через штаный оператор КомандаСистемы(). Но есть одно отличие: в случае работы
с Addon пользователь не увидит дурацкого окошка DOS-сессии.
• Печать, принтеры и шрифты •
ExtPrint
OLE-сервер, реализующий «человеческую» печать на матричных принтерах и
прямой вывод на LTP.
Wheel
Выдаёт список проинсталлированных в системе шрифтов.
Печать и печатные формы являются одной из сильнейших сторон V7. Но
возникает проблема работы с матричными принтерами, которые на просторах
ex-USSR отнюдь не являются редкостью. ExtPrint позволяет решить эту проблему.
«Внутренности» V7
• События и таймеры •
aiTimer
Позволяет запустить в системе несколько таймеров с разными интервалами.
Таймеры генерируют стандартное вшенее событие V7.
Event
Эмуляция внешнего события V7. Движок системы остаётся в полной
уверенности, что событие пришло «извне». Незаменимо для тестирования и
отладки.
Waiter
Отслеживание и подсчёт времени бездействия пользователя (времени, в
течении которого система не получала событий от мыши и клавиатуры).
V7 почти не имеет функций, позволяющих ей работать в качестве системы
«реального времени». Эти библиотеки расширяют функционал для отслеживания
времени и обработки событий.
• Структура MD и ERT •
Compound
Работа с файлами формата compound (1cv7.md, *.ert). Чтение и запись
потоков. Распаковка текстов модулей.
ActiveMD
Можно сказать, что это «предметно-ориентированный» Compound. Работа с
внутренней структурой MD ведётся не в контексте фолдеров и потоков, а на
более высоком уровне, адресуясь непосредственно к реквизитам конфигураци.
Эти библиотеки предназначены для конфигурирования без конфигуратора.
Инструменты очень мощные и интересные, но для работы с ними нужно обладать
достаточно высокой квалицикацией.
Экзотика
1C:Java
Шлюз между V7 и MSJM (java virtual machine). Позволяет
расширять функционал V7 через использование Java-классов.
OCR Pelican
Распознавание рукописного текста (только цифры). Компонента построена на
нейросетевых технологиях. Java-классов.
Обе эти компоненты представлены в виде демо-версий и не имеют чёткой
области примения. Идеально подходят для демонстрации возможностей V7
«взрослым» программистам, считающих эту систему тупым бухгалтерским пакетом.
Отвисающие челюсти гарантированы ;-).
|