|
v7: Поиск имени файла в строке | ☑ | ||
---|---|---|---|---|
0
namazi74
18.03.14
✎
08:13
|
Доброе утро. 1С 7.7 ТиС 8.7. Обработка осуществляет перебор файлов картинок (.jpg) в каталоге на локальной машине и сравнивает их название с переменной, которая содержит название контрагента. Если имя файла совпадает с названием контрагента, то файл картинки крепится в форму и выводится на экран. Код обработки:
Процедура ПриОткрытии() Если СокрЛП(Форма.Параметр) <> "" Тогда КодКлиента = Форма.Параметр; ПутьПодписей = СокрЛП(Константа.ПапкаДоверенностей); Если ФС.СуществуетФайл(ПутьПодписей+"\*.*") = 1 Тогда ФС.УстТекКаталог(ПутьПодписей+"\"); Файл=""; Файл=ФС.НайтиПервыйФайл("*.*"); ФайлНайден = 0; ФайлЗ=""; Пока ПустаяСтрока(Файл)=0 Цикл ФайлЗ=СтрЗаменить(Файл,".jpg",""); //отсекается .jpg из имена файла Если Найти(СокрЛП(КодКлиента),СокрЛП(ФайлЗ)) = 1 Тогда Сообщить("Совпадение найдено:"+Файл+" принадлежит Клиенту "+КодКлиента); ФайлНайден = 1; Прервать; КонецЕсли; Файл=ФС.НайтиСледующийФайл(); КонецЦикла; Если ФайлНайден = 1 Тогда Картинка.Загрузить(Файл); Иначе Сообщить("Файл Клиента не найден!"); КонецЕсли; Иначе Сообщить("Каталог картинок не найден!"); КонецЕсли; КонецЕсли; КонецПроцедуры Всё работает если название файла в точности совпадает с названием клиента. Например, файл "Кабанов А.В. ИП.jpg" выводится в форму, а если будет название "Кабанов.jpg" или просто "а.jpg" не выводится. Но ведь вхождения в строку есть. Каким образом реализовать? |
|||
2
povar
18.03.14
✎
08:18
|
Если Найти(СокрЛП(КодКлиента),СокрЛП(ФайлЗ)) >0 Тогда
|
|||
3
namazi74
18.03.14
✎
08:31
|
(2) "Файл Клиента не найден!"
как-то не так |
|||
4
namazi74
18.03.14
✎
08:35
|
(2) вру, всё работает. надо было добавить ещё одно условие:
Если ФайлЗ<>"" Тогда Если Найти(СокрЛП(КодКлиента),СокрЛП(ФайлЗ)) > 0 Тогда Сообщить("Совпадение найдено:"+Файл+" принадлежит Клиенту "+КодКлиента); ФайлНайден = 1; Прервать; КонецЕсли; КонецЕсли; Иначе он находит нулевое вхождение и срабатывает. povar, спасибо огромное! |
|||
5
namazi74
18.03.14
✎
08:36
|
povar, спасибо большое!
|
|||
6
SleepyHead
гуру
18.03.14
✎
08:42
|
Сделайте имя файла равным ИНН или СНИЛС, и будет вам счастье..
|
|||
7
SleepyHead
гуру
18.03.14
✎
08:45
|
Если код контрагента уникальный, еще лучше сделать имя картинки равной коду.
|
|||
8
namazi74
18.03.14
✎
09:01
|
(7) да, так и было реализовано с другой группой файлов. Это правильно. Но конкретно эта группа файлов изначально создавалась без кода контрагента. Пронумеровывать их сейчас - практически нереально (файлов накопилось почти тысяча). Потому делаю вот такое извращение.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |