Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 13:35

Запись из 1С в txt. Как удалить пустую строку?

Автор roofless, 02 апр 2015, 09:04

0 Пользователей и 1 гость просматривают эту тему.

roofless

Записываю в файл примерно таким образом:
Файл = Новый ТекстовыйДокумент();

Файл.ДобавитьСтроку("##@@&&");
Файл.ДобавитьСтроку("#");
Файл.ДобавитьСтроку("$$$DELETEALLWARES");
Файл.ДобавитьСтроку("$$$DELETEALLBARCODES");
Файл.ДобавитьСтроку("$$$DELETEALLASPECTREMAINS");

Для Каждого Товар Из Товары Цикл
Строка = ...
Файл.ДобавитьСтроку(Строка);
КонецЦикла;

Файл.Записать(Параметры.БазаТоваров, КодировкаТекста.ANSI); //записываем в указанный путь в указанной кодировке


После записи в файле последняя строчка пустая. Пример см во вложении
При загрузке из файла программа фронтофиса ругается именно на пустую строчку. Как её удалить?
УдалитьСтроку() не предлагать

k_aleks80

Правильно я понимаю, что если ручками в txt файле удалить пустую строку, тогда загрузка во фронтофис проходит успешно?

Цитата: roofless от 02 апр 2015, 09:04

...
Строка = ...
...


Мое мнение - беда где-то здесь ...

roofless

Цитата: k_aleks80 от 02 апр 2015, 09:37
Правильно я понимаю, что если ручками в txt файле удалить пустую строку, тогда загрузка во фронтофис проходит успешно?

Цитата: roofless от 02 апр 2015, 09:04

...
Строка = ...
...


Мое мнение - беда где-то здесь ...

да, успешно.

пустую строку я не добавляю. моё мнение, что после ДобавитьСтроку() 1с автоматически переводит каретку на следующую строчку

k_aleks80

А в коде: Файл.КоличествоСтрок() - что дает?
Добавлено: 02 апр 2015, 10:20


В СП: смотри 3-й параметр метода Записать() ТекстовогоДокумента

LexaK

вот попробуйте такой код, у меня получилось, последней, пустой строки нет

Файл = Новый ТекстовыйДокумент();

Файл.ДобавитьСтроку("##@@&&");
Файл.ДобавитьСтроку("#");
Файл.ДобавитьСтроку("$$$DELETEALLWARES");
Файл.ДобавитьСтроку("$$$DELETEALLBARCODES");
Файл.ДобавитьСтроку("$$$DELETEALLASPECTREMAINS");

Для Каждого Товар Из Товары Цикл
Строка = ...
Файл.ДобавитьСтроку(Строка);
КонецЦикла;

//удаление последнего символа Перевода строки
Файл.УстановитьТекст(СтрЗаменить(Файл.ПолучитьТекст()+"~Ё",Символы.ПС+"~Ё",""));

Файл.Записать(Параметры.БазаТоваров, КодировкаТекста.ANSI); //записываем в указанный путь в указанной кодировке

если помогло нажмите: Спасибо!

roofless

Цитата: LexaK от 02 апр 2015, 10:21
вот попробуйте такой код, у меня получилось, последней, пустой строки нет

Файл = Новый ТекстовыйДокумент();

Файл.ДобавитьСтроку("##@@&&");
Файл.ДобавитьСтроку("#");
Файл.ДобавитьСтроку("$$$DELETEALLWARES");
Файл.ДобавитьСтроку("$$$DELETEALLBARCODES");
Файл.ДобавитьСтроку("$$$DELETEALLASPECTREMAINS");

Для Каждого Товар Из Товары Цикл
Строка = ...
Файл.ДобавитьСтроку(Строка);
КонецЦикла;

//удаление последнего символа Перевода строки
Файл.УстановитьТекст(СтрЗаменить(Файл.ПолучитьТекст()+"~Ё",Символы.ПС+"~Ё",""));

Файл.Записать(Параметры.БазаТоваров, КодировкаТекста.ANSI); //записываем в указанный путь в указанной кодировке



супер, спасибо!

LexaK

еще вариант
с помощью этого метода можно настроить удаление пустых строк внутри текстового файла

//удаление последнего символа Перевода строки
Файл.УстановитьТекст(СтрЗаменить(Файл.ПолучитьТекст(),Символы.ПС+Символы.ПС,Символы.ПС));


еще вариант удаления последнего символа ПС

лкТекст = Файл.ПолучитьТекст();
Файл.УстановитьТекст(Лев(лкТекст,СтрДлина(лкТекст)-1));
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск