Добрый день, Уже второй день не могу решить вопрос с отображением картинки на управляемой форме элемента справочника. Проблема заключается в том, что картинке отображается на форме только в текущем сеансе. Если выйти из приложения и зайти, то форме справочника в реквизите (Рисунок - тип строка) данные есть, но отображения на форме нет.
Большая просьба помочь, а то уже руки опускаются.
Вот мой пример как я работаю с картинкой в справочнике:
Картинка = Новый Картинка(Диалог.ПолноеИмяФайла); АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(Картинка,Объект.Ссылка.УникальныйИдентификатор()); Объект.Рисунок = АдресВоВременномХранилище;
КонецЕсли;
КонецПроцедуры
Это первая задача, затем нужно из этого справочника отображать картинку в табличной части документа. Значение подставляется но отображения даже в первом сеансе в таличной части нет.
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Вот вам код, ДЛЯ ПРИМЕРА(!), тупо передирать не стоит, проанализируйте и сделайте свое.
&НаКлиенте Процедура ДобавитьКартинку(Команда) Если Вопрос("Будет добалена новая картинка и установлена по умолчанию для этого блюда. |Продолжить?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.ПолноеИмяФайла = ""; ДиалогОткрытияФайла.Фильтр = "Файлы картинок (*.jpg)|*.jpg"; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = "Выберите файл картинки блюда..."; Если ДиалогОткрытияФайла.Выбрать() Тогда ФайлКартинки = ДиалогОткрытияФайла.ПолноеИмяФайла; СоздатьХранилищеКартинки(ФайлКартинки); КонецЕсли; КонецПроцедуры
&НаСервере Процедура ОбновитьКартинкуСервер() Если ЗначениеЗаполнено(Объект.ФайлКартинкиБлюда) Тогда КартинкаБлюда = ПолучитьНавигационнуюСсылку(Объект.ФайлКартинкиБлюда.Ссылка, "ФайлКартинки");
Не пойму что это за поле "КартинкаБлюда"- ? ведь поле для картинки это Объект.ФайлКартинкиБлюда
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(Vemerton @ 13.11.13, 15:47)
СправочникФайл.ФайлКартинки - это реквизит с типом значения хранилище?
В моем коде картинка хранится в отдельном справочнике (подчиненном), да у реквизита тип ХранилищеЗначения
Цитата(Vemerton @ 13.11.13, 15:47)
Не понял что означает эта строка? Это некий идентификатор?
Я вам скопировал свой код, у вас он будет такой какой зависит от ваших задач, у меня в наименование формируется некая строка, и записывается справочник Владелец после записи подчиненного справочника.
Цитата(Vemerton @ 13.11.13, 15:47)
Объект.ФайлКартинкиБлюда - это реквизит с типом строка? - не понятно зачем записывать ссылку текущего элмента в поле строки текущего элемента
У меня это реквизит ссылка на подчиненный справочник в котором хранится картинка.
Цитата(Vemerton @ 13.11.13, 15:47)
Не пойму что это за поле "КартинкаБлюда"- ? ведь поле для картинки это Объект.ФайлКартинкиБлюда
Это поле формы, в него передается строка - навигационная ссылка на объект картинки который хранится в подчиненном справочнике.
Личные бесплатные консультации не даю, для этого есть форум!
Вроде понячял, что это два справочника: - ФайлыКартинокБлюд - Блюда
Соотвественно для спр. ФайлыКартинокБлюд есть реквизиты: -ФайлКартинки; -Владелец; -Наименование;
А для справочника Блюда есть ревизиты: - ФайлКартинкиБлюда; - КартинкаБлюда;
связаны эти справочники через поле Владелец.
Впросос по типам значений в ревизитах: Спр. ФайлыКартинокБлюд.ФайлКартинки; Спр.Блюда.КартинкаБлюда
Для двух реквизитов - это строка?
Хм. не понимаю почему у меня ругается когда я хочу записать следующее:
{Справочник.Картинки.Форма.ФормаЭлемента.Форма(30)}: Поле объекта не обнаружено (Файл) Объект.Файл = Новый ХранилищеЗначения(Картинка); Где Обьект - это текущий справчник где нужно хранить картинки а поле Файл с типом ХранилищеЗначения
Хм. не понимаю почему у меня ругается, когда я хочу записать следующее:
{Справочник.Картинки.Форма.ФормаЭлемента.Форма(30)}: Поле объекта не обнаружено (Файл) Объект.Файл = Новый ХранилищеЗначения(Картинка); Где Обьект - это текущий справчник где нужно хранить картинки а поле Файл с типом ХранилищеЗначения
Что бы не создавать еще один справочник для файлов, где я смогу записать данные в реквизит с типом хранилище значения? Может в модуле объекта?
Что бы не создавать еще один справочник для файлов, где я смогу записать данные в реквизит с типом хранилище значения? Может в модуле объекта?
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(Vemerton @ 13.11.13, 16:37)
м. не понимаю почему у меня ругается, когда я хочу записать следующее:
{Справочник.Картинки.Форма.ФормаЭлемента.Форма(30)}: Поле объекта не обнаружено (Файл) Объект.Файл = Новый ХранилищеЗначения(Картинка); Где Обьект - это текущий справчник где нужно хранить картинки а поле Файл с типом ХранилищеЗначения
Еще раз:
Цитата(logist @ 13.11.13, 16:20)
Вы не сможете работать с реквизитом типа ХранилищеЗначение этого объекта из его же формы. Поэтому в моем варианте используется отдельный справочник.
Личные бесплатные консультации не даю, для этого есть форум!
Про1С-ник
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0
Цитата(Vemerton @ 13.11.13, 16:45)
Может в модуле объекта?
Может и там. Попробуйте из формы сохранять куда-то картинку (во временное хранилище), как-то в модуль передать адрес хранилища, потом в ПередЗаписью получить оттуда картинку и записать в реквизит.
Личные бесплатные консультации не даю, для этого есть форум!
Нашел в методичке по основным объектам пример работы с картинкой, переделал его под свою конфу. Отладчиком смотрю реквизит с типом "Хранилище значения" заполняется.
Но картинка не отображается, может поскажете почему. Или приведете другой рабочий пример, без создания файла.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!