Дополнительные изображения для характеристик 10.3

1. Farhat95 03.02.23 17:53 Сейчас в теме
Доброго времени суток знатоки! Делаю доработку формы номенклатуры. Задача состоит в том чтобы у характеристик было несколько фото. Выбрать и сохранить получается фотографии но вот сами изображения не появляются. Что я не так сделал ?

Процедура КоманднаяПанельХарактеристикиДопИзображение(Кнопка)
	
	ТД = ЭлементыФормы.Характеристики.ТекущиеДанные;
	
	Если ТД <> Неопределено Тогда
		
		//РаботаСФайлами.ОткрытьФормуИзображения(ЭтаФорма, ТД.ДопИзображение, ТД.Ссылка);
		Если ТД.ДопИзображение = Неопределено ИЛИ ТД.ДопИзображение.Пустая() Тогда
			
		ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
		ДиалогОткрытияФайла.Заголовок = "Выберите файл с изображением";
		ДиалогОткрытияФайла.ПолноеИмяФайла = "";
		ДиалогОткрытияФайла.ПредварительныйПросмотр = Истина;
		//ДиалогОткрытияФайла.Фильтр = ПолучитьФильтрИзображений();

		Если ДиалогОткрытияФайла.Выбрать() Тогда
			ВыбранноеИзображение = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла, Ложь);
		Иначе
			Возврат;
		КонецЕсли;
		
		НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
		НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
		НовыйОбъект.Хранилище = Новый ХранилищеЗначения(ВыбранноеИзображение, Новый СжатиеДанных);
		НовыйОбъект.Объект = ТД.ССылка;
		НовыйОбъект.ИмяФайла = ТД.Наименование;
		
		ФормаИзображения = НовыйОбъект.ПолучитьФорму("ФормаИзображения");
		
	Иначе
		
		ФормаИзображения = ТД.ДопИзображение.ПолучитьФорму("ФормаИзображения");
		
	КонецЕсли;
	
	ФормаИзображения.ВладелецФормы = ТД.Ссылка;
	ФормаИзображения.РежимВыбора = Истина;
	ФормаИзображения.ЗакрыватьПриВыборе = Ложь;
	ФормаИзображения.Открыть();
		
	КонецЕсли;

КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Farhat95 03.02.23 17:53 Сейчас в теме
Вторая фотка тоже назначена, и в справочнике ДопИнформации тоже показывается а вот на форме не выводится сама фотка.
3. Farhat95 08.02.23 17:52 Сейчас в теме
Решил почти все! кроме одного.

ТД = ЭлементыФормы.Характеристики.ТекущиеДанные;
	
	Если ТД <> Неопределено Тогда
		Если НЕ ТД.ОсновноеИзображение.Пустая()Тогда
			ЭлементыФормы.ОсновноеИзображениеХарактеристик.Картинка = 
			ТД.ОсновноеИзображение.Хранилище.Получить();
		Иначе			
			ЭлементыФормы.ОсновноеИзображениеХарактеристик.Картинка = 
			мПустаяКартинка;
		КонецЕсли;
			ПоказатьФотоХарактеристик();
	КонецЕсли;
Показать

Вот код при активации строки.
он выводит доп фото на форму. Но только фото первой строки.
Как я понял при смене строки он все равно первую строку читает. Что делать ?
4. Farhat95 08.02.23 17:54 Сейчас в теме
ПоказатьФотоХарактеристик(); ---- делает запрос к хранилищу и создает новые изображения если они есть.
5. Farhat95 08.02.23 17:58 Сейчас в теме
ДА и еще, ОСновное изображение меняется при смене строки. А вот ПоказатьФотоХАрактеристик() как будто один раз только срабатывает.((
6. Farhat95 09.02.23 11:17 Сейчас в теме
Процедура ПоказатьФотоХарактеристик()
	
	ТД = ЭлементыФормы.Характеристики.ТекущиеДанные;
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	ХранилищеДополнительнойИнформации.Ссылка КАК ДопИзоб
	               |ИЗ
	               |	Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
	               |ГДЕ
	               |	ХранилищеДополнительнойИнформации.Объект = &Объект
	               |	И ХранилищеДополнительнойИнформации.ВидДанных = &ВидДанных
	               |	И НЕ ХранилищеДополнительнойИнформации.ПометкаУдаления
	               |	И ХранилищеДополнительнойИнформации.Ссылка <> &ОснФото";
	Запрос.УстановитьПараметр("Объект", ТД.Ссылка);
	Запрос.УстановитьПараметр("ВидДанных", Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение);
	Запрос.УстановитьПараметр("ОснФото", ОсновноеИзображение);
	ДопИз = Запрос.Выполнить().Выбрать();
	ДопИз.Колонки.Добавить("НомерСтроки", Новый ОписаниеТипов("Число")); н = 1;
	Для Каждого СтрДопИзоб Из ДопИз Цикл
		СтрДопИзоб.НомерСтроки = н; н = н + 1;
		ДобНовоеФотоХарактеристики(СтрДопИзоб.НомерСтроки, СтрДопИзоб.ДопИзоб.Хранилище.Получить());
	КонецЦикла;

	
КонецПроцедуры
Показать
9. Farhat95 09.02.23 11:24 Сейчас в теме
(6)
ДопИз = Запрос.Выполнить().Выбрать();
Тут не выбрать а выгрузить
7. Farhat95 09.02.23 11:18 Сейчас в теме
Может тут что то не так ?)
8. Farhat95 09.02.23 11:18 Сейчас в теме
хоть что то напишите )))))))))))
10. пользователь 09.02.23 11:32
Сообщение было скрыто модератором.
...
11. Farhat95 09.02.23 11:41 Сейчас в теме
(10)Сразу видно, человек профессионал )
12. Farhat95 14.02.23 14:24 Сейчас в теме
Сам все сделал! Я молодец!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот