Показать сообщение отдельно
Старый 19.12.2012, 09:00   #11  
GRIZZLY_imported is offline
GRIZZLY_imported
Участник
 
39 / 10 (1) +
Регистрация: 18.05.2007
Я думаю дело в необходимости добавления символа @, который на SQL позволяет накладывать фильтр без разницы имя написано маленькими или большими буквами. Ну а уж если используем маски, то нужно использовать оператор SETFILTER.
Я вот тоже столкнулся с проблемой, что процедура не хотела найти файл, наткнулся тоже на рекомендацию сначала установить фильтр на диск c: на мибусо.
Вот мой код, который ищет файл в каталоге и инкрементирует его имя:
Код:
  IF COPYSTR(ExportPath, STRLEN(ExportPath), 1) <> '\' THEN ExportPath += '\';
  Folder.SETRANGE(Path,'c:\');
  IF Folder.FINDFIRST THEN;
  Folder.SETRANGE(Path, ExportPath);
  Folder.SETRANGE("Is a file",TRUE);
  Folder.SETFILTER(Name, '@' + STRSUBSTNO(ExportFileMask,Company.Name,'*'));
  IF Folder.FINDLAST THEN ExportName := INCSTR(Folder.Name)
  ELSE ExportName := STRSUBSTNO(ExportFileMask,Company.Name,FORMAT(1, 0, '<Integer,4><Filler Character,0>'));
где ExportFileMask - текстовая константа %1-Export-%2.xml
в %1 подставляется имя компании, в %2 - маска по имени файла.