Проблемы с обменом в РБД ч-з FTP
25.08.2011
00:39
#1
Спецы, кто устраивал обмен в РБД ч-з FTP? (8.1)
Первый обмен происходит без ошибок, потом 1С выдает ошибку:
Начат обмен данными по настройке "Обмен с ЦО" (12:08:05).
Возможно дата файлов обмена не превосходит дату последнего файла обмена данными через FTP: 24.08.2011 11:04:49
Не найден входящий файл обмена данными.
Запись изменений текущей информационной базы в файл обмена завершилась успешно.
Обмен данными по настройке "Обмен с ЦО" завершен (12:08:07).
Т.е., 1С считывает старый файл, якобы лежащий на FTP, захожу на FTP браузером, файл новый, и время у него не то, что указано в ошибке, файл свеженький...
Вторую неделю бьюсь, может кто поможет?
Только не надо советовать делать обмен ч-з почту, этот вариант не устраивает...
Первый обмен происходит без ошибок, потом 1С выдает ошибку:
Начат обмен данными по настройке "Обмен с ЦО" (12:08:05).
Возможно дата файлов обмена не превосходит дату последнего файла обмена данными через FTP: 24.08.2011 11:04:49
Не найден входящий файл обмена данными.
Запись изменений текущей информационной базы в файл обмена завершилась успешно.
Обмен данными по настройке "Обмен с ЦО" завершен (12:08:07).
Т.е., 1С считывает старый файл, якобы лежащий на FTP, захожу на FTP браузером, файл новый, и время у него не то, что указано в ошибке, файл свеженький...
Вторую неделю бьюсь, может кто поможет?
Только не надо советовать делать обмен ч-з почту, этот вариант не устраивает...
25.08.2011
11:11
#2
Такое бывало с некоторыми FTP-серверами. Однажды расхождение даты шло аж на год. При чем происходило это иногда и причину так и не удалось выяснить.
А вообще при работе с FTP дополнительно запускали сервис переноса файлов в сетевую папку, а сам обмен уже настраивали на нее. Это сразу "закрыло" многие вопросы транспортировки файла и избавило от необходимости перезакачивать файл в случае сбоя во время обмена (типовой механизм не проверяет, что файл уже был скачан).
А вообще при работе с FTP дополнительно запускали сервис переноса файлов в сетевую папку, а сам обмен уже настраивали на нее. Это сразу "закрыло" многие вопросы транспортировки файла и избавило от необходимости перезакачивать файл в случае сбоя во время обмена (типовой механизм не проверяет, что файл уже был скачан).
25.08.2011
17:55
#3
"Денис, спасибо большое, что отреагировали...
Ч-з 3 часа после того, как я написал вопрос на форуме, сам нашел причину и решение
Могу поделиться...
Это было написано в Общем модуле ПроцедурыОбменаДанными:
________________________________________________________ ___________________
ВремяИзмененияТекущегоФайла = ТекущийФайлДляОбмена.ПолучитьВремяИзменения();
//дата последнего файла обмена должна быть меньше текущего файла обмена
Если (СтруктураНастроекОбменаДанными.ДатаПоследнегоФайлаОбмена <> Неопределено)
И (СтруктураНастроекОбменаДанными.ДатаПоследнегоФайлаОбмена > ВремяИзмененияТекущегоФайла) Тогда
Продолжить;
КонецЕсли;
____________________________________________________________ _______________
Как раз ошибка и заключается в неправильной отработке метода ПолучитьВремяИзменения()
Я просто закоментарил следующие строки до КонецЕсли. В режиме файлового обмена и так проверяется дата и время выгруженного файла. А тут зачем-то решили контролировать дату и время прямо на FTP, наверное чтобы сэкономить трафик. А метод ПолучитьВремяИзменения() не всегда отрабатывает корректно на FTP-шнике ("При чем происходило это иногда и причину так и не удалось выяснить."). Нет необходимости в контроле прямо на FTP, скачали, потом анализируем содержимое, как в файловом варианте. Почему нет? ошибка исчезла... И не надо организовывать сервис переноса в сетевую папку
А вот прчина такого косяка -
В 1С действительно некоторые фунции работы с датой и временем отрабатывают не вполне корректно. Я с подобной проблемой сталкивался еще в 7.7, на сертификации мне попалась задачка, в которой использовался метод ВыбратьДокументы(). Если не указываются даты, то, якобы, выбираются все документы с самого первого, но тогда невозможно увидеть документы с пустыми строками...
Короче, экзаменатор это заметил и молча дал мне еще 4 часа, чтобы я выяснил причину. Когда я это раскопал, он мне сам сказал, что это недокументированная ошибка
Еще раз спасибо :-)"
Ч-з 3 часа после того, как я написал вопрос на форуме, сам нашел причину и решение
Могу поделиться...
Это было написано в Общем модуле ПроцедурыОбменаДанными:
________________________________________________________
ВремяИзмененияТекущегоФайла = ТекущийФайлДляОбмена.ПолучитьВремяИзменения();
//дата последнего файла обмена должна быть меньше текущего файла обмена
Если (СтруктураНастроекОбменаДанными.ДатаПоследнегоФайлаОбмена <> Неопределено)
И (СтруктураНастроекОбменаДанными.ДатаПоследнегоФайлаОбмена > ВремяИзмененияТекущегоФайла) Тогда
Продолжить;
КонецЕсли;
____________________________________________________________
Как раз ошибка и заключается в неправильной отработке метода ПолучитьВремяИзменения()
Я просто закоментарил следующие строки до КонецЕсли. В режиме файлового обмена и так проверяется дата и время выгруженного файла. А тут зачем-то решили контролировать дату и время прямо на FTP, наверное чтобы сэкономить трафик. А метод ПолучитьВремяИзменения() не всегда отрабатывает корректно на FTP-шнике ("При чем происходило это иногда и причину так и не удалось выяснить."). Нет необходимости в контроле прямо на FTP, скачали, потом анализируем содержимое, как в файловом варианте. Почему нет? ошибка исчезла... И не надо организовывать сервис переноса в сетевую папку
А вот прчина такого косяка -
В 1С действительно некоторые фунции работы с датой и временем отрабатывают не вполне корректно. Я с подобной проблемой сталкивался еще в 7.7, на сертификации мне попалась задачка, в которой использовался метод ВыбратьДокументы(). Если не указываются даты, то, якобы, выбираются все документы с самого первого, но тогда невозможно увидеть документы с пустыми строками...
Короче, экзаменатор это заметил и молча дал мне еще 4 часа, чтобы я выяснил причину. Когда я это раскопал, он мне сам сказал, что это недокументированная ошибка
Еще раз спасибо :-)"
25.08.2011
18:03
#4
Кстати, вполне возможно, что метод ПолучитьВремяИзменения() неправильно отрабатывает только на некоторых FTP-ках, и у меня есть подозрение, что именно на тех, которые подняли не Unix-выми или Linux-выми, а виндовозовскими средствами, а у меня именно такой...
Тогда причина не в 1С, а в Windows.
Тогда причина не в 1С, а в Windows.
25.08.2011
21:42
#6
Ну это уже слишком 
Если честно, я поднял на уши весь Бишкек (я тут живу) с этим вопросом, пол Барнаула, пол Нвосибирска....
Никто не смог мне помочь, только разводили руками... Ни 1С-ники, ни сисадмины сетей. Последние вообще мнят себя богами, только не знаю почему это...
Подавляющее большинство из них не написали ни одной программмы, пришлось самому ковырять проблему...
Вот уже последние лет 10 на мои вопросы никто не может ответить. Некоторые я задавал и Козыреву, и Гончарову (это ребята, которые пишут толстые книжки про 1С)...
Вы первый за это время, кто хоть как-то попытался мне ответить....
Если не против, моя ICQ 286963792, вдруг чем-то сможем помочь друг другу
Если честно, я поднял на уши весь Бишкек (я тут живу) с этим вопросом, пол Барнаула, пол Нвосибирска....
Никто не смог мне помочь, только разводили руками... Ни 1С-ники, ни сисадмины сетей. Последние вообще мнят себя богами, только не знаю почему это...
Подавляющее большинство из них не написали ни одной программмы, пришлось самому ковырять проблему...
Вот уже последние лет 10 на мои вопросы никто не может ответить. Некоторые я задавал и Козыреву, и Гончарову (это ребята, которые пишут толстые книжки про 1С)...
Вы первый за это время, кто хоть как-то попытался мне ответить....
Если не против, моя ICQ 286963792, вдруг чем-то сможем помочь друг другу
26.08.2011
05:57
#7
> Если честно, я поднял на уши весь Бишкек (я тут живу) с этим вопросом, пол Барнаула, пол Нвосибирска....
> Никто не смог мне помочь, только разводили руками...
Видимо, я с этой половиной Новосибирска никак не сталкиваюсь...У вас явно мания величия
> Никто не смог мне помочь, только разводили руками...
Видимо, я с этой половиной Новосибирска никак не сталкиваюсь...У вас явно мания величия
26.08.2011
06:48
#8
Да нет, это обусловлено георафически. Видимо, Тэра, Вы живете на другом берегу Оби
Вам просто нужно научится плавать
Читают тему
(гостей: 1)