Показать сообщение отдельно
Старый 16.09.2011, 16:55   #10  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Цитата:
как проверить существует ли какой-либо конкретный файл в конкретной папке
F:File;

IF F.EXISTS('C:\Files\xxx.txt') THEN...
Объявлять переменную не надо. Функция EXISTS доступна сразу.

Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Цитата:
как узнать существуют ли вообще файлы в конкретной папке?
Самый простой способ:

На диске C: делаем файл list.bat, внутри которого лежит команда
"dir /b c:\Files\*.* > c:\out.txt"

далее из Navision выполняем
SHELL('c:\list.bat');

Затем в Nav анализируем только что созданный файл c:\out.txt
Если размер получившегося файла =0, то в папке c:\Files\ нет файлов.
А если не 0, то читаем сам файл (он текстовый) и там каждая строка - есть имя файла из нашей папочки.

Способ простой, хотя и немного идиотский. Только что придумал и ПРОВЕРИЛ - РАБОТАЕТ!
Это для тех, кто не хочет морочиться с automation и виртуальной таблицей File.
Можно и так, но нужно учитывать, что SHELL начиная с 4-ой версии запрашивает подтверждение и под NASом работать не будет. Чтобы не запрашивала нужно 'c:\list.bat' объявить как текстовую константу, но тогда мы жестко привязаны к имени файла.