Страница 1 из 2
Новая версия
Добавлено: 15 апр 2015, 17:52
alexeyfressko
Здравствуйте. Скачал новую версию из клиентской панели Stimulsoft-Reports-Fx-Java-2015.1-Pack.
В Fx версии собственные функции перестали подгружаться. Код
Код: Выделить всё
config.setRenderReportAction(MobilVendorRenderReportAction.class);
исполняется, но функция:
Код: Выделить всё
package com.mobilvendor.reports;
import java.io.IOException;
import com.stimulsoft.base.exception.StiException;
import com.stimulsoft.flex.StiRenderReportAction;
import com.stimulsoft.report.StiReport;
public class MobilVendorRenderReportAction extends StiRenderReportAction {
@Override
public StiReport render(StiReport report) throws IOException, StiException {
System.out.println("MobilVendorRenderReportAction: Ok");
report.getCustomFunctions().add(Common.wordsES1);
report.getCustomFunctions().add(Common.wordsES2);
report.getCustomFunctions().add(Common.wordsES3);
report.getCustomFunctions().add(Common.intToDate1);
report.getCustomFunctions().add(Common.intToDate2);
report.getCustomFunctions().add(Common.intToDate3);
report.getCustomFunctions().add(Common.intToDate4);
report.getCustomFunctions().add(Common.intToDate5);
report.getCustomFunctions().add(Common.intToDate6);
report.getCustomFunctions().add(Common.formatAmount1);
report.getCustomFunctions().add(Common.formatAmount2);
return super.render(report);
}
}
никогда не выполняется.
Другой вопрос:
На моем компьютере при разработке при экспорте в PDF со шрифтами все нормально. На продакш сервере (Amazon Linux CentOS 5) при экспорте в PDF шрифты становятся другими. Каким образом нужно установить требуемые шрифты, чтобы при экспорте они не менялись?
Пробовал установить все шрифты этой командой:
Код: Выделить всё
yum install fontconfig libXrender libXext '*fonts*'
не помогло.
Re: Новая версия
Добавлено: 16 апр 2015, 09:00
Vadim
Здравствуйте.
alexeyfressko писал(а):Здравствуйте. Скачал новую версию из клиентской панели Stimulsoft-Reports-Fx-Java-2015.1-Pack.
В Fx версии собственные функции перестали подгружаться.
В консоле нет ошибок, дизайнер в браузер загружается без ошибок?
Другой вопрос:
На моем компьютере при разработке при экспорте в PDF со шрифтами все нормально. На продакш сервере (Amazon Linux CentOS 5) при экспорте в PDF шрифты становятся другими. Каким образом нужно установить требуемые шрифты, чтобы при экспорте они не менялись?
Для этого установленные в системе шрифты должны быть одинаковыми.
Re: Новая версия
Добавлено: 16 апр 2015, 17:42
alexeyfressko
1. Ошибка регистрации custom функций
"В консоле нет ошибок, дизайнер в браузер загружается без ошибок?"
В консоле ошибок нет.
Текст класса ApplicationInitializer
Код: Выделить всё
package com.mobilvendor.reports;
import java.sql.DriverManager;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.mysql.jdbc.Driver;
import com.stimulsoft.flex.StiFlexConfig;
public class ApplicationInitializer implements ServletContextListener {
@Override
public void contextInitialized(final ServletContextEvent event) {
System.out.println("Mobilvendor contextInitialized");
try {
DriverManager.registerDriver((Driver)Class.forName("com.mysql.jdbc.Driver").newInstance());
System.out.println("MySql Driver: Ok");
} catch (Exception ex) {
System.out.println("MySql Driver: " + ex.getMessage());
}
try {
StiFlexConfig config = new StiFlexConfig();
config.setLoadClass(MobilVendorLoadAction.class);
config.setSaveClass(MobilVendorSaveAction.class);
config.setLocalizationAction(MobilVendorLocalizationAction.class);
config.setRenderReportAction(MobilVendorRenderReportAction.class);
config.getProperties().setProperty("Designer.Dictionary.AllowModifyConnections", "False");
config.getProperties().setProperty("Print.AutoPageOrientation", "False");
config.getProperties().setProperty("Print.AutoPageScale", "True");
StiFlexConfig.init(config);
System.out.println("StiFlexConfig: Ok");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void contextDestroyed(final ServletContextEvent event) {
System.out.println("Mobilvendor contextDestroyed");
}
}
Код выполняется весь, в консоли появляется строка "StiFlexConfig: Ok".
Текст класса MobilVendorRenderReportAction
Код: Выделить всё
package com.mobilvendor.reports;
import java.io.IOException;
import com.stimulsoft.base.exception.StiException;
import com.stimulsoft.flex.StiRenderReportAction;
import com.stimulsoft.report.StiReport;
public class MobilVendorRenderReportAction extends StiRenderReportAction {
@Override
public StiReport render(StiReport report) throws IOException, StiException {
if (Common.DEBUG) System.out.println("MobilVendorRenderReportAction: Ok");
report.getCustomFunctions().add(Common.wordsES1);
report.getCustomFunctions().add(Common.wordsES2);
report.getCustomFunctions().add(Common.wordsES3);
report.getCustomFunctions().add(Common.intToDate1);
report.getCustomFunctions().add(Common.intToDate2);
report.getCustomFunctions().add(Common.intToDate3);
report.getCustomFunctions().add(Common.intToDate4);
report.getCustomFunctions().add(Common.intToDate5);
report.getCustomFunctions().add(Common.intToDate6);
report.getCustomFunctions().add(Common.formatAmount1);
report.getCustomFunctions().add(Common.formatAmount2);
return super.render(report);
}
}
По идее должен выполнятся, но не выполняется никогда.
При рендеринге появляется ошибка дизайнера: Report Rendering Message.
Text4 Parser error: The name 'NumberFormat' does not exist in the current context
В предыдущей версии работало все нормально.
Предыдущая версия: FXJAVA_2015.03.23
Текущая версия: Stimulsoft-Reports-Fx-Java-2015.1-Pack
Не знаю, правильно ли скачал новую версию: из консоли клиента только она была доступна для загрузки (а FXJAVA_2015.03.23 не была доступна вообще)
Re: Новая версия
Добавлено: 16 апр 2015, 17:47
alexeyfressko
2. Еще вопрос по поводу шрифтов:
Я думал, что шрифты не те, но оказалось, что они просто становятся больше при экспорте в Pdf. Прикладываю два файла: файл печати и экспорт в Pdf. При экспорте в Pdf все шрифты становятся больше. Данная проблема появляется только на продакшн-сервере. На моем компьютере Windows, на котором я веду разработку, все нормально. Продакш-сервер - Amazon CentOS 5.
Почему так может быть?
Re: Новая версия
Добавлено: 16 апр 2015, 17:55
alexeyfressko
3. Еще вопрос
При загрузке дизайнера AIR каждый раз подгружается файл
stimulsoft_designerfx?stimulsoft_client_key=DesignerFx - 3 мегабайта
При загрузке viewer AIR
stimulsoft_viewerfx?stimulsoft_client_key=ViewerFx - 2 мегабайта
Эти файлы не кэшируются. Можете ли вы сделать так, чтобы они кэшировались в браузере?
Re: Новая версия
Добавлено: 17 апр 2015, 14:52
Vadim
Здравствуйте.
alexeyfressko писал(а):1. Ошибка регистрации custom функций
Остальные Action срабатывают? На RenderReport отправляется запрос из браузера?
2. Еще вопрос по поводу шрифтов:
Я думал, что шрифты не те, но оказалось, что они просто становятся больше при экспорте в Pdf. Прикладываю два файла: файл печати и экспорт в Pdf. При экспорте в Pdf все шрифты становятся больше. Данная проблема появляется только на продакшн-сервере. На моем компьютере Windows, на котором я веду разработку, все нормально. Продакш-сервер - Amazon CentOS 5.Почему так может быть?
Вы можете прислать 2 PDF файла экспорта одинакового с Windows и CentOS
3. Еще вопрос
При загрузке дизайнера AIR каждый раз подгружается файл
stimulsoft_designerfx?stimulsoft_client_key=DesignerFx - 3 мегабайта
При загрузке viewer AIR
stimulsoft_viewerfx?stimulsoft_client_key=ViewerFx - 2 мегабайта
Эти файлы не кэшируются. Можете ли вы сделать так, чтобы они кэшировались в браузере?
Это исправим в ближайшее время.
Re: Новая версия
Добавлено: 17 апр 2015, 17:47
alexeyfressko
1. Ошибка регистрации custom функций
Остальные Action срабатывают? На RenderReport отправляется запрос из браузера?
Все остальные Action срабатываю (локализация, загрузка отчета из базы данных, сохранение в базу данных)
Функция render(StiReport report) MobilVendorRenderReportAction не срабатывает никогда!
Попробовал также перегрузить render(StiReport arg0, HttpServletRequest arg1) - также не работает.
2. Вы можете прислать 2 PDF файла экспорта одинакового с Windows и CentOS
Прикладываю два PDF файла.
Re: Новая версия
Добавлено: 20 апр 2015, 14:00
Vadim
Здравствуйте.
Вы можете посмотреть в Google Chrome в DevTools (вызывается по F12) идет ли запрос на сервер во время Render операции.
alexeyfressko писал(а):1. Ошибка регистрации custom функций
Остальные Action срабатывают? На RenderReport отправляется запрос из браузера?
Все остальные Action срабатываю (локализация, загрузка отчета из базы данных, сохранение в базу данных)
Функция render(StiReport report) MobilVendorRenderReportAction не срабатывает никогда!
Попробовал также перегрузить render(StiReport arg0, HttpServletRequest arg1) - также не работает
Re: Новая версия
Добавлено: 20 апр 2015, 18:06
alexeyfressko
"Вы можете посмотреть в Google Chrome в DevTools (вызывается по F12) идет ли запрос на сервер во время Render операции. "
В проекте StimulSoft1 (примеры) отправляется запрос PreviewData.
В моем проекте отправляется другой запрос LoadReportData, но нет PreviewData.
Re: Новая версия
Добавлено: 20 апр 2015, 23:01
alexeyfressko
Код инициализации сервелета:
Код: Выделить всё
package com.mobilvendor.reports;
import java.sql.DriverManager;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.mysql.jdbc.Driver;
import com.stimulsoft.flex.StiFlexConfig;
public class ApplicationInitializer implements ServletContextListener {
@Override
public void contextInitialized(final ServletContextEvent event) {
System.out.println("Mobilvendor contextInitialized");
try {
DriverManager.registerDriver((Driver)Class.forName("com.mysql.jdbc.Driver").newInstance());
System.out.println("MySql Driver: Ok");
} catch (Exception ex) {
System.out.println("MySql Driver: " + ex.getMessage());
}
try {
StiFlexConfig config = new StiFlexConfig();
config.setLoadClass(MobilVendorLoadAction.class);
config.setSaveClass(MobilVendorSaveAction.class);
config.setLocalizationAction(MobilVendorLocalizationAction.class);
config.setRenderReportAction(MobilVendorRenderReportAction.class);
config.getProperties().setProperty("Designer.Dictionary.AllowModifyConnections", "False");
config.getProperties().setProperty("Print.AutoPageOrientation", "False");
config.getProperties().setProperty("Print.AutoPageScale", "True");
StiFlexConfig.init(config);
System.out.println("StiFlexConfig: Ok");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public void contextDestroyed(final ServletContextEvent event) {
System.out.println("Mobilvendor contextDestroyed");
}
}
Я убрал строчку
Код: Выделить всё
config.setLocalizationAction(MobilVendorLocalizationAction.class);
и custom-функции заработали (стал вызыватся MobilVendorRenderReportAction.class)
Почему так может быть?