![]() |
![]() |
|
v7: Картинка с прозрачным фоном | ☑ | ||
---|---|---|---|---|
0
Масянька
12.09.12
✎
14:07
|
День добрый!
Возможно ли, на печатную форму вставить картинку и сделать ее (картинки) фон прозрачным? Спасибо. |
|||
1
Гефест
12.09.12
✎
14:10
|
Вставляй объект word, а в него прозрачную гиф
|
|||
2
Ёпрст
гуру
12.09.12
✎
14:12
|
(0) можно.
способов много, самый простой, использовать ocx от z1 - activebmp |
|||
3
Ёпрст
гуру
12.09.12
✎
14:12
|
||||
4
aka AMIGO
12.09.12
✎
14:13
|
||||
5
Ёпрст
гуру
12.09.12
✎
14:14
|
(4) давно неработоспособный способ
|
|||
6
aka AMIGO
12.09.12
✎
14:16
|
(5)да, уже увидел :)
|
|||
7
Ёпрст
гуру
12.09.12
✎
14:20
|
в принципе, можно, как и на харе ру написано слепить (есть там прикол с 2-мя картинками), вот только при просмотре формы в пофигураторе/предприятии - всё будет гут, а вот на предварительном просмотре или печати картинка исказится в размерах или обрежется
|
|||
8
Масянька
12.09.12
✎
14:21
|
(4) Не получилось - не прозрачный фон....
|
|||
9
Ёпрст
гуру
12.09.12
✎
14:24
|
(8) ээх..
ща |
|||
10
aka AMIGO
12.09.12
✎
14:30
|
||||
11
aka AMIGO
12.09.12
✎
14:34
|
||||
12
Масянька
12.09.12
✎
14:34
|
(3) Скачала, сделала regedit (в BIN), сказал, что зарегистрил. перезапустила конфигуратор, вставляю OLE, а в списке его нет.....
|
|||
13
Ёпрст
гуру
12.09.12
✎
14:42
|
http://webfile.ru/6116586
вот те 3 версии прозрачных картинок 1. способ копи-паста с ворда 2. внедренный ole-объект типа word/excel 3. ocx от z1 Первый способ искажается при печати и предварительном просмотре, второй способ увеличивает в разы сам моксель (размер файла просто огромен), третий - самое то, но только для bmp картинок. |
|||
14
Ёпрст
гуру
12.09.12
✎
14:48
|
+13 и для ocx, нужно еще его "поднастроить" :
Объект.Function = 1 ; Объект.DstWidth = -1; Объект.DstHeight = -1; |
|||
15
Ёпрст
гуру
12.09.12
✎
14:49
|
чтоб размерчик не уезжал при печати
|
|||
16
Масянька
12.09.12
✎
14:51
|
(13) Для bmp_1c.ocx - нужно вставлять OLE?
|
|||
17
Ёпрст
гуру
12.09.12
✎
14:55
|
(16) просто скопируй с моего примера к себе.
|
|||
18
Ёпрст
гуру
12.09.12
✎
14:56
|
или, открой офис, вставь туда оле -объект bmp_1c.ocx и оттуда скопиряй его в 1с
|
|||
19
Ёпрст
гуру
12.09.12
✎
14:56
|
есть глюк в 1с - не видит осх, например, barcode.ocx и им падобные
|
|||
20
Масянька
12.09.12
✎
15:37
|
Не могу сказать как - но получилось. :)))
НО - в пофигураторе фон прозрачный, в предприятии - нет. Но - в модуле ничего не прописывала. |
|||
21
Ёпрст
гуру
12.09.12
✎
15:39
|
(20)
кидай сюда поделку |
|||
22
Масянька
12.09.12
✎
15:39
|
Может имеет значение: форму (таблица с картинкой) сохраняю в Excel с помощью SpreadSheet. И вот в Excel'е - не прозрачная картинка......
|
|||
23
Масянька
12.09.12
✎
15:40
|
(21) Как - код?
|
|||
24
Масянька
12.09.12
✎
15:54
|
Перем Докум;
Перем ИсхТабл; Перем Адрес; // параметры подключения - РЕДАКТИРОВАТЬ ТОЛЬКО В КРАЙНЕМ СЛУЧАЕ Перем SMTPСервер; Перем SMTPПорт; Перем Отправитель; //****************************************************************************** Процедура ПриОткрытии() SMTPСервер = "smtp.gmail.com"; SMTPПорт = "465"; Отправитель = "compsrvn@gmail.com"; Если ПустоеЗначение(Форма.Параметр) = 0 Тогда Докум = Форма.Параметр.Получить("Контекст"); Адрес = СокрЛП(Докум.Контрагент.ЭлПочта); Форма.SMTPСервер.Заголовок(SMTPСервер); Форма.SMTPПорт.Заголовок(SMTPПорт); Форма.Отправитель.Заголовок(Отправитель); Форма.Адрес.Заголовок(Адрес); Тема = "От ""Компью-Сервис"": Счет N " + СокрЛП(глНомерНаПечать(Докум)) + " от " + СокрЛП(НРег(Формат(Докум.ДатаДок, "Д ДДММММГГГГ"))); Текст = "Это письмо автоматически сгенерировано программой." + РазделительСтрок + "Пожалуйста, не отвечайте на него." + РазделительСтрок + "Для обратной связи используйте адрес электронной почты: compsrv@nvr.ru"; КонецЕсли; КонецПроцедуры // ПриОткрытии //****************************************************************************** Процедура Печать(ИсхТабл) Перем НачПовт, КонПовт; Форма.Отправка.Заголовок("Идет формирование печатной формы счета."); ИсхТабл = СоздатьОбъект("Таблица"); НачПовт = 0; КонПовт = 0; Расшифровка = СоздатьОбъект("СписокЗначений"); Расшифровка.ДобавитьЗначение("Мыло", "Мыло"); ИсхТабл.ОбластьПечати(2); // Секция ЗаголовокСчета ПечФирма = ""; Банк = ""; Счет = ""; БИК = ""; СчетБанка = ""; Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(Докум.БанковскийСчет, "БанковскийСчет"); глРеквизитыПлательщикаПолучателя(Параметры); ПечФирма = Параметры.Получить("Результат"); Банк = Параметры.Получить("СтрокаБанка"); Счет = Параметры.Получить("РасчетныйСчет"); БИК = Параметры.Получить("БИК"); СчетБанка = Параметры.Получить("КоррСчет"); ИНН = СокрЛП(Лев(Докум.Фирма.ЮрЛицо.ИНН, Найти(Докум.Фирма.ЮрЛицо.ИНН, "/") - 1)); ИсхТабл.ВывестиСекцию("Шапка"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Шапка"); // секция Заголовок ИсхТабл.ВывестиСекцию("ЗаголовокСчета"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("ЗаголовокСчета"); // Секция Поставщик Поставщик = "ИНН/КПП " + СокрЛП(Докум.Фирма.ЮрЛицо.ИНН) + РазделительСтрок + СокрЛП(Докум.Фирма.ЮрЛицо.ПолнНаименование) + РазделительСтрок + глПредставлениеАдреса(Докум.Фирма.ЮрЛицо.ЮрАдрес) + РазделительСтрок + "."; ИсхТабл.ВывестиСекцию("Поставщик"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Поставщик"); // Секция Покупатель Если ПустоеЗначение(Докум.Контрагент) = 0 Тогда Покупатель = СокрЛП(Докум.Контрагент.ЮрФизЛицо.ПолнНаименование); Если ПустоеЗначение(Докум.Контрагент.ЮрФизЛицо.ИНН) = 0 Тогда Покупатель = "ИНН/КПП " + СокрЛП(Докум.Контрагент.ЮрФизЛицо.ИНН) + РазделительСтрок + Покупатель + РазделительСтрок + "."; КонецЕсли; Иначе Покупатель = ""; КонецЕсли; ИсхТабл.ВывестиСекцию("Покупатель"); НачПовт = НачПовт + ИсхТабл.ВысотаСекции("Покупатель"); // Секция Шапка таблицы ИсхТабл.ВывестиСекцию("ШапкаТаблицы"); КонПовт = НачПовт + ИсхТабл.ВысотаСекции("ШапкаТаблицы"); ИсхТабл.ПовторятьПриПечатиСтроки(НачПовт + 1, КонПовт); // выводим табличную часть НомСтроки = 0; Докум.ВыбратьСтроки(); Пока Докум.ПолучитьСтроку() = 1 Цикл НомСтроки = НомСтроки + 1; ИсхТабл.ВывестиСекцию("Строка"); КонецЦикла; СуммаИтог = Докум.Итог("Сумма"); // секция Итого ИсхТабл.ВывестиСекцию("Итого"); // секция ИтогоНДС Если Докум.УчитыватьНДС = 1 Тогда СуммаНДСИтог = Докум.Итог("СуммаНДС"); Если Докум.СуммаВклНДС = 0 Тогда СуммаИтог = СуммаИтог + СуммаНДСИтог; КонецЕсли; ИсхТабл.ВывестиСекцию("ИтогоНДС"); КонецЕсли; // секция ИтогоНП Если Докум.УчитыватьНП = 1 Тогда СуммаНПИтог = Докум.Итог("СуммаНП"); Если Докум.СуммаВклНП = 0 Тогда СуммаИтог = СуммаИтог + СуммаНПИтог; КонецЕсли; ИсхТабл.ВывестиСекцию("ИтогоНП"); КонецЕсли; // секция СуммаПрописью ИсхТабл.ВывестиСекцию("СуммаПрописью"); // секция Подписи РуководительРасшифровка = Шаблон("[Докум.Фирма.ЮрЛицо.Руководитель.Получить(Докум.ДатаДок)]"); ГлБухгалтерРасшифровка = Шаблон("[Докум.Фирма.ЮрЛицо.ГлБухгалтер.Получить(Докум.ДатаДок)]"); ИсхТабл.ВывестиСекцию("Подписи"); КонецПроцедуры // Печать //****************************************************************************** Функция Отправить(КаталогДляЗаписи) Форма.Отправка.Заголовок("Идет отправка сформированного письма по электронной почте."); Письмо = СоздатьОбъект("CDO.Message"); Письмо.To = Адрес; Письмо.From = Отправитель; Письмо.Subject = Тема; Письмо.TextBody = Текст; Письмо.TextBodyPart.Charset = "iso-8859-5"; Письмо.AddAttachment(КаталогДляЗаписи); Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = SMTPСервер; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = Отправитель; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = "polina97"; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = SMTPПорт; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendmailaddress").Value = Адрес; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = -1; Письмо.Configuration.Fields.Update(); Попытка Письмо.Send(); Форма.Отправка.Заголовок(""); Предупреждение("Успешно отправлено на электронный адрес: " + Адрес); Исключение Форма.Отправка.Заголовок(""); Предупреждение("Не удалось отправить по причине: " + РазделительСтрок + ОписаниеОшибки()); Возврат 1; КонецПопытки; КонецФункции // Отправить //****************************************************************************** Функция ПодготовитьФайл(КаталогДляЗаписи) Ошибка = 0; Форма.Отправка.Заголовок("Идет формирование письма."); Попытка ЗагрузитьВнешнююКомпоненту("SpreadSheet.dll"); Исключение Предупреждение("Не удалось загрузить компоненту SpreadSheet.dll."); Ошибка = 1; Возврат Ошибка; КонецПопытки; Йоксель = СоздатьОбъект("ТабличныйДокумент"); Конвертер = СоздатьОбъект("КонвертерExcel"); ВремТабл = Конвертер.Создать(); Йоксель.ЗагрузитьИзТаблицы(ИсхТабл); ВремТабл.Листы.Добавить("Счет", Йоксель); Параметры = Йоксель.ПараметрыПечати; Параметры.ПолеСверху = 50; Параметры.ПолеСнизу = 50; Параметры.ПолеСлева = 50; Параметры.ПолеСправа = 50; Параметры.Ориентация = 1; ВремТабл.Записать(КаталогДляЗаписи); Йоксель.Очистить(); Возврат Ошибка; КонецФункции // ПодготовитьФайл //****************************************************************************** Процедура ПоКнопкеПечать() Печать(ИсхТабл); ИмяФайла = "Счет " + СокрЛП(глНомерНаПечать(Докум)) + " от " + СокрЛП(НРег(Формат(Докум.ДатаДок, "Д ДДММММГГГГ"))); КаталогДляЗаписи = Строка(КаталогИБ() + "Счета\" + ИмяФайла + "xls"); Если ПодготовитьФайл(КаталогДляЗаписи) = 0 Тогда Отправить(КаталогДляЗаписи); КонецЕсли; // удаляем сохраненный файл Попытка //ФС.УдалитьФайл(КаталогДляЗаписи); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Форма.Отправка.Заголовок(""); Форма.Закрыть(); КонецПроцедуры // ПоКнопкеПечать //****************************************************************************** cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"; cdoSendEmailAddress = "http://schemas.microsoft.com/cdo/configuration/sendemailaddress"; cdoAutoPromoteBodyParts = "http://schemas.microsoft.com/cdo/configuration/autopromotebodyparts" ; cdoFlushBuffersOnWrite = "http://schemas.microsoft.com/cdo/configuration/flushbufferson;write" ; cdoHTTPCookies = "http://schemas.microsoft.com/cdo/configuration/httpcookies" ; cdoLanguageCode = "http://schemas.microsoft.com/cdo/configuration/languagecode" ; cdoNNTPAccountName = "http://schemas.microsoft.com/cdo/configuration/nntpaccountname" ; cdoNNTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/nntpauthenticate" ; cdoNNTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/nntpconnectiontimeout" ; cdoNNTPServer = "http://schemas.microsoft.com/cdo/configuration/nntpserver" ; cdoNNTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/nntpserverpickupdirectory" ; cdoNNTPServerPort = "http://schemas.microsoft.com/cdo/configuration/nntpserverport" ; cdoNNTPUseSSL = "http://schemas.microsoft.com/cdo/configuration/nntpusessl" ; cdoPostEmailAddress = "http://schemas.microsoft.com/cdo/configuration/postemailaddress" ; cdoPostPassword = "http://schemas.microsoft.com/cdo/configuration/postpassword" ; cdoPostUserName = "http://schemas.microsoft.com/cdo/configuration/postusername" ; cdoPostUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/postuserreplyemailaddress" ; cdoPostUsingMethod = "http://schemas.microsoft.com/cdo/configuration/postusing" ; cdoSaveSentItems = "http://schemas.microsoft.com/cdo/configuration/savesentitems" ; cdoSendEmailAddress = "http://schemas.microsoft.com/cdo/configuration/sendemailaddress" ; cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword" ; cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername" ; cdoSendUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/senduserreplyemailaddress" ; cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing" ; cdoSMTPAccountName = "http://schemas.microsoft.com/cdo/configuration/smtpaccountname" ; cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ; cdoSMTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" ; cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"; cdoSMTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory"; cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"; cdoSMTPUseSSL = "http://schemas.microsoft.com/cdo/configuration/smtpusessl"; cdoURLGetLatestVersion = "http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion"; cdoURLProxyBypass = "http://schemas.microsoft.com/cdo/configuration/urlproxybypass"; cdoURLProxyServer = "http://schemas.microsoft.com/cdo/configuration/urlproxyserver"; cdoUseMessageResponseText = "http://schemas.microsoft.com/cdo/configuration/usemessageresponsetext"; |
|||
25
Ёпрст
гуру
12.09.12
✎
16:02
|
(24) не, сам ert-ник
|
|||
26
Масянька
12.09.12
✎
16:04
|
http://webfile.ru/store?userfile=Счет_EMail.ert&sid=255908691
Который слева - моя картинка, который справа - только что вставила твой. |
|||
27
Ёпрст
гуру
12.09.12
✎
16:14
|
(26) ссылка кривая.
|
|||
28
Масянька
12.09.12
✎
16:20
|
||||
29
Ёпрст
гуру
12.09.12
✎
16:30
|
(28) в свойствах картинки напиши в поле текст
Настроить(ИсхТаб.ТекущийОбъект) в модуле формы: Процедура Настроить(Объект,Имя="") //Объект.BmpFile = глКаталогПечФорм+"Stamp\"+Имя+счОбласть%5+".bmp"; Объект.Function = 1 ; Объект.DstWidth = -1; Объект.DstHeight = -1; КонецПроцедуры |
|||
30
Масянька
12.09.12
✎
16:33
|
Сделала. Ругается:
Настроить(ИсхТаб.ТекущийОбъект) Переменная не определена (ИсхТаб) |
|||
31
Ёпрст
гуру
12.09.12
✎
16:34
|
(30) ИсхТабл.ТекущийОбъект
|
|||
32
Ёпрст
гуру
12.09.12
✎
16:34
|
у тя переменная ИсхТабл
|
|||
33
Масянька
12.09.12
✎
16:36
|
Спасибо! Не ругается, но фон не прозрачный. :((((
|
|||
34
Ёпрст
гуру
12.09.12
✎
16:41
|
(33) ты же в xls конвертишь ?
|
|||
35
Масянька
12.09.12
✎
16:41
|
(34) Да. Там и не прозрачное.....
|
|||
36
Ёпрст
гуру
12.09.12
✎
16:42
|
йоксель, какой версии..
Попробовал - у меня всё с прозрачным фоном в экселе на выходе. |
|||
37
Масянька
12.09.12
✎
16:43
|
А где версию посмотреть?
|
|||
38
Ёпрст
гуру
12.09.12
✎
16:44
|
да посмотрел.. не конвертит, только в pdf нормально катит
|
|||
39
Ёпрст
гуру
12.09.12
✎
16:45
|
ну, тогда можешь через оле объект ворд слепить - там точно будет с прозрачным фоном всегда.
|
|||
40
Ёпрст
гуру
12.09.12
✎
16:45
|
только сам моксель попухнет в размере и динамически картинку проблематично впихнуть будет
|
|||
41
Масянька
12.09.12
✎
16:46
|
(38) А как в pdf сконвертить?
|
|||
42
Ёпрст
гуру
12.09.12
✎
16:46
|
либо отказ от йокселя и тупо Таб.Записать(,2)
|
|||
43
Ёпрст
гуру
12.09.12
✎
16:46
|
(41) ну, тем же йокселем, он умеет
|
|||
44
Ёпрст
гуру
12.09.12
✎
16:47
|
типа того:
Конвертер = СоздатьОбъект ("Йоксель.ГрафическийКонвертер.PDF"); Конвертер.ВысотаСтраницы = 297*56.7; Конвертер.ШиринаСтраницы = 210*56.7; Конвертер.КоличествоБитНаПиксел = 24; Конвертер.Документ = Документ;//это табличный документ от йокселя Конвертер.ПолеСлева = 0; Конвертер.ПолеСверху = 0; Конвертер.ПолеСправа = 0; Конвертер.ПолеСнизу = 0; Конвертер.ЗаписатьВФайл (ВыбИмяФайла); |
|||
45
Ёпрст
гуру
12.09.12
✎
16:48
|
только там нужно еще с размерами играться..
|
|||
46
Масянька
12.09.12
✎
16:50
|
Спасибо ОГРОМНОЕ!!!!!!
|
|||
47
Масянька
12.09.12
✎
16:55
|
Извини, еще не много помучаю.....
Конвертер.Документ = Документ;//это табличный документ от йокселя - чего туда пихать: исхТабл - ругается, загрузить из таблицы - ругается..... |
|||
48
Масянька
12.09.12
✎
16:59
|
Все - разобралась......
ГЕНИЙ!!!! СПАСИБО!!!!!!!!! |
|||
49
Ёпрст
гуру
12.09.12
✎
17:02
|
Надо ужаста спросить, конвертится ли бмп-ка вообще с прозрачным фоном в йоксель..
И еще, в йокселе и так есть свои картинки с прозрачностью, надо смотреть в этом направлении (Объект Йоксель.Картинка) |
|||
50
Масянька
12.09.12
✎
17:06
|
(49) ОГРОМНОЕ СПАСИБО!!!!!!!!!!!!!!!!!
Получилось в pdf - очень красиво. Начальству - нравится!!!!!!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |