FTP-Клиент на 1С








FTP-Клиент на 1С для тех, кто все еще работает с FTP…

В нашей компании до сих пор, да да, до сих пор, интенсивно пользуются FTP. Часто на выездах консультантам требуется выложить для программистов архив заказчика на FTP или скачать обновление или внешнюю обработку. Но на месте у заказчика бывает проблемно получить доступ  к FTP  — то система безопасности не позволяет, то настроить не получается, а если получается, то долго и т.д. Кажется мелочь, но со вренем это начинает раздражать и постепенно вытекать в приличные человеко-часы. Поиск FTP-клиента в виде внешней обработки на 1С ни к чему интересному не привели и было решено сделать свой красивый и блестящий "велосипед" с удобными "педалями". Обработка представлена в виде классического проводника Windows (слева дерево каталогов, справа содержимое текущего каталога) и поддерживает все стандартные функции по работе с FTP:

  1. Скачать файл/каталог (рекурсивно, со всеми вложенными файлами и подкаталогами);
  2. Загрузить файл/каталог (рекурсивно, со всеми вложенными файлами и подкаталогами, в т.ч. из проводника, перетаскиванием мышкой);
  3. Создать каталог;
  4. Переименовать файл/каталог;
  5. Удалить файл/каталог;
  6. Поиск файлов/каталогов без учета регистра (хотя по умолчанию метод НайтиФайлы объекта FTPСоединение ищет только с учетом регистра);
  7. Создание одновременно нескольких соединений;
  8. Отображение информации о файлах/каталогах, сортировка списка файлов и д.р.;
  9. Поддержка защищенного (FTPS) соединения (не тестировалось);
 

 Плюс несколько инструментов (удобных "педалей" для наших сотрудников, может и еще кому пригодится):

Интерфейс делал максимально интуитивный, думаю любой разберется и сам найдет все выше перечисленные пункты. Как было написано в одном очень подробном руководстве:

Вы можете понять все функции каждой кнопки, понажимав их и увидев, что получается

В публикации представлены 2 обработки — для обычного приложения в режиме использования модальности и для управляемого приложения с поддержкой асинхронного, не модального режима работы. Обработки использовались на платформах Windows (7/10) и Linux (Ubuntu 16.04). Web-клиент не поддерживается, т.к. тип FTPСоединение не доступен на Web-клиенте, а работать с FTP через анус сервер крайне не оптимально. Для работы обработки требуется платформа не ниже 8.3.10. Если чего то не хватает, буду рад советам и предложениям.

Кстати, при разработке данной обработки выяснилось любопытная вещь, оказывается платформа 1С содержит ошибки при работе с FTP если на FTP есть файлы или каталоги в именах которых имеются символы @ или #, кто бы мог подумать! Ошибку я оформил еще в начале весны 2024 г., но воз и ныне там 🙁 Видимо ошибка не шибко критичная… Кому интересно код ошибки 10196114

Файлы, в именах которых имеются символы @ и #, не могут быть получены с помощью метода НайтиФайлы и не удаляются с помощью метода Удалить объекта FTPСоединение. 

В связи с чем поиск в обработке сделан таким образом, что позволяет продолжать поиск, даже если попались проблемные каталоги или файлы, а не просто уходить в исключение. Так что не удивляйтесь, если при работе с обработкой у вас могут выходить сообщения с описанием ошибки, возможно у вас просто не угодные 1С имена файлов.

Всем добра! P.S. За "велосипед" и "баян" просьба не хаять, делали для себя, возможно кому-то обработка тоже будет полезна.

16 Comments

  1. leosoft

    А просто файлы на ftp можно забрасывать?

    Reply
  2. frkbvfnjh

    (1) Конечно, можно прямо мышкой перетянуть в обработку, предварительно открыв нужный каталог

    Reply
  3. apic

    Пока что лучшая из аналогов, что я встречал! Добавил в закладки.

    Reply
  4. Поручик

    А какой идиот использует в именах файлов @ и #?

    Reply
  5. kembrik

    (4) Мы принудительно добавляем, например, «последняя линия обороны». Закачиваются такие файлы без проблем, а чтобы скачать, имея доступ только к ftp, надо постараться. Но я не назвал бы это ошибкой 1C — поведение как раз предсказуемое

    Reply
  6. Vovanches

    за картинку плюсик 😉

    Кстати у нас проблемы с FTP-обменом были также из-за какой-то русской буквы в имени пакета: то ли «Я», то ли «Ю», не помню точно.

    Reply
  7. frkbvfnjh

    (6) Блин, я тоже про что то подобной читал давным давно, уже и забыл про это. Надо как нибудь будет проверить…

    Reply
  8. mirco

    (0)

    А чем вы видео записывали ?

    Reply
  9. frkbvfnjh

    (1) А можно и кнопкой «плюсиком» или нажатием Insert — будет открыт стандартный диалог открытия файлов с множественным выделением, только проблема в том, что при таком диалоге 1С игнорирует каталоги и возвращает только массив файлов. Так что если хотите рекурсивно закинуть каталог, то только с помощью drag&drop.

    Reply
  10. frkbvfnjh

    (8) oCam

    Reply
  11. leosoft

    (9) Понял, спасибо!

    Reply
  12. waitklassik

    спасибо. в закладки

    Reply
  13. McSlym

    Спасибо.

    Вопрос: а можно развить идею до создание на ftp хранилище файлов, как облако, с возможностью настройки прав доступа через 1С.

    Общие папки для пользователей, обмен файлов не создавая копии, и так далее …

    Reply
  14. imh9305

    а по расписанию файлы можно скачивать по ftp?

    Reply
  15. frkbvfnjh

    (13) Не совсем понял что имеется ввиду, но скорее всего для этого обработку нужно будет сделать встроенной и привязать к системе прав пользователей. Думаю пока не буду такое делать.

    Reply
  16. frkbvfnjh

    (14) С помощью данной обработки пока нет, но можно подумать над этим…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *