В нашей компании до сих пор, да да, до сих пор, интенсивно пользуются FTP. Часто на выездах консультантам требуется выложить для программистов архив заказчика на FTP или скачать обновление или внешнюю обработку. Но на месте у заказчика бывает проблемно получить доступ к FTP - то система безопасности не позволяет, то настроить не получается, а если получается, то долго и т.д. Кажется мелочь, но со вренем это начинает раздражать и постепенно вытекать в приличные человеко-часы. Поиск FTP-клиента в виде внешней обработки на 1С ни к чему интересному не привели и было решено сделать свой красивый и блестящий "велосипед" с удобными "педалями". Обработка представлена в виде классического проводника Windows (слева дерево каталогов, справа содержимое текущего каталога) и поддерживает все стандартные функции по работе с FTP:
- Скачать файл/каталог (рекурсивно, со всеми вложенными файлами и подкаталогами);
- Загрузить файл/каталог (рекурсивно, со всеми вложенными файлами и подкаталогами, в т.ч. из проводника, перетаскиванием мышкой);
- Создать каталог;
- Переименовать файл/каталог;
- Удалить файл/каталог;
- Поиск файлов/каталогов без учета регистра (хотя по умолчанию метод НайтиФайлы объекта FTPСоединение ищет только с учетом регистра);
- Создание одновременно нескольких соединений;
- Отображение информации о файлах/каталогах, сортировка списка файлов и д.р.;
- Поддержка защищенного (FTPS) соединения (не тестировалось);
Интерфейс делал максимально интуитивный, думаю любой разберется и сам найдет все выше перечисленные пункты. Как было написано в одном очень подробном руководстве:
В публикации представлены 2 обработки - для обычного приложения в режиме использования модальности и для управляемого приложения с поддержкой асинхронного, не модального режима работы. Обработки использовались на платформах Windows (7/10) и Linux (Ubuntu 16.04). Web-клиент не поддерживается, т.к. тип FTPСоединение не доступен на Web-клиенте, а работать с FTP через анус сервер крайне не оптимально. Для работы обработки требуется платформа не ниже 8.3.10. Если чего то не хватает, буду рад советам и предложениям.
Кстати, при разработке данной обработки выяснилось любопытная вещь, оказывается платформа 1С содержит ошибки при работе с FTP если на FTP есть файлы или каталоги в именах которых имеются символы @ или #, кто бы мог подумать! Ошибку я оформил еще в начале весны 2018 г., но воз и ныне там :( Видимо ошибка не шибко критичная... Кому интересно код ошибки 10196114:
Файлы, в именах которых имеются символы @ и #, не могут быть получены с помощью метода НайтиФайлы и не удаляются с помощью метода Удалить объекта FTPСоединение.
В связи с чем поиск в обработке сделан таким образом, что позволяет продолжать поиск, даже если попались проблемные каталоги или файлы, а не просто уходить в исключение. Так что не удивляйтесь, если при работе с обработкой у вас могут выходить сообщения с описанием ошибки, возможно у вас просто не угодные 1С имена файлов.
Всем добра! P.S. За "велосипед" и "баян" просьба не хаять, делали для себя, возможно кому-то обработка тоже будет полезна.
- Добавлена возможность ручного ввода строки соединения, если не удалось получить строку из буфера обмена (например при работе через RDP-соединение);
- Доработаны подсказки элементов управления;
- Установлены горячие клавиши для кнопки "Вставить из буфера" формы настройки подключения;
- Исправлена ошибка заполнения параметров соединения из буфера обмена;