Modber Сообщество
профессионалов по 1С

Работа в 1С с данными через FTP



Платформы: 1С:Предприятие 8.3, 1С:Предприятие 8.2, 1С:Предприятие 8.1
Конфигурации: Все конфигурации
2013-02-12
11593 

 

В статье рассмотрен пример подключения загрузки данных с FTP. Можно взять за пример для разработки своих модулей.

Внимание: Если вас интересует разработка обмена по FTP, обращайтесь в личку.

 

1. Создаем соединение
 

Функция УстановитьСоединение()
ИмяСервера = "176.111.111.114";
Юзер = "ftp2";
Пасс = "777";    Попытка
Соединение = Новый FTPСоединение(ИмяСервера, Неопределено, Юзер, Пасс, Неопределено, Неопределено);
Соединение.УстановитьТекущийКаталог("/");
Исключение
Соединение = Неопределено;
Сообщить("Не смог установить соединение с FTP-сервером");
КонецПопытки;    
Возврат Соединение;
КонецФункции


 

2. Загружаем файл с сервера


Функция ЗагрузкаНаСервере() Экспорт
Результат = "0";
ИмяФайла = "123.csv";
ПутьНаСервере = "/";
ЛокальныйПуть = "c:"+ИмяФайла;
Соединение = УстановитьСоединение();
Попытка
Соединение.Получить(ПутьНаСервере+ИмяФайла, ЛокальныйПуть);
Соединение.Удалить(ПутьНаСервере,ИмяФайла);
Сообщить("Загрузил файл:"+ИмяФайла);
Результат = ЛокальныйПуть;
Исключение
Сообщить("Не смог загрузить файл "+ИмяФайла);
КонецПопытки;      
Возврат Результат;
КонецФункции


 

3. Процедура для разбора полученного CVS файла в массив, для более удобной дальнейшей работе с данными

Функция РазложитьСтрокуВМассив(Знач Стр, Разделитель = ",") Экспорт
МассивСтрок = Новый Массив();
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(Стр,Поз-1));
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(Стр,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделителя);
КонецЦикла;
КонецЕсли;
КонецФункции


 

4. Финальная процедура, объединяющая все выше описанное


Процедура КнопкаВыполнитьНажатие(Кнопка)

ЛокальныйФайл = ЗагрузкаНаСервере();  
    Если ЛокальныйФайл <> "0" Тогда
        Текст = Новый ТекстовыйДокумент;
        Текст.Прочитать(ЛокальныйФайл);
        Для НомерСтроки = 1 По Текст.КоличествоСтрок() Цикл
            Стр = РазложитьСтрокуВМассив(Текст.ПолучитьСтроку(НомерСтроки),";");
            //СоздатьЗаказ(Стр); 
        КонецЦикла;   
    КонецЕсли;       
КонецПроцедуры

 

В итоге: мы загрузили файл с FTP на локальный диск, разобрали его и преобразовали каждую его строку в массив и на основе массива уже создаем что либо.




Бесплатная юридическая
консультация по телефону

8 (499) 350-80-26(Москва)
8 (812) 627-15-62(Спб)

звонок бесплатный

В центре внимания

Комментарии (0)