Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Бизнес с высокой прибылью" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Февраль 2008 → | ||||||
1
|
2
|
3
|
||||
---|---|---|---|---|---|---|
4
|
5
|
6
|
8
|
9
|
10
|
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
Автор
Статистика
0 подписчиков
0 за неделю
0 за неделю
Maple4 Site Creator - Система Управления Сайтом Maple4 Site Creator (Report Builder)
Доброго Вам Времени Суток!
Используется та же суть, те же методы программирования, тот же язык управления (Microsoft Visual FoxPro 9), как и в программе Maple4 Site Creator (в дальнейшем - Report Builder станет одной из частей Site Creator-а), Если Вы не знаете, что такое Visual FoxPro - ну что же, этот выпуск рассылки не для Вас... :) По роду моей работы, мне довольно часто приходится формировать отчеты, договора, акты, приложения и другие документы. Стандартным Report Bulder-ом формировать зарекся, через управление Word и Excell - довольно муторно... В общем, вот новая версия редактора, который может предложить многое, чего не дает стандартный. Устраивает ли Вас Report Builder, который предлагает Microsoft Visual FoxPro? Сразу скажу - меня лично нет. Возможно, некоторых ( а может, и большинство ? ) - тоже. Не буду говорить о минусах стандартного RB (меня постигло глубокое разочарование от ReportListener, может мало изучал - не спорю), поэтому что можно предложить взамен? Почему не обратиться к формату HTML (на основе CSS)? Я и ранее распечатывал договора на основе бланка (многостраничные, со сложной организацией данных), вот только таблицы приходилось создавать практически вручную. Какие возможности предлагает RB, предлагаемый мной? (на рисунке - визуальный редактор m4rb) Динамическое (т.е. функция или процедура возвращает результат, а программа соответствующим образом реагирует на него) форматирование шрифта (размер, имя, Bold, Itallic, Cursiv, цвета шрифта и цвета фона, размещение по горизонтали/вертикали) - ах да, это же есть и в Report Listener! А теперь представьте - тоже самое можно делать с частью текста в ячейке. Динамическое изменение рамки вокруг ячейки (т.е. ее наличие и толщина). Объединение ячеек в одну, и дальнейшая работа, как с одной. Возможность создания нескольких Detail, Group, Title, End и генерация в отчет в зависимости от условий, всех или выборочно (очень удобно, если вид Detail значительно отличается, как например, договор Интернет от договора на Телефонию ). Возможность объединения нескольких отчетов в один, а так же генерация подотчетов-таблиц в отчете (с обращением к другим таблицам), т.е. сложная организация данных теперь сложная только на словах . Интерактивная реакция по клику (генерация других, связанных отчетов) Вычисление Sum, Cnt в зависимости от расположения в отчете (нашел, чем удивить, конечно) Возможность динамического управления стилем (это, если Вы ас в CSS). Как все это работает? (на рисунке - результат работы m4rb) Всю работу делает IE (в дальнейшем - объект IE, он нужен не только для отображения файла, но и для отработки кликов по ссылкам), нужно "всего лишь" соответствующим образом подготовить файл HTML. Файл генерится на основе Report-а, который, в свою очередь, создается в визуальном редакторе. Редактор пытается отобразить ячейки, границы, размеры, цвет и т.д., но только в том случае, если параметры статические, в ином случае, результат можно увидеть только при генерации отчета. Почему нельзя было использовать Excel, и не заморачиваться с созданием собственного редактора? Не хватило знания Excel Не хватило возможностей Excel (вот так) Файл HTML генерится при помощи технологии, используемой так же в программе Maple4 Site Creator, http://www.maple4.ru а именно: в тексте вставляется тэг, указывающий, что программе здесь необходимо выполнить функцию или код Visual FoxPro Что в дальнейшем? Я думаю, признание, богатство и слава : ) А если серьезно, программа, по сути, состоит из двух частей - визуального редактора и программы генерации, следовательно, параллельно будут развиваться обе части. Визуальный редактор: Доведение визуального редактора до ума - редактирование ячеек, функций форматирования, отработки кликов (создание реакции на клик, в зависимости от расположения в отчете и полей сканируемой таблицы), редактирование (добавление, удаление) Title, Group , Detail Программа генерации: Работа с графикой, вставка файлов графики (в том, что это не составит труда, Вы можете убедиться на том же сайте http://www.maple4.ru ), причем как из полей, так и из файлов. Редактор позволяет определить ширину колонок и высоту строк (для этого надо навести мышку на границу между колонками или строками, нажать кнопку, и держа ее нажатой, выбрать ширину или высоту), задать программы динамического форматирование шрифта (размер, имя, Bold, Itallic, Cursiv, цвета шрифта и цвета фона, размещение по горизонтали/вертикали - другой кнопкой мыши щелкаете по ячейке, а далее в меню выбираете, что собственно требуется изменить - ОБЯЗАТЕЛЬНО посмотрите примеры перед тем, как вносить какие-либо изменения в ячейках, примеров достаточно много), или двойным кликом по ячейке Вы непосредственно начнете редактировать значение ячейки. В результате трудоемких доработок интерфейс наконец-таки приобрел окончательную (90%) форму. Что появилось по сравнению с предыдущей версией: При перемещении по ячейкам показываются основные свойства ячейки, которые тут-же можно изменить на другие (чем не Excel?) прямо на экране без обращения к контекстному меню. Возможность выбора любого шрифта, установленного в системе. Возможность выбора цвета фона и шрифта как из основных цветов, так и любых других. Появилась обработка клика в интерактивном режиме (при нажатии - выполнение и просмотр связанного отчета) - вот и сбылась давнишняя мечта работать с отчетом, как в 1С, кстати. В примере Вы можете кликнуть по номеру телефона или IP и откроется детализированный отчет по конкретному номеру или IP. Объединение ячеек в одну ячейку (в пределах хедера). Добавление колонок и строк, причем при добавлении в объединенную ячейку, эта ячейка автоматически растягивается в ширину или высоту. Сортировка хедеров (и связанных с ними строк). Возможность отмены последнего изменения (Undo). Появилась возможность замены значений ячеек - Hide Values=True - на их заголовки, что значительно повышает читабельность при проектировании отчета. При Hide Values=False, показываются все значения. Возможность формирования связанных отчетов в отчете (т.е. формирование из нескольких). Например, в демке при формировании отчета по клиенту, идет обращение сразу к двум отчетам - к списку телефонов клиента и списку IP, в зависимости от типа договора, Интернет это или Телефония. Возможность задания условия для вывода хедера (со связанными строками). Возможность задания условия для генерации с новой страницы. Идеология m4RB: Каждый Report имеет следующие зоны (в дальнейшем - Хедеры ): Title (Начало отчета), Summary (Конец отчета), Page Header (Начало страницы), Page Footer (Конец страницы) и Detail (Данные). Использовать их пользователем или нет - личное дело пользователя, но они есть и всегда будут, ХОТЯ БЫ по одному каждого вида в Report-е. Хедер управляет выводом при формировании отчета : Печатать ли Хедер Например, программа при формировании распечатает все Detail (по умолчанию), или только те, которые удовлетворяют условию. В примере можно увидеть, что при формировании распечатывается общий Detail по клиенту и один, в зависимости от типа договора (Интернет это или Телефония). Начинать ли печатать Хедер с новой страницы Порядок печати определяется расположением Хедеров в отчете. Можно перемещать Хедеры Вверх/Вниз (только в пределах типа, т.е. нельзя, например, Detail расположить выше Title) Можно удалять Хедеры (удаляются так же все строки в Хедере), НО нельзя вообще удалить Хедер, если он один в отчете. Кроме рассмотренных Хедеров, есть еще один: Group Его применение необходимо в случае группировки данных. Нужно понимать, что данные УЖЕ ДОЛЖНЫ быть отсортированы, аналогично, как со стандартным Report Builder-ом Group должен принадлежать какому-либо уровню (ROOT) сортировки, т.е. не может быть Group без уровня, просто так. При добавлении нового уровня сортировки (ROOT), добавлется одновременно Group для начала и Group для конца. Group Start срабатывает при начале новой группы, Group End - при конце группы. Может быть несколько Group , но должен быть хотя бы один Group (Group Start) для каждого уровня для начала и хотя бы один (Group End) для конца. В примере, данные отсортированы по городу и услуге. Коротко по пунктам контекстного меню: Check/UnCheck - выделить ячейку или снять выделение (если была до этого выделена) Checked Cells/Group - выделенные ячейки объединить в одну. Каждая из выделенных ячеек не должна быть в группе, и, так же, все выделенные ячейки должны принадлежать одному Хедеру. Checked Cells/Group - выделенные ячейки разгруппировать Checked Cells/Clear - очистить выделенные ячейки (привести в состояние Default все свойства ячейки) Edit/Cell/Field - редактирование значения ячейки (доступ из формы - двойной клик по ячейке) Edit/Cell/Click - свойство, отвечающее за генерацию реакции на клик. Пример можно посмотреть в отчете по Телефонам или по IP (саму реакцию можно посмотреть, кликнув в сгенеренном отчете по телефону или IP - откроется детализированный отчет) Edit/Cell/Style - свойство, отвечающее за дополнительное управление стилем ячейки (CSS) Edit/Cell/Caption - что показывается в отчете вместо значения ячейки (При снятом флажке Hide Values всегда показывается значение ячейки, не зависимо от того, введено Caption или нет). Очень удобно, если данные загромождают отчет, ввести для каждой ячеки Caption - разница бросается в глаза. Для изменения свойств Edit/Border/ и Edit/Font/ можно напрямую обращаться через экранную форму (она появляется при клике по ячейке). В качестве значений свойств (для Edit/Border/ и Edit/Font/ ) можно использовать функции FoxPro или программный код FoxPro (в случае программного кода ОБЯЗАТЕЛЕН Return со значением - числовым, текстовым или логическим значением. Для того, что бы программа поняла, что в свойстве находится именно код программы, а не функция, первое значение в свойстве должно быть &.) Edit/Border/Top (Bottom,Left,Right) - свойство, отвечающее за границу ячейки сверху (снизу, слева, справа) (доступ из формы - изменение свойств в группе Borders). В качестве параметра - числовое значение (пусто - нет рамки, 0-ЖЕСТКО нет рамки, 1,2... - толщина границы) Edit/Font/Size - свойство, отвечающее за размер шрифта в ячейке, числовое значение (пусто - 10, 6,7,... - размер шрифта) Edit/Font/Name - свойство, отвечающее за имя шрифта в ячейке, текст, заключенный в двойные кавычки (пусто - "Arial") Edit/Font/Align - выравнивание по горизонтали, числовое значение (пусто,0 - Left,1-Center,2-Right) Edit/Font/Valign - выравнивание по вертикали, числовое значение (пусто,0 - Top,1-Middle,2-Bottom) - данное свойство не смог реализовать для отображения на экранной форме :) - к сожаление, Edit в Visual FoxPro допускает только горизонтальное выравнивание. При отображении отчета - все ОК. Edit/Font/Flags (Bold,Italic,Underline) - управление атрибутами шрифта, числовое значение (пусто - ничего, +1-Выделение жирным,+2 - Курсивом, +4- Подчеркнуть. Например, значение 3 Жирный курсив, 6-подчеркнутый курсив ) Edit/Font/Color - цвет шрифта, числовое значение (пусто - цвет по умолчанию, обычно черный,в качестве значения - результат функции RGB, например 255 для красного RGB(255,0,0), или 65280 для зеленого - RGB(0,255,0) ) Edit/Font/BkColor - цвет фона ячейки, числовое значение (пусто - цвет по умолчанию, обычно белый,в качестве значения - результат функции RGB, например 16711680 для синего RGB(0,0,255), или 16777215 для белого - RGB(255,255,255) ) Edit/Clear - очистить только активную ячейку Row/Insert - вставка новой строки в Хедер. Имеет значение, в какой ячейке исполняется команда. Если в Хедере - добавляется строка в конец, в ячейке - строки сдвигаются вниз (как в Excel-е). Если новая строка пересекается с сгруппированной ячейкой (из нескольких строк), строка АВТОМАТИЧЕСКИ добавляется в данную ячейку (как в Excel-е), т.е. нет необходимости расгруппировывать ячеки, потом опять объединять - все делается автоматом. Row/Delete - удалении строки из Хедера. Если удаляемая строка пересекается с сгруппированной ячейкой (из нескольких строк), строка АВТОМАТИЧЕСКИ из ячейки (как в Excel-е), т.е. нет необходимости расгруппировывать ячеки а потом опять объединять. Row/On Auto Height и Row/Off Auto Height - задание свойства растягиваться строке по высоте или зафиксировать жестко. Активно используется в предложенном примере , но меню пока дорабатывается. При добавлении, строка по умолчанию получает свойство Off Auto Height (жесткий размер высоты), поэтому если значение в ячейке превысит размер по высоте, ячейка будет обрезана. Значением On Auto Height удобно пользоваться, если размер текста в ячейке динамический, т.е. нельзя предугадать его заранее. Column/Insert/New Column - вставка колонки по всей высоте отчета. Имеет значение, в какой ячейке исполняется команда. Если в Хедере - добавляется колонка слева, в ячейке - все колонки сдвигаются вправо (как в Excel-е). Если новая колонка пересекается с сгруппированной ячейкой (из нескольких строк/колонок), колонка АВТОМАТИЧЕСКИ добавляется в данную ячейку (как в Excel-е), т.е. нет необходимости расгруппировывать ячеки, потом опять объединять - все делается автоматом. Column/Insert/New Column - Right - вставка колонки по всей высоте отчета справа. Column/Delete - удаление колонки по всей высоте отчета. Имеет значение, в какой ячейке исполняется команда. Если в Хедере - удаляется колонка слева, в ячейке - все колонки сдвигаются влево (как в Excel-е). Если новая колонка пересекается с сгруппированной ячейкой (из нескольких строк/колонок), колонка АВТОМАТИЧЕСКИ удаляется из данной ячейки (как в Excel-е), т.е. нет необходимости расгруппировывать ячеки, а потом опять их объединять. Column/Edit Properties - доп. свойства, в разработке. Header/Move UP (DOWN) - перенести Хедер со строками вверх(вниз), только в пределах типа Хедера. Header/Caption - Заголовок Хедера Header/Insert - добавление нового Хедера в отчет (того типа, по чему был клик) Header/Delete - удаление Хедера из отчета вместе со связанными с ним строками. Header/Rule/Report - условие печати Хедера и связанных строк (пусто - печатать все, .f. или функция, возвращающая .f. - Хедер не печатается) Header/Rule/New Page - условие печати Хедера с новой страницы (пусто - печатать на той же, .t. или функция, возвращающая .t. - Хедер печатается с новой страницы) Root/Move IN(OUT) - перенесение группировки на один уровень + (-) (в разработке) вместе со всеми Хедерами вида Group. Как сложно написано :) , на самом деле аналог Visual FoxPro Report Builder - > Data Grouping Root/New Root - добавление нового уровня группировки (Start и End). Root/Delete Root - удаление уровня группировки со всеми связанными Group. Root/Edit 'Group by...' - редактирование условия группировки. Если Вы используете Group в отчете, таблица должна быть отсортирована соответствующим образом! (как и в стандартном Report Builder-е) Undo - самый главный пункт в контекстном меню :) - Отмена последнего действия (в дальнейшем количество будет добавлено). Программу можно загрузить со страницы загрузки (Maple4 Report Builder for Visual FoxPro 9 ) В примере, последовательно выводятся все необходимые отчеты для редактирования, а после закрытия последнего отчета генерится страница HTML. Хотелось бы узнать о перспективах данной разработки Подробнее о Maple4 Report Builder можно узнать на официальной странице: http://www.maple4.ru/i_m4rb.htm Форум по программе: Форум Maple4 Report Builder Форум Здесь можно создать свою тему в форуме, обсудить программу и выставить ей оценку. Вся информация о программе: www.maple4.ru www.maple4.com www.maple4.front.ru www.a-olsc.front.ru www.aolsc.narod.ru Загрузка программы: Страница загрузки Ответить: aolsc@front.ru ICQ - 226-071-270 Все новости программы на странице новостей |
В избранное | ||