В ClaList недавно это тему тёрли полгода: https://groups.google.com/forum/#!topic ... eV0QihTMWs
Посмотри, там в принципе всё, что нужно расписали в конце-концов ...
Модератор: Дед Пахом
В ClaList недавно это тему тёрли полгода: https://groups.google.com/forum/#!topic ... eV0QihTMWs
А библиотека в начале этой темы не заработала?Андрей писал(а): ↑24 Октябрь 2017, 16:21 Надо сделать на квитанциях QR-код для считывания квитанций в Сбербанковских терминалах. Никогда не пробовал сей штуки, вот эту тему старую только нашел. А будет работать через OLE Ocvita Barcode ActiveX по примеру https://infostart.ru/public/604539/ ?
В справке явно записано, что контрол OLE не доступен в репорте. Надо из оконного OLE попробовать скинуть код, например, в рисунок.
Вот те раз... а я то обрадовался, что контрол нашел удобный. А в 1С делается оказывается на 1-2-3
разместить на window репорта, ....сформировать..., выдать в репорте...Андрей писал(а): ↑25 Октябрь 2017, 15:41Вот те раз... а я то обрадовался, что контрол нашел удобный. А в 1С делается оказывается на 1-2-3
"Вставляем в макет "Таблица" - "Рисунки" - "Вставить объект" - "Элемент управления" - "Ocvita Barcode". Называем этот объект именем Штрихкод."
По-моему, там есть описания этих параметров. Уже не помню, но по-моему влияют на размер и качество. У меня вот такие параметры:
Код: Выделить всё
_enQRCode(LOC:QRString, 4, 0, 3)
Код: Выделить всё
ReturnValue = PARENT.EndReport()
I2PDF_License(CodeLicence)
I2PDF_SetCreationDate()
I2PDF_DeleteImagesOnConvert()
I2PDF_SetDPI(150)
My1ClaRunExt &= NEW ClaRunExtClass
loop I#=1 to records(SELF.PreviewQueue)
GET(SELF.PreviewQueue,I#)
LOC:FileName2=CLIP(loc:path) &clip(vdisk.GetFileNameOnly(SELF.PreviewQueue.Filename))&'.png'
err#=My1ClaRunExt.ImageToPNG(SELF.PreviewQueue.Filename,LOC:FileName2)
a#=I2PDF_AddImage(LOC:FileName2)
end
Dispose(My1ClaRunExt)
ToName = CLIP(loc:path) & loc:lsts & '.pdf'
b#=I2PDF_MakePDF(ToName,1,ErrorText,256)
Приятно, конечно, но не заслужил . Может "svru", сделавший функцию?
Код: Выделить всё
fToUTF8 PROCEDURE (p1) ! Declare Procedure
! Start of "Data Section"
! [Priority 4000]
strOut &CString
strin &CString
l:ret CSTRING(4096) !возвращаемая строка
a string(1)
! End of "Data Section"
CODE
! Start of "Processed Code"
! [Priority 4000]
strIn &= New CString(LEN(p1)+2)
strIn = p1
strOut &= New CString(LEN(p1)*2+2)
j# = 1
LOOP i#=1 TO LEN(strin) !LEN(p1)
a = SUB(strin,i#,1)
sh# = VAL(a)
IF (sh# > 191) AND (sh# < 224)
strOut[j# : j#+1] = CHR(208)&CHR(sh#-48)
j# = j#+2
Elsif (sh# > 223) AND (sh# < 240)
strOut[j# : j#+1] = CHR(208)&CHR(sh#-48)
j# = j#+2
Elsif (sh# > 239) AND (sh# < 256)
strOut[j# : j#+1] = CHR(209)&CHR(sh#-112)
j# = j#+2
Elsif (a = '¨') OR (a = '¸')
strOut[j# : j#+1] = CHR(208)&CHR(sh#-39)
j# = j#+2
Elsif (a = '¹')
strOut[j# : j#+2] = CHR(226)&CHR(132)&CHR(150)
j# = j#+3
Else
strOut[j#] = a
j# = j#+1
End
End
l:ret = Clip(strOut)
Dispose(strOut)
Dispose(strin)
Return Clip(l:ret)
! End of "Processed Code"