![]() |
![]() |
![]() |
|
вывод изображения в СКД | ☑ | ||
---|---|---|---|---|
0
LivingStar
10.04.13
✎
11:46
|
Кто нибудь занимался задачей вывода изображений введенных элементам справочника номенклатура в СКД ?
|
|||
1
vicof
10.04.13
✎
11:47
|
определенно
|
|||
2
toypaul
гуру
10.04.13
✎
11:47
|
тоже интересно
|
|||
3
SherifSP
10.04.13
✎
11:51
|
Ну конечно занимались)
|
|||
4
SherifSP
10.04.13
✎
11:51
|
Нужно процедуру ОбновитьОтчет(), вручную переписать
|
|||
5
vicof
10.04.13
✎
11:54
|
ведь гуглить лень, лучше на мисте спросить
http://help1c.com/faq/view/1234.html |
|||
6
SherifSP
10.04.13
✎
11:57
|
Для Каждого ЗначенияПараметра Из ЭлементРезультата.ЗначенияПараметров Цикл
Если ТипЗнч(ЗначенияПараметра.Значение) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда ПоляРасшифровки = Расшифровка.Элементы[ЗначенияПараметра.Значение].ПолучитьПоля(); Для Каждого ПолеРасшифровки Из ПоляРасшифровки Цикл Если ПолеРасшифровки.Поле = ПолеПоКоторомуНеобходимоПолучитьЗначение Тогда ЗначениеВыводимыхДанных = ПолеРасшифровки.Значение; Рис = Результат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Рис.РазмерКартинки = РазмерКартинки.РеальныйРазмер; Индекс = Результат.Рисунки.Индекс(Рис); Если ЗначениеВыводимыхДанных.ПометкаУдаления = Истина Тогда Результат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.ПомеченНаУдаление; Результат.Рисунки[Индекс].ЦветФона = Новый Цвет(255,229,229); Иначе Если ЗначениеВыводимыхДанных.Проведен Тогда Результат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.Проведенный; Иначе Результат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.НеПроведенный; КонецЕсли; КонецЕсли; ВысотаТабДок = Результат.ВысотаТаблицы; ОбластьДляКартинки = Результат.НайтиТекст("%Картинка%"); Если ОбластьДляКартинки <> Неопределено Тогда Результат.Рисунки[Индекс].Расположить(ОбластьДляКартинки); ОбластьДляКартинки.Текст = "%КартинкаДобавлена%"; КонецЕсли; Прервать; КонецЕсли; КонецЦикла; |
|||
7
LivingStar
10.04.13
✎
12:08
|
(5) да смотрел я поиском и это видел http://infostart.ru/public/67169/
|
|||
8
GANR
10.04.13
✎
12:08
|
&НаСервре
Процедура СформироватьНаСервре() СкомпоноватьРезультат(); Для НомерСтроки = 1 По Результат.ВысотаТаблицы Цикл Для НомерКолонки = 1 По Результат.ШиринаТаблицы Цикл Если [надо вывести картинку] Тогда ОбластьКартинки = Результат.Область("R"+Формат(НомерСтроки,"ЧГ=0")+"C"+Формат(НомерКолонки,"ЧГ=0")); Картинка = Новый Картинка(ТвояКартинка); РисунокТабличногоДокумента = Результат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); РисунокТабличногоДокумента.Картинка = Картинка; РисунокТабличногоДокумента.РазмерКартинки = РазмерКартинки.АвтоРазмер; ОбластьКартинки.ВысотаСтроки = ТвояШирина; ОбластьКартинки.ШиринаКолонки = ТвояВысота; РисунокТабличногоДокумента.Расположить(ОбластьКартинки); КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
9
vicof
10.04.13
✎
12:16
|
(7) и...
|
|||
10
toypaul
гуру
10.04.13
✎
12:47
|
принцип понятен. спасибо.
|
|||
11
LivingStar
10.04.13
✎
14:24
|
(9) ну буду разбираться дело дойдет.
|
|||
12
LivingStar
18.04.13
✎
12:28
|
(5) так и не понял от куда там берется картинка
|
|||
13
LivingStar
18.04.13
✎
12:32
|
понял в коде процедуры это делается
|
|||
14
LivingStar
18.04.13
✎
12:35
|
похоже картинку выводит этот код
| Если ЗначениеВыводимыхДанных.ЭтоГруппа Тогда ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.ГруппаИЭлемент; Иначе ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.Сформировать; КонецЕсли; | а если нужно брать картинку с номенклатуры, как это будет? |
|||
15
LivingStar
18.04.13
✎
12:45
|
хочу сделать по подобию, но у меня ошибку выдает, просто добавил поле и выражение картинка, как в статье
| Ошибка исполнения отчета по причине: Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата' по причине: {ВнешнийОтчет.ВедомостьПоТоварамНаСкладах.МодульОбъекта(5)}: Ошибка при вызове метода контекста (Выполнить) Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); по причине: Ошибка компоновки макета по причине: Ошибка в выражении "(%Картинка%)" по причине: | |
|||
16
LivingStar
18.04.13
✎
13:40
|
в этой процедуре не заходит в
| Если ЭлементРезультата.ЗначенияПараметров.Количество() > 0 Тогда | что нужно поправить? Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДокументРезультат.Очистить(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет, , ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); //ПроцессорВывода.Вывести(ДокументРезультат); ПолеПоКоторомуНеобходимоПолучитьЗначение = "Ссылка"; ПроцессорВывода.НачатьВывод(); Пока истина Цикл ЭлементРезультата = ПроцессорКомпоновки.Следующий(); Если ЭлементРезультата = Неопределено Тогда прервать; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); Если ЭлементРезультата.ЗначенияПараметров.Количество() > 0 Тогда ЗначениеВыводимыхДанных = Неопределено; Для каждого ЗначениеПараметра из ЭлементРезультата.ЗначенияПараметров Цикл Если ТипЗнч(ЗначениеПараметра.Значение) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда ПоляРасшифровки = ДанныеРасшифровки.Элементы[ЗначениеПараметра.Значение].ПолучитьПоля(); Для Каждого ПолеРасшифровки из ПоляРасшифровки Цикл Если ПолеРасшифровки.Поле = ПолеПоКоторомуНеобходимоПолучитьЗначение Тогда ЗначениеВыводимыхДанных = ПолеРасшифровки.Значение; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Если ЗначениеЗаполнено(ЗначениеВыводимыхДанных) Тогда Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Рис.РазмерКартинки = РазмерКартинки.РеальныйРазмер; Индекс = ДокументРезультат.Рисунки.Индекс(Рис); Если ЗначениеВыводимыхДанных.ЭтоГруппа Тогда ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.ЭлементПапка; Иначе ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.ЭлементПапка; КонецЕсли; ВысотаТабДок = ДокументРезультат.ВысотаТаблицы; ОбластьДляКартинки = ДокументРезультат.НайтиТекст("%Картинка%"); Если ОбластьДляКартинки <> Неопределено Тогда ДокументРезультат.Рисунки[Индекс].Расположить(ОбластьДляКартинки); ОбластьДляКартинки.Текст = "%КартинкаДобавлена%" КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |