Многострочные поля в текстовом документе
☑
0
AlexYa
21.12.12
✎
02:08
Есть файл CSV, в котором часть полей имеет мягкие переносы (код 0A = Символы.ПС). Записи разделяются 0D 0A = Символы.ВК + Символы.ПС
Excel и Open Calc читают и понимают это на ура.
В 1С пытаюсь загрузить как Текстовый документ:
ФайлTXT = Новый ТекстовыйДокумент;
ФайлTXT.Прочитать(ИмяФайла, Кодировка, "");
ФайлTXT.РазделительСтрок = Символы.ВК+Символы.ПС;
Логика такая. Пустой разделитель в Прочитать запрещает конвертировать все переносы в ПС. Это работает, проверял.
Потом устанавливаю разделитель ВК + ПС.
И ожидаю, что по
Стр = ФайлTXT.ПолучитьСтроку(НомСтроки);
у меня вытянет всё от ВК+ПС до ВК+ПС. И появятся поля с ПС внутри.
Но не тут то было. ПолучитьСтроку понимает конец строки всегда как ПС!
Может кому-то удавалось побороть? Чтобы по ПолучитьСтроку получать многострочные строки?
1
Armando
21.12.12
✎
02:26
Если действительно так, то похоже на косяк платформы.
Покури FileSystemObject и объект TextStream. Может он умеет.
2
AlexYa
14.01.13
✎
14:27
up
3
Armando
14.01.13
✎
15:33
FSO не помог?
4
Torquader
15.01.13
✎
00:55
FileSystemObject работает точно также - то есть завершением строки считается символ ПС, но, если перед ним нет ВК, то возвращается строка с ПС на конце - и можно понять, что за перенос был - подозреваю, что в вашем случае 1С ведёт себя точно также, так как использует похожий объект.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс