powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / свершилось чудо! ZEN Report TO Excel
25 сообщений из 51, страница 2 из 3
свершилось чудо! ZEN Report TO Excel
    #36098759
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот ссылка: http://www.rustennistur.ru/csp/rtt/WEB.PLAYER.TOURCLAIMrep.cls?IDT=13974&SEX=2
как посмотрите, отпишитесь мне
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36098896
lab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
lab
Гость
Посмотрел. Спасибо.

Исходник можно посмотреть?

У меня ваш пример ZENApp.MyReport1 отображает вместо русских букв символы.

Что-то делаю неправильно?
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36099057
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не правильное отображение кодировки может быть связано с неверной конфигурацией fop, неверным описанием самого Report-а

нужно скачать http://xmlgraphics.apache.org/fop (скачать версию fop-0.95 ), настроить (см. прикрепленный архив, просто в скачанный каталог скопируй катог fonts и conf ) и прописать fop-0.95:
Код: plaintext
1.
2.
3.
USER>zw ^%SYS("zenreport")
^%SYS("zenreport","fop")= 1 
^%SYS("zenreport","transformerconfig")="C:\fop-0.95\conf\fop.xml"
^%SYS("zenreport","transformerpath")="C:\fop-0.95\fop.bat"
Внимание!!! правильно прописать пути до папки с fop

в архиве вся сборка и рабочий класс для установки в необходимую область
Описание отчета требует навыка, так что смотри пример внимательно, иначе будет криво
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36103202
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сории за повторы
вроде бы все заработало:
активация №1:
Код: plaintext
1.
2.
3.
4.
5.
<demo:gbDataComboMS sql="select id,bFirm from hndb.balls where show=1" 
id="balls" showEmpty="false" columnHeaders="фирма" 
size="40" editable="false" enclosingStyle="padding-top:8px;"
label="мячи (фирма изготовитель)" labelStyle="float:left;font-size:10pt;width:107px;"
cached="true"
sqlLookupClassName="hndb.balls" sqlLookupColumnName="bFirm"/>
активация №2:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<demo:gbDataComboMS 
id="balls" showEmpty="false" columnHeaders="фирма" 
size="40" editable="false" enclosingStyle="padding-top:8px;"
label="мячи (фирма изготовитель)" labelStyle="float:left;font-size:10pt;width:107px;"
 tableName="hndb.balls"
 columnName="bFirm"
 whereClause="show=1"
/>
проверка:
Код: plaintext
1.
<button caption="проверка" onclick="alert(zenPage.getComponentById('balls').getValue());"/>
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36635630
Блюх
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда вот это:
USER>zw ^%SYS("zenreport")
^%SYS("zenreport","fop")=1
^%SYS("zenreport","transformerconfig")="C:\fop-0.95\conf\fop.xml"
^%SYS("zenreport","transformerpath")="C:\fop-0.95\fop.bat"
пишешь, выдается синтактическая ошибка. Проблема с кодировкой- в Excele кракозябры вместо русских буковок
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36650695
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ymka2007, помогите запустить выложенную Вами сборку и рабочий класс?
Под 2008.2 имею при компиляции допустим WEB.Component.Report.caption:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Компиляция класса WEB.Component.Report.caption 
Компиляция программы WEB.Component.Report.caption. 1 
ОШИБКА: Компилируемый метод/ы: %DrawCellToHTML
ERROR:  WEB.Component.Report.caption. 1 ( 3 ) : MPP5376 : Метод или свойство '%BeginHTMLIf' не существует в данном классе.
 TEXT: 	Set sc = ..%BeginHTMLIf(.context, .XSL, .delay)
ERROR:  WEB.Component.Report.caption. 1 ( 13 ) : MPP5376 : Метод или свойство '%EndHTMLIf' не существует в данном классе.
 TEXT: 	Set sc = ..%EndHTMLIf(.context, .XSL, .delay)
Обнаружено  2  ошибок во время компиляции.
Что за метод '%BeginHTMLIf', его у меня нет в %ZEN.Report.Display.caption или его родятелях.
Или для WEB.Component.Report.document ругается на отсутствие свойства 'orientation' - его надо добавить?
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36651090
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
к сожалению сборки для 2008 и 2009 версии нет,
а эта похоже для 2007
нужно посмотреть и ручками подправить то что не компилится
есть сборка для 2010 версии
как оказалось там и fop не нужен
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36651183
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подправить не все получается, тот же '%BeginHTMLIf' явно что-то делает, а что - не знаю. А 2007го у меня нет, чтобы посмотреть.
А не поделитесь сборкой для 2010го? Есть подозрение, что она пойдет и под 2008, т.к. в 2008 код с первого поста работает без fop. Но русских букв нет. А в "ZEN Report RUS.xml" при компиляции не находится ..%ParseDisplay. Если же заменить весь %DrawToHTML на оригинальный с указанием кодировки (как примере "ZEN Report RUS.xml"), то все равно вместо русских букв - значки.
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36651230
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пожалуйста, но она пойдет только на 2010 версии, я уверен
+ один пример
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36651278
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое!
Но действительно не сработало.
Но тут по ходу тоже для WEB.Component.Report.caption идет ошибка отсутствия метода '%BeginHTMLIf'. По видимости я что-то не так делаю...
А у Вас этот метод есть в %ZEN.Report.Display.caption или выше по иерархии?
Достаточно просто импортировать в SAMPLES код или надо еще что-то настраивать?
Завтра попробую добавить все свойства а вместо методов заглушки, может что выгорит.
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36652477
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для 2007 версии был заказан AdHoc
2008 версию я проигнорировал
2009 что то исправлял, теоретически можно найти, но опять же не факт что там все работает
2010 - все работает, реализовано больше 10 различных отчетов
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36653132
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видимо методы в AdHoc сидели. Собрал с заглушками, чтобы компилировалось, в итоге отчет стал генериться, но вместо русских букв опять вопросики в генерируемом xls файле - не важно, из кода или из базы русские буквы отображать.
При этом в самом xls русские буквы уже убиты - некоторые заранее известные разные русские символы закодированы одним кодом 3F.
Видимо где-то еще в настройках косяк.
В ZEN нигде нет своих настроек кодировок? В Сache' стоит локаль rusw, Win на сервере и клиенте - русская, Excel и IE - тоже русские.
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36653348
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegkhl,

Методы %BeginHTMLIf, %EndHTMLIf Вы можете найти в классе %ZEN.Report.Display.controller
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36653436
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, но у меня в %ZEN.Report.Display нет класса controller...
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36653476
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
закоментируй удаление файлов
запусти отчет
посмотри файлы в (...mgr/temp/)
в особенности интерисует файл ...xml
если в нем все в порядке с кодировкой, то нужно смотреть метод %MyDisplayHTML и %MakeToXLSFile в них и нужно поиграться с кодировкой (Set table=..GetIOTable(3) $$$SETIO(table))
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36653488
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegkhl,

%ZEN.Report.Display.controller
Возможно, в старых версиях этот класс скрыт или методы находятся в другом классе.
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36653763
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во временных файлах в (...mgr/temp/) русский есть. Если я ставлю для
Код: plaintext
1.
2.
Class WEB.Component.Report.reportPage
Parameter ENCODING = "utf-8";
то нормально отображается русский в xml-ке.
А с
Код: plaintext
1.
2.
Set table=..GetIOTable( 3 )
$$$SETIO(table)
не могу разобраться - метода GetIOTable у меня нет и в документации не могу найти про $$$SETIO чтобы понять, что ему подсунуть.

Кстати, %ZEN.Report.Display.controller видимо скрыт в 2008, ибо и в документации его нет и в студии не виден.
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36654667
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ymka2007, servit - большое спасибо!
Пазл начинает складываться.
Для Class WEB.Component.Report.reportPage выставил ENCODING = "utf-8". Для моей юникодной установки Cache' это сделало генерируемые xml-ки читабельными.
Далее в %MyDisplayHTML помогло напрямую указать $$$SETIO("RAW").
Теперь эксель открывается с русскими буквами!
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36655013
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поздравляю!
единственный геморой это при выходе новой версии всегда приходится перелопачивать эти классы
и вот еще что
colspan работает
rowspan не работает (пока)
рекомендую изучить принцип формирования файла в формате html
если нужны будут еще примерчики могу подкинуть
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36655093
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я вот сейчас экселем сохранил файлик в htm как одну страницу и пытаюсь разобраться в его структуре. Мне на самом деле надо делать отчеты в Excel на нескольких листах. Похоже это ворзможно, т.к. в эксельном "веб-архиве" две части и остальное - это листы. А потом - да, понять как html генериться, хотя с виду там просто таблица, если не напутать со стилями. Так что по видимости я еще обращусь :)

А вот версионная зависимость - это конечно не есть гуд.
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36655500
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если получится многолистовой файл
прошу поделиться кодом
у меня руки еще до этого не дошли, но потребность в таких отчетах скоро возникнет
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36660507
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно поделюсь, когда что-то получится.
С первого наскока не вышло, ибо эксель при генерации mht ставит перед всеми знаками равно 3D и если удалить 3D, то теряется форматирование. А если я руками вставляю в свой файл 3D, то эксель его вообще не открывает. Но думаю здесь что-то простое должно быть.
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36666993
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получается генерить один многостраничный эксель файл из нескольких одностраничных.
Теперь думаю, как наиболее удобно описывать многостраничные отчеты в задании отчета в ReportDisplay. У меня нет опыта работы с ZEN report, поэтому не совсем соображу, как сделать максимально универсально.
Пока думаю задавать листы группами верхнего уровня. Но тогда надо изменить обработку тега group (его метода %DrawToHTML). Создал свой класс, наследуемый от %ZEN.Report.Display.group. При генерации xsl файла идет рекурсивная обработка тегов отчета и для каждого тега вызывается его метод %DrawToHTML, если я правильно разобрался. Но как теперь заставить для group вызвать не метод класса %ZEN.Report.Display.group, а метод моего класса WEB.Component.Report.group?
В примере Ymka2007 переопределен класс reportPage а в нем в %DrawToHTML вызывается %DrawToHTML для объекта типа %ZEN.Report.Display.report в котором рекурсивно идет обработка тегов отчета. Можно конечно вместо него подсунуть свой классметод, в нем для тега body опять свой и нем опять свой для group. При этом это будут классметоды допустим того же reportPage, а красивее бы как-то унаследовать нужные классы, их исправить и заставить срабатывать мои %DrawToHTML наследников. Нет ли такого варианта? Чуется где-то я не могу понять что-то очень простое.
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36667113
Ymka2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй переопределить %ZEN.Report.Display.group
в нем достаточно будет переопределить один метод %DrawToHTML (мне каца)
а при формировании report-а
прописывать не <group></group>
а <demo:group></demo:group>
...
Рейтинг: 0 / 0
свершилось чудо! ZEN Report TO Excel
    #36667257
olegkhl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О, спасибо! Как раз не знал, что <demo:group></demo:group> заставляет работать мой переопределенный метод.
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 2 из 3
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / свершилось чудо! ZEN Report TO Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]