Спасибо! Жаль, что не рассмотрели процесс сохранения файла не на жесткий диск ПК пользователя, а к примеру жесткий диск др. ПК, выполняющего роль Сервера и дальнейшего уже чтения его оттуда.
@РобинБобин-д9е9 ай бұрын
Когда используется путь из Описания перемещенного файла (после вызова НачатьПеремещениеФайлаНаСервер), это путь перемещенного файла на сервере. А нам нужен путь к файлу на клиенте. Вариант - показать диалог выбора файла, взять оттуда путь и его сохранять в базу.
@vladislavvassiliev74822 жыл бұрын
А можно плз ещё одну модификацию задачки рассмотреть, когда картинки берутся из небольшой кучки среди "Общих картинок"? Либо ручной выбор картинки при редактировании элемента, либо автоматом по алгоритму. Т.е. например для бухов одна иконка, для программеров другая, для дворников третья и т.п.
@AndyZaic3 жыл бұрын
Привет всем! Мне показалось, что усложнили решение задачи. Зачем мучаете пользователя лишними вопросами? И модуль усложняется с кучей описаний оповещения. Реквизит СохранитьКартинкуВБазе типа Булево на форму вытащить и пусть галочкой выбирает, надо в базе хранить или в файле оставить. Путь к файлу зачем на форму? Это усложняет ее. В базе конечно его надо сохранять, чтоб при открытии было что показать. Интересно ведь, где он свои веселые картинки хранит :)
@IlyaLeontyev3 жыл бұрын
С галочкой будет хорошо, ага ) Путь чисто для наглядности храним, чтобы видеть, что происходит.
@evgeniyapavlova51472 жыл бұрын
я бы еще хранилище значения "Картинка" очищала, когда пользователь выбирает хранить картинку на компе, только вот не знаю, как это делается (Объект.Картинка = Новый ХранилищеЗначения??). А так получается, старая картинка пожизненно в базе висит, даже если не нужна.
@evgeniyapavlova51472 жыл бұрын
немного погуглив, нашла вот такой способ очищения хранилища значения: &НаСервере Процедура ОчиститьКартинкуВБазе() ЭлементСправочника = РеквизитФормыВЗначение("Объект"); ЭлементСправочника.Картинка = Новый ХранилищеЗначения(Неопределено); ЭлементСправочника.Записать(); ЗначениеВРеквизитФормы(ЭлементСправочника, "Объект"); КонецПроцедуры
@МаксимК-ш2ф2 жыл бұрын
мне кажется, что так попроще выйдет: &НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) Если Объект.ПутьКартинки = "" Тогда АдресКартинки = ПоместитьВоВременноеХранилище(ТекущийОбъект.Картинка.Получить()); Иначе Попытка АдресКартинки = ПоместитьВоВременноеХранилище(Новый Картинка(Объект.ПутьКартинки)); Исключение Сообщение = Новый СообщениеПользователю; Сообщение.Текст = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); Сообщение.Сообщить(); КонецПопытки; КонецЕсли; КонецПроцедуры