View previous topic :: View next topic |
Author |
Message |
ZULUS
Joined: 05 Jun 2007 Posts: 4 Location: Зусик Occupation: Союконтракт-Сибирь,программист Interests: Омск
|
Posted: 26 Sep 2007 08:33 Post subject: fastreport и печать изображений |
|
|
Здравствуйте .
Есть задача: печатать из накладной сертификаты.
Fastreport, при попытке печатать изображение из пользовательского источника, дает ошибку Jpeg error#53.
подскажите в чем может быть проблема. |
|
Back to top |
|
 |
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 26 Sep 2007 09:02 Post subject: |
|
|
Добрый день!
Расскажите подробнее как хранятся изображения и как Вы их печатаете. _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
 |
ZULUS
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 |
|
Back to top |
|
 |
dshlykov
Joined: 02 Aug 2005 Posts: 172 Location: Дмитрий Шлыков Occupation: Компания "БЭСТ" Interests: Москва
|
Posted: 26 Sep 2007 10:35 Post subject: |
|
|
Дело в организации базы данных в БЭСТ-5. Все таблицы должны быть включены в базу данных BEST5.DBC. Программа создает новую таблицу в каталоге SCLAD и после этого необходимо пересоздать базу данных BEST5.DBC (Пункт меню: Настройка БД - Сервисные функции - Восстановление индексных файлов. До запуска установитье галочку "Восстанавливать целостность БД"). _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
 |
ZULUS
Joined: 05 Jun 2007 Posts: 4 Location: Зусик Occupation: Союконтракт-Сибирь,программист Interests: Омск
|
Posted: 26 Sep 2007 10:55 Post subject: |
|
|
Дмитрий, Вы имеете ввиду таблицу mlimage? Она включена в базу данных best5.dbc |
|
Back to top |
|
 |
dshlykov
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 _________________ С уважением, Дмитрий Шлыков
Компания "БЭСТ" |
|
Back to top |
|
 |
ZULUS
Joined: 05 Jun 2007 Posts: 4 Location: Зусик Occupation: Союконтракт-Сибирь,программист Interests: Омск
|
Posted: 27 Sep 2007 14:21 Post subject: |
|
|
Дмитрий,спасибо за совет, одну картинку вывести удалось.Пункт по изменению типа поля не был лишним) |
|
Back to top |
|
 |
Марина
Joined: 27 Aug 2002 Posts: 501 Location: Кондрина Марина Александровна Occupation: ОАО БКО программист Interests: Боровичи Новгородской обл
|
Posted: 18 Oct 2007 15:41 Post subject: Re: fastreport и печать изображений |
|
|
ZULUS wrote: |
Есть задача: печатать из накладной сертификаты.
Fastreport |
Скажите пожалуйста, а что, в БЭСТ-4 решить такую задачу не удастся, ведь там нет Blob-ов?
Я имею в виду, если в поле справочника партий хранится путь и наименование файла, в котором содержится картинка с сертификатами |
|
Back to top |
|
 |
grey
Joined: 12 Jan 2004 Posts: 297 Location: Родионов С.Г. Occupation: ООО Бухгалтер, программист Interests: Набережные Челны
|
|
Back to top |
|
 |
Марина
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"})
WinReport("sclad\template\u_alcnak.frf",aopis,GlobalTmpPath+tmpopl+".dbf",.t.)
return
|
А может быть, надо вызывать свой Winreport для каждой строчки накладной? |
|
Back to top |
|
 |
|
|
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
|
Powered by phpBB © phpBB Group
|