|
FTP найти файлы И дальше поиск по результатам найденного? | ☑ | ||
---|---|---|---|---|
0
lamme
28.03.15
✎
16:52
|
1C82
FTP.НайтиФайлы() - возвращаем массив. как в этом массиве - без перебора !!! - найти значение по определенному имени файла? те в отладчике Массив найденных файлов показывает колонки Имя, ИмяБезРасширения,Путь,ПолноеИмя,Расширение. Как по такому массиву поиск делаеться ? |
|||
1
vde69
28.03.15
✎
16:58
|
у НайтиФайлы есть параметры ????
|
|||
2
lamme
28.03.15
✎
16:58
|
есть конечно. путь - маска
|
|||
3
lamme
28.03.15
✎
17:00
|
только если файлов 20 тыщ
то быстрее будет 1 раз получить массив всех файлов локально и потом уже 20т раз искать в массиве. чем 20т раз обращаться к FTP.НайтиФайлы() с установленным именемем файла. проверено. |
|||
4
mistеr
28.03.15
✎
19:18
|
(0) >как в этом массиве - без перебора !!! - найти значение по определенному имени файла?
Загрузить в ТЗ и проиндексировать. |
|||
5
lamme
28.03.15
✎
19:56
|
в том то и дело что не грузиться
|
|||
6
lamme
28.03.15
✎
20:08
|
массивР = ФТП.НайтиФайлы(......)
// массивР - тут есть найденные дальше как его загрузить в ТЗ ? |
|||
7
lamme
28.03.15
✎
20:11
|
у ТЗ есть только метод =- загрузить колонку
Тз.ЗагрузитьКолонку(МассивР,"ИмяКолонки") и вот тут косяк .. - не грузится |
|||
8
XLife
28.03.15
✎
20:19
|
учу читать СП...
Возвращаемое значение: Тип: Массив. Описание: Осуществляет поиск файлов - объектов типа FTPФайл. |
|||
9
lamme
28.03.15
✎
20:22
|
(8)
читаем 0 внимательно . вопрос - как потом в этом массиве найти опр значение? |
|||
10
XLife
28.03.15
✎
20:25
|
(9) читаем (8) и думаем...
p.s. ответ - никак, кроме перебора |
|||
11
lamme
28.03.15
✎
20:29
|
прикалываешься?
вот массив того что получилось http://clip2net.com/s/3f4gTW8 это N-мерный массив к нему можно обратится по индексу МассивР[20].Имя должен быть метод выгрузки в ТЗ такого массива или опр колонки |
|||
12
vde69
28.03.15
✎
20:33
|
в ТЗ можно загрузить колонку из массива, но вся проблема, что значение массива - это не имя файла....
по этому по имени файла найти нельзя... напиши подробно свою задачу, уверен там решение есть простое... |
|||
13
ДенисЧ
28.03.15
✎
20:36
|
(11) Мдя...
|
|||
14
lamme
28.03.15
✎
20:37
|
есть куча файлов на ftp
в 1С определенные файлики лежат локально. да - есть такая необходщимость. именно локально. и надо с локального компа скопировать на ftp те файлы - которых не хватает на ftp как вариант создать массив найденых файлов. ну и с ним работать. те когда в 1С идет запрос и выборка запроса - пока Выборка.Следующий() цикл имявлокально = выборка.товар.свойство.имяфайла1 и вот тут вот можно или лезить на ftp и по маске определять на ftp файлик. или в массиве сделать поиск по мне так второй вариант быстрее |
|||
15
XLife
28.03.15
✎
20:37
|
(11) массив содержит конкретные значения, поэтому ты видишь их свойства... если ты сможешь создать объект с типом "FTPФайл", то твоя проблема будет решена
|
|||
16
lamme
28.03.15
✎
20:37
|
(12)
да - согласен. в этом и проблема |
|||
17
lamme
28.03.15
✎
20:38
|
15
понял - но не понял как это сделать |
|||
18
XLife
28.03.15
✎
20:39
|
(17) еще раз... только перебор
|
|||
19
XLife
28.03.15
✎
20:42
|
(14) копировать все файлы не вариант?
|
|||
20
lamme
28.03.15
✎
20:57
|
19
20т файлов - жесть ... |
|||
21
lamme
28.03.15
✎
20:57
|
а запрос к массиву? чтоб потом результат вытащить в тз?
|
|||
22
lamme
28.03.15
✎
20:58
|
(13)
понял понял свой косяк ... |
|||
23
lamme
28.03.15
✎
22:28
|
лана .. че спорил то ..
5 сек обход массива занимает |
|||
24
medved_kot
28.03.15
✎
22:32
|
(23) Ты молодец.
|
|||
25
mistеr
29.03.15
✎
00:34
|
(6) В цикле.
(11) Никто никому не должен. |
|||
26
Повелитель
29.03.15
✎
08:42
|
У меня кажется похожая проблема была.
Около 100 000 картинок на данный момент выгружено на ftp для интернет магазина. Перебрать по одному не реально, методы ftp (найти, получить размер файла), тормозные отрабатывают за 1-2 секунды. При 100к это очень долго. И тебя не спасет то что ты список файлов получил, так как у меня например часть файлов лежит битая, то есть файл есть но он меньше 1024 байта. Ты будешь думать что он есть, а его нет. Спасает только проверка размера файла исходного и на ftp. Решил проблему так. 1 раз при выгрузке файла, после его выгрузки проверяю размер файла на фтп, если совпадает с исходным то в месте хранения 1с ставлю отметку "Картинка на ftp проверена" и больше этот файл никогда не проверяю. Но это уже в прошлом. Сейчас поставили программу Allway Sync, она теперь сама синхронизирует с ftp, а все проверки я делаю локально. |
|||
27
raykom
29.03.15
✎
08:55
|
(0) Реч идет о существующем хранилище файлов ? Или о создаваемом ?
Если о создаваемом, то если это вебсервис - то проще сделать запись в БД при создании/закачивании, а потом уже аботать с готовой таблицей/индексом. |
|||
28
vde69
29.03.15
✎
13:05
|
(14) на сайте делаешь
таблички в мускуле файлыСервера - имяФайла/CRC ФайлыНовые - ИмяФайла при записи по фтп на сервер добавляешь имя файла в табличку ФайлыНовые потом запускаешь ХП которая файлы из ФайлыНовые пересчитывает CRC дальше продолжать? |
|||
29
ДенисЧ
29.03.15
✎
14:37
|
(28) мдя... для примитивной задачи поднимать сервер с пыхпыхом...
rsync и всё. Даже 1с не нужна. |
|||
30
vde69
29.03.15
✎
15:15
|
(29) если 100 000 картинок - значит по любому скайт на мускуле...
|
|||
31
ДенисЧ
29.03.15
✎
15:22
|
(30) Прямо таки по-любому? 146%
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |