fastreport и печать изображений
Select messages from
# through # FAQ
[/[Print]\]

-> Программирование отчетов в БЭСТ-5

#1: fastreport и печать изображений Author: ZULUSLocation: Зусик PostPosted: 26 Sep 2007 08:33
    —
Здравствуйте .

Есть задача: печатать из накладной сертификаты.
Fastreport, при попытке печатать изображение из пользовательского источника, дает ошибку Jpeg error#53.
подскажите в чем может быть проблема.

#2:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 26 Sep 2007 09:02
    —
Добрый день!
Расскажите подробнее как хранятся изображения и как Вы их печатаете.

#3:  Author: ZULUSLocation: Зусик PostPosted: 26 Sep 2007 09:36
    —
С помощью Mlimage(Разработчик Родионов С. Набережные челны) изображения сохраняются в BLOB поле “picture” таблицы mlimage.dbf
структура: GRUP Character 5
NNUM Character 13
NAME Character 50
USEPRICE Logical 1
PICTURE Memo 4

Затем создается пользовательский источник:
SELECT m.grup,m.nnum,ml.name,ml.nnoper,m.date,m.numdoc,mg.name as gname,MLIMAGE.NAME AS IMAGNAME,MLIMAGE.PICTURE;
FROM sclad_mdocm as m ;
INNER JOIN sclad_mlabel as ml ON ml.grup=m.grup AND ml.nnum=m.nnum ;
INNER JOIN sclad_mgrup as mg ON ml.grup=mg.code;
INNER JOIN MLIMAGE ON (ML.GRUP=MLIMAGE.GRUP) AND (ML.NNUM=MLIMAGE.NNUM);
where UPPER(M.Sclad+M.Vid+M.Type+PADR(M.Codedoc,3,' ')+M.Numdoc)=cStrMdm;
AND m.delete=.F. and m.date=dData;
INTO CURSOR (GENERATE_OWNED_ALIAS) READWRITE

а в Fastreport используется TFRPICTUREView,где blobtype=btJPG,DataField=dataset1.picture

#4:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 26 Sep 2007 10:35
    —
Дело в организации базы данных в БЭСТ-5. Все таблицы должны быть включены в базу данных BEST5.DBC. Программа создает новую таблицу в каталоге SCLAD и после этого необходимо пересоздать базу данных BEST5.DBC (Пункт меню: Настройка БД - Сервисные функции - Восстановление индексных файлов. До запуска установитье галочку "Восстанавливать целостность БД").

#5:  Author: ZULUSLocation: Зусик PostPosted: 26 Sep 2007 10:55
    —
Дмитрий, Вы имеете ввиду таблицу mlimage? Она включена в базу данных best5.dbc

#6:  Author: dshlykovLocation: Дмитрий Шлыков PostPosted: 26 Sep 2007 14:11
    —
Добрый день!
ZULUS wrote:
Дмитрий, Вы имеете ввиду таблицу mlimage? Она включена в базу данных best5.dbc
Да я говорил об этой таблице.
Я разбирался с этой программой. После того как я сделал следующее:
1. Пересоздал базу данных для включения таблицы mlimage в best5.dbc
2. Изменил тип поля PICTURE на Memo(Bynary) у меня все заработало.
Последний пункт мне показался не обязательным. Но можете попробовать. Если не получится прошу Вас выслать таблицу mlimage на почтовый ящик dshlykov@bestnet.ru

#7:  Author: ZULUSLocation: Зусик PostPosted: 27 Sep 2007 14:21
    —
Дмитрий,спасибо за совет, одну картинку вывести удалось.Пункт по изменению типа поля не был лишним)

#8: Re: fastreport и печать изображений Author: МаринаLocation: Кондрина Марина Александровна PostPosted: 18 Oct 2007 15:41
    —
ZULUS wrote:

Есть задача: печатать из накладной сертификаты.
Fastreport


Скажите пожалуйста, а что, в БЭСТ-4 решить такую задачу не удастся, ведь там нет Blob-ов?

Я имею в виду, если в поле справочника партий хранится путь и наименование файла, в котором содержится картинка с сертификатами

#9:  Author: greyLocation: Родионов С.Г. PostPosted: 18 Oct 2007 18:23
    —
Как раз в БЭСТ-4 проблем не возникает никаких. BLOBы хранятся в FPT.
По просьбе коллег из Магадана сделал привязку изображений к справочнику партий, cкачать можно здесь:
http://grey-soft.narod.ru/mlimage/mlimagesetup.exe

#10:  Author: МаринаLocation: Кондрина Марина Александровна PostPosted: 19 Oct 2007 12:17
    —
Поставлю вопрос более конкретно.
Требуется в БЭСТ-4 наладить просмотр или печать сертификатов из расходной накладной.
Картинки сертификатов связаны с партией товара и хранятся в pdf-файлах в каталоге 'D:\B\PDF\. Наименование файла хранится в поле attrib1 в справочнике партий spr_part.
Требуется в БЭСТ-4 наладить их просмотр/печать из расходной накладной. В дизайнер я передаю промежуточный файл с названиями файлов. Видимо, в дизайнере надо использовать OLE-объект, но куда его поставить? Если в бэнд MasterData, то как правильно выполнить присваивание нужному (какому) свойству OLE-объекта имени файла Файл_сопр_докум?
Вот этот код выполняется при печати расходной накладной по Alt+F9
Code:

function main
local cpath:='D:\B\PDF\', i

mass:=  {{"namefile" ,"C",200,0}  ;
        ,{"grup"     ,"C", 5,0}  ;
        ,{"nnum"     ,"C",13,0}  ;
        ,{"partia"   ,"C", 5,0}  ;
        ,{"name"     ,"C",50,0} }
dbcreate(GlobalTmpPath+tmpopl,mass)
tmpopl:="tmpop25"
netuse("tmpopl",GlobalTmpPath+tmpopl,,.f.)
index on recno() to (GlobalTmpPath+tmpopl)

for i:=1 to len(aWindow[2,7]:cargo[1])
   tmpopl->(dbappend())
   tmpopl->grup:=substr(aWindow[2,7]:cargo[1][i],79,5)
   tmpopl->nnum:=substr(aWindow[2,7]:cargo[1][i],84,13)
   tmpopl->partia:=substr(aWindow[2,7]:cargo[1][i],407,5)//partia
   tmpopl->name:=substr(aWindow[2,7]:cargo[1][i],1,35)+substr(aWindow[2,7]:cargo[1][i],775,25)//name
   spr_part->(dbseek(tmpopl->(grup+nnum+partia)))
   tmpopl->namefile:=cpath+spr_part->attrib1
next
tmpopl->(dbclosearea())

   * Описание шапки
   aopis:={}
   aadd(aopis,{"Дата",pdate})
   aadd(aopis,{"Количество_товаров",len(aWindow[2,7]:cargo[1])})
   aadd(aopis,{"Номер_док",pnumdoc})
   * Описание тела
   aadd(aopis,{"Файл_сопр_докум",,"namefile"})

   WinReport("sclad\template\u_alcnak.frf",aopis,GlobalTmpPath+tmpopl+".dbf",.t.)
return

А может быть, надо вызывать свой Winreport для каждой строчки накладной?



-> Программирование отчетов в БЭСТ-5


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group