Помогите настроить обмен файлами xml через яндекс-диск.
Файл находится во временной папке.
Нужно выгружать его на яндекс-диск внешней обработкой по расписанию.

Другой внешней обработкой загружать эти файлы в другую базу.

Скачал обработку
https://infostart.ru/public/591989/
но пока не понятно. Нужно получить токен и ключ

Пытаюсь получить их ниже, как зарегистрировать? у меня будет внешняя обработка.
Там в списке есть похоже веб-сервис. Что нужно выбрать?
https://oauth.yandex.ru/client/new
---
Прикреплен пример: У тебя должен быть диск "Z:" и папка "Test" в ней два файла
Start.cmd - Содержимое одна строка

net use Y: https://webdav.yandex.ru Пароль /user:имя_почты@yandex.ru /persistent:yes

 и Stop.cmd

net use Y: /delete

Код кнопки выполнить :

```1c
    &НаКлиенте
    Процедура Старт(Команда)
    // Вставить содержимое обработчика.
    Сообщить("Поехали !!! ");

    ///подключаем ЯД
    Попытка
    WshShell = Новый COMОбъект("WScript.Shell");WshShell.Run("Z:\TEST\start.cmd", 2 , 1);
    Исключение
    Сообщить(ОписаниеОшибки() );
    КонецПопытки;

    //создаем файл
    ТекстС = Новый ТекстовыйДокумент ;
    ИмяФайлаС = "Y:\Старт_Тест.txt" ;
    ТекстС.ДобавитьСтроку("Старт тест: " + ТекущаяДата() );
    ТекстС.ДобавитьСтроку(" ------------------------");
    ТекстС.ДобавитьСтроку("Он взмахнул рукой и сказал - Поехали !!! ");
    ТекстС.Записать(ИмяФайлаС, КодировкаТекста.UTF8);

    ///Отключаем ЯД
    Попытка
    WshShell = Новый COMОбъект("WScript.Shell");WshShell.Run("Z:\TEST\stop.cmd", 2 , 1);
    Исключение
    Сообщить(ОписаниеОшибки() );
    КонецПопытки;

    КонецПроцедуры
```

Тестировал: 1С:Предприятие 8.3 (8.3.12.1714)
---
Зачем такие сложности?
Вариант 1:
Устанавливаем клиент яндекс.диска, и работаем как с обычными папками

Вариант 2, использовать webdav:
Этот код копирует файл на яндекс, аналогичным образом можно файл скачать

```1c
    ЯндексДискСтрокаПодключения = "https://%user%:%password%@webdav.yandex.ru/data/";
    ЯндексДискСтрокаПодключения = СтрЗаменить(ЯндексДискСтрокаПодключения, "%user%", "login");
    ЯндексДискСтрокаПодключения = СтрЗаменить(ЯндексДискСтрокаПодключения, "%password%", КодироватьСтроку("password", СпособКодированияСтроки.КодировкаURL));

    Файл = "C:\123.xml";

    НовыйФАйл = ЯндексДискСтрокаПодключения + "123.xml";

    КопироватьФайл(Файл, НовыйФАйл);
```
---
Спасибо. Утром проверю Вариант 2.
У меня проблема вот в чём:
когда я выгрузил несколько файлов на яндекс-диск,
как во второй базе их загружать? я ведь не знаю точное называние файлов.
нужно как-то загружать все файлы из папки.

Вариант 1 - могут не разрешить устанавливать на сервер.
---
гугли api yandex disk , там, правда, документация не полная похоже, но описание методов есть

проблема с яндексовым диском была с забрасыванием файлов в корзину при их перезаписи и последующим переполнением оного диска, ведро через api не очищалось на момент моих попыток работы с вот этим вот всем ) поэтому затея работы с диском была отправлена в утиль
---
как во второй базе их загружать? я ведь не знаю точное называние файлов.
нужно как-то загружать все файлы из папки
Если не ошибаюсь, на яндексе можно использовать все процедуры работы с файлами, типа НайтиФайлы, Файл.Существует() и так далее
Но можно и при выгрузке паковать все в один архив, а потом скачивать его, разбирать, и уже делать что вздумается
---
Посмотрите такой вариант, там вам не понадобится не ключ авторизации и токен получать не нужно.

https://infostart.ru/public/945965/
---
Могу предложить свой вариант:

Создаем bat файл Старт:

net use Y: https://webdav.yandex.ru Пароль /user:имя_почты@yandex.ru /persistent:yes

он подключает яндекс диск в систему, как диск "Y:\"

в 1С выполняем:

```1c
    WshShell = Новый COMОбъект("WScript.Shell");WshShell.Run("C:\Старт.bat", 1, , 0);
```

Далее сохраняем нужный файл (или скачиваем ) в корень "Y:\"
Потом отключаем диск "Y:\" bat файл Финиш

net use Y: /delete

аналогично подключению

```1c
    WshShell = Новый COMОбъект("WScript.Shell");WshShell.Run("C:\финиш.bat", 1, , 0);
```

При таком варианте в корзина Яндекс диска не засоряется. минус ограниченный размер файлов.
---
У вас в строке WshShell.Run - ошибка. Там всего может быть три параметра.

Яндекс-диск создается и удаляется из батников. Но если я запускаю из 1С - ничего не происходит.
Убрал галку опасные действия у Администратора.
Поправил
Содержимое файла C:\Program Files\1cv8\conf\conf.cfg на кластере 1с (при изменении настроек, нужно перезапустить службу 1с) :

SystemLanguage=RU
DisableUnsafeActionProtection=.*

Не хочет из 1С запускаться.

Как вы настраивали батники?
Я запускал и вашим способом и своим (ЗапуститьПриложение) - батник из 1с создается но не запускается.
Если его руками запустить - Яндекс-диск подключается.

```1c
    &НаСервере
    Процедура СоздатьЯндексНаСервере()

    Путь = "D:\_Проекты\YandexDisk.bat";
    Текст = Новый ЗаписьТекста(Путь, КодировкаТекста.ANSI);

    КомСтрока = "CHCP 1251" + Символы.ПС
    + "net use H: https://webdav.yandex.ru Пароль /user:Почта@yandex.ru /persistent:yes";

    Текст.ЗаписатьСтроку(КомСтрока);
    Текст.Закрыть();

    ПаузаВыполения(2);

    //ЗапуститьПриложение(Путь);

    WshShell = Новый COMОбъект("WScript.Shell");
    WshShell.Run(Путь, 1, 0);
    КонецПроцедуры

    &НаСервере

    Процедура ПаузаВыполения(Знач КоличествоСекунд) Экспорт
    Shell = Новый COMОбъект("WScript.Shell");
    Shell.Run("ping 127.0.0.1 -n "+ КоличествоСекунд, 0, 1);
    Shell = Неопределено;
    КонецПроцедуры
```
---
Прикреплен пример: У тебя должен быть диск "Z:" и папка "Test" в ней два файла
Start.cmd - Содержимое одна строка

net use Y: https://webdav.yandex.ru Пароль /user:имя_почты@yandex.ru /persistent:yes

 и Stop.cmd

net use Y: /delete

Код кнопки выполнить :

```1c
    &НаКлиенте
    Процедура Старт(Команда)
    // Вставить содержимое обработчика.
    Сообщить("Поехали !!! ");

    ///подключаем ЯД
    Попытка
    WshShell = Новый COMОбъект("WScript.Shell");WshShell.Run("Z:\TEST\start.cmd", 2 , 1);
    Исключение
    Сообщить(ОписаниеОшибки() );
    КонецПопытки;

    //создаем файл
    ТекстС = Новый ТекстовыйДокумент ;
    ИмяФайлаС = "Y:\Старт_Тест.txt" ;
    ТекстС.ДобавитьСтроку("Старт тест: " + ТекущаяДата() );
    ТекстС.ДобавитьСтроку(" ------------------------");
    ТекстС.ДобавитьСтроку("Он взмахнул рукой и сказал - Поехали !!! ");
    ТекстС.Записать(ИмяФайлаС, КодировкаТекста.UTF8);

    ///Отключаем ЯД
    Попытка
    WshShell = Новый COMОбъект("WScript.Shell");WshShell.Run("Z:\TEST\stop.cmd", 2 , 1);
    Исключение
    Сообщить(ОписаниеОшибки() );
    КонецПопытки;

    КонецПроцедуры
```

Тестировал: 1С:Предприятие 8.3 (8.3.12.1714)
---
Обработка работает!
---
Батники уже созданные лежат в определенном месте.

Еще вопросы : Какой режим работы базы Файловый или SQL ? и под какой ОС запускаешь (Win7 , Win10, Server2008 и т.д.) ?
---
не проще создать http-сервис на стороне приемника которому в формате json будет передаваться xml файл как строка и потом на приемнике уже будет обрабатываться.