Проверка существования файла

1. fruktik 25.10.12 14:08 Сейчас в теме
Блин, гемор какой то в управляемых приложениях
Не получается определить существует ли файл на диске.
&НаСервере 
Функция ФайлСуществует(Знач ПутьКФайлу) Экспорт	
	Файл = Новый Файл(ПутьКФайлу);
	Возврат Файл.Существует();	
КонецФункции 

Процедура ЗагрСправ(Команда)
	//ПутьКФайлу = "D:\Выгрузка.dbf";
	Сообщить(ФайлСуществует(ПутьКФайлу)); 
КонецПроцедуры
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DenisCh 25.10.12 14:25 Сейчас в теме
А зачем &НаСервере проверять существование файла на клиенте?
На клиенте не проще ли проверить?
3. fruktik 25.10.12 14:27 Сейчас в теме
там большая процедура так то, я лишнее обрезал.
4. Crazy_kz 25 25.10.12 14:43 Сейчас в теме
все проще

Файл (File)
Существует (Exist)
Синтаксис:

Существует()
Возвращаемое значение:

Тип: Булево.
Истина - файл существует; Ложь - в противном случае.
Описание:

Определяет, существует ли файл, соответствующий данному объекту.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
Пример:

Функция ПроверитьСуществованиеКаталога(ИмяКаталога) Экспорт
КаталогНаДиске = Новый Файл(ИмяКаталога);
Если КаталогНаДиске.Существует() Тогда
Возврат Истина;
Иначе
Ответ = Вопрос("Каталог не существует. Создать?",
РежимДиалогаВопрос.ОКОтмена);
Если Ответ = КодВозвратаДиалога.ОК Тогда
СоздатьКаталог(ИмяКаталога);
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецЕсли;
КонецФункции
user1619761; SeTIrk; Papilion; +3 Ответить
8. makfromkz 35 25.10.12 15:19 Сейчас в теме
(4)
Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.

Как это сделать?
5. _Avril_ 25.10.12 14:57 Сейчас в теме
код проверил вроде работает корректно, возможно ошибка что для клиента и сервера путь к этому файлу различный
7. fruktik 25.10.12 15:12 Сейчас в теме
(5) _Avril_, а ну да)) видимо засрал весь код))
JustLucky; +1 Ответить
6. Crazy_kz 25 25.10.12 15:08 Сейчас в теме
так может как раз на клиенте и нужно выполнять?
sacred_a; +1 Ответить
9. Crazy_kz 25 25.10.12 16:29 Сейчас в теме
Глобальный контекст.УстановитьРасширениеРаботыСФайлами (Global context.InstallFileSystemExtension)
Глобальный контекст (Global context)
УстановитьРасширениеРаботыСФайлами (InstallFileSystemExtension)
Синтаксис:

УстановитьРасширениеРаботыСФайлами()
Описание:

Устанавливает расширение работы с файлами.
В режиме запуска толстого и тонкого клиентов информирует о том, что расширение установлено.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
См. также:

Глобальный контекст, метод ПодключитьРасширениеРаботыСФайлами
10. fruktik 25.10.12 19:29 Сейчас в теме
Что за фигня. Создал кнопку, создал команду, связал их. У команды прописал действие, написал процедуру $НаСервере
Поставил точку остановы в начале процедуры, в самой первой строчке. Запускаю, тыкаю, никаких действий. Что за беда?((
11. _Avril_ 26.10.12 08:39 Сейчас в теме
Если т процедуру Выгрузка обяъвил на сервере то она не будет срабатывавать, все обработчики срабатывают на клиенте а потом по необходимости вызывают серверные методы
12. user1252779 158 02.11.21 09:22 Сейчас в теме
	НайденныеФайлы = НайтиФайлы( ПутьКФайлу, "ИмяФайла.Расширение", Истина);	//проверит в каталоге, включая вложенные подкаталоги
	Если НайденныеФайлы.Количество() = 0 Тогда
		Сообщить("СоздатьНовый!");
	Иначе
		Для Каждого Файл Из НайденныеФайлы Цикл 
			ИмяФайла = Файл.ПолноеИмя;
		КонецЦикла;		
	КонецЕсли;	
Показать
13. sacred_a 19.06.23 09:38 Сейчас в теме
Экспериментальным путем проверил, что Файл.Существует() и НайтиФайлы() работают только на клиенте.
14. laperuz 46 19.06.23 10:01 Сейчас в теме
(13)Очень смелый вывод. А можно подробности эксперимента?
Ну только предполагаем, что мы в контексте &НаСервере проверяем существование файлов именно сервера, ну и что у пользователя, под которым запущена служба сервера 1С есть права на эти файлы/папки.
16. sacred_a 19.06.23 16:39 Сейчас в теме
(14) Привет, тестировал механизм вложения файлов, выносил в обработку: на сервере Файл.Существует() и НайтиФайлы() всегда выдавали что файла нет, хотя он там был, сам туда положил. Как только сделал на клиенте заработало.
17. SlavaKron 20.06.23 11:18 Сейчас в теме
(16) Какое имя файла? Проверю на своём компе, есть ли он.
15. user1936670 19.06.23 10:34 Сейчас в теме
(13)
Экспериментальным путем проверил
Это ты еще про НачатьПроверкуСуществования и НайтиФайлыАсинх не в курсе, экспериментатор ты наш...
18. DBV 20.06.23 12:15 Сейчас в теме
(13) Британские ученые доказали,
что Файл.Существует() и НайтиФайлы() работают только на клиенте.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот