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

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

Извлечь текст. Извлекает текст из временного хранилища или из двоичных данных, возвращает статус извлечения.

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

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

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

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

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

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

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

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

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

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

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

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

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

TurboConf 6 - расширение Конфигуратора 1С