Имя: Пароль:
1C
1С v8
УФ, Постоянный адрес для изображений, которые хранятся в базе
,
0 SeiOkami
 
10.11.13
19:55
Здравия всем!

Вопрос, скорее всего, очень глупый, но все же он есть...
Разбираюсь сейчас с выводом изображений в УФ. Как я понял, то необходимо поместить это изображение в временное хранилище, получить ссылку, а её уже поместить в реквизит, который выведен на поле. Мне вот интересно, а нельзя ли каким-нить образом хранить ссылку на изображение как реквизит того же справочника, а потом уже просто по ней выводить на форму. Чтобы не помещать постоянно во временное хранилище картинку. Может кто-нить сказать почему так нельзя, ведь ссылка на элементы справочника, документы и пр. постоянные, так почему так с картинками делать нельзя (или можно)
1 Конфигуратор1с
 
10.11.13
20:01
(0) так потому что хранилище ВРЕМЕННОЕ
2 Конфигуратор1с
 
10.11.13
20:02
(1) ты же картинку хранишь в базе в виде хранилища значений
3 SeiOkami
 
10.11.13
20:03
(1), я не говорю именно о нем. мне интересно как можно вообще реализовать обращение по постоянному адресу напрямую к картинке, а не извлечение её из базу и помещение во временное хранилище
4 SeiOkami
 
10.11.13
20:04
(2), так ведь временное хранилище  ведь тоже хранилище)
5 Конфигуратор1с
 
10.11.13
20:04
(3) Глобальный контекст (Global context)
ПоместитьВоВременноеХранилище (PutToTempStorage)
Синтаксис:

ПоместитьВоВременноеХранилище(<Данные>, <Адрес>)
Параметры:

<Данные> (обязательный)

Тип: Произвольный.
Данные, которые необходимо поместить во временное хранилище.
<Адрес> (необязательный)

Тип: УникальныйИдентификатор; Строка.
Уникальный идентификатор формы, во временное хранилище которой надо поместить данные и вернуть новый адрес. Или адрес во временном хранилище, по которому надо поместить данные. Адрес должен получен ранее с помощью данного метода.
В случае, если передается УникальныйИдентификатор формы или адрес в хранилище, то значение будет автоматически удалено после закрытия этой формы.
Если передан УникальныйИдентификатор, не являющийся уникальным идентификатором формы, то значение будет удалено после завершения сеанса пользователя.
Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.
6 Armando
 
10.11.13
20:04
У меня картинка хранится в реквизите справочника и навигационная ссылка в другом реквизите хранится.
7 Конфигуратор1с
 
10.11.13
20:04
(5) +итак, максимальный срок жизни данных в хранилище - сеанс пользователя.
8 SeiOkami
 
10.11.13
20:06
(7), я спрашиваю ведь не о временном хранилище...
9 SeiOkami
 
10.11.13
20:06
(6), это работает?
10 SeiOkami
 
10.11.13
21:24
вверх
11 Armando
 
10.11.13
21:30
(9) а как ты думаешь?
12 SeiOkami
 
10.11.13
21:32
(11), не знаю, поэтому спрашиваю
13 К_Дач
 
10.11.13
22:27
(12) зайди в профиль GROOVY на инфостарте, у него есть статья, как отображать картинки на УФ
14 Armando
 
10.11.13
22:29
(12) Конечно работает. Я бы не стал писать, если это не работает.
15 SeiOkami
 
11.11.13
20:26
(14), а как получал постоянную ссылку? пример, пожалуйста, напиши
16 SeiOkami
 
11.11.13
21:14
вверх
17 SeiOkami
 
12.11.13
19:52
хэлп!
18 SeiOkami
 
12.11.13
20:53
ап
19 Armando
 
13.11.13
01:16
(15) ПолучитьНавигационнуюСсылку вроде так
20 SeiOkami
 
20.11.13
22:51
Не было времени проверить, но наконец руки дошли.
Спасибо, Armando! Я уж думал, что никак нельзя реализовать, однако...
В общем получить постоянную ссылку на картинку можно так:

ПолучитьНавигационнуюСсылку(СсылкаНаЭлементСправочника, "ИмяРеквизитаХранилищаЗначений");

Я эту ссылку перед записью справочника "Изображения" помещаю в специально созданный реквизит "НавигационнаяСсылка" (строка). А на форме, где нужно вывести картинку, просто создаю поле картинки с привязкой к реквизиту "НавигационнаяСсылка". В результате - вывод картинки происходит без какого-либо кода.

Только не понятно... Зачем тогда в типовых используется программное помещение во временное хранилище? Смысл ведь должен быть...
21 hhhh
 
20.11.13
23:10
ну, походу для передачи с сервера на клиент
22 SeiOkami
 
20.11.13
23:16
(21), зачем, если платформа это делает сама?
23 zakidonoff
 
21.11.13
00:01
(22) Для универсальности. На карточку ведь может быть несколько картинок. И тогда разные картинки одной карточки будут занесены в хранилище по разным принципам - неудобно потом обрабатывать. Придётся отдельно писать запросы для того чтобы вытащить основные картинки и для того, чтобы вытащить остальные.
24 SeiOkami
 
21.11.13
00:09
(22), суть как раз в том, что разные картинки - это разные элементы справочника Файлы. Если в нем сделать реквизит с постоянным адресом, то никаких махинаций с временным хранилищем вообще не нужно делать. В принципе, вообще кодом делаться ничего не будет
25 SeiOkami
 
21.11.13
00:09
(24) к (23)
26 zakidonoff
 
21.11.13
00:17
(25) А как сделать две картинки на один элемент справочника?
27 SeiOkami
 
21.11.13
08:57
(26), у элемента справочника "Файлы" есть реквизит "Владелец" - это, например, справочник "Номенклатура". В общем, все стандартно кроме махинаций с временным хранилищем.