Russian Qt Forum
Ноябрь 23, 2024, 02:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: NCReport вывод полей из BLOB  (Прочитано 3533 раз)
Whiplash
Гость
« : Апрель 12, 2010, 11:27 »

Здравствуйте, дамы и господа Улыбающийся
Решил перевести свой проект из самопальной печати отчётов (через webview) в нормальную. Выбрал NCReport, посидел пару вечеров, вроде все непонятки решил, за исключением двух:

1. База на Firebird 2.1, необходимо вывести данные из BLOB (подтип TEXT), кодировка UTF-8. NCReport показывает красивые кракозябры Улыбающийся Обычные текстовые варчары (тоже в кодировке UTF-8, ессно) показывает хорошо. Чего такое сделать? Была такая проблема и в моём приложении, но я её решил установкой кодека для CString.

2. Как заставить NCReport брать форму отчёт не из файла? Я хочу загружать форму отчёта из базы и скармливать её NCReport'у, но у меня ничего не получается - в предварительной печати он показывает просто одну пустую страницу. Если открывать файл - то всё нормально. Сохранять из базы во временный файл, а потом его скармливать NCReport'у можно не предлагать - это я и сам догадался Улыбающийся

Да, NCReport последний, какой был - 2.5.2
Записан
Whiplash
Гость
« Ответ #1 : Апрель 12, 2010, 22:50 »

Ха! Разобрался с обоими проблемами:

1. Вообще не проблема, т.к. если запускать отчёт из приложения, то все блобы нормальные. Проблема в самом NCReport Designer. Отписал тикет в nocisoft, обещали разобраться Улыбающийся

2. Оказывается (sic!) если в отчёте для всех датасорцев указать использование только внутреннего соединения, то отчёт нифига не работает (если его запускать из приложения, в дизайнере всё пучком). Если хотя бы для одного датасорца указать внешнее соединение (external), то отчёт работает замечатльно, включая датасорцы с внутренним соединением. Запускаю отчёт так:
Код:
ncr->setReportDef(q.value(0).toString());
в q.value(0) - результат выборки блоба с формой отчёта.

По второму пункту разработчикам не писал, т.к. не уверен, что это их косяк, может, я чего-то недопонял.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.04 секунд. Запросов: 20.