Помогите разобраться с LazReport

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Помогите разобраться с LazReport

Сообщение java73 » 26.05.2015 12:55:43

Добрый день. Начал изучать LazReport.
Использую lazarus 1.4 под windows, mysql, ZeosDB - (только через них удалось наладить связь с mysql 5.6), LazReport
прочитал руководство от отчета, что-то вроде понял.
Цель у меня сейчас такая (самая первая). С помощью отчета создается одностраничный документ, связанный с текущей записью из одной таблицы БД.
причем в тексте используются поля из трех разных таблиц, из одной берется поле название фирмы (через связанное поле основной таблицы), из другой - вычисляемое поле с отформатированными иниицалами руководителя фирмы (через связанное поле первой таблицы). В общем, в тексте отчета есть поля из трех таблиц.
подготовил дизайн отчета:
Изображение,
причем при создании текстовых блоков все источники данных и поля таблиц были доступны, я не в ручную их набирал.
При запуске превью возникают сразу ошибки:
Изображение
поля не известны.
В обработчике кнопки, которым вызывается отчет, такой код:
Код: Выделить всё
var
  I: Integer;
begin
  I:=DM1.InvpatentTableHolder.Value;
  DM1.JurlicaTable.Locate('ID',I,[]);
  I:=DM1.JurlicaTableRukID.Value;
  DM1.FizlicaTable.Locate('ID',I,[]);
  if frFeeNextYear.PrepareReport then
    frFeeNextYear.ShowPreparedReport;
end; 

То есть я сначала определяю номер ключевой записи, потом ставлю текущую запись в таблице Jurlica по этому номеру, ставлю текущую запись в таблице Fizlica по связанному номеру.
По моей логике данные из полей текущих записей этих таблиц должны и идти в отчет.
но ничего не происходит.
Помогите, пожалуйста, разобраться, как с этим LazReport работать.
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Помогите разобраться с LazReport

Сообщение slyubez » 26.05.2015 13:23:15

Превью запускаете из дизайнера или в RunTime?

Добавлено спустя 1 минуту 14 секунд:
Вообще, попробуйте для начала лучше отобразить данные из одного набора данных (отчет с одним MasterData-бэндом, привязанным к одной табличке).
slyubez
постоялец
 
Сообщения: 180
Зарегистрирован: 31.03.2015 08:44:07

Re: Помогите разобраться с LazReport

Сообщение java73 » 26.05.2015 13:30:56

slyubez писал(а): slyubez » 26.05.2015 13:23:15

Превью запускаете из дизайнера или в RunTime?

Вот картинка с ошибкой - из дизайнера, а при работе программы вообще ничего не открывается

Добавлено спустя 6 минут 7 секунд:
попробовал, оставил только один мастер-бэнд и только одно поле из таблицы. Тоже самое, ошибка такая же.
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10

Re: Помогите разобраться с LazReport

Сообщение slyubez » 26.05.2015 15:02:44

Такое поле точно есть в таблице?

Добавлено спустя 4 минуты 23 секунды:
Ого... Только сейчас заметил, что в отчете аж 4 бэнда MasterData. Хорошо бы начать с чего-нибудь попроще. Я бы попробовал вгрузить все данные в один датасет (хотя бы в MemDataSet) и отобразить их из него в отчете с одним бэндом MasterData, привязанном к этому датасету.

Добавлено спустя 4 минуты 26 секунд:
Ну и ещё. Чтобы данные отображались в превью из DesignTime, датасет должен быть открыт при установленном соединении с базой данных. С MemDataSet это сделать почти невозможно. Но в RunTime проблем с этим обычно нет.
Хотел скинуть ссылку на русскоязычную доку к аналогу-предшественнику LazReport-a, но увы - теперь для ее скачки нужна регистрация на сайте FastReport. Поэтому ограничусь другой ссылкой:
http://wiki.lazarus.freepascal.org/LazReport_Tutorial
slyubez
постоялец
 
Сообщения: 180
Зарегистрирован: 31.03.2015 08:44:07

Re: Помогите разобраться с LazReport

Сообщение alexs » 26.05.2015 15:30:48

java73
Скорее всего в момент формирования отчёта не открыты наборы данных.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Помогите разобраться с LazReport

Сообщение java73 » 26.05.2015 15:53:32

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

Добавлено спустя 21 час 6 минут 42 секунды:
Так и не смог решить проблему. Пока перешёл на HTMLViewer и генерацию документов в html.
java73
постоялец
 
Сообщения: 257
Зарегистрирован: 21.11.2013 09:08:10


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 219

Рейтинг@Mail.ru