|
Как в процедуре на сервере прочитать файл, находящийся на компьютере клиента? |
☑ |
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) поняла, огромное спасибо!
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший