Имя: Пароль:
1C
1C 7.7
v7: Файл обмена с Frontol - лишние пробелы в конце строки
0 dv-alex
 
01.08.25
12:10
При формировании файла загрузки данных для кассового ПО Frontol в конце строк записываются лишние пробелы.
Есть обработка, которая формирует файл обмена по формату Атол

Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
....
//например формируется строка, которая в отладчике не имеет пробелов в конце:
СтрЗагрузки="36943;;Треуголка коричневая;Треуголка коричневая;495.00;6.000;0;0,1,1,1,1;0;;;;1;1.000;;8206;1;6;;;;0;1;0;0;200172кч;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;0;;2;;;;;;;;;"
ФайлЗагрузки.ДобавитьСтроку(СтрЗагрузки);
...
КонецЦикла;
ФайлЗагрузки.Записать(КаталогОбмена + ИмяФайлаТоваров);

Открываю файл, нахожу эту строку: в конце дописано 2 пробела, бывает и 4.

Пробелы дописываются в разные строки в зависимости от их количества. Не зависит от номенклатуры.
Например, делаю разные наборы номенклатуры для выгрузки. В одном случае выводится 500 строк в другом 20. Несколько наименований товара содержится в обоих наборах. Пробелы дописываются в разные строки.

В чём может быть проблема? Как лечить?
1 runuts
 
01.08.25
14:22
ФайлЗагрузки.ДобавитьСтроку(СокрЛП(СтрЗагрузки));
2 dv-alex
 
01.08.25
19:54
Это не помогает. Проверял в отладчике. Строка не имеет пробелов в конце.

Как можно посмотреть содержимое текстового объекта ФайлЗагрузки перед записью в файл?
3 Олдж
 
01.08.25
20:31
(2) ФайлЗагрузки.Показать()
4 Злопчинский
 
02.08.25
03:02
Станиславский...
Ставлю на то, что код кривой или выводятся именно те данные, которые и выводятся... Потому что пустая строка и строка из пробелов визуально неразличимы...
5 Franchiser
 
гуру
02.08.25
09:48
(0)
fso=СоздатьОбъект("Scripting.FileSystemObject");                                                          
    file=fso.CreateTextFile(ИмяФайла, -1, 0); //создать файл, перезаписывая существующий.
    file.WriteLine("Строка1");
6 MWWRuza
 
гуру
02.08.25
13:21
(5) Это все прекрасно, но, ИМХО - из пушки по воробьям...

Решение в (1).
Ну не верю я, что строка без пробелов в конце, штатными средствами работы с текстами 1С, запишется в файл "криво", с непонятно откуда взявшимися пробелами...
Чудес не бывает. Правильно Злопчинский в (4) написал - или Вы что-то нам недоговариваете по коду, или просматриваете файл не тем... Смотрите Нотепад++, с показом непечатных символов... Там пробелы "точечками" отображаются, все сразу будет понятно.