[oodisc] Библиотечка для работы с User Fields
Александр Савицкий
a.savitsky на ukrsibbank.com
Чт Фев 20 13:48:23 MSK 2003
Привет всем!
Прошу прощения за длинное письмо - некоторые пояснения необходимы. Кому
лень читать, переходите ко второй половине.
При переходе на ООо на меня посыпалась целая гора жалоб на неудобства.
Пришлось облегчать в меру своих возможностей. Ситуация следущая: есть
абсолютно стандартный документ (Договор, Заявление) и т.д и т.п, надо
лишь заполнить некоторые поля, которые неоднократно повторяются на
протяжении всего документа (No Договора, ФИО и т.п.). Циркулярное письмо
не подошло, так как для пользователей неочевидно заполнение базы данных,
выбор записи и создание такого письма. Да и база данных в данном случае
не нужна. Остановился на полях пользователя. Вначале использовался
подход - в шаблоне расставлялись поля пользователя, а потом на первое
встрчающееся поле вешалось поле ввода. Но жать кнопку "Далее" неудобно,
и нет полной картины полей, поэтому был написан макрос, который вызвает
формочку, на которой отображаются поля пользователя. Выглядит все
достаточно эстетично, удобно в использовании.
-----------------------------------------
Теперь делается шаблон, в нем расставляются поля пользователя
(Вставка-Поле-Дополнительно-Переменные-Поле пользователя или
Ctrl+F2-Переменные-Поле пользователя), полям можно давать русские имена.
Нельзя использовать пробелы и некоторые символы (например "No"). Макрос
сделан в виде библиотечки и вынесена кнопка на панель инструментов.
Теперь пользователь заполняет формочку, щелкает "Принять" - и документ
можно печатать.
Как ставить?
Распаковываем и копируем папку Fields в Х/user/basic, где X - папка куда
установлен ООо. Сервис-Макрос-Организовать-Библиотеки-Добавить -
указываем на файл script.xlb
Теперь можно вызывать процедуру FieldsForm. Если надо - вынести ее кнопкой.
Я не профессиональный программист, так что все замечания
приветствуются, лучше сразу меняйте как считаете нужным и шлите
исправления. Все что можно вынесено в константы - размеры элементов
формы, расстояния между элементами и т.д. Имена переменных и констант
достаточно осмыслены ( по крайней мере для меня :)) Задается количество
полей (Const iMaxFields), которые показываются на форме, если в
документе полей больше - появляется scrollbar. Код должен быть понятен
сам по себе. Комментарии минимальны.
Да, это еще и работающий пример работы с диалогами, и полями
пользователя документа Writer .
Буду рад, если эта библиотечка будет полезна кому-нибудь еще. А если ее
довести до ума, то можно включить и в дистрибутив. Выглядит не хуже
Gimmikicks.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : Fields.zip
Тип : application/x-compressed
Размер : 3963 байтов
Описание: отсутствует
Url : /pipermail/oo-discuss/attachments/20030220/86e673e0/Fields.bin
Подробная информация о списке рассылки Oo-discuss