Программное добавление файла в 1C

Часто есть необходимость программного добавления файла, например к позиции номенклатуры или справочнику договоров.

В типовых конфигурациях на управляемых формах чаще всего используется Библиотека стандартных подсистем (БСП), а значит для каждого справочника к котрому нужно цеплять файл, создается справочник вида НоменклатураПрисоединенныеФайлы.

Файл добавляется в этот специальный справочник.

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

РаботаСФайламиСлужебный.ЗаписатьФайлВИнформационнуюБазу(НоваяКартинка.Ссылка, ДвоичныеДанные);

Важно не забыть указать значение реквизита ДатаМодификацииУниверсальная, иначе загруженный программно файл потом не открывается.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *