Joined: 05 Jun 2007 Posts: 4 Location: Зусик Occupation: Союконтракт-Сибирь,программист Interests: Омск
Posted: 26 Sep 2007 08:33 Post subject: fastreport и печать изображений
Здравствуйте .
Есть задача: печатать из накладной сертификаты.
Fastreport, при попытке печатать изображение из пользовательского источника, дает ошибку Jpeg error#53.
подскажите в чем может быть проблема.
Joined: 05 Jun 2007 Posts: 4 Location: Зусик Occupation: Союконтракт-Сибирь,программист Interests: Омск
Posted: 26 Sep 2007 09:36 Post subject:
С помощью 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
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
Posted: 26 Sep 2007 10:35 Post subject:
Дело в организации базы данных в БЭСТ-5. Все таблицы должны быть включены в базу данных BEST5.DBC. Программа создает новую таблицу в каталоге SCLAD и после этого необходимо пересоздать базу данных BEST5.DBC (Пункт меню: Настройка БД - Сервисные функции - Восстановление индексных файлов. До запуска установитье галочку "Восстанавливать целостность БД"). _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ"
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
Posted: 26 Sep 2007 14:11 Post subject:
Добрый день!
ZULUS wrote:
Дмитрий, Вы имеете ввиду таблицу mlimage? Она включена в базу данных best5.dbc
Да я говорил об этой таблице.
Я разбирался с этой программой. После того как я сделал следующее:
1. Пересоздал базу данных для включения таблицы mlimage в best5.dbc
2. Изменил тип поля PICTURE на Memo(Bynary) у меня все заработало.
Последний пункт мне показался не обязательным. Но можете попробовать. Если не получится прошу Вас выслать таблицу mlimage на почтовый ящик dshlykov@bestnet.ru _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ"
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
Posted: 19 Oct 2007 12:17 Post subject:
Поставлю вопрос более конкретно.
Требуется в БЭСТ-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"})
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum