|
FTP и 1С81 | ☑ | ||
---|---|---|---|---|
0
lamme
09.11.11
✎
11:05
|
а это нормально - что 1С файлик весом 140кб - записывает порядка 17 сек
а far - 3-4 сек вот код Функция FTP_Connect() // Вставить содержимое обработчика. ИмяFTPСервера = элементыформы.Ftp_сервер.Значение; ПортFTPСоединения = элементыформы.Ftp_порт.Значение; ПользовательFTPСоединения = элементыформы.Ftp_пользователь.Значение; ПарольFTPСоединения = элементыформы.Ftp_пароль.Значение; ПассивноеFTPСоединение = элементыформы.ПассивныйРежим.Значение; #Если Клиент Тогда Состояние("Выполняется подключение к FTP: " + ИмяFTPСервера); #КонецЕсли Попытка Соединение = Новый FTPСоединение(ИмяFTPСервера, ПортFTPСоединения, ПользовательFTPСоединения, ПарольFTPСоединения, ,ПассивноеFTPСоединение); Исключение Соединение = Неопределено; сообщить ("Ошибка при подключении к FTP : " + ИмяFTPСервера + " ! " + ОписаниеОшибки()); конецпопытки; Возврат Соединение; конецфункции - и сама отправка Процедура Кнопка2Нажатие(Элемент) Соединение = FTP_Connect(); #Если Клиент Тогда Состояние(""); #КонецЕсли Запрос = Новый Запрос(); Запрос.УстановитьПараметр("ВидДанных", перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение); Запрос.УстановитьПараметр("ПометкаУдаления", Ложь); Запрос.Текст = "ВЫБРАТЬ | ХранилищеДополнительнойИнформации.Ссылка |ИЗ | Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации |ГДЕ | ХранилищеДополнительнойИнформации.ВидДанных = &ВидДанных | И ХранилищеДополнительнойИнформации.ПометкаУдаления = &ПометкаУдаления"; ВыборкаФайлов = Запрос.Выполнить().выбрать(); Элементыформы.Индикатор1.МинимальноеЗначение=0; Элементыформы.Индикатор1.МаксимальноеЗначение=ВыборкаФайлов.Количество(); cx=0; Пока ВыборкаФайлов.Следующий() цикл cx = cx+1; Элементыформы.Индикатор1.Значение =cx; НайденнаяСтрока = тз_отправленныхФото.Найти(сокрлп(ВыборкаФайлов.Ссылка.уникальныйидентификатор())+".jpg", "ИмяФайла"); Если НайденнаяСтрока = Неопределено Тогда Если ВыборкаФайлов.Ссылка.ВидДанных=перечисления.ВидыДополнительнойИнформацииОбъектов.Файл Тогда ОткрываемыйФайл = Новый Файл(ВыборкаФайлов.Ссылка.ИмяФайла); Если ОткрываемыйФайл.Существует() Тогда //ДвоичныеДанныеКартинки = Новый ДвоичныеДанные(ВыборкаФайлов.Ссылка.ИмяФайла); //Соединение.записать(ИмяФайла,ЭлементыФормы.Ftp_сервер.Значение+"\foto\"+ВыборкаФайлов.Ссылка.уникальныйидентификатор()+".jpg"); //Соединение.записать(ИмяФайла,"\foto\"+ВыборкаФайлов.Ссылка.уникальныйидентификатор()+".jpg"); Иначе //Сообщить("Указанный файл " + ВыборкаФайлов.Ссылка.ИмяФайла + " не существует"); КонецЕсли; Иначе //ДвоичныеДанныеКартинки = ВыборкаФайлов.Ссылка.Хранилище.Получить().ПолучитьДвоичныеДанные(); ДвоичныеДанныеКартинки = ВыборкаФайлов.Ссылка.Хранилище.Получить(); ИмяФайла = КВФ+сокрлп(ВыборкаФайлов.Ссылка.уникальныйидентификатор())+".jpg"; ДвоичныеДанныеКартинки.Записать(ИмяФайла); //НайдФ = Соединение.найтиФайлы("foto",Сокрлп(ВыборкаФайлов.Ссылка.уникальныйидентификатор())+".jpg"); //Если НайдФ.Количество()=0 тогда сообщить (ТекущаяДата()); Соединение.записать(ИмяФайла,"\foto\"+ВыборкаФайлов.Ссылка.уникальныйидентификатор()+".jpg"); сообщить ("-"); |
|||
1
Нуф-Нуф
09.11.11
✎
11:06
|
сравнивается копирование в фаре и получение-сохрание-копирование в 1с?
|
|||
2
lamme
09.11.11
✎
11:06
|
т.е. общий смысл всего этого действа - выбрать все изображения из Справочника-ХранилищедопИнфо
и записать их все на FTP |
|||
3
lamme
09.11.11
✎
11:07
|
(1)
ну - в данном случае да хочется понять - почему оно так медленно и как то оптимизировать все это безобразие |
|||
4
lamme
09.11.11
✎
11:08
|
1С:Предприятие 8.1 (8.1.15.14)
|
|||
5
Нуф-Нуф
09.11.11
✎
11:09
|
(3) замер проиводительности - и выясняй. может
3-4 копирования в фаре = 3-4 копирования в 1с, только к последнему добавляется 10 секунд на получени файла |
|||
6
lamme
09.11.11
✎
11:11
|
(5)
а зачем 1С получает файл? я туда просто записываю без проверок на существование замер грит - что именно Соединение.записать(...) - работает дольше всего |
|||
7
hhhh
09.11.11
✎
11:35
|
может активный и пассивный режим?
|
|||
8
Prokop78
15.11.11
✎
00:44
|
Дело в том, что 1С криво работает с FTP. После того как я отмониторил команды, посылаемые 1С-кой на FTP-сервер во время своей работы, я прозрел.
|
|||
9
MikleV
15.11.11
✎
01:05
|
(8)угу..
есть такое |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |