Как демоверсию PHP попробовать на сайте?
Re: Как демоверсию PHP попробовать на сайте?
Здравствуйте.
Не могли бы вы уточнить, что у вас в словаре?
Добавились ли новые источники данных?
Спасибо.
Не могли бы вы уточнить, что у вас в словаре?
Добавились ли новые источники данных?
Спасибо.
-
- Сообщения: 12
- Зарегистрирован: 27 мар 2017, 15:38
Re: Как демоверсию PHP попробовать на сайте?
В словаре остались только те источники, которые были прописаны в проекте (Dogovor.mrt), новых не добавилось. Использую версию 2016.3, так как в последнем билде проект отображается не корректно, о чем уже сообщал ранее.
Пробовал без подгрузки проекта, источники все равно не подцеплялись.
Пробовал без подгрузки проекта, источники все равно не подцеплялись.
-
- Сообщения: 12
- Зарегистрирован: 27 мар 2017, 15:38
Re: Как демоверсию PHP попробовать на сайте?
Попробовал в последнем билде, результат тот же: данные не добавляются, ошибок нет.
-
- Сообщения: 12
- Зарегистрирован: 27 мар 2017, 15:38
Re: Как демоверсию PHP попробовать на сайте?
Скопировал код прямо из документации
var dataSet = new Stimulsoft.System.Data.DataSet("SimpleDataSet");
dataSet.readJsonFile("Demo.json");
var report = new Stimulsoft.Report.StiReport();
report.regData(dataSet.dataSetName, "", dataSet);
и результат все тот же, то есть его нет.
Что, опять напишете, что ошибка есть, исправите, надо ждать обновления и т.д.?
var dataSet = new Stimulsoft.System.Data.DataSet("SimpleDataSet");
dataSet.readJsonFile("Demo.json");
var report = new Stimulsoft.Report.StiReport();
report.regData(dataSet.dataSetName, "", dataSet);
и результат все тот же, то есть его нет.
Что, опять напишете, что ошибка есть, исправите, надо ждать обновления и т.д.?
Re: Как демоверсию PHP попробовать на сайте?
Здравствуйте,
Пожалуйста, добавте следующий метод после регистрации данных:
Stimulsoft.Report.Dictionary.synchronize()
https://www.stimulsoft.com/en/documenta ... ionary.htm
Спасибо.
Пожалуйста, добавте следующий метод после регистрации данных:
Stimulsoft.Report.Dictionary.synchronize()
https://www.stimulsoft.com/en/documenta ... ionary.htm
Спасибо.
-
- Сообщения: 12
- Зарегистрирован: 27 мар 2017, 15:38
Re: Как демоверсию PHP попробовать на сайте?
Попробовал, получаю ошибку:
Stimulsoft.Report.Dictionary.synchronize is not a function
Вот весь js код
<script type="text/javascript">
var options = new Stimulsoft.Designer.StiDesignerOptions();
options.appearance.fullScreenMode = true;
options.toolbar.showSendEmailButton = true;
var designer = new Stimulsoft.Designer.StiDesigner(options, "StiDesigner", false);
// Process SQL data source
designer.onBeginProcessData = function (event, callback) {
<?php StiHelper::createHandler(); ?>
}
// Save report template on the server side
designer.onSaveReport = function (event) {
<?php StiHelper::createHandler(); ?>
}
var dataSet1 = new Stimulsoft.System.Data.DataSet("src");
dataSet1.readJson(<?php echo json_encode(array_utf8_encode_recursive($src)) ?>);
var dataSet2 = new Stimulsoft.System.Data.DataSet("history");
dataSet2.readJson(<?php echo json_encode(array_utf8_encode_recursive($history)); ?>);
var dataSet3 = new Stimulsoft.System.Data.DataSet("customer");
dataSet3.readJson(<?php echo json_encode(array_utf8_encode_recursive($cust)); ?>);
// Load and design report
var report = new Stimulsoft.Report.StiReport();
report.loadFile("reports/Dogovor.mrt");
report.regData(dataSet1.dataSetName, "", dataSet1);
report.regData(dataSet2.dataSetName, "", dataSet2);
report.regData(dataSet3.dataSetName, "", dataSet3);
Stimulsoft.Report.Dictionary.synchronize();
designer.report = report;
designer.renderHtml("designerContent");
</script>
Stimulsoft.Report.Dictionary.synchronize is not a function
Вот весь js код
<script type="text/javascript">
var options = new Stimulsoft.Designer.StiDesignerOptions();
options.appearance.fullScreenMode = true;
options.toolbar.showSendEmailButton = true;
var designer = new Stimulsoft.Designer.StiDesigner(options, "StiDesigner", false);
// Process SQL data source
designer.onBeginProcessData = function (event, callback) {
<?php StiHelper::createHandler(); ?>
}
// Save report template on the server side
designer.onSaveReport = function (event) {
<?php StiHelper::createHandler(); ?>
}
var dataSet1 = new Stimulsoft.System.Data.DataSet("src");
dataSet1.readJson(<?php echo json_encode(array_utf8_encode_recursive($src)) ?>);
var dataSet2 = new Stimulsoft.System.Data.DataSet("history");
dataSet2.readJson(<?php echo json_encode(array_utf8_encode_recursive($history)); ?>);
var dataSet3 = new Stimulsoft.System.Data.DataSet("customer");
dataSet3.readJson(<?php echo json_encode(array_utf8_encode_recursive($cust)); ?>);
// Load and design report
var report = new Stimulsoft.Report.StiReport();
report.loadFile("reports/Dogovor.mrt");
report.regData(dataSet1.dataSetName, "", dataSet1);
report.regData(dataSet2.dataSetName, "", dataSet2);
report.regData(dataSet3.dataSetName, "", dataSet3);
Stimulsoft.Report.Dictionary.synchronize();
designer.report = report;
designer.renderHtml("designerContent");
</script>
Re: Как демоверсию PHP попробовать на сайте?
Здравствуйте,
В вашем случае, вам необходимо использовать следующий код:
Спасибо.
В вашем случае, вам необходимо использовать следующий код:
Код: Выделить всё
...
report.regData(dataSet3.dataSetName, "", dataSet3);
report.dictionary.synchronize();
designer.report = report;
-
- Сообщения: 12
- Зарегистрирован: 27 мар 2017, 15:38
Re: Как демоверсию PHP попробовать на сайте?
Здравствуйте!
Продолжаю интеграцию сервиса на сайт. Пробую выводить html из отчета. Использую следующий код:
Если в отчете не используется база данных, то все хорошо работает. Но если есть выборка из базы данных, то он не подцепляет никаких данных и, как следствие, отчет формируется криво. Не могу понять, что необходимо сделать, чтобы данные из базы поступали в отчет. Возможно, экспорт надо начинать по колбеку после report.render()? Но ничего такого в документации не нашел.
Продолжаю интеграцию сервиса на сайт. Пробую выводить html из отчета. Использую следующий код:
Код: Выделить всё
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="{{ asset('stimulsoft/css/previewHTML.css') }}" rel="stylesheet">
<!-- Stimusloft Reports.JS -->
<script src="{{ asset('stimulsoft/scripts/stimulsoft.reports.js') }}" type="text/javascript"></script>
<script type="text/javascript">
// Create a new report instance
var report = new Stimulsoft.Report.StiReport();
// Load report from url
report.loadFile("{{ route('docs.template', ['doc' => $doc]) }}");
// Get variables from URL to report dictionary
var vars = getUrlVars();
report.dictionary.variables.list.forEach(function(item, i, arr) {
if (typeof vars[item.name] != "undefined") {
item.valueObject = vars[item.name];
}
});
// Export report to HTML format and show it
function exportReportHtml() {
// Render report
report.render();
// Create an HTML settings instance. You can change export settings.
var settings = new Stimulsoft.Report.Export.StiHtmlExportSettings();
// Create an HTML service instance.
var service = new Stimulsoft.Report.Export.StiHtmlExportService();
// Create a text writer objects.
var textWriter = new Stimulsoft.System.IO.TextWriter();
var htmlTextWriter = new Stimulsoft.Report.Export.StiHtmlTextWriter(textWriter);
// Export HTML using text writer.
service.exportTo(report, htmlTextWriter, settings);
// Write HTML text to DIV element.
var container = document.getElementById("htmlContainer");
container.innerHTML = textWriter.getStringBuilder().toString();
};
// Get variables from URL
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function (m, key, value) {
vars[key] = decodeURIComponent((value+'').replace(/\+/g, '%20'));
});
return vars;
}
</script>
</head>
<body onload="exportReportHtml()">
<div id="htmlContainer"></div>
</body>
Re: Как демоверсию PHP попробовать на сайте?
Здравствуйте,
Пожалуйста, посмтрите следующую статью в документации:
https://www.stimulsoft.com/en/documenta ... tabase.htm
Спасибо.
Пожалуйста, посмтрите следующую статью в документации:
https://www.stimulsoft.com/en/documenta ... tabase.htm
Спасибо.
-
- Сообщения: 12
- Зарегистрирован: 27 мар 2017, 15:38
Re: Как демоверсию PHP попробовать на сайте?
Вот добавил я строку StiOptions.WebServer.url = "http://mywebsite.com/script.php(например)";
Однако не понятно, в каком виде поступают запросы на указанный url. В консоли вижу, что никаких запросов не поступает, хотя открываю шаблон отчета с двумя запросами к базе данных.
Обратно, я так понимаю, должны передаваться данные в формате json.
Однако не понятно, в каком виде поступают запросы на указанный url. В консоли вижу, что никаких запросов не поступает, хотя открываю шаблон отчета с двумя запросами к базе данных.
Обратно, я так понимаю, должны передаваться данные в формате json.