:: Visual Foxpro, Foxpro for DOS
Re: Advanced RTF Report обновился до ver. 3.0
TAS
Автор

Сообщений: 851
Откуда: Москва
Дата регистрации: 28.09.2000
Спасибо всем, кто принял участие в доработке решения. В этой версии углубил интеграцию с EXCEL, использовав его генератор графиков! Штука очень мощная, в решении пока не до конца раскрытая. См. новый пример для RTF отчетов...

Ver 3.3

[1].IZM: Добавлена возможность вывода в WORD отчет PNG графиков (нужен EXCEL!, конструкция DIA: GEN_DIAGR() - см. пример для WORD № 12)
[3].IZM: Добавлен 4-й параметр для конвертации результата в большое кол-во форматов. Теперь по умолчанию результат остается в XML виде.
[3].IZM: Изменен подход к шаблонам с выделенной служебной колонки на служебные строки (см. примеры EXCEL).


Скачать можно от сюда: github.com

Красиво оформить пока не получается
Ratings: 0 negative/1 positive
Re: Advanced RTF Report обновился до ver. 3.0
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
TAS
[1].IZM: Добавлена возможность вывода в WORD отчет PNG графиков (нужен EXCEL!, конструкция DIA: GEN_DIAGR() - см. пример для WORD № 12)
К сожалению, на моем домашнем стареньком 2007 офисе графики не формируются:
График № 1:
GEN_DIAGR("REG","RAW","WIDTH=490","srf_name,srf_sum","RECNO()<=10")
ERROR: Ошибка настройки графика: OLE error code 0x800a03ec: Unknown COM status code.
Он же, но с разрешением вдвое большим и масштабированием 50%…
GEN_DIAGR("REG","RAW","WIDTH=980","srf_name,srf_sum","RECNO()<=10")
ERROR: Ошибка настройки графика: OLE error code 0x800a03ec: Unknown COM status code.
И еще раз он-же, но с доп. настройками «"RGB:1=RGB(255,0,0)|SM:1=.T.|DS:1=2"»…
ERROR: Ошибка настройки графика: OLE error code 0x800a03ec: Unknown COM status code.
&#8195;
График № 2:
ERROR: Ошибка настройки графика: OLE error code 0x800a03ec: Unknown COM status code.
Это тот же график, только для него задана и высота…
ERROR: Ошибка настройки графика: OLE error code 0x800a03ec: Unknown COM status code.
На работе с более новым офисом еще не пробовал, завтра посмотрю и сообщу результат.
Боюсь, тут будет очень большая зависимость от версии офиса.
Цитата:
Красиво оформить пока не получается
Могу запилить pull-request, сможешь получить смесь моего с твоим.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
Продолжение.
На работе Office 365
После долгих экспериментов выяснилось, что Word 365 обязательно задает вопрос при открытии с подтверждением типа файла и при наличии опции [FORMAT] все виснет до обрубания процесса WINWORD через диспетчер задач. Графики рисуются, красивые.


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
dfr

Сообщений: 254
Откуда: Барнаул
Дата регистрации: 29.07.2005
У меня почему то не выводятся абзацы (из memo) - всё идет одной строкой. Там где перевод строки - сливается подряд без пробела.

Так и должно быть?

Имеется ввиду при формировании в RTF.



Исправлено 1 раз(а). Последнее : dfr, 25.08.22 09:35
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
lemenev

Сообщений: 113
Дата регистрации: 23.06.2022
TAS
Ver 3.3

Скачать можно от сюда: github.com

По ссылке архив от 29 Jan 2019
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
dfr

Сообщений: 254
Откуда: Барнаул
Дата регистрации: 29.07.2005
Да, стоит эта последняя.

Переглядел документацию, встретилась функция PAR, после ее добавления к полям теперь нормально текст выдается.
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
TAS
Автор

Сообщений: 851
Откуда: Москва
Дата регистрации: 28.09.2000
Посмотрел - у меня текущая версия 3.7. Доработка ведется нерегулярно "под задачи" или при обнаружении ошибок, поэтому на всю новую функциональность нет примеров и она не описана в документации. Однако там все понятно из описания параметров. Прилагаю список изменений. Если это кого-то интересует, могу прислать новый prg файл, чтобы его добавили на gihub.

*--------------------------------------------------------------------------------------------
* Ver 3.4 - 2019 г.
*--------------------------------------------------------------------------------------------
* 1. [1].ADD: Добавлена конструкция [RAWIN] - указывает, что в параметре f_shabl передается не файл а текст шаблона (кодировка UTF-8)
* 2. [3].ADD: добавлен параметр rez_format (не обязательно) - формат результата, для функции SaveAs() MS EXCEL (см. xlFileFormat docs.microsoft.com).
* 3. [3].ERR: BUGFIX.
*--------------------------------------------------------------------------------------------
* Ver 3.5 - 2019 г.
*--------------------------------------------------------------------------------------------
* 1. [1].ERR: Добавлено экранирование специальных символов при формировании отчета с параметром [EXCEL].
*--------------------------------------------------------------------------------------------
* Ver 3.6 - 2019 г.
*--------------------------------------------------------------------------------------------
* 1. [1].ERR: Исправлена ошибка при формировании [EXCEL] отчета с экранированной кавычкой в источнике.
* 2. [3].ERR: Исправлена ошибка при формировании [EXCEL] отчета с пустой колонкой.
* 3. [3].ERR: BUGFIX.
*--------------------------------------------------------------------------------------------
* Ver 3.7 - 2021 г.
*--------------------------------------------------------------------------------------------
* 1. [1].ADD: Добавлен параметр [DELEBLANKLINE] для удаления пустых строк при формировании текстовых отчетов
* 3. [1].ERR: Исправлено добавление пустых строк при формировании текстовых отчетов
*--------------------------------------------------------------------------------------------
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
BOBAN

Сообщений: 625
Откуда: Солигорск
Дата регистрации: 05.07.2004
До колонтитулов в Excel еще не добрался ?
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
TAS
Автор

Сообщений: 851
Откуда: Москва
Дата регистрации: 28.09.2000
Увы - нет.

Последней идеей, которую я прорабатывал было добавление возможности извлекать фрагменты из некоторого "библиотечного" документа, чтобы в шаблоне или в строке просто указывать, какой кусок тебе нужно туда вставить - по сути сборка шаблона по кирпичикам.

Наш сценарий использования:
1. Имеем 50+ шаблонов с заголовками и подписями, которые имеют общий фрагмент из N строк и M атрибутов.
2. По приказу руководства или НПА теперь нужно во всех отчетах изменить заголовок и подписи: сделать N+3 строки и M+8 атрибутов. Причем сделать прямо сей момент.

Как есть: - заходим в 50+ шаблонов и везде меняем.
Как нужно: - меняем общие части блоков заголовка и подписи 1 раз в документе-библиотеке. Все шаблоны берут измененный блок из библиотечной доки и все 50+ отчетов обновлены в течении 30 минут.

Но не добрался, к сожалению...
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
of63

Сообщений: 25256
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() если че, то "репорт" видит внешние (PRIVATE, PUBLIC) переменные, и можно этим пользоваться...
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
vadpost

Сообщений: 1
Дата регистрации: 27.06.2013
Используя версию 3.3 никак не могу добиться правильного вывода типа NUMERIC в XLS_REPORT() - формирует текст, а не число, и его порядок другой - больше в 1000 раз.
Встроенный пример шаблона test6.xml выводит числа, но все они в 100 раз больше того что находится в таблице reg.dbf.
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
pap

Сообщений: 69
Откуда: Уральск
Дата регистрации: 14.01.2006
vadpost
не могу добиться правильного вывода типа NUMERIC в XLS_REPORT() - формирует текст, а не число, и его порядок другой - больше в 1000 раз.
Та же проблема.
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
TAS
Автор

Сообщений: 851
Откуда: Москва
Дата регистрации: 28.09.2000
Привет!

Посмотрел - в EXCEL изменен подход к разделителю дробной части. Была запятая - теперь точка.

Добавил фикс, только не знаю как его залить сюда.

*--------------------------------------------------------------------------------------------
* Ver 3.8 - 2023 г.
*--------------------------------------------------------------------------------------------
* 1. [1].ERR: При формировании отчета в Excel увеличивает значения на 2 порядка. Причина - изменен подход в EXCEL к дробному разделителю.
* 2. [1].IZM: При [EXCEL] теперь не зависимо от настроек "Point" для дробных чисел принудительно устанавливает разделителем точки.
*--------------------------------------------------------------------------------------------

Пока можно забрать вот от сюда: cloud.mail.ru
Ratings: 0 negative/1 positive
Re: Advanced RTF Report обновился до ver. 3.0
Dag

Сообщений: 1156
Дата регистрации: 08.02.2006
Добрый день всем форумчанам!
Уважаемый Аскольд!
Выражаю свой респект за проделанную Вами огромную работу и прекрасный результат. Хочу задать небольшой вопрос по Вашей отчетной системе.
Опишу свою проблему. Имеется таблица содержащая мемо-поля, заполненные текстом, отформатированным при помощи html-разметки (Shell Explorer 2). Возможно ли в Вашем отчетнике вывести эту таблицу в Word с сохранением форматирования?

Пример: Дано содержимое мемо-поля

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><META content="IE=5.0000" http-equiv="X-UA-Compatible">
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 11.00.10570.1001"></HEAD>
<BODY>Адгезия <FONT color=#0080ff size=2 face="Trebuchet MS"><EM><STRIKE>плёнки
к основанию</STRIKE></EM></FONT> знака <STRONG><FONT size=5>и
прочему</FONT></STRONG> </BODY></HTML>

Требуется получить в ячейке таблицы Word следующее
[attachment 36754 -1.PNG]

Или даже лучше поставить вопрос шире: каким наилучшим образом Вы считаете производить форматирование содержимого ячеек таблицы Word их хранение в отношении Вашей отчетной системы (в каждой ячейке форматирование индивидуально)

Спасибо!



Исправлено 2 раз(а). Последнее : Dag, 07.03.24 08:38
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
TAS
Автор

Сообщений: 851
Откуда: Москва
Дата регистрации: 28.09.2000
Приветствую!

Добавлять текст со встроенным форматированием можно. Только это должен быть фрагмент текста в формате обогащенного текста (RTF), что-то вроде:

}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid1904314 \'cf\'f0\'e8\'e2\'e5\'f2! \'d1\'e5\'e9\'f7\'e0\'f1 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \strike\insrsid1904314\charrsid1904314 \'e7\'e8
\'ec\'e0}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid1904314 \'e2\'e5\'f1\'ed\'e0 \'e8 }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \b\insrsid1904314\charrsid1904314 \'fd\'f2\'ee \'f5\'ee\'f0\'ee\'f8\'ee}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid1904314 !}{
\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid1904314\charrsid1904314

Здесь и зачеркнутый текст и жирный в том виде, как его сотворил сам Word. Если разберетесь в формате, то это можно генерировать самому. Попробуйте погуглить эту тему - я вроде встречал ранее что-то для конвертации.

Теперь по поводу html-разметки (Shell Explorer 2) - генератор просто вставляет тот текст, который вы ему даете на вход. Это означает, что в RTF формат будет добавлен фрагмент текста в формате html, что приведет к порче файла.

К сожалению и нативный html формат WORD использовать нельзя. Дело в том, что там активно используются квадратные скобки и обычный текст может быть разделен на несколько фрагментов, которые станут сюрпризом для генератора.
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
Dag

Сообщений: 1156
Дата регистрации: 08.02.2006
Благодарю за ответ. Буду смотреть в сторону библиотек типа html->rtf.
Ratings: 0 negative/0 positive
Re: Advanced RTF Report обновился до ver. 3.0
kornienko_ru

Сообщений: 203
Откуда: Владивосток
Дата регистрации: 06.09.2015
По описанию — довольно мощная платформа. Я первоначально в 90-х сделал генератор для XLS. Для нового отчета готовится отчет для одной строки и одной группы — это можно назвать шаблоном. Соответственно пропадает проблема форматирования на foxpro-коде, всё форматирование есть в шаблоне. На листе, там где должны быть поля пишутся названия полей начиная с точки. По точке собственно генератор понимает, что это поле и вместо него нужно подставить его значение, даже правильней сказать не поле, а выражение foxpro. Все суммы и другие функции Excel и графики могут также готовится в самом шаблоне. Формирование их из foxpro-кода тоже отпадает. Генератор получился простой в идее и использовании, легковесный, но очень полезный. Результаты ошеломляющие, красота. Из недостатков 1) У пользователя должен быть MS Office, а он платный и был не у всех заказчиков. 2) Немного напрягало долгое формирование листов, но терпимо. Далее я переписал генератор, после того, когда появился LibreOffice, на него. Всё оказалось тоже самое по результатам, но LibreOffice бесплатный и Calc работает значительно быстрее, чем Excel. Сейчас уже на пенсии, поэтому выпуском новых версий не занимаюсь. Но последнее время засматривался на текстовый Excel-евский XML-формат. Про RTF тоже думал, но что-то он мне не нравился.
Так что предлагаемый генератор одобряю, хотя на практике не пробовал, не сравнивал со своим, но судя по описанию, возможностей у него много.



Исправлено 2 раз(а). Последнее : kornienko_ru, 22.03.24 06:31
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 16 Joys  (Гостей: 15)

© 2000-2024 Fox Club 
Яндекс.Метрика