Имя: Пароль:
1C
1С v8
Как в процедуре на сервере прочитать файл, находящийся на компьютере клиента?
0 Девушка-Вамп
 
04.05.16
11:55
Задаю переменную на форме, в ней прописываю локальный путь к папке с файлами, потом в процедуре на сервере пытаюсь прочитать - файлы из папки, и ничего не происходит. т.е. система их просто не видит.
конструкция:

    КучаФайлов = НайтиФайлы(Объект.ПутьКФайлу,"*.xlsx");
    Для НомФайл = 0 По КучаФайлов.Количество()-1 Цикл

показывает, что найдено 0 файлов. на обычном приложении это срабатывает. может к имени пути что-то нужно дописывать?
1 lubitelxml
 
04.05.16
11:57
путь должен быть сетевой... то есть вы на клиенте когда прикрепляете файл - указывайте сетевой путь (к данному компу и файлу)
2 Девушка-Вамп
 
04.05.16
12:02
(1) т.е. если я написала путь: D:\HP нужно заменить на \\ИмяКомпа\D$\НР\ и всё заработает?

пошла пробовать :)
3 ДенисЧ
 
04.05.16
12:04
Читай на клиенте, пихай в хранлище и отдавай на сервер
4 Локи-13
 
04.05.16
12:07
(3) +1
5 Fragster
 
гуру
04.05.16
12:07
начатьпомещениефайлов и прочая асинхронная лабуда из синтак-помощника
6 AceVi
 
04.05.16
12:08
(3) Нужно создать временный адрес файлового хранилища(грубо говоря это путь к папке temp которым пользуется сервер 1С) и сохранить по этому адресу(он сразу сохранит на сервере) - после чего это файл будет доступен по тому же временному адресу но уже на сервере(временный адрес помести в переменную и передай на сервер. это просто строка).
7 Девушка-Вамп
 
04.05.16
12:17
(6) если база файловая, локальная, тоже через хранилище делать лучше?
и как узнать какой папкой пользуется 1с? чтобы её потом очищать за собой. А то так несколько сотен раз файл сохранишь, и на сервере место закончится.
8 Злопчинский
 
04.05.16
12:18
(2) в общем случае не заработает, так как учетка сервера может быть не допущена к данному локальному ресурсу
9 Fragster
 
гуру
04.05.16
12:20
(7)->(5)
10 Девушка-Вамп
 
04.05.16
12:24
а какой из двух способов будет быстрее работать (т.е. менее ресурсоёмким)?
11 Девушка-Вамп
 
04.05.16
12:24
(9) поняла, спасибо!
12 Девушка-Вамп
 
04.05.16
12:25
значит есть два способа:
1. использовать файловое хранилище и делать временный файл на сервере
2. читать на клиенте, записывать в ТЗ или переменную и передавать на сервер
13 Девушка-Вамп
 
04.05.16
12:25
а теперь вопрос из (10) какой из двух способов будет быстрее работать (т.е. менее ресурсоёмким)?
14 MaxS
 
04.05.16
12:30
(7) 1С после закрытия очищает временные файлы. Но можно программно создавать временную папку или файл и потом удалять по окончании.

(12) Если сервер производительнее, то 1 вариант быстрее.
2) всё равно придётся использовать временное хранилище для передачи прочитанных данных, поэтому разницы нет при условии, что из огромного файла не извлекается только 1% данных. пмсм.
15 Девушка-Вамп
 
04.05.16
12:50
(14) поняла, огромное спасибо!