Welcome, Guest. Please login or register.
Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Riko

Pages: [1]
1
Discussion | Обсуждение / Re: Model roles
« on: October 26, 2023, 08:30:10 PM »
Уже...

Перед внесением доработок думал пововетоваться с сообществом - возможно не заметил существующей возможности.

2
Discussion | Обсуждение / Re: Model roles
« on: October 26, 2023, 10:38:05 AM »
Здравствуйте.

Я рассматривал эти варианты - эти подходы требуют доп. работы + код программы становится сильно путанным.

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

Добавил в LR функцию getFieldByRowIndexEx("FieldName", "row", "role") которая позволяет получать значения произвольных ролей каждого элемента: стандратные роли Qt (Display, Background ...) + кастомные роли модели. Выгрузил в отдельную ветку

PS: так же нет функций для получения значений заголовков моделей, нет функции для получения количества столбцов, строк.

3
Discussion | Обсуждение / Model roles
« on: October 25, 2023, 11:52:00 AM »
Добрый день.

При передачи кастомной модели в качестве источника данных, возможно
ли из скриптов получить значения произвольных ролей элемента (цвет фона, цвет текста и т.п.)?

C увежением, Р

4
Ок, поправлю и отправлю в репозиторий

5
Всем привет.
Пыталя добиться эффекта, как показано на скрине во вложении.
Наткнулся на странное поведение текстового блока: если поставить отступы (margins) = 0 то фактически текст все равно имеет отступы.
Посмотров исходники заметил такую штуку:
//lrtextitem.cpp

int TextItem::fakeMarginSize() const{
    return marginSize()+5;
}

Не могу понять цель добавления хардкодно величины в 5px.

6
Discussion | Обсуждение / Re: Капризный SUM
« on: August 07, 2022, 11:39:15 AM »
Добрый день.
Извините за долгое молчание.

Я пересобрал библиотеку из исходников от "Jul 16, 2022". Все работает отлично - ОГРОМНОЕ спасибо.



Я понимаю, что возможно стоит разместить следующий текст в другой веткте, но все же

При сборке библиотеки из исходником от "Jul 16, 2022", "Jul 13, 2022"
1. Если собирать используя cmake проект, то не понятно куда результат сборки уходит. Т.к. из Qt дизайнер не запускается т.к. нет бинарника по пути запуска. Т.к. сборка проходит без ошибок но и без "выхлопа"

2. Собрал библиотеку и дизайнер используя qmake.
Но если не отключить zint и собрать с поддержкой BarCode, то конечное приложение (мое) крашится при запуске, без каких лобо сообщений в консоль. (Крашится сразу, при запуске из Qt. При запуске приложения не использует LimeReports).

В итоге я собираю библиотеку с опцией CONFIG += no_zint (common.pri). Мое приложение в таком случае работает штатно.

3. Для сборки я использую gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04). Если использовать ваш qmake скрипт
сборки на моей конфигурации то Дизайнер собирается нормально но Linux его определяет, как "Разделяемая библиотека".
Это известный баг "It turns out that newer versions of GNC compilers start to compile with PIC/PIE by
default. The executable program compiled using PIE will not have executable icon in
Ubuntu."

Что бы его побороть необходимо в скрипты сборки добавить следующее:
CMAKE:
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -no-pie" )

QMAKE (designer.pro):
QMAKE_LFLAGS += -no-pie


С наилучшими пожеланиями,
R

7
Discussion | Обсуждение / Re: Капризный SUM
« on: July 18, 2022, 09:11:16 AM »
Большое спасибо

8
Discussion | Обсуждение / Re: Капризный SUM
« on: June 20, 2022, 09:30:36 AM »
Огромное списибо. Еще я заметил странное поведение всех агрегатных функций: если написать скрипт вида
$S{SUM...} то функция работает.

Но если вставить переносы строк:
$S{
  SUM...
}

то при тех же аргументах возникает ошибка.

Может это Вам поможет.

9
Discussion | Обсуждение / Капризный SUM
« on: June 16, 2022, 09:41:43 AM »
Добрый день.
Для подсчета итогов в конце отчета мне необходимо суммировать абсолютные значения величины.

В этой ветке https://limereport.ru/forum/index.php?topic=321.msg2245#msg2245 нашел замечательную
возможность использования скриптов внутри агрегатных функций: $S{SUM($S{$D{rep_sql.total_minus}+$D{rep_sql.total_plus}},"DataBand8")}

Но при попытке использования такого способа получаю ошибки: "Wrong script syntax "0""
Собрал последнюю версию библиотеки - поведение не изменилось.

Посоветуйте, как решить проблему.

Всем хорошего дня!

10
Добрый день.
На данный момент нет ни какой возможности получить номер версии используемой библиотеки. Посмотрел исходники, реализовать это не сложно. Я могу добавить это сам, смогу потом в общий репозиторий слить? или лучше оставить это вам?

11
Discussion | Обсуждение / Re: Вопросы новичка
« on: March 11, 2022, 04:00:41 PM »
Всем доброго дня.

Возможно комуто информация окажется полезной, т.к. у меня на понимание этого ушло некоторое время.

Мне потребовалось в качестве источника данных в отчете использовать существующую модель (QSqlTableModel), подключенную к QTableView. Программа, над которой я работаю, включает поддержку нескольких языков UI. Для заполнения заголовков QTableView я использую model()->setHeaderData(..).

Но вот засада - LimeReport для идентификации колонок, в источнике данных, использует названия из заголовка модели. Соответсвенно при смене языка UI меняется и текст в заголовках таблицы, в результате отчет не может сформироваться корректно.

Я не нашел описания этого момента в документации. Путем анализа исходников библиотеки LimeReport выяснилось - первым делом она пытается получить название колонки используя Qt::UserRole, если это название пустое, тогда библиотека берет название из Qt::DisplayRole.

Нехитрый код помогает избежать казусов с переключением языка UI и сменой названий колонок:

for(int i=0; i < model->record().count(); i++) {
    model->setHeaderData(i, Qt::Horizontal, model->headerData(i, Qt::Horizontal, Qt::DisplayRole), Qt::UserRole);
  }

Pages: [1]