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