helpf.pro
Регистрация
 0 
Распечатать

Как преобразовать данные текстового файла с единым разделителем в ТЗ

Код 1C v 8.2 УП
 &НаСервере
//Текст - содержание текстового файла
//Разделитель - символ разделителя
//ЕстьЗакрывающийСимвол - последнее значение заканчивается разделителем
Функция ПреобразоватьТекстВТЗ(Текст,Разделитель,ЕстьЗакрывающийСимвол)
	
	ТаблицаЗначений = Новый ТаблицаЗначений;
	
	МаксимальноеКвоРазделителей = 0;
	Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл
		Стр = Текст.ПолучитьСтроку(НомерСтроки);
		КвоРазделителей = СтрЧислоВхождений(Стр,Разделитель);
		Если  КвоРазделителей > МаксимальноеКвоРазделителей Тогда
	          МаксимальноеКвоРазделителей = КвоРазделителей;
		КонецЕсли;	  
	КонецЦикла;	
	
	КвоКолонок = ?(ЕстьЗакрывающийСимвол = Истина,МаксимальноеКвоРазделителей,МаксимальноеКвоРазделителей+1);
	Ном = 0;
	Пока Ном < КвоКолонок Цикл
		 Ном = Ном+1;
		 ИмяКолонки = "Колонка"+Ном;
		 ТаблицаЗначений.Колонки.Добавить(ИмяКолонки);
	КонецЦикла;
	
	Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл
		
		Стр = Текст.ПолучитьСтроку(НомерСтроки);
		НоваяСтрока = ТаблицаЗначений.Добавить();
		
		Ном = 0;
		Пока Найти(Стр,Разделитель) > 0 Цикл
			Ном = Ном+1;
			ПозицияРазделителя = Найти(Стр,Разделитель);
			//получим значение
			ТекЗначение = ЛЕВ(Стр,ПозицияРазделителя - 1);
			Стр = Прав(Стр,СтрДлина(Стр) - ПозицияРазделителя);
			
			//теперь запишем значения
			ИмяКолонки = "Колонка"+Ном;
			НоваяСтрока[ИмяКолонки] = ТекЗначение;
		КонецЦикла;
		
		Если ЕстьЗакрывающийСимвол = Ложь Тогда
			ИмяКолонки = "Колонка"+(Ном+1);
			НоваяСтрока[ИмяКолонки] = Стр;
		КонецЕсли;
		
	КонецЦикла;
	
	Возврат  ТаблицаЗначений;
	
КонецФункции
   
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 15205
 0 
Распечатать
Возможно, вас также заинтересует
Выгрузка / Загрузка данных посредством текстовых (TXT) файлов 5
Для работы с текстовыми документами существуют три типа данных – ТекстовыйДокумент, ЗаписьТекста и ЧтениеТекста . Разница двух подходов состоит в способе загрузки документа: ТекстовыйДокумент загружает файл целиком и далее построчно обрабатывает е
Импорт в 1С из текстовых файлов (TXT, CSV) 7
Не редко возникает необходимость загрузить в справочники или документы 1С данные из текстового файла. Приведенный пример внешней обработки позволит преобразовать текстовый файл с известным разделителем данных в поле табличного документа для последующ
Импорт/экспорт CSV в ТЗ 7
//ПреобразоватьТекстCSVвТЗ () импортирует данные в ТЗ из текста формата CSV //Параметры: //ТекстCSV - Строка, содержащая текст в формате csv //Разделитель - Для формата CSV разделителем является ,, но т.к. // Excel берет разделитель и
Как мы писали парсер сайта с ценами для 1С 1
Недавно, мой постоянный клиент решил проводить маркетинговые исследования по изменению цен на товары у конкурентов... и эти данные захотел использовать в 1С в связке с его прайс-листом + куча отчетов с графиками и процентным отклонением от цен основ
Как ПолучитьНавигационнуюСсылку() в Управляемом приложении и на Web-клиенте 7
Вариант 1: ОкноКлиентскогоПриложения (ClientApplicationWindow) ПолучитьНавигационнуюСсылку (GetURL) Синтаксис: ПолучитьНавигационнуюСсылку() Возвращаемое значение: Тип: Строка. Описание: Получает навигационную ссылку в формате 1С:Предприятия
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!