ИзвлечьТекстВерсии (БСП)

Автор: 1С
ОбщийМодуль.РаботаСФайламиСлужебныйКлиент
БСП

Извлечь текст версии. Извлекает текст из файла на диске на клиенте и помещает результат на сервер.

// Извлекает текст из файла на диске на клиенте и помещает результат на сервер.
Процедура ИзвлечьТекстВерсии(ФайлИлиВерсияФайла,
                             АдресФайла,
                             Расширение,
                             УникальныйИдентификатор,
                             Кодировка = Неопределено) Экспорт

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

КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ИзвлечьТекстИзФайлаНаДиске (БСП)

ИзвлечьТекстOpenDocument (БСП)

ИзвлечьТекстИзФайлов (БСП)

ИзвлечьТекстИзТекстовогоФайла (БСП)

ИзвлечьТекстИзHTML (БСП)

ИзвлечьТекстИзФайловНаСервере (БСП)

ИзвлечьТекст (БСП)

ТекстЗапросаДляИзвлеченияТекста (БСП)

ИзвлечьСообщениеБлокировки (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз