Имя: Пароль:
1C
1С v8
Как вывести картинку в макет в управляемом приложении?
,
0 Маленький Вопросик
 
31.01.14
11:55
Собственно сабж такой:

выводит пустой макет

картинка лежит у пользователя на диске "ПутьККартинке"

&НаСервере
Функция ПолучитьСертификат(ПутьККартинке)
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Серт_Печать";
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ТабДокумент.АвтоМасштаб = Истина;
    
    Изображение1 = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Изобр");
    
    ОбластьШапка = Изображение1.ПолучитьОбласть("КартинкаМакета");    
    
    Рисунок = ОбластьШапка.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
    
    Рисунок.Картинка = Новый Картинка(ПутьККартинке);
    Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
    
    ТабДокумент.Вывести(ОбластьШапка);
    
    Возврат ТабДокумент;
    
КонецФункции

отправляю путь на сервер, а не саму картинку - подскажите как исправить
1 ДенисЧ
 
31.01.14
11:59
Гони картинку в двоичные данные, данные на сервер, на сервере данные в картинку и вставляй.
2 andreymongol82
 
31.01.14
11:59
Картинка поди локально лежит?
3 Маленький Вопросик
 
31.01.14
12:00
(1) подскажи как это сделать???
(2) естественно, а как передать - не знаю пока
4 andreymongol82
 
31.01.14
12:04
(3) Сделать так, как в (1)
МояКартинка = Новый ДвоичныеДанные("C:\Мои документы\Картинка1.bmp");
5 Wobland
 
31.01.14
12:08
ПоместитьФайл(Адрес, Диалог.ПолноеИмяФайла, ВыбранноеИмя, Ложь, УникальныйИдентификатор);
6 Маленький Вопросик
 
31.01.14
12:12
(4) не сработало, кстати.

(5) как это применить в моем случае?
7 Wobland
 
31.01.14
12:14
(6) отправляешь файл на сервер, перебегаешь на сервер, достаёшь файл по адресу, употребляешь по вкусу
8 Маленький Вопросик
 
31.01.14
12:16
(7) это понятно... непонятно как кинуть файл картинки (по пути) на сервер....
9 Маленький Вопросик
 
31.01.14
12:16
(7) вернее чем... исходя из того, что (0) рабочая функция
10 Wobland
 
31.01.14
12:19
тю! ловишь файл на сервере, кладёшь его в серверный темп, отдаёшь своей недотроге-функции ;)
11 andreymongol82
 
31.01.14
12:20
(10) мож на клиенте сначала поймать, а потом в темп сервера положить?
12 Wobland
 
31.01.14
12:22
(11) у него и так картинка лежит у пользователя на диске "ПутьККартинке"
13 Маленький Вопросик
 
31.01.14
12:23
клиент

МояКартинка = Новый ДвоичныеДанные(СтрНайд.ПолноеИмя);
                          
                          АдресХранилища = "";
                          Результат = ПоместитьФайл(АдресХранилища, МояКартинка, , Ложь);          
                          ПолучитьСертификат(АдресХранилища).Показать();

ошибка сохранения файла...
14 Wobland
 
31.01.14
12:23
(13) ты не путай адрес с путём
15 Маленький Вопросик
 
31.01.14
12:27
(14) тогда как быть... как ее туда засунуть
16 Маленький Вопросик
 
31.01.14
12:27
я что-то подзапутался
17 Маленький Вопросик
 
31.01.14
12:29
ошибка сохранения файла, каталог не обнаружен...
18 andreymongol82
 
31.01.14
12:29
(13) Забыл извлечь из временного хранилища.
19 Wobland
 
31.01.14
12:29
клиент:
поместить(адрес)
сервер:
путь=временный файл
получить(адрес), засунуть(путь)
возрат ПолучитьСертификат(путь)

вообще, я как-то надеялся, что ты сразу кинешься СП читать
20 Маленький Вопросик
 
31.01.14
12:38
(18) непонятно.. если честно:

клиент:

АдресХранилища = "";
ПоместитьФайл(АдресХранилища, СтрНайд.ПолноеИмя, , Ложь);          
ПолучитьСертификат(АдресХранилища).Показать();

сервер:

????????????????
21 Маленький Вопросик
 
31.01.14
13:00
https://dl.dropboxusercontent.com/u/86313368/0013.JPG

вот такую ошибку выдает...
22 Wobland
 
31.01.14
13:02
ничего, скоро ты либо дочитаешь до (19), либо кто-то напишет тебе по-другому
23 Маленький Вопросик
 
31.01.14
13:08
(22) функция Получить - для хранилища значений

ПолучитьФайл(АдресХранилища, ПутьККартинке, Ложь) - не применима для сервера
24 Маленький Вопросик
 
31.01.14
13:08
(22) расшифруй, что такое "получить"
25 Wobland
 
31.01.14
13:08
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Если ЭтоАдресВременногоХранилища(Адрес) Тогда
        ХЗ=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Адрес));
        Запись=РегистрыСведений.Файлы.СоздатьМенеджерЗаписи();
        Запись.Книга=Объект.Ссылка;
        Запись.Файл=ХЗ;
        Запись.Записать();
    КонецЕсли;
КонецПроцедуры
26 Маленький Вопросик
 
31.01.14
13:25
&НаСервере
Функция ПолучитьСертификат(ПутьККартинке)
    
    АдресХранилища="";
    
    ХЗ=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресХранилища));
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Серт_Печать";
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ТабДокумент.АвтоМасштаб = Истина;
    
    Изображение1 = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Изобр");
    
    ОбластьШапка = Изображение1.ПолучитьОбласть("КартинкаМакета");    
    
    Рисунок = ОбластьШапка.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
    
    Рисунок.Картинка = Новый Картинка(ХЗ);
    Рисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
    
    ТабДокумент.Вывести(ОбластьШапка);
    
    Возврат ТабДокумент;
    
КонецФункции


все равно пока ничего не получается... какая-то незавершенность
27 Wobland
 
31.01.14
13:26
ХЗ=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(""));

неплохо, мне нравится
28 Маленький Вопросик
 
31.01.14
13:26
(27) как быть в моей ситуации... не использовал вр.хр
29 andreymongol82
 
31.01.14
13:28
АдресХранилища = обычно это гуид какой-нибудь. Например формы
30 Wobland
 
31.01.14
13:28
(28) получить из хранилища ДД, создать картинку на основе этих ДД
31 Маленький Вопросик
 
31.01.14
13:34
(29) блин народ, можно пример, все ходят вокруг да около
32 Wobland
 
31.01.14
13:35
(31) нет примера, писать не буду. все слова названы
33 Маленький Вопросик
 
31.01.14
17:07
апнем темку
34 sikuda
 
31.01.14
18:21
(0) Картинку надо хранить в макете. Ну и типа http://infostart.ru/public/195003/
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан