Имя: Пароль:
1C
1С v8
НайтиФайлы() ищет только на сервере
0 Dendroid92
 
13.04.18
15:06
Всем привет!
Использую клиент-серверную архитектуру 1С. Столкнулся с проблемой, что функция НайтиФайлы() начинает искать файлы в каталоге на сервере, а надо на клиенте. Что делаю не так?
1 Cool_Profi
 
13.04.18
15:07
Ну так выполняй её НаКлиенте...
Только учти, что на тонком клиенте она недоступна
2 Dendroid92
 
13.04.18
15:11
(1) выполняя на клиенте и у меня как раз тонкий клиент(
3 Cool_Profi
 
13.04.18
15:13
Наврал про доступность, каюсь...
Поставь #Если Клиент и сообщить типа я на клиенте.... Проверь
4 Вафель
 
13.04.18
15:16
(2) код в студию
5 Dendroid92
 
13.04.18
15:16
(3)
&НаКлиенте
Процедура ЗагрузитьФайлыИзКаталога(Команда)
//ПоискИЗаменаФайлов();
СписокДоговоров = ПолучитьСписокДоговоров();
НайденныеФайлы = НайтиФайлы(Объект.ПутьККаталогу, СписокДоговоров[0].Значение + ".pdf");
Если НайденныеФайлы.Количество() > 0 Тогда
    Сообщить("Файл найден!");
КонецЕсли;
КонецПроцедуры

Что тут поменять?
6 Вафель
 
13.04.18
15:16
у тебя случайно не веб клиент?
7 Вафель
 
13.04.18
15:17
Ты конкретный файл ищещь? но зачем?
8 Cool_Profi
 
13.04.18
15:17
(5) Сообщить(Объект.ПутьККаталогу) ?
9 Вафель
 
13.04.18
15:19
А может вообще стоит запрет синхронных действий? ошибок не выскакиевает?
10 Dendroid92
 
13.04.18
15:21
(6) нет
(7) Потому что нужен конкретный файл из каталога, Новый Файл(<Здесь путь к файлу>) тоже не работает
(9) Как проверить?
11 tesseract
 
13.04.18
15:23
(5) Это синхронный вызов.

    ОповещениеФайлыНайдены = Новый ОписаниеОповещения("ОповещениеФайлыНайдены",ЭтаФорма,Неопределено);
    состояние              = "Поиск файлов";
    НачатьПоискФайлов(ОповещениеФайлыНайдены,ПутьЗагрузки,"*.расширение",Истина);
12 Dendroid92
 
13.04.18
15:27
(11) а как процедура ОповещениеФайлыНайдены должна выглядеть?
13 tesseract
 
13.04.18
15:29
(12)&НаКлиенте
Процедура ОповещениеФайлыНайдены(ВыбранныеФайлы,ДополнительныеПараметры)  Экспорт
    
    Если ВыбранныеФайлы = Неопределено Тогда
        Возврат;
    КонецЕсли;    
    
    Если ВыбранныеФайлы.Количество()=0 Тогда
        Возврат;
    КонецЕсли;    
    
    МассивПомещаемых = Новый Массив();
    
    Для Каждого ФайлЗагрузки Из ВыбранныеФайлы Цикл
        МассивПомещаемых.Добавить(Новый ОписаниеПередаваемогоФайла(ФайлЗагрузки.ПолноеИмя));
    КонецЦикла;    
    
    ПомещениеФайловЗавершение = Новый ОписаниеОповещения("ОповещениеЗагрузитьФайлы",ЭтаФорма);
    
    НачатьПомещениеФайлов(ПомещениеФайловЗавершение, МассивПомещаемых, , Ложь,УникальныйИдентификатор);

        
КонецПроцедуры
14 Dendroid92
 
13.04.18
15:34
(13) Спасибо за помощь, но опять, в файловой версии ищет, на клиент-серверной нет=(
15 Dendroid92
 
13.04.18
15:35
(13)

&НаКлиенте
Процедура ЗагрузитьФайлыИзКаталога(Команда)
СписокДоговоров = ПолучитьСписокДоговоров();
ОповещениеФайлыНайдены = Новый ОписаниеОповещения("ОповещениеФайлыНайдены",ЭтаФорма,Неопределено);
состояние              = "Поиск файлов";
НачатьПоискФайлов(ОповещениеФайлыНайдены,Объект.ПутьККаталогу, СписокДоговоров[0].Значение + ".pdf",Истина);
КонецПроцедуры

&НаКлиенте
Процедура ОповещениеФайлыНайдены(ВыбранныеФайлы,ДополнительныеПараметры)  Экспорт
    Если ВыбранныеФайлы.Количество() > 0 Тогда
        Сообщить("Файл найден!");
    КонецЕсли;
КонецПроцедуры

Писал так
16 Вафель
 
13.04.18
15:38
Для 1 файла есть Файл.существует
17 dezss
 
13.04.18
15:39
показывай пути и имя файла...
18 dezss
 
13.04.18
15:39
(17) + попробуй поискать без имени файла
19 Dendroid92
 
13.04.18
15:43
(16) Я уже писал, что оба случая на клиент-сервере мне ничего не возвращают, т.к. похоже что оба способа ищут на сервере, где естественно этого пути нет. А мне надо на клиенте искать файлы
20 Вафель
 
13.04.18
15:44
(19) не может такого быть
21 Dendroid92
 
13.04.18
15:44
(18) какая разница указываю я имя или нет? в файловой версии же все ищет, дело не в имени файла
22 dezss
 
13.04.18
15:52
(21) а процедура эта где расположена?
23 dezss
 
13.04.18
15:52
(22) + случайно не о общем модуле?
24 Вафель
 
13.04.18
15:54
судю потому что там Команда, то в модуле формы
25 dezss
 
13.04.18
15:57
(24) ну мало ли...
тогда кэш продуть...
26 dezss
 
13.04.18
15:57
(25) + и кстати, проверить (3)
27 tesseract
 
13.04.18
15:58
(21) Дело в том, что ты не понимаешь, что делаешь. Префикс &НаКлиенте скорее всего забыл.
28 1sanekmaloi1
 
13.04.18
16:26
Если лень разбираться, сделай папку доступной по сети и с сервера ищи, делов то.
29 aka AMIGO
 
13.04.18
16:50
А что, ребята, сервер не возвратит имя файла на клиента-то?
Ну, нашел - и нашел.. И возвратил..
ИМХО, конечно
30 tesseract
 
13.04.18
16:50
(29) ИСЧО один.
31 aka AMIGO
 
13.04.18
16:51
(30) Я понял :)
32 Вафель
 
13.04.18
16:53
(27) судя по коду не забыл