8.х ОБМЕН ошибка при обмене через ФТП

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем bk1975, 23 июн 2011.

  1. TopicStarter Overlay
    bk1975
    Offline

    bk1975

    Регистрация:
    23 июн 2011
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    1с 8.1 УПП

    В базе два филиала, сначала загружаем по очереди из ФТП файлы обмена, потом выгружаем.
    При выгрузке на второй филиал происходит ошибка.
    Такое впечатление, что нужно кэш очистить.
    Если убираю загрузку, то обе выгрузки проходят верно.

    Код:
            Попытка 
    ФТП = Новый FTPСоединение(АдресФТП, ПортФТП, ПользовательФТП, ПарольФТП, Истина);
    Исключение
    Сообщить("Не удалось соединиться с ФТП сервером !",СтатусСообщения.ОченьВажное);
    Возврат;
    КонецПопытки;
    
    //                                     загрузка файлов из ФТП 
    
    ВыборкаУзлов=ПланыОбмена.Полный.Выбрать(); 
    Пока ВыборкаУзлов.Следующий() Цикл 
    
    Узел                 = ВыборкаУзлов.Ссылка;
    ШаблонФайлаЗагрузки    = "Message_"+СокрЛП(Узел.Код)+"_"+СокрЛП(КодГлавногоУзла);
    ИмяФайлаЗагрузкиZIP    = ШаблонФайлаЗагрузки+".zip";
    ИмяФайлаЗагрузкиXML    = ШаблонФайлаЗагрузки+".xml";
    
    Если Узел=ТекущийУзел тогда
    Продолжить;
    КонецЕсли;
    
    Попытка 
    ФТП.Получить(ИмяФайлаЗагрузкиZIP,КаталогОбмена+ИмяФайлаЗагрузкиZIP);                
    
    ZIP = Новый ЧтениеZipФайла(КаталогОбмена+ИмяФайлаЗагрузкиZIP);
    ZIP.ИзвлечьВсе(КаталогОбмена, РежимВосстановленияПутейФайловZIP.НеВосстанавливать);                
    
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(КаталогОбмена+ИмяФайлаЗагрузкиXML);
    ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения();
    ЧтениеСообщения.НачатьЧтение(ЧтениеXML);
    ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения);
    ЧтениеСообщения.ЗакончитьЧтение();
    ЧтениеXML.Закрыть();
    
    Исключение
    Сообщить("Не удалось получить файл "+СокрЛП(ИмяФайлаЗагрузкиZIP)+" с ФТП сервера",СтатусСообщения.ОченьВажное);
    Продолжить;
    КонецПопытки;
    
    КонецЦикла;
    
    //                                     выгрузка файлов на ФТП 
    
    ВыборкаУзлов=ПланыОбмена.Полный.Выбрать(); 
    Пока ВыборкаУзлов.Следующий() Цикл 
    
    Узел                 = ВыборкаУзлов.Ссылка;
    ШаблонФайлаВыгрузки    = "Message_"+СокрЛП(КодГлавногоУзла)+"_"+СокрЛП(Узел.Код);
    ИмяФайлаВыгрузкиZIP    = ШаблонФайлаВыгрузки+".zip";
    ИмяФайлаВыгрузкиXML    = ШаблонФайлаВыгрузки+".xml";
    
    Если Узел=ТекущийУзел тогда
    Продолжить;
    КонецЕсли;
    
    Попытка
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.ОткрытьФайл(КаталогОбмена+ИмяФайлаВыгрузкиXML);
    ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
    ЗаписьСообщения.НачатьЗапись(ЗаписьXML,Узел);
    ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения);
    ЗаписьСообщения.ЗакончитьЗапись();
    ЗаписьXML.Закрыть();
    ZIP = Новый ЗаписьZipФайла(КаталогОбмена+ИмяФайлаВыгрузкиZIP,,, МетодСжатияZIP.Сжатие, УровеньСжатияZIP.Максимальный, МетодШифрованияZIP.Zip20);
    ZIP.Добавить(КаталогОбмена+ИмяФайлаВыгрузкиXML);
    ZIP.Записать();                
    ФТП.Записать(КаталогОбмена+ИмяФайлаВыгрузкиZIP,ИмяФайлаВыгрузкиZIP);                
    
    Исключение
    Сообщить("Не удалось открыть файл "+СокрЛП(ИмяФайлаВыгрузкиXML),СтатусСообщения.ОченьВажное);
    Продолжить;
    КонецПопытки;
    
    КонецЦикла;
    
    
    
  2. TopicStarter Overlay
    bk1975
    Offline

    bk1975

    Регистрация:
    23 июн 2011
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Всё, разобрался.
    Нужно было просто при чтении добавить

    ZIP.Закрыть();

Поделиться этой страницей