|   |   | 
| 
 | НайтиФайлы по маске "?" | ☑ | ||
|---|---|---|---|---|
| 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 получить разом надо и в разных процедурах?
 Ну в общем, на твоей совести(кошельке) вопрос оптимизации :) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |