К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

как вывести картинку в скд?

Гость
0 - 19.04.2013 - 10:53
Ругается на несовместимость типов

Картинка = ПолучитьИзВременногоХранилища( НавигационнаяСсылкаКартинки(ЗначениеВыводимыхДанны х, Новый УникальныйИдентификатор));
Если Картинка <> неопределено Тогда
ДокументРезультат.Рисунки[Индекс].Картинка = Картинка;
КонецЕсли;



Гость
1 - 19.04.2013 - 10:54
вот код который в модуле СКД

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
Картинка = неопределено;
СтандартнаяОбработка = Ложь;
ДокументРезультат.Очистить();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(Макет, , ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличны йДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезульт ат);
//ПроцессорВывода.Вывести(ДокументРезультат);
// 2013_04_18 ->
ПолеПоКоторомуНеобходимоПолучитьЗначение = "НоменклатураФайлКартинки";
//ПолеПоКоторомуНеобходимоПолучитьЗначение = "НоменклатураФайлКартинкиТекстХранилище";
// 2013_04_18 <-
ПроцессорВывода.НачатьВывод();
Пока истина Цикл
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Если ЭлементРезультата = Неопределено Тогда
прервать;
КонецЕсли;
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
Если ЭлементРезультата.ЗначенияПараметров.Количество() > 0 Тогда
ЗначениеВыводимыхДанных = Неопределено;
Для каждого ЗначениеПараметра из ЭлементРезультата.ЗначенияПараметров Цикл
Если ТипЗнч(ЗначениеПараметра.Значение) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
ПоляРасшифровки = ДанныеРасшифровки.Элементы[ЗначениеПараметра.Значение].ПолучитьПоля();
Для Каждого ПолеРасшифровки из ПоляРасшифровки Цикл
Если ПолеРасшифровки.Поле = ПолеПоКоторомуНеобходимоПолучитьЗначение Тогда
ЗначениеВыводимыхДанных = ПолеРасшифровки.Значение;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Если ЗначениеЗаполнено(ЗначениеВыводимыхДанных) Тогда
Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабли чногоДокумента.Картинка);
Рис.РазмерКартинки = РазмерКартинки.РеальныйРазмер;
Индекс = ДокументРезультат.Рисунки.Индекс(Рис);
// 04.19 ->
//Картинка = НавигационнаяСсылкаКартинки(ЗначениеВыводимыхДанны х, Новый УникальныйИдентификатор);
//Н = ПоместитьВоВременноеХранилище(ЗначениеВыводимыхДан ных, Новый УникальныйИдентификатор);
// 04.19 <-
// 2013_04_18 ->
//Картинка = ЗначениеВыводимыхДанных.ФайлХранилище.Получить();
Картинка = ПолучитьИзВременногоХранилища( НавигационнаяСсылкаКартинки(ЗначениеВыводимыхДанны х, Новый УникальныйИдентификатор));
Если Картинка <> неопределено Тогда
ДокументРезультат.Рисунки[Индекс].Картинка = Картинка;
КонецЕсли;
//Если ЗначениеВыводимыхДанных.ЭтоГруппа Тогда
// ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.ГруппаИЭлемент;
//Иначе
// ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.Сформировать;
//КонецЕсли;
// 2013_04_18 <-
ВысотаТабДок = ДокументРезультат.ВысотаТаблицы;
ОбластьДляКартинки = ДокументРезультат.НайтиТекст("%Картинка%");
Если ОбластьДляКартинки <> Неопределено Тогда
ДокументРезультат.Рисунки[Индекс].Расположить(ОбластьДляКартинки);
ОбластьДляКартинки.Текст = "%КартинкаДобавлена%"
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
КонецПроцедуры
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
Функция НавигационнаяСсылкаКартинки(ФайлКартинки, ИдентификаторФормы)
УстановитьПривилегированныйРежим(Истина);
Возврат ПрисоединенныеФайлы.ПолучитьДанныеФайла(ФайлКартин ки, ИдентификаторФормы).СсылкаНаДвоичныеДанныеФайла;
КонецФункции
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------


К списку вопросов






Copyright ©, Все права защищены