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 <- ВысотаТабДок = ДокументРезультат.ВысотаТаблицы; ОбластьДляКартинки = ДокументРезультат.НайтиТекст("%Картинка%"); Если ОбластьДляКартинки <> Неопределено Тогда ДокументРезультат.Рисунки[Индекс].Расположить(ОбластьДляКартинки); ОбластьДляКартинки.Текст = "%КартинкаДобавлена%" КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); КонецПроцедуры // -------------------------------------------------------------------------------------------------------------------------------------------------------------------- Функция НавигационнаяСсылкаКартинки(ФайлКартинки, ИдентификаторФормы) УстановитьПривилегированныйРежим(Истина); Возврат ПрисоединенныеФайлы.ПолучитьДанныеФайла(ФайлКартин ки, ИдентификаторФормы).СсылкаНаДвоичныеДанныеФайла; КонецФункции // -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| Интернет-форум Краснодарского края и Краснодара |