|
НайтиФайлы по маске "?" | ☑ | ||
---|---|---|---|---|
0
Повелитель
04.12.13
✎
09:26
|
По артикулам из карточки номенклатуры ищем картинку, в папке с изображениями "\\SERV3\image\".
Артикула в базе занесен как 063-183 В базе 1с артикулы, для стандарта всегда идут с "-", в пути картинки вместо дефисов могут быть "." или ",". Картинка которая соответствует изображению есть, вот путь: \\SERV3\image\mirp\425\063.183.jpg Пытаюсь найти картинку: Маска = Строка(Строчка.Номенклатура.Артикул)+".jpg"; Маска = СтрЗаменить(Маска,"-","?"); НайденныеФайлы = НайтиФайлы("\\SERV3\image",Маска,Истина); Не находит. Находит если ставить "*": Маска = СтрЗаменить(Маска,"-","*"); Но звездочкой пользоваться нельзя, потомучто в папке может находиться и такая картинка: \\SERV3\image\mirp\425\0631.183.jpg Подскажите что делать? Может использовать api функции лучше? |
|||
1
Apokalipsec
04.12.13
✎
09:28
|
Приклеить ".жипег" после СтрЗаменить не предлагать - неинтересно?
|
|||
2
Повелитель
04.12.13
✎
09:29
|
(1) А какая разница?
На выходе все равно получаем Маска = "063*183.jpg" |
|||
3
Мутабор
04.12.13
✎
09:31
|
Переименуй картинки нафиг и не парься
|
|||
4
Повелитель
04.12.13
✎
09:35
|
(3) Да картинки то как раз правильно называются. Артикул такой же как на товаре.
Это мы перемудрили, когда сделали единый стандарт для Артикулов с дефисом. Переделать артикулы будет проблематично, товаров около 70000. |
|||
5
Apokalipsec
04.12.13
✎
09:37
|
(2) Точки тебе тоже надо заменить, неважно на * или на ?, поэтому расширение приклеивается к маске в конце. Может у тебя там после "-" ещё пробел, или перед поэтому и не находит. Ты не учел все случаи и не привел строку к нормальной маске.
|
|||
6
Повелитель
04.12.13
✎
09:42
|
(5) не находит конкретный пример, через "?"
лишних символов нет причем если в проводнике искать, копируя из отладчика маску *063?183.jpg, то находит |
|||
7
Мутабор
04.12.13
✎
09:45
|
\\SERV3\image\
а так? |
|||
8
Повелитель
04.12.13
✎
09:52
|
(7) Пробовал, не ищет
|
|||
9
Apokalipsec
04.12.13
✎
09:56
|
(8) "063?183.jpg" а так в проводнике тоже не находит?
|
|||
10
Повелитель
04.12.13
✎
09:59
|
(9) Находит
|
|||
11
Повелитель
04.12.13
✎
10:01
|
(9) Если стоять в папке \\SERV3\image\
если внутри диска С:\ стоять, то не находит |
|||
12
Apokalipsec
04.12.13
✎
10:05
|
(11) логично)
а если сделать Маска = СтрЗаменить(Маска,"-",".") то всё равно не находит? |
|||
13
Повелитель
04.12.13
✎
10:11
|
(12) Попробовал, так находит.
Я просто не хочу перебором искать: Если так не нашел,Маска = "063-183.jpg" то Маска = СтрЗаменить(Маска,"-",".") если так не нашел, то Маска = СтрЗаменить(Маска,".",",") Думал меня спасет "?", который в СП рекомендуют |
|||
14
Повелитель
04.12.13
✎
10:19
|
Все нашел вариант.
Маска = "*.jpg". Массив для 47000 картинок, получается за 5 секунд. Перегоню его в ТЗ, ТЗ возьму менеджером временных таблиц, и там все найду запросом |
|||
15
Kerk
04.12.13
✎
10:25
|
(14) А ещё загони эту ТЗ в регистр сведений и бери все от туда. А сам регистр обновляй раз в 15 минут-1 час.
|
|||
16
Повелитель
04.12.13
✎
11:28
|
(15) Регистр, то зачем? По ТЗ в запросе и так хорошо будет искать.
|
|||
17
Kerk
04.12.13
✎
13:42
|
(16) Это одну картинку, а если тебе их 100 получить разом надо и в разных процедурах?
Ну в общем, на твоей совести(кошельке) вопрос оптимизации :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |