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

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

Код 1C v 8.2 УП
 &НаСервере
//Текст - содержание текстового файла
//Разделитель - символ разделителя
//ЕстьЗакрывающийСимвол - последнее значение заканчивается разделителем
Функция ПреобразоватьТекстВТЗ(Текст,Разделитель,ЕстьЗакрывающийСимвол)

ТаблицаЗначений = Новый ТаблицаЗначений;

МаксимальноеКвоРазделителей = 0;
Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл
Стр = Текст.ПолучитьСтроку(НомерСтроки);
КвоРазделителей = СтрЧислоВхождений(Стр,Разделитель);
Если КвоРазделителей > МаксимальноеКвоРазделителей Тогда
МаксимальноеКвоРазделителей = КвоРазделителей;
КонецЕсли;
КонецЦикла;

КвоКолонок = ?(ЕстьЗакрывающийСимвол = Истина,МаксимальноеКвоРазделителей,МаксимальноеКвоРазделителей+1);
Ном = 0;
Пока Ном < КвоКолонок Цикл
Ном = Ном+1;
ИмяКолонки = "Колонка"+Ном;
ТаблицаЗначений.Колонки.Добавить(ИмяКолонки);
КонецЦикла;

Для НомерСтроки=1 по Текст.КоличествоСтрок() Цикл

Стр = Текст.ПолучитьСтроку(НомерСтроки);
НоваяСтрока = ТаблицаЗначений.Добавить();

Ном = 0;
Пока Найти(Стр,Разделитель) > 0 Цикл
Ном = Ном+1;
ПозицияРазделителя = Найти(Стр,Разделитель);
//получим значение
ТекЗначение = ЛЕВ(Стр,ПозицияРазделителя - 1);
Стр = Прав(Стр,СтрДлина(Стр) - ПозицияРазделителя);

//теперь запишем значения
ИмяКолонки = "Колонка"+Ном;
НоваяСтрока[ИмяКолонки] = ТекЗначение;
КонецЦикла;

Если ЕстьЗакрывающийСимвол = Ложь Тогда
ИмяКолонки = "Колонка"+(Ном+1);
НоваяСтрока[ИмяКолонки] = Стр;
КонецЕсли;

КонецЦикла;

Возврат ТаблицаЗначений;

КонецФункции
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 4512
 0 
Распечатать
Возможно, вас также заинтересует
Импорт в 1С из текстовых файлов (TXT, CSV) 3
Не редко возникает необходимость загрузить в справочники или документы 1С данные из текстового файла. Приведенный пример внешней обработки позволит преобразовать текстовый файл с известным разделителем данных в...
Как мы писали парсер сайта с ценами для 1С 1
Недавно, мой постоянный клиент решил проводить маркетинговые исследования по изменению цен на товары у конкурентов... и эти данные захотел использовать в 1С в связке с его прайс-листом + куча отчетов с графиками и...
Как ПолучитьНавигационнуюСсылку() в Управляемом приложении и на Web-клиенте 0
Вариант 1: ОкноКлиентскогоПриложения (ClientApplicationWindow) ПолучитьНавигационнуюСсылку (GetURL) Синтаксис: ПолучитьНавигационнуюСсылку() Возвращаемое значение: Тип: Строка. Описание: Получает навигационную ссылку в...
Как преобразовать данные текстового файла с единым разделителем в ТЗ 0
НаСервере //Текст - содержание текстового файла //Разделитель - символ разделителя //ЕстьЗакрывающийСимвол - последнее значение заканчивается разделителем Функция...
Чтение и Вывод данных в Excel 0
Замечание: В Excel разделителем дробной части считается символ " ," . Поэтому перед сохранением таблицы 1С в формате Excel замените в ней другой разделитель (например " ." ) на " ," . Иначе в Excel с этими числами не удастся...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.