Добавить файл диска. Добавляет новый файл из файловой системы.
// Добавляет новый файл из файловой системы.
// Если справочник файлов поддерживает хранение версий, то будет создана первая версия файла.
//
// Параметры:
// ВладелецФайлов - ОпределяемыйТип.ВладелецПрисоединенныхФайлов - папка файлов или объект, к которому
// требуется прикрепить добавляемый файл.
// ПутьКФайлуНаДиске - Строка - полный путь к файлу на диске, включающий имя и расширение файла.
// Файл должен находиться на сервере.
//
// Возвращаемое значение:
// ОпределяемыйТип.ПрисоединенныйФайл - ссылка на элемент справочника с созданным файлом.
//
Функция ДобавитьФайлСДиска(ВладелецФайлов, ПутьКФайлуНаДиске) Экспорт
Если Не ЗначениеЗаполнено(ВладелецФайлов) Тогда
ВызватьИсключение НСтр("ru = 'Не задано значение параметра ВладелецФайлов в РаботаСФайлами.ДобавитьФайлСДиска.'");
КонецЕсли;
Файл = Новый Файл(ПутьКФайлуНаДиске);
ДвоичныеДанные = Новый ДвоичныеДанные(ПутьКФайлуНаДиске);
АдресВременногоХранилищаФайла = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
АдресВременногоХранилищаТекста = "";
Если РаботаСФайламиСлужебный.ИзвлекатьТекстыФайловНаСервере() Тогда
// Текст извлечет регламентное задание.
АдресВременногоХранилищаТекста = "";
Иначе
// Попытка извлечения текста, если сервер под Windows.
Если ОбщегоНазначения.ЭтоWindowsСервер() Тогда
Текст = РаботаСФайламиСлужебный.ИзвлечьТекстИзФайлаНаДиске(ПутьКФайлуНаДиске);
АдресВременногоХранилищаТекста = Новый ХранилищеЗначения(Текст);
КонецЕсли;
КонецЕсли;
СведенияОФайле = РаботаСФайламиКлиентСервер.СведенияОФайле("ФайлСВерсией", Файл);
СведенияОФайле.АдресВременногоХранилищаФайла = АдресВременногоХранилищаФайла;
СведенияОФайле.АдресВременногоХранилищаТекста = АдресВременногоХранилищаТекста;
Возврат РаботаСФайламиСлужебныйВызовСервера.СоздатьФайлСВерсией(ВладелецФайлов, СведенияОФайле);
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ДобавитьИзФайловойСистемыСРасширением (БСП)
ДобавитьИзФайловойСистемыСРасширениемСинхронно (БСП)
ИзвлечьТекстИзФайлаНаДиске (БСП)
ПереименоватьФайлВерсииНаДиске (БСП)
ОбновитьИзФайлаНаДискеСОповещением (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)