Афина. Как использовать готовые формы для заполнения их данными из проекта. | ||
Проблема, которая может
подстерегать разработчика при конструировании печатных форм (отчетов)
заключается в том, что существует масса унифицированных форм, составленных
государственными департаментами. И сложность их конструирования в самой
Афине может зашкалить до
запредельной отметки. Разработчик может иметь такие формы в двух вариантах: Разберемся как эти готовые формы можно применить в Афине. 1. В формате распространенных приложений.
Возьмем
готовую форму в формате Excel. Копируем ее в
другой файл, который будем называть шаблоном. Для сложной формы шаблон нужно подготовить. Подготовка заключается в расстановке так называемых меток. Метками могут служить сочетание любых символов с условием, что на каждом листе Excel'евской книги метки уникальны (не повторяются в пределах листа).
Напомню как можно механизировать заполнение
ячеек уникальными метками.
В Афине подготавливаете данные в программе какого-либо справочника.
Примерно так: После создания колонок применяется функция
ExportToExcel. Конкретно ее применение описано
в справочной системе. В общем случае в нее передается: имя файла шаблона;
имя файла, в который будет записана заполненная форма (что предохраняет
шаблон от рукоприкладства пользователя); далее идут переменное количество
параметров сгруппированных по четыре: номер листа, и три колонки строкового
типа. Одна из двух
первых колонок (из каждой четверки параметров) может не передаваться. Функция
открывает книгу, переходит на указанный лист, затем просто ищет на
листе метки из первой колонки и
заменяет их на данные из второй.
Для простой формы
нет необходимости в шаблоне расставлять метки. В функцию
ExportToExcel передаются такие же две колонки,
но в первой вместо меток должны размещаться абсолютные координаты ячеек в
нотации, которая принята в Excel'е:
А1,D5,C15
и т.п. Формы подготовленные в Excel'е могут быть такими, что можно применять к ним комбинированный способ: часть ячеек заполнять через метки, а часть заполнять через передаваемые координаты ячеек. Для этого надо подготовить не две, а три колонки, две из которых будет содержать метки и координаты, а третья, как всегда - данные. Здесь во всех трех колонках количество элементов тоже должно быть одинаковым.
Для
экспортирования данных для более чем одного столбца (или строки) необходимо
сформировать нужное количество колонок и и передавать в параметрах все
колоноки.
Начиная с версии 2008.01 функция
ExportToExcel позволяет вставлять пустые строки на
листах шаблона. В этом случае передается "команда" для вставки необходимого количества пустых строк между "шапкой" таблицы и ее "подвалом". Затем в пустые строки передаются данные.
"Команда" на вставку строк состоит так же из
четверки параметров как и параметры для передачи данных, но
специально подготовленных:
MS Word. Если у вас есть готовая форма документа в формате
MS Word, то подготовка шаблона мало чем отличается
от подготовки шаблона в Excel'е, разумеется, с
учетом специфики этого приложения. Совет: если метка (а после экспорта заменяющая ее строка), имеют другой формат по отношению к окружающему тексту, то отделять метку следует неразрывным пробелом (Ctrl+Shift+Space), а другой формат должен этот пробел захватывать. Если вам не нужен в этом месте неразрывный пробел - вставьте перед ним еще один обычный пробел. Для экспорта данных в Word существует другая функция: ExportToWord.
Таким образом, конструирование некоторых отчетов
можно перенести в MS Excel (или в
MS Word - здесь удобно делать договоры, например), а информацию из
Афины экспортировать в эти заранее подготовленные документы. Очевидный недостаток описанного метода в том, что в сложных формах (с применением меток) невозможно экспортировать данные для заполнения строк (столбцов) Excel в цикле. Но если применять не метки, а координаты ячеек, то и эту проблему можно обойти.
Для этих целей в конструктор отчетов нельзя вставлять изображение документа любого формата и любого размера (впрочем, в любом случае в отчет можно вставить только изображения в формате BMP). Создайте новый отчет в справочнике, который будет заниматься формированием отчета. В пустом конструкторе правой кнопкой вызовете меню и нажмите "Установки листа...". Сделайте все необходимые настройки (формат, отступы, ориентацию листа) и после этого в левом нижнем углу диалога увидите какой размер в экранных точках имеет лист (без полей). Размер изображения отсканированного документа не может быть больше этих значений (лучше немного меньше). Картинку документа в любом графическом редакторе нужно сделать именно этого размера и в формате BMP. Можно и при сканировании документа задать нужные размеры и сохранить в требуемом формате. Затем помещаете изображение документа в
конструктор отчета. Картинку надо сдвинуть в самый левый верхний угол.
Изображение будет выступать как подложка для дальнейшей работы над отчетом.
Предупреждение.
|
||
К содержанию |