|   |   | 
| 
 | УФ: Засунуть / вынуть файл .xml в реквизит типа ХранилищеЗначения справочника | ☑ | ||
|---|---|---|---|---|
| 0
    
        bvb 17.12.19✎ 13:23 | 
        Чего то нет могу разобраться как правильно сделать
 реквизит типа ХранилищеЗначения недоступен в данных формы и как в него сувать Новый ДвоичныеДанные(ПутьКФайлуXML) если это вообще новый элемент справочника ? | |||
| 1
    
        palsergeich 17.12.19✎ 13:25 | 
        (0) РеквизитФормыВЗначение
 и ЗначениеВРеквизитФормы | |||
| 2
    
        palsergeich 17.12.19✎ 13:27 | 
        Как то так
 Спробъект = РеквизитФормыВЗначение("объект"); Спробъект.имяРеквизитаХранилищеЗначений = ХранилищеЗначений; ЗначениеВРеквизитФормы(Спробъект, "объект"); | |||
| 3
    
        dka80 17.12.19✎ 13:30 | 
        МояКартинка = Новый Картинка("C:\Мои документы\Картинка1.bmp");
 ХранилищеКартинки = Новый ХранилищеЗначения(МояКартинка); НовНоменклатура = Справочники.Номенклатура.СоздатьЭлемент(); НовНоменклатура.Наименование = "Диван ""Маргарита"""; НовНоменклатура.Изображение = ХранилищеКартинки; НовНоменклатура.Записать(); из СП | |||
| 4
    
        RomaH naïve 17.12.19✎ 13:34 | 
        ... ща начоветуют
 &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.ИсторияБолезни = Новый ХранилищеЗначения(ИсторияБолезни); КонецПроцедуры | |||
| 5
    
        palsergeich 17.12.19✎ 13:39 | 
        (4) а кто сказал что надо перед записью?     | |||
| 6
    
        RomaH naïve 17.12.19✎ 13:43 | 
        (5)а когда?     | |||
| 7
    
        bvb 17.12.19✎ 13:49 | 
        (3) Я в форме элемента.
 Читаю файл в новом или существующем элементе . Визуализирую его. Затем нужно сохранить в реквизит существующего элемента справочника (4) Это для нового. А для существующего ? | |||
| 8
    
        RomaH naïve 17.12.19✎ 13:50 | 
        (6) так пофиг     | |||
| 9
    
        RomaH naïve 17.12.19✎ 13:50 | 
        (7) - так пофиг - если в форме элемента в который записываешь     | |||
| 10
    
        bvb 17.12.19✎ 13:51 | 
        (8) В смысле всегда перед записью ?
 А читать его когда для визуализации приОткрытии или присозданииНаСервере ? | |||
| 11
    
        RomaH naïve 17.12.19✎ 13:52 | 
        (10) при чтении 
 при создании - оно выполняется и для новых - а там в хранилище еще ничего нет | |||
| 12
    
        bvb 17.12.19✎ 13:53 | 
        Меня вообще терзают смутные сомнения : а уместно ли использовать ХЗ в УФ ?     | |||
| 13
    
        RomaH naïve 17.12.19✎ 13:54 | 
        (12) а альтернатива?     | |||
| 14
    
        RomanYS 17.12.19✎ 13:55 | 
        (12) Как-будто есть какая-нибудь альтернатива...     | |||
| 15
    
        RomaH naïve 17.12.19✎ 13:56 | 
        (12) и как бы ХЗ - к УФ (интерфейсу) не имеет отношения - это способ хранения информации     | |||
| 16
    
        RomaH naïve 17.12.19✎ 13:57 | 
        (12) но мысль правильная - используй БСП и прикрепленные файлы
 можно в любой момент из ХЗ свалить на хранение в каталоге | |||
| 17
    
        bvb 17.12.19✎ 13:58 | 
        (11)При чтении на сервере ?     | |||
| 18
    
        RomaH naïve 17.12.19✎ 13:58 | 
        +(16) но в ХЗ надо тогда хранить именно двоичные
 у меня там, например, зачастую просто текст/текстовый документ | |||
| 19
    
        Радим1987 17.12.19✎ 14:02 | 
        Вот пример
  
 | |||
| 20
    
        RomaH naïve 17.12.19✎ 14:05 | 
        (19) - если не секрет - это что? ... вижу что СКД - прикладной смысл какой?     | |||
| 21
    
        bvb 17.12.19✎ 14:05 | 
        (4) А Как передать в ПередЗаписьюНаСервере двоичные данные.
 Через реквизит формы ? ПутьКФайлуXML на недоступен &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.ФайлПоставщика = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ПутьКФайлуXML)); КонецПроцедуры | |||
| 22
    
        RomaH naïve 17.12.19✎ 14:07 | 
        (21) ... ВременноеХранилище
 понеслась... | |||
| 23
    
        Радим1987 17.12.19✎ 14:09 | 
        (20) Это справочник настройка загрузки файлов Excel где отборы строк (какие строки грузить) устанавливается в режиме 1с предприятия     | |||
| 24
    
        RomaH naïve 17.12.19✎ 14:11 | 
        адрес хранилища - реквизит формы
 перед записью - помещаешь файл во временное перед записью на сервере - получаешь из временного а какова логика? ПутьКФайлуXML - это выбор на клиенте готового файла а вот при открытии уже записаного элемента - файл - это где? | |||
| 25
    
        Радим1987 17.12.19✎ 14:11 | 
        (20) Я храню настройки компоновщика (всякие отборы) в этом справочнике в хранилище значений     | |||
| 26
    
        bvb 17.12.19✎ 14:27 | 
        (22) Осилил
 &НаКлиенте АдресДвоичныхДанных = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКФайлуXML), Новый УникальныйИдентификатор); &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.ФайлПоставщика = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресДвоичныхДанных)); КонецПроцедуры | |||
| 27
    
        bvb 17.12.19✎ 15:17 | 
        При открытии формы
 &НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) ИмяФайла = ПолучитьИмяВременногоФайла(".xml"); //Временный файл у нас на сервере ДД = Объект.Ссылка.ФайлПоставщика.Получить(); Если ТипЗнч(ДД) = Тип("ДвоичныеДанные") Тогда ДД.Записать(ИмяФайла); ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ИмяФайла); //И понеслась... ПрочитатьФайлПоставщикаXML(ЧтениеXMLя); КонецЕсли; КонецПроцедуры | |||
| 28
    
        RomaH naïve 17.12.19✎ 15:25 | 
        (27)
 посмотри в сторону ДвоичныеДанные.ОткрытьПотокДляЧтения (временный файл не нужен) Объект.Ссылка. ну ё-моё ... ТекущийОбъект Ссылка - тут зачем? | |||
| 29
    
        bvb 17.12.19✎ 15:48 | 
        (28) Спасибо Исправился :
 &НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) ИмяФайла = ПолучитьИмяВременногоФайла(".xml"); //Временный файл у нас на сервере ДвоичныеДанные = ТекущийОбъект.ФайлПоставщика.Получить(); Если ТипЗнч(ДвоичныеДанные) = Тип("ДвоичныеДанные") Тогда ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьПоток(ДвоичныеДанные.ОткрытьПотокДляЧтения()); ПрочитатьФайлПоставщикаXML(ЧтениеXML); | |||
| 30
    
        bvb 17.12.19✎ 15:50 | 
        Можно вопрос не по топику ?
 Файл здоровый и при открытии элемента спр происходит подвисание Как отобразить длительную операцию ? Строка состояния то недоступна | |||
| 31
    
        Радим1987 17.12.19✎ 15:55 | 
        (30) Никак     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |