Не работает функция "НайтиФайлы" в серверном модуле

1. TimofeySin 172 03.03.11 17:13 Сейчас в теме
До этого была 8.1 функция работала без ошибок и шикарно.
Потом переделал все в файловой базе 8.2, то же все хорошо.
Сейчас перевел файловую базу в серверную (на тот же комп где и 8.1 стоит), перестал искать файлы... Причем даже не ругается, просто ничего не находит.
Куда копать?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tango 543 03.03.11 19:55 Сейчас в теме
с другой стороны, ты ведь сам перевел ее из файловой в серверную, верно? попробуй "НайтиСервера"
interstep; +1 Ответить
3. TimofeySin 172 03.03.11 20:29 Сейчас в теме
гы гы ... Но блин мне это реально надо...
4. tango 543 03.03.11 20:47 Сейчас в теме
Первый шаг - создание объект FileSystemObject для последующей работы с ним
5. TimofeySin 172 04.03.11 09:47 Сейчас в теме
А можно поподробней... а то мне никакие файлы создавать не надо, мне надо определить путь до файла:

ДоступныеДир = НайтиФайлы("\\Digserver4\arhive\",НомерЗаказчика+"_*");
ВсеПапкиВПриладке = НайтиФайлы(ДоступныеДир[0].ПолноеИмя+"\"+Имяприлдадки+"\","*");
Файл = НайтиФайлы(ДоступныеДир[0].ПолноеИмя+"\"+Имяприлдадки+"\view\"+ИмяФайла+".pdf");
Возврат(Файл[0].ПолноеИмя);
6. cool.vlad4 2 04.03.11 10:25 Сейчас в теме
(5) :D ну это же азы vb скриптинга...http://www.intuit.ru/department/os/compromtwin/6/ поиск вам поможет...
fso=Новый COMОбъект("Scripting.FileSystemObject");
(2) отжег ! :D
13. tarassov 112 19.03.15 15:08 Сейчас в теме
(5) TimofeySin,
Хорошая функция НайтиФайлы(<Путь>, <Маска>, <ИскатьВПодкаталогах>), не нужна никаких сом-объектов и скриптов.
Только если запускаем ее на стороне сервера, то и пути будут относительно сервера
то, что на клиенте было доступно как НайтиФайлы("\\Digserver4\arhive\*")
на сервере будет уже иначе, возможно как НайтиФайлы("C:\arhive\*") или НайтиФайлы("D:\arhive\*") или к примеру НайтиФайлы("С:\users\1c\arhive\*")
7. TimofeySin 172 04.03.11 10:53 Сейчас в теме
А нафига мне Vb то? в 8.1 то все работало...
8. cool.vlad4 2 04.03.11 11:26 Сейчас в теме
(7) tango вам предложил альтернативный вариант, как хотите...а что там за непонятки у вас, решать придется вам, есть подозрение, что либо трабла с правами,либо с путями
9. tango 543 04.03.11 12:24 Сейчас в теме
(7) "а на фига"
на фига: файл логов в полгига, 5 млн. записей - ничитается вообще ничем. 1ска выдает белый экран и делает вид. что думает. думает долго. всякие дллки от братьеев 1снегов - тот же эффект.

а FileSystemObject спокойненько глотает. строчка за строчкой.
10. TimofeySin 172 04.03.11 14:57 Сейчас в теме
А тогда вопрос, у этого способа есть метод Find, а то при
FSO = Новый COMОбъект("Scripting.FileSystemObject");
ДоступныеДир = FSO.GetFolder("\\Server\arhive\");

Он у меня виснет, поскольку там каталогов более 5000 штук...
раньше я искал:
("\\Server\arhive\"+НомерЗаказчика+"_*");
А эта зараза ругается...

ЗЫ Запустил я эту систему, но она сейчас ищет каждый файлик секунды 2, а при помощи НайтиФайлы пол секунди и меньше
11. pavelyar 19.03.15 14:27 Сейчас в теме
Латинские и кириллица в маске имени файла нормально ищутся?
12. KotorVB 19.03.15 14:39 Сейчас в теме
<Путь> (обязательный)

Тип: Строка.
Путь к каталогу, в котором производится поиск. Каталог может быть как на локальной сети, так и на ftp-сервере. При использовании этой схемы в адресах необходимо указывать прямые слеши '/', а не обратные '\'.
Допускается указание полного имени файла (путь + имя).
14. Tiger86 19.03.15 15:15 Сейчас в теме
TimofeySin 04.03.11 14:57

ответ через почти 4 года
pavelyar 19.03.15 14:27

круто....и тема вновь ожила
15. tarassov 112 19.03.15 17:17 Сейчас в теме
(14) Tiger86,
Да, глупо получилось :)
Но кажется хорошим тоном является закрыть тему после получения нужного ответа, разве не так?!
16. Tiger86 20.03.15 08:44 Сейчас в теме
(15) tarassov, возможно, это не ко мне )))
17. Orkrist 03.10.18 12:37 Сейчас в теме
Столкнулся с похожей ситуацией. Оказалось всё просто и логично. В моем случае выполнялась НайтиФайлы() в процедуре с директивой &НаСервере, а путь для поиска вводился на стороне клиента. Поскольку сервер и клиентский компьютер - это две разных машины, то путь с клиентского компьютера выдавал пустой результат. После переноса поиска на клиент всё заработало.
18. melenaspb 208 03.10.18 14:16 Сейчас в теме
На папку где ищутся файлы должен быть доступ у пользователя под которым запущена служба сервера 1С
Papilion; mbalyukin; +2 Ответить
19. alexei-k 15.10.22 12:15 Сейчас в теме
Столкнулся с похожей проблемой, решение есть!
Что имеем. По сети расшарена папка с правами только для конкретного пользователя. База серверная на win.
Если пользоваться командой НайтиФайлы() в процедуре с директивой &НаКлиенте (предварительно открыв эту папку в проводнике после запроса логина и пароля), то все работает. Если &НаСервере, то нет, т.к. надо каким-то образом передать имя пользователя и пароль для доступа к этой папке для работы из под пользователя под которым запущен сервер.
Решение - добавить в диспетчер учетных данных Windows пользователя под которым запущен сервер необходимые данные авторизации.
&НаСервере
Процедура ДобавитьДанныеАвторизацииНаСервере()
	
	Код = Неопределено;
	ЗапуститьПриложение("cmdkey /add:pc2222 /user:usr /pass:psw",, Истина, Код);
	Сообщить(Код);
	
КонецПроцедуры
Показать
Оставьте свое сообщение

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