Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:10

1С:Документооборот. Загрузка файла в карточку документа

Автор iPahan, 21 мая 2016, 17:34

0 Пользователей и 1 гость просматривают эту тему.

iPahan

Конфигурация 1С:Документооборот.

Есть обработка, которая загружает файлы с ПК в карточку документа. Загрузка происходит напрямик в БД.


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

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


Эта штука хороша, когда файлы хранятся в базе.
Как мне переписать эту обработку, если файлы хранятся не в базе, а в томах на диске?

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск