Имя: Пароль:
1C
1С v8
v8: Работа с хранилищем значения в управляемом интерфейсе
0 lxs
 
04.05.13
13:00
Всем привет.

Небольшой ликбез wanted)
Проблема.

Управляемый интерфейс.
У документа есть табличная часть с реквизитом (тип ХранилищеЗначения)
Как поместить туда данные и изъять?

Методы, функции?
1 Wobland
 
04.05.13
13:11
да что такое? закон парных случаев
v8: вопрос по выводу картинки
2 lxs
 
04.05.13
13:21
Имею такую конструкцию для web-клиента.

&НаКлиенте
proc()

Перем ВыбранноеИмя;
Перем АдресВременногоХранилища;
   
Если ПоместитьФайл(АдресВременногоХранилища,ВыбранноеИмя, ВыбранноеИмя, Истина,    УникальныйИдентификатор) Тогда
   ПоместитьФайлВХранилище(АдресВременногоХранилища, ВыбранноеИмя);
КонецЕсли;


Но это работа с временным.
Процедура ПоместитьФайлВХранилище выполняется на сервере.
Но там реквизит с типом ХЗ не доступен.

По ссылке смотрел, по ходу концепцию не догнал.
3 Wobland
 
04.05.13
13:27
(2) основная концепция изложена в постах 6, 8 и 34
4 Wobland
 
04.05.13
13:30
кусок модуля формы элемента справочника

&НаКлиенте
Процедура Загрузить(Команда)
   Перем Адрес;
   
   Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   Диалог.МножественныйВыбор=Ложь;
   Диалог.Фильтр=ПолучитьФильтрИзображений();
   Если Диалог.Выбрать() Тогда
       ПоместитьФайл(Адрес, Диалог.ПолноеИмяФайла, , Ложь, УникальныйИдентификатор);
       АдресКартинки=Адрес;
       Если ПустаяСтрока(Объект.Наименование) Тогда
           ф=Новый Файл(Диалог.ПолноеИмяФайла);
           Объект.Наименование=ф.ИмяБезРасширения;
       КонецЕсли;
       Модифицированность=Истина;
   КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Сохранить(Команда)
   Диалог=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
   Диалог.Фильтр=ПолучитьФильтрИзображений();
   Если Диалог.Выбрать() Тогда
       ТекущаяКартинка=Новый Картинка(ПолучитьИзВременногоХранилища(АдресКартинки));
       ТекущаяКартинка.Записать(Диалог.ПолноеИмяФайла);
   КонецЕсли;
КонецПроцедуры
5 Wobland
 
04.05.13
13:30
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
   Если ЭтоАдресВременногоХранилища(АдресКартинки) Тогда
       ТекущийОбъект.Фото=Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресКартинки));
   КонецЕсли;
КонецПроцедуры
6 lxs
 
04.05.13
13:45
Все, догнал как сделать иначе.

Вариант с доп. справочником уже был реализован.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой