Имя: Пароль:
1C
1С v8
Сохранение файла на веб клиенте
0 МОРЖ
 
15.10.12
15:50
СтруктураОтвета = АдресФайлаВХранилище(Объект.Путь);
   ФайлИзХранилища = ПолучитьИзВременногоХранилища(СтруктураОтвета.Хранение);
   #Если ВебКлиент Тогда
       СоздатьКаталог("C:\Temp");
       ВременныйФайл = "C:\Temp\";
   #Иначе
       ВременныйФайл = ПолучитьИмяВременногоФайла(СтруктураОтвета.Расширение);
   #КонецЕсли
   ФайлИзХранилища.Записать(ВременныйФайл);
   ЗапуститьПриложение(ВременныйФайл)

но метод Записать() у двоичных данных не работает на веб клиенте, вот беда. Как бы можно было отобразить содержимое файла с сервера на веб клиенте?
1 Нуф-Нуф
 
15.10.12
15:52
что значит не работает? может мсье не в ту папку сохраняет? уверен что у браузера есть доступ к папке Темп?
2 Нуф-Нуф
 
15.10.12
15:54
тем более, ты не в темп лезешь, а сам создаешь каталог на диске С, а для этого 100% прав не будет.

да и потом сохраняешь файл в "C:\Temp\" без указания имени.
косяк на косяке
3 YF
 
15.10.12
15:56
Вот кусочек кода из БСП, там есть нужные методы

ПолучаемыйФайл = Новый ОписаниеПередаваемогоФайла(КаталогСохранения + ИмяФайла, СсылкаНаДвоичныеДанныеФайла);
   ПолучаемыеФайлы = Новый Массив;
   ПолучаемыеФайлы.Добавить(ПолучаемыйФайл);
   
   ПолученныеФайлы = Новый Массив;
   
   Если ПолучитьФайлы(ПолучаемыеФайлы, ПолученныеФайлы, , Ложь) Тогда
       ПолноеИмяФайлаНаКлиенте = ПолученныеФайлы[0].Имя;
       Файл = Новый Файл(ПолноеИмяФайлаНаКлиенте);
       Файл.УстановитьУниверсальноеВремяИзменения(ДатаМодификацииУниверсальная);
       Возврат Истина;
   КонецЕсли;
4 МОРЖ
 
15.10.12
15:57
(2) Метод объекта Записать() не обнаружен {ФайлИзХранилища.Записать(ВременныйФайл)}
Папка темп создалась. а про каталог неудачно скопипастил., там вот так:
       ВременныйФайл = "C:\Temp\123" + СтруктураОтвета.Расширение;
5 МОРЖ
 
15.10.12
15:58
Права на папку дал полные. а вот записать вы уверены что работает на веб клиенте?
ДвоичныеДанные (BinaryData)
Записать (Write)
Синтаксис:

Записать(<ИмяФайла>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла, в который необходимо записать двоичные данные. Если файл существует, он будет перезаписан, иначе - создан.
Описание:

Записывает двоичные данные в файл.

Доступность:

Тонкий клиент, сервер, толстый клиент, внешнее соединение.
См. также:

ХранилищеЗначения
6 Нуф-Нуф
 
15.10.12
15:59
делай через двоичные данные
7 МОРЖ
 
15.10.12
15:59
может у меня платформа конечно устарела (1С:Предприятие 8.2 (8.2.16.352))...
8 YF
 
15.10.12
15:59
(5) Посмотри же ОписаниеПередаваемогоФайла, ПолучитьФайлы из (3)
9 Нуф-Нуф
 
15.10.12
15:59
ха. там тоже нет
10 Нуф-Нуф
 
15.10.12
16:01
да, чувак из (5) дело говорит.
11 acsent
 
15.10.12
16:02
на веб клиенте нужно установить расширение работы с файлами
12 МОРЖ
 
15.10.12
16:03
(3), (5) ПолучитьФайлы() передает их склиента на сервер, а не наоборот. а я их уже передал на клиент с сервера, мне нужно их там открыть, но для этого я не могу сохранить файл.
13 YF
 
15.10.12
16:04
(12) ДенисЧ пока отсутствует, предлагаю часть СП задаром:

ПолучитьФайлы (GetFiles)
Синтаксис:

ПолучитьФайлы(<ПолучаемыеФайлы>, <ПолученныеФайлы>, <РасположениеФайлов>, <Интерактивно>)
Параметры:

<ПолучаемыеФайлы> (обязательный)

Тип: Массив.
Массив объектов типа ОписаниеПередаваемогоФайла.
Каждый объект описывает получаемый файл:
Хранение - расположение данных во временном хранилище или в информационной базе;
Имя - это локальный путь, по которому должен быть расположен получаемый файл. Это может быть либо полный путь, либо часть пути, которая будет объединена со значением параметра <РасположениеФайлов>. Это также может быть имя файла или имя каталога (каталогов) + имя файла.
<ПолученныеФайлы> (необязательный)

Тип: Массив.
Массив объектов типа ОписаниеПереданногоФайла.
Каждый объект описывает получаемый файл:
Хранение - расположение данных во временном хранилище или в информационной базе;
Имя - это локальный путь, по которому должен быть расположен получаемый файл. Это может быть либо полный путь, либо часть пути, которая будет объединена со значением параметра <РасположениеФайлов>. Это также может быть имя файла или имя каталога (каталогов) + имя файла.
<РасположениеФайлов> (необязательный)

Тип: ДиалогВыбораФайла; Строка.
Определяет общее расположение помещаемых файлов в локальной файловой системе.
Может быть задан строкой, либо, заранее подготовленным, диалогом выбора файлов в режиме выбора каталога или сохранения файлов.
<Интерактивно> (необязательный)

Тип: Булево.
Истина - задан интерактивный режим, в котором пользователю показывается диалог, в котором он может выбрать локальное расположение файлов.
Ложь - на сервер передается список файлов, описанный в параметре <Файлы>.
В интерактивном режиме строка, переданная в параметре <Диалог/Путь> рассматривается как начальное значения для выбора пути.
Значение по умолчанию: Истина
Возвращаемое значение:

Тип: Булево.
Истина - получен хотя бы один файл; Ложь - получение всех файлов отменено пользователем.
Описание:

Получает набор файлов и сохраняет их в локальную файловую систему пользователя.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
Примечание:

Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
В веб-клиенте при работе в Firefox при выполнении метода до окончания загрузки выводится модальное окно с отображением процента получения файла. Выполнение метода заканчивается после окончания получения файла.
14 Нуф-Нуф
 
15.10.12
16:04
(12)
читать внимательно (раздел описание)

Глобальный контекст (Global context)
ПолучитьФайлы (GetFiles)
Синтаксис:

ПолучитьФайлы(<ПолучаемыеФайлы>, <ПолученныеФайлы>, <РасположениеФайлов>, <Интерактивно>)
Параметры:

<ПолучаемыеФайлы> (обязательный)

Тип: Массив.
Массив объектов типа ОписаниеПередаваемогоФайла.
Каждый объект описывает получаемый файл:
Хранение - расположение данных во временном хранилище или в информационной базе;
Имя - это локальный путь, по которому должен быть расположен получаемый файл. Это может быть либо полный путь, либо часть пути, которая будет объединена со значением параметра <РасположениеФайлов>. Это также может быть имя файла или имя каталога (каталогов) + имя файла.
<ПолученныеФайлы> (необязательный)

Тип: Массив.
Массив объектов типа ОписаниеПереданногоФайла.
Каждый объект описывает получаемый файл:
Хранение - расположение данных во временном хранилище или в информационной базе;
Имя - это локальный путь, по которому должен быть расположен получаемый файл. Это может быть либо полный путь, либо часть пути, которая будет объединена со значением параметра <РасположениеФайлов>. Это также может быть имя файла или имя каталога (каталогов) + имя файла.
<РасположениеФайлов> (необязательный)

Тип: ДиалогВыбораФайла; Строка.
Определяет общее расположение помещаемых файлов в локальной файловой системе.
Может быть задан строкой, либо, заранее подготовленным, диалогом выбора файлов в режиме выбора каталога или сохранения файлов.
<Интерактивно> (необязательный)

Тип: Булево.
Истина - задан интерактивный режим, в котором пользователю показывается диалог, в котором он может выбрать локальное расположение файлов.
Ложь - на сервер передается список файлов, описанный в параметре <Файлы>.
В интерактивном режиме строка, переданная в параметре <Диалог/Путь> рассматривается как начальное значения для выбора пути.
Значение по умолчанию: Истина
Возвращаемое значение:

Тип: Булево.
Истина - получен хотя бы один файл; Ложь - получение всех файлов отменено пользователем.
Описание:

Получает набор файлов и сохраняет их в локальную файловую систему пользователя.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
Примечание:

Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
В веб-клиенте при работе в Firefox при выполнении метода до окончания загрузки выводится модальное окно с отображением процента получения файла. Выполнение метода заканчивается после окончания получения файла.
15 НЕА123
 
15.10.12
16:08
(11)
не поможет.
16 МОРЖ
 
15.10.12
16:10
Надо переосмыслить... (15) почему не поможет тогда?
17 Нуф-Нуф
 
15.10.12
16:12
(16) не обращай внимание. "не поможет" в контексте реализации в сабже.
в контексте (5) все поможет
18 YF
 
15.10.12
16:13
(16) потому что метод Записать() у ДвоичныеДанные недоступен на Веб-клиенте ...

Придется как в типовой БСП поступить
19 НЕА123
 
15.10.12
16:15
(16)
в (15) имелось ввиду, что не поможет с двоичными данными.
для работы с файлами - да, и обязательно.
20 МОРЖ
 
15.10.12
16:18
Сработало!))
Огромнейшее спасибо, ребят!)))
21 Нуф-Нуф
 
