Гм, заюзал...
Как обычно упростил код здесь:
https://infostart.ru/1c/articles/158428/
Вышло так:
Как-то все чересчур усложнено. Какие-то профили, логи...
Вот мой код для записи на SFTP:
СтрокаПрограммы = """" + ПутьWinSCP + """" + " /console /command " + """option batch abort"" " + """open " + ПрофильWinSCP + """ " + """put " + Лок_ИмяФайла + " " + Внеш_ИмяФайла + """ " + """close"" ""exit""";
net = Новый COMОбъект("WScript.Shell");
Результат = net.Run(СтрокаПрограммы, 0, Истина); //Результат 1 - ошибка, 0 - ок
Если Результат = 1 Тогда
ЗаписьЖурналаРегистрации("Отладка.SFTP.Ошибка",,,,СтрокаПрограммы);
Иначе
ЗаписьЖурналаРегистрации("Отладка.SFTP.ОК",,,,СтрокаПрограммы);
КонецЕсли;
Показать
Лок_имяфайла через бэкслеш, Внеш_имяФайла через слеш.
Фишка в том, что я не анализирую логи, а получаю код возврата и понимаю, выполнилась операция или нет. Для простых случаев этого достаточно.