Имя: Пароль:
1C
1С v8
Хранилище значений
0 Начинающий_13
 
14.07.14
17:35
Здравствуйте
Что не так. Как загрузить данные из временного хранилища и создать элемент справочника. Данные в хранилище есть. загружаются в элемент, но картика не отображается
ДанныеХЗ (ХранилищеЗначений)Элемента справочника
ДанныеАдрес (Строка)Адрес сохранения

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

КонецПроцедуры

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