---
sidebar_position: 7
description: Выполнить нестандартную команду и другие функции для работы с FTP в Открытом пакете интеграций - бесплатной open-source библиотеке интеграций для 1С:Предприятие 8, OneScript и CLI
keywords: [1C, 1С, 1С:Предприятие, 1С:Предприятие 8.3, API, Интеграция, Сервисы, Обмен, OneScript, CLI, FTP]
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Выполнить нестандартную команду
 Выполняет специфическую (SITE) команду сервера и возвращает ответ



`Функция ВыполнитьНестандартнуюКоманду(Знач Соединение, Знач ТекстКоманды) Экспорт`

  | Параметр | CLI опция | Тип | Обяз. | Назначение |
  |-|-|-|-|-|
  | Соединение | --conn | Произвольный | &#x2714; | Существующее соединение или конфигурация соединения |
  | ТекстКоманды | --cmd | Строка | &#x2714; | Текст выполняемой команды |

  
  Возвращаемое значение:   Соответствие Из КлючИЗначение - Результат обработки

:::tip
Результат может быть возвращен как текст или Base64 довичные данные в структуре `{"BYTES": &lt;B64 строка&gt;}`

Команда FTP: `SITE`
:::
<br/>


```bsl title="Пример использования для 1С:Предприятие/OneScript"
    Хост   = "172.33.0.10";
    Порт   = "21";
    Логин  = "bayselonarrend";
    Пароль = "12we...";

    ИспользоватьПрокси = Истина;
    FTPS               = Истина;

    НастройкиПрокси = Неопределено;
    НастройкиTLS    = Неопределено; // FTPS

    НастройкиFTP = OPI_FTP.ПолучитьНастройкиСоединения(Хост, Порт, Логин, Пароль);

    Если ИспользоватьПрокси Тогда

        ТипПрокси = "http"; // http, socks5, socks4

        АдресПрокси  = "127.0.0.1";
        ПортПрокси   = "8071";
        ЛогинПрокси  = "proxyuser";
        ПарольПрокси = "12we...";

        НастройкиПрокси = OPI_FTP.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);

    КонецЕсли;

    Если FTPS Тогда
        НастройкиTLS = OPI_FTP.ПолучитьНастройкиTLS(Истина);
    КонецЕсли;

    Соединение = OPI_FTP.ОткрытьСоединение(НастройкиFTP, НастройкиПрокси, НастройкиTLS);

    Если OPI_FTP.ЭтоКоннектор(Соединение) Тогда

        ТекстКоманды = "UMASK";
        Результат    = OPI_FTP.ВыполнитьНестандартнуюКоманду(Соединение, ТекстКоманды);

    Иначе
        Результат = Соединение; // Ошибка соединения
    КонецЕсли;
```
    

 <Tabs>
  
    <TabItem value="bash" label="Bash" default>
        ```bash
            # JSON данные также могут быть переданы как путь к файлу .json
            
            oint ftp ВыполнитьНестандартнуюКоманду \
              --conn "{'set':{'advanced_resolve':true,'domain':'172.33.0.11','login':'bayselonarrend','passive':true,'password':'***','port':'21','read_timeout':'120','write_timeout':'120'},'tls':{'accept_invalid_certs':true,'ca_cert_path':'','use_tls':true},'proxy':{'login':'proxyuser','password':'***','port':'1080','proxy_type':'socks5','server':'127.0.0.1'}}" \
              --cmd "UMASK"
        ```
    </TabItem>
  
    <TabItem value="bat" label="CMD/Bat" default>
        ```batch
            :: JSON данные также могут быть переданы как путь к файлу .json
            
            oint ftp ВыполнитьНестандартнуюКоманду ^
              --conn "{'set':{'advanced_resolve':true,'domain':'172.33.0.11','login':'bayselonarrend','passive':true,'password':'***','port':'21','read_timeout':'120','write_timeout':'120'},'tls':{'accept_invalid_certs':true,'ca_cert_path':'','use_tls':true},'proxy':{'login':'proxyuser','password':'***','port':'1080','proxy_type':'socks5','server':'127.0.0.1'}}" ^
              --cmd "UMASK"
        ```
    </TabItem>
</Tabs>


```json title="Результат"
{
 "data": "200 Your current UMASK is 022\r\n",
 "result": true,
 "status": 200,
 "close_connection": {
  "result": true
 }
}
```
