1с ftp соединение зависает
Спецы, кто устраивал обмен в РБД ч-з FTP? (8.1)<br><br> Первый обмен происходит без ошибок, потом 1С выдает ошибку:<br><br> Начат обмен данными по настройке "Обмен с ЦО" (12:08:05).<br> Возможно дата файлов обмена не превосходит дату последнего файла обмена данными через FTP: 24.08.2011 11:04:49<br> Не найден входящий файл обмена данными.<br> Запись изменений текущей информационной базы в файл обмена завершилась успешно.<br> Обмен данными по настройке "Обмен с ЦО" завершен (12:08:07).<br><br> Т.е., 1С считывает старый файл, якобы лежащий на FTP, захожу на FTP браузером, файл новый, и время у него не то, что указано в ошибке, файл свеженький. <br> Вторую неделю бьюсь, может кто поможет?<br><br>Только не надо советовать делать обмен ч-з почту, этот вариант не устраивает.
Такое бывало с некоторыми FTP-серверами. Однажды расхождение даты шло аж на год. При чем происходило это иногда и причину так и не удалось выяснить.<br>А вообще при работе с FTP дополнительно запускали сервис переноса файлов в сетевую папку, а сам обмен уже настраивали на нее. Это сразу "закрыло" многие вопросы транспортировки файла и избавило от необходимости перезакачивать файл в случае сбоя во время обмена (типовой механизм не проверяет, что файл уже был скачан).
"Денис, спасибо большое, что отреагировали. <br> <br>Ч-з 3 часа после того, как я написал вопрос на форуме, сам нашел причину и решение <br>Могу поделиться. <br> <br>Это было написано в Общем модуле ПроцедурыОбменаДанными:<br>________________________________________________________ ___________________<br>ВремяИзмененияТекущегоФайла = ТекущийФайлДляОбмена.ПолучитьВремяИзменения();<br> <br> //дата последнего файла обмена должна быть меньше текущего файла обмена<br> Если (СтруктураНастроекОбменаДанными.ДатаПоследнегоФайлаОбмена <> Неопределено) <br> И (СтруктураНастроекОбменаДанными.ДатаПоследнегоФайлаОбмена > ВремяИзмененияТекущегоФайла) Тогда<br> <br> Продолжить;<br> <br> КонецЕсли; <br> ____________________________________________________________ _______________<br> <br>Как раз ошибка и заключается в неправильной отработке метода ПолучитьВремяИзменения()<br> Я просто закоментарил следующие строки до КонецЕсли. В режиме файлового обмена и так проверяется дата и время выгруженного файла. А тут зачем-то решили контролировать дату и время прямо на FTP, наверное чтобы сэкономить трафик. А метод ПолучитьВремяИзменения() не всегда отрабатывает корректно на FTP-шнике ("При чем происходило это иногда и причину так и не удалось выяснить."). Нет необходимости в контроле прямо на FTP, скачали, потом анализируем содержимое, как в файловом варианте. Почему нет? ошибка исчезла. И не надо организовывать сервис переноса в сетевую папку <br> <br>А вот прчина такого косяка -<br> <br>В 1С действительно некоторые фунции работы с датой и временем отрабатывают не вполне корректно. Я с подобной проблемой сталкивался еще в 7.7, на сертификации мне попалась задачка, в которой использовался метод ВыбратьДокументы(). Если не указываются даты, то, якобы, выбираются все документы с самого первого, но тогда невозможно увидеть документы с пустыми строками. <br>Короче, экзаменатор это заметил и молча дал мне еще 4 часа, чтобы я выяснил причину. Когда я это раскопал, он мне сам сказал, что это недокументированная ошибка <br> <br>Еще раз спасибо :-)"
Читайте также: