Имя: Пароль:
1C
 
FTPФайл Имя/ИмяБезРасширения обрезает имя после @
,
0 Aleksey
 
03.10.18
09:23
С удивлением для себя обнаружил что свойство Имя и ИмяБезРасширения не возвращает имя после собачки.

К примеру у меня на фтп есть папка [email protected]
При этом свойство ПолноеИмя возвращает правильный путь
"/Папка/[email protected]"

А свойство имя только ту часть что до @ т.е.

e-mail

Свойство Расширение - возвращает пустую строк

проверено на 8.3.12.1469 и на 8.3.13.1549

Это баг и неправильное поведение программы или тайная фича? И какие еще сюрприщы с именем можно ожидать?
1 Aleksey
 
03.10.18
13:22
Так что идей нет?
2 Cool_Profi
 
03.10.18
13:26
3 Aleksey
 
03.10.18
13:43
Это все понятно, но к сабжу не относиться
4 Cool_Profi
 
03.10.18
13:49
(3) как раз относится... Собака это служебный символ...
5 Aleksey
 
03.10.18
13:53
(4) тогда почему я эту собаку могу использовать при создании каталога на ФТП?
6 Cool_Profi
 
03.10.18
13:54
(5) Скорее всего - это особенности конкретного сервера
7 Aleksey
 
03.10.18
13:58
Я понимаю что через собаку идет авторизация, но вот какого рожна

ФТП.НайтиФайлы("/Папка/[email protected]","*",Ложь);
выпадает в ошибку
Ошибка при вызове метода контекста (НайтиФайлы): Ошибка аутентификации при доступе к ресурсу:  ftp://... Access denied to remote resource

Т.е. как бы может оно и служебный, но если мне попался ФТП с такими папками, то что получается, что 1с с таким работать не умеет? Т..е любой фтп клиент умеет и нормально считывает и скачивает данные с такого ФТП, а 1С что? Всё еще сырая?
8 Cool_Profi
 
03.10.18
14:01
(7) Ну смотри. В фтп собака означает пользователь@пароль.
А ты ему в другом месте суёшь его. Поэтому и ловишь "Ошибка аутентификации при доступе к ресурсу"
то есть по твоей ссылке ты пытаешься представиться серверу как пользователь "/Папка/e-mail" с паролём "mail.ru"
А я сильно сомневаюсь, что у него такой пользователь есть.
9 Aleksey
 
03.10.18
14:03
(8) FTPСоединение (FTPConnection)
НайтиФайлы (FindFiles)
Синтаксис:

НайтиФайлы(<Путь>, <Маска>, <ИскатьВПодкаталогах>)
Параметры:

<Путь> (обязательный)

Тип: Строка.
Путь к каталогу, в котором производится поиск. При использовании этой схемы в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
Допускается указание полного имени файла (путь + имя).

Зачем тогда делать
Новый FTPСоединение, если достаточно в найти файл указать логин и пароль?

Это что типа фича такая что можно сразу делать найти и параметры авторизации передать в строку?
10 Cool_Profi
 
03.10.18
14:06
Надо смотреть, что 1с передаёт серверу. и как тот воспринимает то, что ему передали.
Как он должен вести себя по RFC - я тебе описал.
11 Aleksey
 
03.10.18
14:06
Что то в описании не найду как экранировать
12 Aleksey
 
03.10.18
14:11
Кажись нашел выход. Через замену @ на %40
13 arsik
 
гуру
03.10.18
14:36
Ну на самом деле это ошибка реализации в самой платформе. Лучше сообщить в 1С, что бы пофиксили.
14 Aleksey
 
03.10.18
14:42
Осталось победить метод удалить ибо "путь не найден"
15 Aleksey
 
03.10.18
14:44
если писать через собаку то "Путь не найден"
если через процент "Quote command returned error"
16 Aleksey
 
04.10.18
09:24
Короче так и не победил нормально. Буду договариваться чтобы не делали такие папки
17 Aleksey
 
04.10.18
14:57
Блин на сколько же сырая 1С, хоть не пользуйся...

НА фтп есть папка с пробелом в конце. При этом 1С через найти файл возвращает имена без пробела. Т.е. обрезает имя папки, хотя её никто об этом не просил.
18 Aleksey
 
04.10.18
15:02
ТОчнее она делает сокрлп, т.е. обрезает пробелы спереди и сзади.

P.S. Такое ощущение что кроме меня встроенным в 1с ftp клиентом никто не пользуется, раз такие откровенные косяки и до сих пор не исправленные. Или это новинки этой осени?
19 eklmn
 
гуру
04.10.18
15:37
(18) у 1с всегда было и будет все через одно какашечное место, чему удивляться то?
Ошибка? Это не ошибка, это системная функция.