15.10.12
16:18
(20) незашто. куда номер яндекс кошелька скидывать?
22 МОРЖ
 
15.10.12
16:19
можешь прям сюда) сколько стоят твои услуги?
23 Нуф-Нуф
 
15.10.12
16:21
16:18 - 15:50 = 28мин
26/60*ЧасПроститутки/*КоличестоУчастниковТемы
24 Нуф-Нуф
 
15.10.12
16:22
26/60*ЧасПроститутки/2*КоличестоУчастниковТемы
25 МОРЖ
 
15.10.12
16:22
почему на 2 разделил? пол проститутки?)
26 YF
 
15.10.12
16:23
(25) Баян же уже - час работы одинесника = полчаса работы проститутки
27 МОРЖ
 
15.10.12
16:23
(25) посибо за ликбез)
28 Нуф-Нуф
 
15.10.12
16:25
(26) хз... думал эта связка всегда стабильна. может просто мсье предпочитает стремных проституток, с ценой которых и получается пропорция 1,5?
29 Aprobator
 
15.10.12
16:25
пардон, а как решилось, что тип ФайлХранилица тут стопудов двоичныеданные?
30 YF
 
15.10.12
16:26
(29) Это у (0) нужно спросить. А какой должен быть, если там файл лежит?
31 Aprobator
 
15.10.12
16:29
мне отсюда хреново видно, что там лежит. Но файл <> ДвоичныеДанные.
32 YF
 
15.10.12
16:29
(31) А что еще может быть, ну например?
33 Aprobator
 
15.10.12
16:30
(32) найди себе другую гадалку. Из кода приведенного в (0) я не вижу, что ФайлИзХранилища - двоичные данные.
34 Aprobator
 
15.10.12
16:32
там тупо даже нет отработки, а вдруг неопределено.
35 Нуф-Нуф
 
15.10.12
16:32
(32) ты слышал? он сказал тебе найти другую гадалку!
36 YF
 
15.10.12
16:34
(35) Пошел искать
37 Aprobator
 
15.10.12
16:36
(36) тока смотри, чтоб у нее хрустальный шарик поприличнее был ).