|
Не получается сохранить файл из Хранилища | ☑ | ||
---|---|---|---|---|
0
gerthog
27.01.15
✎
16:30
|
В документе есть реквизит с типом СправочникСсылка, в этом справочнике реквизит "Файл" имеет тип ХранилищеЗначения. В этот документ поместил кнопку для сохранения файла на диск, но чего-то не работает, вот код:
&НаКлиенте Процедура Пдф(Команда) СохранитьФайлНаДиске(Объект.ПДФ, "C:\Temp\ИмяФайла.txt", Истина, Ложь) ; КонецПроцедуры &НаСервере Функция СохранитьФайлНаДиске(Хранилище, ИмяФайла, ТолькоЧтение, ВопросОПерезаписи = Истина) Попытка ФайлНаДиске = Новый Файл(ИмяФайла); КаталогНаДиске = Новый Файл(ФайлНаДиске.Путь); Если ТипЗнч(Хранилище) <> Тип("ДвоичныеДанные") Тогда ДвоичныеДанные = Хранилище.Получить(); Иначе ДвоичныеДанные = Хранилище; КонецЕсли; ДвоичныеДанные.Записать(ИмяФайла); ФайлНаДиске.УстановитьТолькоЧтение(ТолькоЧтение); Исключение //Предупреждение(ОписаниеОшибки()); Возврат Ложь; КонецПопытки; Возврат Истина; КонецФункции Что я делаю не так? |
|||
1
Spieluhr
27.01.15
✎
16:36
|
база серверная?
|
|||
2
gerthog
27.01.15
✎
16:41
|
(1)Файловая
|
|||
3
Лефмихалыч
27.01.15
✎
16:42
|
а "не получается" - это оно как именно проявляется?
|
|||
4
gerthog
27.01.15
✎
16:43
|
(3) Должен создаться файл "C:\Temp\ИмяФайла.txt", но его нет
|
|||
5
kimba
27.01.15
✎
16:45
|
В УФ нет доступа в форме для реквизитов типа Хранилище значения. Надо при открытии выкручиваться из ситуации так:
&НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) ДвоичныеДанныеКартинки = ТекущийОбъект.ЛоготипДляПечати.Получить(); Если ДвоичныеДанныеКартинки <> Неопределено Тогда АдресКартинки = ПоместитьВоВременноеХранилище(ДвоичныеДанныеКартинки, ЭтаФорма.УникальныйИдентификатор); КонецЕсли; КонецПроцедуры |
|||
6
gerthog
27.01.15
✎
16:50
|
(5)Чего то я не понял. У меня реквизит с типом хранилища не на форме, а в справочнике. Передаю ссылку на справочник и на сервере из справочника беру Реквизит с типом Хранилище
|
|||
7
kimba
27.01.15
✎
16:51
|
Объект.ПДФ это что?
|
|||
8
kimba
27.01.15
✎
16:52
|
либо у тебя в серверной процедуре должно быть Объект.СправочникХЗ.РеквизитХЗ.Получить()
|
|||
9
gerthog
27.01.15
✎
16:55
|
(7)Объект.ПДФ это реквизит документа с типом СправочникСсылка(в котором реквизит с типом Хранилище)
|
|||
10
Fish
27.01.15
✎
16:57
|
(9) Так тогда ты пытаешься СправочникСсылка в файл затолкать.
|
|||
11
Лефмихалыч
27.01.15
✎
16:58
|
(0) убери попытку и платформа сама тебе скажет, где ты не прав
|
|||
12
gerthog
27.01.15
✎
16:59
|
(11) Убирал попытку, у меня она ща закаменчена, но не пашет
|
|||
13
kimba
27.01.15
✎
17:28
|
Объект.СправочникХЗ.РеквизитХЗ.Получить() написал же
|
|||
14
GROOVY
27.01.15
✎
17:30
|
(5) Нафига просто так во временное хранилище данные заливать. Сохранить то можно и без временного хранилища.
|
|||
15
GROOVY
27.01.15
✎
17:32
|
Глобальный контекст.ПолучитьФайл (Global context.GetFile)
Глобальный контекст (Global context) ПолучитьФайл (GetFile) Синтаксис: ПолучитьФайл(<Адрес>, <ИмяФайла>, <Интерактивно>) Параметры: <Адрес> (обязательный) Тип: Строка. Расположение данных во временном хранилище или в информационной базе. <ИмяФайла> (необязательный) Тип: Строка. Путь к файлу, в который будут сохранены данные из информационной базы. В неинтерактивном режиме необходимо указать значение параметра, иначе будет вызвано исключение. В интерактивном режиме может быть не задан. Значение по умолчанию: Пустая строка. <Интерактивно> (необязательный) Тип: Булево. Истина - режим, в котором пользователю показывается диалог, в котором он может выбрать действие с получаемым файлом: запустить его или сохранить по выбранному расположению. В веб-клиенте параметр должен быть равен Истина. В противном случае будет сгенерировано сообщение об ошибке. Значение по умолчанию: Истина. Возвращаемое значение: Тип: Булево; Неопределено. Ложь - пользователь отменил операцию сохранения файлов (в интерактивном режиме). В режиме запуска "Веб-клиент" всегда возвращает Неопределено. Описание: Получает файл и сохраняет его в локальную файловую систему пользователя. По умолчанию метод исполняется в интерактивном режиме, то есть когда будет выдано диалоговое окно, позволяющее указать действие с полученным файлом - запустить его или сохранить по указанному пользователем расположению. Доступность: Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент). Вызов метода выполняет обращение к серверу. Примечание: Если используется интерактивный режим, а параметр <ИмяФайла> не указан, то операция открытия файла не доступна. В веб-клиенте код на встроенном языке продолжает выполнение, не дожидаясь окончания загрузки файла. Результат выполнения кэшируется в разрезе значений параметров метода. Если данные в файле были изменены, выполняется обращение к серверу. На мобильной платформе параметр <Интерактивно> игнорируется и диалоговое окно выбора файла не отображается никогда. -------------------------------------------------------------------------------- Методическая информация |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |