|
Прочитать файл на сервере | ☑ | ||
---|---|---|---|---|
0
sanechichek
23.07.12
✎
14:27
|
Подскажите, пожалуйста, как прочитать файл на сервере и передать его на клиент. То есть у меня есть путь к файлу, который хранится на сервере, на клиенте такого файла нет, но мне нужно его каким то образом получить на сервера и обработать на клиенте, как это лучше всего сделать, пробовал через фоновое задание, но не получается.
|
|||
1
LDSoft
23.07.12
✎
14:32
|
А через фоновое как пробовали?
|
|||
2
ДенисЧ
23.07.12
✎
14:35
|
На сервере его прочитать, запихнуть в двоичные данные, передать клиенту. Так не пробовал?
|
|||
3
sanechichek
23.07.12
✎
14:36
|
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(ЛогWinSCP); МассивПараметров.Добавить(Лог); ФоновыеЗадания.Выполнить("РаботаСSFTPСервером.ПрочитатьФайлНаСервере", МассивПараметров); Процедура ПрочитатьФайлНаСервере(ПутьКФайлу, Лог) Экспорт Лог = Новый ТекстовыйДокумент; Лог.Прочитать(ПутьКФайлу, "windows-1251"); КонецПроцедуры // ПрочитатьФайлНаСервере() Но в переменную "Лог" не передается значение. |
|||
4
LDSoft
23.07.12
✎
14:37
|
(2) +100500
|
|||
5
sanechichek
23.07.12
✎
14:38
|
(2), не пробовал, а как правильно передать на клиент?
|
|||
6
ДенисЧ
23.07.12
✎
14:39
|
(5) как результат функции, например.
|
|||
7
sanechichek
23.07.12
✎
14:48
|
(6), а как мне через фоновое задание получить результат функции?
Результат = ФоновыеЗадания.Выполнить("РаботаСSFTPСервером.ПрочитатьФайлНаСервере", МассивПараметров); //так не получается. |
|||
8
olegves
23.07.12
✎
14:56
|
(0)
через ХранилищеЗначений 1. Сохраняешь на сервере 2. Передаешь на клиент ссылку на Хранилище 3. Сохраняешь на клиент по ссылке |
|||
9
sanechichek
23.07.12
✎
15:07
|
(8), а как мне с сервера на клиент передать ссылку на Хранилище?
|
|||
10
ДенисЧ
23.07.12
✎
15:08
|
(7) А зачсем тебе фоновой задание?
|
|||
11
olegves
23.07.12
✎
15:10
|
(9)
С клиента вызываешь серверную функцию, которая запишет файл в хранилище, и затем вернет тебе ссылку на это хранилище |
|||
12
freeride81
23.07.12
✎
15:11
|
ПоместитьВоВременноеХранилище(<Данные>, <Адрес>)
|
|||
13
aleks-id
23.07.12
✎
15:11
|
на сервере
функция ДобытьСсылкуНаФайл() Возврат ПоместитьВоВременноеХранилище(трампапам) конецфункции на клиенте ПолучитьИзВременногоХранилища(ДобытьСсылкуНаФайл()) |
|||
14
Ахиллес
23.07.12
✎
15:16
|
(0) Вывали файл на шару или на ФТП и работай с клиентом, как обычно с локальными файлами.
З.Ы. Ну, что делать если клиент-серверную логику в 1С дауны писали. |
|||
15
sanechichek
23.07.12
✎
15:21
|
(14), так точно не могу, политика безопасности предприятия.
|
|||
16
sanechichek
23.07.12
✎
15:23
|
(13), как мне вызвать с клиента функцию на сервере? пишет что функция не обнаружена.
|
|||
17
olegves
23.07.12
✎
15:32
|
(16) если в обработке, то пиши
1С&НаСервере Функция ммм() //тело функции КонецФункции/1С |
|||
18
Ахиллес
23.07.12
✎
15:34
|
(15) Ты думаешь 1с лучше защищена чем ФТП сервер :-) Таки вы хорошо думаете о 1с :-)))
Если файл может прочитать юзер одинэсовский, о какой безопасности речть тогда идёт? |
|||
19
sanechichek
23.07.12
✎
15:37
|
(17), это для меня что то новое, но всеравно выдает ошибку "Неопознанный оператор"
|
|||
20
olegves
23.07.12
✎
15:39
|
(19) ты бы версию 1С написал, а также ОФ или УФ
|
|||
21
sanechichek
23.07.12
✎
15:41
|
(20), 8.2.15.310, ОФ.
|
|||
22
sanechichek
23.07.12
✎
15:41
|
(18) папка в которой хранятся файлы не должна быть расшарена и может быть получена только на сервере.
|
|||
23
olegves
23.07.12
✎
15:44
|
(21)
используй серверный общий модуль, куда допиши функцию сохранения файла в Хранилище |
|||
24
Reset
23.07.12
✎
16:04
|
+(23) напр такую
Функция ПолучитьДвоичныеДанныеИзФайлаНаСервере(ПолноеИмяФайла) Экспорт Попытка ДвоичныеДанные=Новый ДвоичныеДанные(ПолноеИмяФайла); Исключение возврат Неопределено; КонецПопытки; Возврат ДвоичныеДанные; КонецФункции |
|||
25
olegves
23.07.12
✎
16:16
|
+ (24)
Возврат ПоместитьВоВременноеХранилище(ДвоичныеДанные); как-то так |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |