Работа с CSV. Чтение файла CSV опционально (средствами 1С) в ТЗ в 1С 8.3



&НаСервере

Функция ПрочитатьCSVвТЗ(ИмяФайла, ИспользуемыйРазделитель=";", ЗаголовкиИзПервойСтроки = Ложь)



Текст = Новый ЧтениеТекста(ИмяФайла);

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



// Создадим колонки

ТекСтрока = Текст.ПрочитатьСтроку();

Если ТекСтрока <> Неопределено Тогда

МассивCSV = СтрРазделить(ТекСтрока, ИспользуемыйРазделитель);

ИндексКолонки = 0;

Для Каждого ИмяКолонки Из МассивCSV Цикл

ИмяКолонки = ?(ЗаголовкиИзПервойСтроки, "Кол"+ИндексКолонки, ИмяКолонки);

ТЗ.Колонки.Добавить(ИмяКолонки);

ИндексКолонки = ИндексКолонки + 1;

КонецЦикла;

Если ЗаголовкиИзПервойСтроки Тогда

ТекСтрока = Текст.ПрочитатьСтроку();

КонецЕсли;

КонецЕсли;



Пока ТекСтрока <> Неопределено Цикл // строки читаются до символа перевода строки

НоваяСтрока = ТЗ.Добавить();



МассивCSV = СтрРазделить(ТекСтрока, ИспользуемыйРазделитель);

ИндексКолонки = 0;

Для Каждого СтрокаНом Из МассивCSV Цикл

НоваяСтрока[ИндексКолонки] = СтрокаНом;

ИндексКолонки = ИндексКолонки + 1;

КонецЦикла;



ТекСтрока = Текст.ПрочитатьСтроку();

КонецЦикла;



Возврат ТЗ;



КонецФункции






✍️ @odin1C_rus