Здравствуйте.
1С:Предприятие 8.3 (8.3.14.2095)
Альфа-Авто: 4.1.22.01
После обновления конфигурации 4.1.21.01 на 4.1.22.01 с соответствующим переходом с платформы 8.2 на 8.3.
После этого обновления самописная внешняя обработка для выгрузки данных (номенклатура, остатки, цены) на сайт перестала работать.
Выгрузка данных на сайт происходит посредством выгрузки данных в файлы csv, архивирование файлов и загрузки их в каталог сайта через FTP.
Насколько я понял затык происходит в момент соединения.
Код функции соединения и отправки файла:
Функция ОтправитьФайлНаFTPСервер() Экспорт
ФТПСервер = Константы.ФТПСервер.Получить();
ФТППорт = Константы.ФТППорт.Получить();
ФТППользователь = Константы.ФТППользователь.Получить();
ФТППароль = Константы.ФТППароль.Получить();
Прокси = Неопределено;
ФТПКаталог = Константы.ФТПКаталог.Получить();
Попытка
ФТП = Новый FTPСоединение(ФТПСервер, ФТППорт, ФТППользователь, ФТППароль, Прокси);
Логи("Установка соединения..............ОК");
Исключение
Логи("Установка соединения..............FALSE",СтатусСообщения.Важное);
КонецПопытки;
Попытка
ФТП.УстановитьТекущийКаталог(ФТПКаталог);
Логи("Установка текущего каталога..............ОК");
Исключение
Логи("Установка текущего каталога..............FALSE",СтатусСообщения.Важное);
Попытка
ФТП.УстановитьТекущийКаталог(ФТПКаталог);
Логи("Установка текущего каталога (повторно)...ОК");
Исключение
Попытка
ФТП.УстановитьТекущийКаталог(ФТПКаталог);
Логи("Установка текущего каталога (повторно 2)...ОК");
Исключение
Логи("Установка текущего каталога (повторно 2)...FALSE",СтатусСообщения.Важное);
КонецПопытки;
КонецПопытки;
КонецПопытки;
Для Каждого ИмяОтправляемогоФайла Из СпФайлы Цикл
ТекФайл = Новый Файл(ИмяОтправляемогоФайла);
Если ТекФайл.Существует() Тогда
ИмяВыходногоФайла = ТекФАйл.Имя;
ФТП.Записать(ИмяОтправляемогоФайла, ИмяВыходногоФайла);
Логи(ИмяВыходногоФайла+" - файл успешно загружены на сервер");
Иначе
Логи("Файл "+ИмяВыходногоФайла+" не найден в каталоге");
КонецЕсли;
КонецЦикла;
КонецФункции
Не понятно почему перестал работать метод FTPСоединение() после обновления, в 1С 8.2.19.130 АА 4.1.21.01.
Вроде в 8.3 есть какое-то отличие (не уверен точно) в параметрах FTPСоединение() чем у 8.2 (их стало больше).
Поэтому пробовал указать эти дополнительные параметры:
ФТП = Новый FTPСоединение(ФТПСервер, ФТППорт, ФТППользователь, ФТППароль, Прокси, Истина,0,Неопределено,УровеньИспользованияЗащищенногоСоединенияFTP.Авто);
Но и это не дало результата.
Может кто-нибудь сталкивался с такой ситуацией и подскажет как решить данную проблему.
Для получения развернутой информации по ошибке убрал обвязку Попытка-Исключение, но скупая ошибка ясности не внесла.
{ВнешняяОбработка.ПроверкаИнтернетЗаказов.Форма.ПроверкаИнтернетЗаказов.Форма(5419)}: Ошибка при вызове конструктора (FTPСоединение)
ФТП = Новый FTPСоединение(ФТПСервер, ФТППорт, ФТППользователь, ФТППароль, Прокси);
по причине:
Несоответствие типов (параметр номер '2')
Если ругается на 2-ой параметр, то это константа строкового типа
ФТПСервер = "xx.yy.ua";
ФТППорт = "21";
ФТППользователь = "user";
ФТППароль = "123";