Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Открыть новую тему     Написать ответ в эту тему

Corsairs

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exteris
Так это надо при печати нового документа (т.е. чтобы печать и подпись была сразу), или поверх уже напечатанного?
Если второе - то поддерживаю wasilissk - фастрепорт тут совершенно не при чем... Разве что создать варианты листов с различным расположением и ориентацией изображения печати и подписи...
К тому же, если идет печать поверх уже напечатанного - то как будет определяться, что это за документ, и где надо напечатать картинку? (а еще стоит учесть тот факт, что принтер иногда может захватить два листа бумаги вместо одного...)
 
Так что варианты - или сразу при создании документа размещать нужные изображения в соответствующих местах, или вручную рассортировать напечатанное, и печатать поверх...

Всего записей: 569 | Зарегистр. 30-06-2006 | Отправлено: 12:52 07-03-2012
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exteris
Можно экспортировать страницу отчета в битмап, а потом ручками нарисовать на канве принтера в том положении, которое требуется.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 12:52 07-03-2012
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exteris

Цитата:
Вот если перевернуть ТТН при печати, то и место для печати окажется в нижнем левом углу

И факсимиле будет вверх ногами напечатан. Тогда уж лучше отсортировать печатные формы по ориентации, тогда и скорость появится.

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 13:23 07-03-2012
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Печатется новый документ. Никаких факсимиле. Оператор ручками шлепает на документ печать. Вот чтобы ей шлепать эту печать на автоматизме в одно и тоже место я и хочу перевернуть один документ с альбомной ориентацией. Сортировка по ориентации займет еще больше времени.
Ладно, попробую поработать с принтером.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 14:43 07-03-2012
Corsairs

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
exteris
Если в одном и том же документе ориентация и место для печати и подписи одинаково - то имеет смысл печатать документы группами (т.е. сначала документы, где подпись и печать внизу слева, потом - где внизу справа и т.д.), и такими группами отдавать оператору для дальнейшей работы... Раз в пределах одной группы ориентация и место для печати не меняется - то оператор и будет шлепать печать на автомате...

Всего записей: 569 | Зарегистр. 30-06-2006 | Отправлено: 14:51 07-03-2012
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Тогда ему потом нужно будет для каждого клиента собрать набор документов. Это тоже не быстро. А так они уже комплектом идут.  
В общем, спасибо всем! Буду думать, а то уже оффтоп начался.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 15:12 07-03-2012
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
почему получаю "invalid file format"?  

Код:
 
procedure TfrReport.LoadReport(report_name: String);
var
  ms: TMemoryStream;
begin
  try
  Screen.Cursor:=crHourGlass;
  with ZQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add(Format('SELECT report_data FROM report WHERE report_name=''%s''',[report_name]));
      Open;
      if RecordCount=0 then
        begin
          MessageDlg('Îò÷åò íå íàéäåí.',mtInformation,[mbOK],0);
          Exit;
        end
      else
        begin
          ms:=TMemoryStream.Create;
          TBlobField(FieldByName('report_data')).SaveToStream(ms);
           ms.Position:=0;
          frxReport1.LoadFromStream(ms);
          frxReport1.PrepareReport();
          frxReport1.ShowPreparedReport;
        end;
    end;
  finally
    ZQuery1.Close;
    Screen.Cursor:=crDefault;
    ms.Free;
  end;
end;
 

 
в бд данные лежат в таком виде
report_data

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 21:23 08-03-2012
PowerChute



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
neznayka3
После восьмого марта разбираться в чужом коде....  
   
 
Вот тебе работающий код:
код
Шаблон читается из базы по ID
 
Структура таблицы шаблонов

----------
Хочешь всего и сразу, а получаешь ничего и постепенно.

Всего записей: 516 | Зарегистр. 13-10-2004 | Отправлено: 09:01 09-03-2012 | Исправлено: PowerChute, 09:08 09-03-2012
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ваш код отличается только способом загрузки и условием "if stream.Size>0 then". Вот обе процедуры, не пойму почему не работает.

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 13:58 09-03-2012
MagistrAnatol



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Господа подсобите с проблемой - вопрос 100% подымался, но лопатить все страницы нет времени -  
в Коде отчета надо задать фильтр для FIBQuery
пишу

Код:
 
if (RadioButton1.Checked==true)tVidklVkl.Filter="OPER_TYPE=0";                                              
....
 tVidklVkl.Filtered=true;
 

и получаю Неизвестный тип TfrxFIBQuery

Всего записей: 2120 | Зарегистр. 09-04-2003 | Отправлено: 16:41 15-03-2012
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MagistrAnatol
а если так
TDataSet(tVidklVkl).Filter....

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 17:51 15-03-2012
MagistrAnatol



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
salexn1

Цитата:
TDataSet(tVidklVkl).Filter....
- неопределенный идентификатор
 
 
Добавлено:
Может кому пригодиться
TfrxCustomQuery(tVidklVkl).Filter
 
Добавлено:
Можно как-то в FastReport v4.12.1 Enterprise при установке в мемо свойства "Прятать повторяющиеся" сделать чтобы ячейки объединялись ?
 
Добавлено:
или может как построить мастер - деталь отчет вида
ФИО                  Любимые блюда
Петров              Борщ
                        Вареники
Сидоров           Сало
                        Еще раз сало
и т.д
Фио - записи мастера  
Любимые блюда - записи детали          

Всего записей: 2120 | Зарегистр. 09-04-2003 | Отправлено: 18:04 15-03-2012
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MagistrAnatol
Да вроде это и есть обычное поведение при мастер - деталь. А в чем сложность-то?

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 06:30 16-03-2012
MagistrAnatol



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
wasilissk
Уже ни в чем, сделал через кросы, а сложность была в том что фаст для одинаковых ячеек значение скрывал но не объединял их.
Если брать чисто мастер-деталь - то как ты записи детали разместиш в одной строке с мастером а не ниже

Всего записей: 2120 | Зарегистр. 09-04-2003 | Отправлено: 10:07 16-03-2012
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MagistrAnatol
Элементарно - в детальном датасете запросить эти данные и отобразить.

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 10:20 16-03-2012
MagistrAnatol



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
wasilissk

Цитата:
Элементарно - в детальном датасете запросить эти данные
- ето понятно

Цитата:
и отобразить
- каким образом разместить данные детали в одной строке с мастером?
ниже как в стандартном варианте отчете - без проблем - а мне надо чтобы на одну строку мастера в последней колонке отображалось одна или несколько записей датали.
При join объединении таблиц без проблем, но есть одно неудобство - дублирующие значения мастера
можно скрыть,а вот объединить дубликаты нельзя, в новостях фаста читал что такой функционал реализуют в 5 версии, хотя для дот нет варианта такое уже давно.
Я по-извращался с крос отчетом - не совсем то но подойдет  
 
 
 
Добавлено:
Есть ещо такой вопрос - можно в фасте реализовать такой функционал - есть куча клиентских тачек и чтобы не хранить шаблоны отчетов на каждом клиенте сделать что-то типа сервера отчетов - клиент запрашивает шаблон с сервера и строит себе отчет???

Всего записей: 2120 | Зарегистр. 09-04-2003 | Отправлено: 12:31 16-03-2012
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MagistrAnatol
что значит "хранить на каждом клиенте"?
у каждого клиента в папке "Reports" лежат файлы шаблонов отчетов?????
 
вариантов много:
1) простой - хранить в базе и вытягивать шаблоны из базы
2) сделать свой сервер хранилища, чтобы не расшаривать каталог, и отдавать файлы
и много разных вариантов, только подумать надо

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 12:50 16-03-2012
Czechoslovak



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Есть ещо такой вопрос - можно в фасте реализовать такой функционал - есть куча клиентских тачек и чтобы не хранить шаблоны отчетов на каждом клиенте сделать что-то типа сервера отчетов - клиент запрашивает шаблон с сервера и строит себе отчет???

 
FASTREPORT® SERVER - сервер отчётов
 
FastReport Server дополняет комплекс программ Fast Reports Inc. FastReport Server - мощное и полнофункциональное решение для организации корпоративной отчётности, содержащее все инструменты для создания и доставки отчётов.

Всего записей: 175 | Зарегистр. 27-06-2007 | Отправлено: 12:55 16-03-2012
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MagistrAnatol
Master:
select mastername, id from mastertbl
Detail:
select mastername, detailname from detailtbl, mastertbl mtbl where masterid = mtbl.id
 
MasterBand  
скрываем
DetailBand
Mastername | DetailBand
Mastername "Suppress repeated values".

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 13:01 16-03-2012
MagistrAnatol



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
salexn1

Цитата:
у каждого клиента в папке "Reports" лежат файлы шаблонов отчетов?????
ага

Цитата:
чтобы не расшаривать каталог
в том -то и проблема не хочется расшаривать

Цитата:
простой - хранить в базе и вытягивать шаблоны из базы
- в принципе вариант -загнать отчет в блоб-и потом вытаскивать блоб в файлик и готовить отчет, напрямую мать не получится
 
 
Добавлено:
wasilissk

Цитата:
Mastername "Suppress repeated values"

и повторяющиеся ячейки получаться объединенными? при join объединении таблиц получаем кучу пустых ячеек

Всего записей: 2120 | Зарегистр. 09-04-2003 | Отправлено: 13:03 16-03-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru