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

Author Topic: Вопросы новичка  (Read 151012 times)

Vermilion

  • Newbie
  • *
  • Posts: 34
    • View Profile
Re: Вопросы новичка
« Reply #135 on: July 08, 2018, 11:06:15 pm »
по п.2 - Для textItem'ов все красиво получается, но вот на бэнде лежит картинка с Qr-кодом... Как ее придушить? Из скрипта можно управлять элементами, отличными от textItem?

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Вопросы новичка
« Reply #136 on: July 09, 2018, 10:14:21 pm »
Vermilion
Quote
- как заставить pagefooter отображаться только на последней странице?
Есть tearoffband это как раз то, что вам нужно, этот раздел печатается на последней странице в нижней её части.
Quote
Из скрипта можно управлять элементами, отличными от textItem?
В новой версии (ветка develop на github) можно делать вот так: 

Code: [Select]
Reportpage1_DataBand1.beforeRender.connect(BRDataBand1)

function BRDataBand1(){
   if (getField("customers.CustomerID") == "ANTON") {
         Reportpage1_TextItem1.isVisible = false
//         Reportpage1_TextItem1.fontColor = LimeReport.color("red")
   }
}

Vermilion

  • Newbie
  • *
  • Posts: 34
    • View Profile
Re: Вопросы новичка
« Reply #137 on: July 10, 2018, 09:12:55 am »
Спасибо Alex!

Это решает мои проблемы!

AAL

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Вопросы новичка
« Reply #138 on: July 12, 2018, 12:26:12 pm »
Подскажите пожалуйста!
Есть две абстрактные модели. 1я хранит список маршрутов.
У каждого маршрута есть список точек.
Мне нужно распечатать для каждого маршрута список точек.
2я модель ссылается на объект маршрута и предоставляет список точек маршрута.
Что то типа:
Маршрут 1:
  Точка 1  Координаты
  Точка 2  Координаты
Маршрут 2:
  Точка 1  Координаты
  Точка 2  Координаты

Если я пытаюсь напечатать символ градуса, то выводится знак вопроса. Шрифт Arial
« Last Edit: July 12, 2018, 03:00:40 pm by AAL »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Вопросы новичка
« Reply #139 on: July 12, 2018, 05:26:58 pm »
AAL
Вложенные структуры можно выводить через SubDetail band
Как строить связанные источники данных можно посмотреть в demo_r1 (master, detail источники)
Quote
Если я пытаюсь напечатать символ градуса, то выводится знак вопроса. Шрифт Arial
Если в контент TextItem попадает знак градуса то TextItem без проблем его выводит см. аттач

AAL

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Вопросы новичка
« Reply #140 on: July 12, 2018, 07:12:50 pm »
Вложенные структуры можно выводить через SubDetail band
Как строить связанные источники данных можно посмотреть в demo_r1 (master, detail источники)
То есть без сигналов и слотов не обойтись?

Вот так вот я смог решить свою задачу:
bool addModel(QAbstractItemModel *model)
    {
        bool result = report->dataManager()->addModel(model->objectName(), model, false);
        if(result) {
            QJSValue jsVal = report->scriptManager()->scriptEngine()->newQObject(model);
            if(!jsVal.isNull())
                report->scriptManager()->scriptEngine()->globalObject().setProperty(model->objectName(), jsVal);
        }
        return result;
    }
----------------------------
В TextItem:
$S{
 var wocId = $D{zonelinelist.wocId};
 zoneline.wocId = wocId;
 wocId;
}
« Last Edit: July 12, 2018, 07:38:34 pm by AAL »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Вопросы новичка
« Reply #141 on: July 12, 2018, 07:28:28 pm »
Можно обойтись :) Пихаете 2 модели в отчет и на подчиненную накидываете прокси (Subdetail -> filterMode)
Сигналы слоты гибче :) А чем они вас не устраивают ?

AAL

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Вопросы новичка
« Reply #142 on: July 12, 2018, 07:45:16 pm »
Можно обойтись :) Пихаете 2 модели в отчет и на подчиненную накидываете прокси (Subdetail -> filterMode)
Сигналы слоты гибче :) А чем они вас не устраивают ?
С прокси я не понял как работать. Если примерчик дадите будет хорошо :)
К тому же если добавить в Fields map строку, и не заполнять ее, то при нажатии ОК падает. Удаление строки не работает.

В сигнал/слотовом варианте мне не нравится возвращаемый параметр для сигнала. К тому же из QML ничего вернуть нельзя.
Плюс появляется дополнительная зависимость библиотек, в которых эти модели существуют, от библиотеки печати.

AAL

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Вопросы новичка
« Reply #143 on: July 12, 2018, 07:54:40 pm »
С градусом так и не получается, но это уже походу моя проблема. Правда пока не знаю как решить.
В коде объявляю строку, которая в qDebug() уже с вопросом печатается:
QString format = "%1 %2°%3'%4''";

AAL

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Вопросы новичка
« Reply #144 on: July 12, 2018, 08:11:38 pm »
Помогла такая запись, но надолго ли  ;D
QString format = QString::fromLocal8Bit("%1 %2°%3'%4''");

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Вопросы новичка
« Reply #145 on: July 12, 2018, 08:13:59 pm »
Вот примерчик (order_proxy)
Прокси поправлю :)

AAL

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Вопросы новичка
« Reply #146 on: July 12, 2018, 08:24:01 pm »
Все равно не понял как master влияет на detail.
Что должно быть у моей модели, чтобы выставить CustomerId?

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Вопросы новичка
« Reply #147 on: July 12, 2018, 08:34:57 pm »
Прокси фильтрует подчиненную модель по заданному полю, в данном случае это CustomerID.
В приведенном примере, обе модели имеют поле CustomerID, соответственно при перемещении по мастеру, в подчиненной модели выбираются все записи с условием detail.CustomerID = master.CustomerID

AAL

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Вопросы новичка
« Reply #148 on: July 17, 2018, 07:20:52 pm »
Доброго времени суток.
Создал переменную в шаблоне, хочу в нее записывать QImage через setVariable.
Можно ли так делать? А то у меня падает :)

ЗЫ. Вообщем не понятно почему стало падать, но падает
на функции:
BaseDesignIntf* HorizontalLayout::findNext(BaseDesignIntf* item){
    if (layoutsChildren().count() < childItems().size()-1){
        layoutsChildren().clear();// <<-- тут падает
        foreach (BaseDesignIntf* childItem, childBaseItems()) {
            layoutsChildren().append(childItem);
        }
    }
    qSort(layoutsChildren().begin(),layoutsChildren().end(),horizontalLessThen);
    for (int i=0; i<layoutsChildren().count();++i){
        if (layoutsChildren()==item && layoutsChildren().size()>i+1){ return layoutsChildren()[i+1];}
    }
    return 0;
}
« Last Edit: July 17, 2018, 07:59:24 pm by AAL »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 1005
    • View Profile
Re: Вопросы новичка
« Reply #149 on: July 17, 2018, 11:46:11 pm »
В develop ветке можно пропихнуть QImage через переменную.
Воспроизвести падение не получается, можно в меня демкой кинуть?