K
K
Kastuś2021-05-13 22:55:10
1C
Kastuś, 2021-05-13 22:55:10

Add a picture to the nomenclature?

1C 8.3 UT11.4
The picture disappears somewhere
609d83e497675464268438.png

Added in general all the fields that are possible

&НаСервере
Процедура ЗагрузитьКартинкуНаСервере(Код1С)
    Номенклатура = Справочники.Номенклатура.НайтиПоКоду(Код1С);		
    ДвоичныеДанные =  Новый ДвоичныеДанные("C:\test\650.jpeg"); //Получаю картинку все ОК, размер есть

    ТекДата = ТекущаяДата();		

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

    ПрисоединенныйФайл.Наименование = "650"; 
    ПрисоединенныйФайл.Расширение = "jpeg";
    ПрисоединенныйФайл.Размер = ДвоичныеДанные.Размер();

    ПрисоединенныйФайл.Редактирует = ТекДата;	

    ПрисоединенныйФайл.Изменил = Пользователи.ТекущийПользователь();

    
    ПрисоединенныйФайл.СтатусИзвлеченияТекста = Перечисления.СтатусыИзвлеченияТекстаФайлов.НеИзвлечен;
      
    Попытка	
      ПрисоединенныйФайл.Записать(); 			
    Исключение
      Сообщить("При добавлении файла C:\test\650.jpeg произошла ошибка "+ОписаниеОшибки());
      Возврат;
    КонецПопытки;

    ДвоичныеДанные.Записать("C:\test\res_image.jpeg"); //Тут все сохраняет красиво в файл обратно
  
КонецПроцедуры


Please tell me what can be?
Everything seems to have been created, tied to the nomenclature, but there is no image.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
A
Anton Anton, 2021-05-13
@Gytim

https://its.1c.ru/db/bsp302doc#content:3562:hdoc

K
Kastuś, 2021-05-14
@Gytim

As a result, it turned out for me
Filename - String, File name without type
BinaryData - this is my file
Nomenclature - Directories.Nomenclature.FindByCode (Code1C)

//кусочек начало...
    НоменклатураОбъект = Номенклатура.ПолучитьОбъект();

    ПараметрыФайла = Новый Структура();
    ПараметрыФайла.Вставить("Автор", Пользователи.ТекущийПользователь());
    ПараметрыФайла.Вставить("ВладелецФайлов", НоменклатураОбъект.Ссылка);
    ПараметрыФайла.Вставить("ИмяБезРасширения", ИмяФайла);
    ПараметрыФайла.Вставить("РасширениеБезТочки", "jpeg");
    ПараметрыФайла.Вставить("ВремяИзмененияУниверсальное", ТекущаяДата());

    ПараметрыФайла.Вставить("Служебный", Ложь);	

    АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
    ПрисоединенныйФайл = РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, АдресВременногоХранилищаФайла, "", "", Неопределено);
  
    НоменклатураОбъект.ФайлКартинки = ПрисоединенныйФайл;
    
    НоменклатураОбъект.Записать();

//...кусочек конец

I also add to the product card

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question