1C 7.7 & FTP
17.05.2010
16:56
#1
Задачку мне дали маленькую.
Нужно, чтобы торговля и склад 7.7 раз в час высылала на ftp сервер dbf с прайсом.
Заковыка в "высылала на ftp". В 7.7 нет что ли стандартного объекта для работы с ftp протоколом? Можно, конечно через ncftpput отправлять, но не хочется таким образом, так как постоянно выпрыгивающая консоль и отсутствие ответа от программки о результате отправки не есть хорошо. Странно как то, вроде ж УРИБ через ftp работать может в режиме автообмена, а навскид никаких методов для использования во встроенном языке этого функционала я не нахожу.
Нужно, чтобы торговля и склад 7.7 раз в час высылала на ftp сервер dbf с прайсом.
Заковыка в "высылала на ftp". В 7.7 нет что ли стандартного объекта для работы с ftp протоколом? Можно, конечно через ncftpput отправлять, но не хочется таким образом, так как постоянно выпрыгивающая консоль и отсутствие ответа от программки о результате отправки не есть хорошо. Странно как то, вроде ж УРИБ через ftp работать может в режиме автообмена, а навскид никаких методов для использования во встроенном языке этого функционала я не нахожу.
18.05.2010
09:40
#2
Их (методов) нет даже в v7plus.dll. Можно "пошариться" по сторонним внеш.компонентам, а лучше вообще отдельную прогу использовать (или "батник" какой).
18.05.2010
11:11
#3
Мне тут zak555 в icq подсказал, что в типовой конфигурации для бюджетников есть внешняя компонента для этих задач, заватра буду пробовать.
02.02.2011
21:20
#4
"всем, кто всё ещё ищет посвящается DialMail
поставить внешнюю компоненту, понятно дело - нужно её либо в папку обработки забросить, либо в папку BIN где стоит платформа...
а вот пример использования этой компоненты как FTP-аддона:
ЗагрузитьВнешнююКомпоненту("DialMail.dll");
SystComm = СоздатьОбъект("AddIn.SystComm");
Сообщить(SystComm.Версия);
FTP = СоздатьОбъект("AddIn.FTP");
FTP.ИмяЛогФайла = """";
FTP.ВестиЛогФайл = 0;
FTP.ИспользоватьSSL = 0;
FTPСервер = "ftp.shreya.ru";
FTPПользователь = "user";
FTPПароль = "pswrd";
FTPПорт = "ftp";
FTPПассивныйРежим = 0;
Если FTP.Подключиться(FTPСервер, FTPПорт, FTPПользователь, FTPПароль, FTPПассивныйРежим) = 0 тогда
Сообщить("соединение c " + FTPСервер + " не установлено...", "!");
Иначе
Сообщить("соединение c " + FTPСервер + " прошло успешно!");
Если FTP.ОтправитьФайл(КаталогИБ()+ "price.txt", ИмяФайла, 0) = 1 Тогда
тЧас = 0;
тМинута = 0;
тСекунда = 0;
ТекущееВремя(тЧас, тМинута, тСекунда);
Сообщить("Произведена отправка прайса для " + FTPСервер + " время отправки:" + тЧас + ":" + тМинута + ":" + тСекунда);
Иначе
Сообщить("Ошибка отправки прайса...");
КонецЕсли;
FTP.Отключиться();
КонецЕсли; "
поставить внешнюю компоненту, понятно дело - нужно её либо в папку обработки забросить, либо в папку BIN где стоит платформа...
а вот пример использования этой компоненты как FTP-аддона:
ЗагрузитьВнешнююКомпоненту("DialMail.dll");
SystComm = СоздатьОбъект("AddIn.SystComm");
Сообщить(SystComm.Версия);
FTP = СоздатьОбъект("AddIn.FTP");
FTP.ИмяЛогФайла = """";
FTP.ВестиЛогФайл = 0;
FTP.ИспользоватьSSL = 0;
FTPСервер = "ftp.shreya.ru";
FTPПользователь = "user";
FTPПароль = "pswrd";
FTPПорт = "ftp";
FTPПассивныйРежим = 0;
Если FTP.Подключиться(FTPСервер, FTPПорт, FTPПользователь, FTPПароль, FTPПассивныйРежим) = 0 тогда
Сообщить("соединение c " + FTPСервер + " не установлено...", "!");
Иначе
Сообщить("соединение c " + FTPСервер + " прошло успешно!");
Если FTP.ОтправитьФайл(КаталогИБ()+ "price.txt", ИмяФайла, 0) = 1 Тогда
тЧас = 0;
тМинута = 0;
тСекунда = 0;
ТекущееВремя(тЧас, тМинута, тСекунда);
Сообщить("Произведена отправка прайса для " + FTPСервер + " время отправки:" + тЧас + ":" + тМинута + ":" + тСекунда);
Иначе
Сообщить("Ошибка отправки прайса...");
КонецЕсли;
FTP.Отключиться();
КонецЕсли; "
переход на редакцию 2 1с:предп ред.1.6ОШИБКА "подождите пожалуйста! Выполняется сохранение информации об ошибке"
Читают тему
(гостей: 1)