Работа с SFTP в 1С:Предприятие

SFTP, протокол передачи файлов по SSH, или безопасный протокол передачи файлов, — это отдельный протокол, поддерживающий SSH, который работает схожим образом, но использует защищенное подключение. Его преимуществом является возможность использования защищенного подключения для передачи файлов и просмотра файловой системы как на локальной, так и на удаленной системе.

К сожалению, по состоянию на июль 2022 года платформа 1С:Предприятие не имеет встроенных инструментов по работе с этим протоколом. Однако, передачу файлов все равно можно организовать, но для этого нужно использовать промежуточную программу SFTP-клиент. В качестве такого клиента будем использовать программу WinSCP. Для работы модуля, который будет описан далее, эта программа должна быть установлена на компьютер.

Программа WinCSP позволяет выполнять скрипты, сохраненные предварительно в виде обычных текстовых файлов. Благодаря этому, у нас появляется возможность из 1С сформировать такой файл и запустить программу WinCSP, указав в командной строке адрес файла со скриптом, который нужно выполнить.

Полный перечень команд, которые могут использоваться в скриптах WinCSP, можно посмотреть здесь.

А мы разберем один пример: необходимо передать на web-сервер изображения товаров, сохраненные в базе 1С. Доступ к серверу осуществляется через протокол SFTP.

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

Процедура выгрузки будет выглядеть следующим образом:

Разберем текст сценария:

  • option batch abort — включает пакетный режим выполнения скрипта, при котором при любой ошибке скрипт прерывается.
  • option confirm on — на все запросы подтверждения (например, перезаписи файлов) будет отправлено согласие.
  • open sftp://» + Логин + «:» + Пароль + «@» + FTPСервер + «:» + Порт + »  — соединение с SFTP-сервером, используя логин, пароль, адрес сервера и порт
  • synchronize remote » + КаталогВременныхФайлов + » » + «/var/www/www-root/data/www/chel1c.ru/YML/ — синхронизация каталога на сервере с локальным, при этом каталог на сервере будет идентичным каталогу на локальном компьютере (можно сделать и наоборот).
  • exit — завершение работы программы WinCSP.

После этого сохраняем созданный скрипт во временный файл, формируем командную сроку запуска скрипта (в данном случае с созданием лога), и запускаем его.

Добавить комментарий

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