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

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

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

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

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

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

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

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

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

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

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

КонецЦикла;

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

КонецФункции
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 6631
 0 
Распечатать
Возможно, вас также заинтересует
COM-подключение к базе 7.7 из 8.2 1С 4
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе="...
Excel файл как Внешний источник данных 4
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто. 1. В конфигурации добавляет новый объект метаданных типа " Внешние источники данных" и назовем его просто " Excel" . ...
Google maps : вывод точек на карту и режим панорамы 2
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С...
Быстрая функция чтения данных с листа Excel 6
При чтении файла Excel я использую вариантный массив. Он позволяет быстро получить ВСЮ таблицу листа в память, а также получать данные массива целыми колонками. Тем самым время на чтение области файла Excel в таблицу...
Внешние источники данных 0
Почему данная возможность вызывает такой интерес? Любой человек, который программировал в 1С при этом достаточно неплохо знаком с SQL и хотя бы в общих чертах знаком с архитектурой и принципами разработки других...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.