Имя: Пароль:
1C
1C 7.7
v7: Загрузка накладных с ftp сервера
,
0 Славянин
 
17.02.17
10:28
Доброго времени суток.
Поставили задачу.
1)Склад отгружает продукцию. Накладные выгружает на ftp сервер.
2)Магазин загружает себе в 1с эти накладные с ftp сервера.
Подскажите алгоритм реализации.
Мой алгоритм таков: Думаю использовать компоненту dialmail.dll
1)Реализую выгрузку на сервер: ftp.отправитьФайл();
2)На стороне магазина,копирую с сервера файлы на машину с 1С: ftp.ПолучитьФайлы().
3)Загружаю накладные в 1с с помощью методов 1с по работе с файловой системой: фс.выбратьфайл(),фс.найтиПервыйФайл() и т.д.
Или можно сделать проще?
1 Agent ООЗ
 
17.02.17
10:29
dropbox
2 Вафель
 
17.02.17
10:29
1с и так умеет фтп
3 Вафель
 
17.02.17
10:30
с фтп проблема в том что это протокол без подтверждения
4 Вафель
 
17.02.17
10:30
можно послать, а там битый файл
5 Славянин
 
17.02.17
10:31
(2) Как? где посмотреть?
6 Злопчинский
 
17.02.17
11:07
ncftp
крутится 1сный робот и тупо забирает по расписанию раз в энминут и складирует в локальную папку. оттуда штатно грузится в 1С
7 1dvd
 
17.02.17
11:17
(2) Серьёзно? Семерка умеет фтп?
8 trdm
 
17.02.17
11:23
(7) dialmail.dll умеет.
9 1dvd
 
17.02.17
11:27
(8) я и без dialmail могу ftp в семерке, но это не значит
10 trdm
 
17.02.17
12:17
1С обеспечила средства интеграции с другими программами в 1Сv77.
Какая разница через прокси технологию возможна обработка или нет?
Вот если бы возможностей не было, тогда бы была проблема.
11 Jump
 
17.02.17
12:22
(0) wget - в планировщик задач виндовс.
Запускается раз в (указать нужное) минут, и выкачивает нужные файлы в локальную папку.
После чего просто работаем с локальными файлами.
12 1dvd
 
17.02.17
12:24
(11) читер )
13 Klesk666
 
17.02.17
12:30
(11) тогда уж cURL
14 titan_aleks
 
17.02.17
12:34
Процедура ОтправитьНаФТП(ФайлНаДиске,НазваниеФайла)
    ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "APPlus.dll"); // Регистрируем компоненту    
        Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "APPlus.dll") <> 1 Тогда
        Если ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "ExtForms\" + "APPlus.dll") <> 1 Тогда        
            Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "APPlus.dll") <> 1 Тогда
                Предупреждение("Компонента APPlus.dll не найдена!");
                Возврат;
            КонецЕсли;    
        КонецЕсли;
    КонецЕсли;

    ФТП = СоздатьОбъект("AddIn.CeDataExch"); // Создаём объект
    ФТП.FtpOpenSession();  
    Результат = ФТП.FtpConnect("ftp.****.ru","Пользователь","Пароль"); // Подключаемся
    Если Результат = 0 Тогда // Если успешно то отправляем файл
        Результат = ФТП.FtpPutFile(ФайлНаДиске, "invoice\" + НазваниеФайла);
        Если Результат <> 0 Тогда // не получилось - сообщаем об ошибке
            Сообщить("Не удалось отправить файл по причине: " + ФТП.ErrDescription(Результат), "!");
        КонецЕсли;
    Иначе
        Сообщить("Не удалось подключиться по причине: " + ФТП.ErrDescription(Результат), "!");
    КонецЕсли;
    ФТП.FtpCloseSession();              
КонецПроцедуры
15 Agent ООЗ
 
17.02.17
12:35
(11) дропбокс и прочие гугло диски это делают без всяких планировщиков.
16 Вафель
 
17.02.17
12:35
(13) Тогда уж лучше нормальный синхронизатор
17 trdm
 
17.02.17
12:45
(14) Это она?
https://www.agentplus.ru/downloads/ - Компонента «APPlus.dll» и «APPLusCOM.dll» для 1С:Предприятия
https://www.agentplus.ru/download/applus.zip

Там помоему еще нужен дистрибьютед пакет от MSVS какой-то. Не везде становится.
18 titan_aleks
 
17.02.17
12:51
Только длл. больше ничего не надо. У меня вообще версия 1.0.0.1.
19 trdm
 
17.02.17
12:59
(18) Да не, я нарывался на то, что не хватает пкомпонент иногда.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.