Имя: Пароль:
1C
 
Как сохранить файл из хранилища значений в 8.2
0 Bober777
 
12.02.09
11:38
Как сохранить файл из хранилища значений в 8.2
1 almar
 
12.02.09
11:41
(0) Посмотри в демо-конфигурации. Картинка в справочнике Номенклатура
2 Bober777
 
12.02.09
11:53
Это все конечно хорошо но у меня все немного сложнее у меня файлики хранятся в форме списка записываются туда без формы элемента и сохранять соответсвенно хочу тоже без формы елемента так же в форме списка в командной панели есть кнопочки у них события и активированием этих событи открывать форму далога сохранения файла

Режим = РежимДиалогаВыбораФайла.Сохранение;
ДиалогСохраненияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогСохраненияФайла.Заголовок = "Сохранить файл";
Фильтр = "Word(*.doc)|*.doc|Exsel(*.xls)|*.xls";
ДиалогСохраненияФайла.Фильтр = Фильтр;
Файл = Новый файл(ДиалогСохраненияФайла.ПолноеИмяФайла);
Если ДиалогСохраненияФайла.Выбрать() и файл.Расширение = ".doc" или файл.Расширение = ".xls" Тогда
ИмяФайла = ДиалогСохраненияФайла.ПолноеИмяФайла;
Файл =  Новый Файл(ИмяФайла);
ЗапуститьПриложение(Файл);
Иначе
Отказ = Истина;
КонецЕсли;
3 Bober777
 
12.02.09
11:54
диалог открывается но файл увы не сохраняется
4 Bober777
 
12.02.09
11:57
ЗапуститьПриложение(Файл);
не обращайте внимание забыл убрать
5 almar
 
12.02.09
12:06
ИМХО, юзай ПолучитьФайл
6 Bober777
 
12.02.09
12:11
Да в курсе ПолучитьФайл(<Адрес>, <Имя файла>, <Интерактивно>)
параметр Адрес как получить в моем случае из хреналища?
7 Bober777
 
12.02.09
12:36
это конечно все хорошо супер а как мне список вместо реквизита объект приделать?
8 Bober777
 
12.02.09
12:36
&НаСервере
// Процедура извлекает данные объекта из временного хранилища,
// производит модификацию элемента справочника и записывает его.
//
// Параметры:
//  АдресВременногоХранилища – Строка – адрес временного хранилища.
//
// Возвращаемое значение:
//  Нет.
Процедура ПоместитьФайлОбъекта(АдресВременногоХранилища)
   ЭлементСправочника = РеквизитФормыВЗначение("Объект");
   ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
   ЭлементСправочника.ДанныеФайла = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных());
   Файл = Новый Файл(ЭлементСправочника.ИмяФайла);
   ЭлементСправочника.ИмяФайла = Файл.Имя;
   ЭлементСправочника.Записать();
   Модифицированность = Ложь;
   УдалитьИзВременногоХранилища(АдресВременногоХранилища);
   ЗначениеВРеквизитФормы(ЭлементСправочника, "Объект");    
КонецПроцедуры
9 almar
 
12.02.09
12:42
(6) Адрес=ПолучитьНавигационнуюСсылку(Объект.Ссылка,"ДанныеФайла");
10 Bober777
 
12.02.09
12:44
Спасибо что помогаете
я видел эту процедуру тоже но смысл в другом
ЭлементСправочника = РеквизитФормыВЗначение("Объект");
у меня этот реквизит объект это список динамический потому что все это в форме списка
11 Bober777
 
12.02.09
12:46
Т.е. я хочу сделать как в ут 8.1 без лишних форм элемента справочника
12 almar
 
12.02.09
12:47
(11) и что? ты по текущей строке ссылку на объект получить не можешь?
13 Bober777
 
12.02.09
12:48
ФайлКартинки = Элемент.ТекущиеДанные.Ссылка;
   
АдресКартинки = ПолучитьНавигационнуюСсылку(ФайлКартинки, "ДанныеФайла");

почему то не канает
14 Bober777
 
12.02.09
12:55
{Справочник.ХранимыеФайлы.Форма.ФормаСписка(193)}: Значение не является значением объектного типа (ТекущиеДанные)
15 almar
 
12.02.09
13:05
(14) Элементы.Список.ТекушаяСтрока
16 Bober777
 
12.02.09
13:16
попробую сейчас
17 Bober777
 
12.02.09
13:50
Процедура saveВыполнить(Элемент)

Объект = Элементы.Список.ТекушаяСтрока;
Адрес =получитьнавигационнуюСсылку(Объект,"ДанныеФайла");
ПолучитьФайл(Адрес,Объект,Истина);

КонецПроцедуры

может я что -то делаю неправильно ну задолбало в натуре
18 almar
 
12.02.09
13:51
Текущая с буквой Щ? :)
19 Bober777
 
12.02.09
13:52
ок
20 almar
 
12.02.09
13:53
Ну и ПолучитьФайл(Адрес, ИмяФайлаКудаЗаписать, Ложь);
21 Bober777
 
12.02.09
13:56
Спасибо друг заработало.
22 Bober777
 
12.02.09
14:37
Неповеришь у меня опять трабла

Объект = Элементы.Список.ТекущаяСтрока;
Адрес = ПолучитьнавигационнуюСсылку(Объект,"ДанныеФайла");
ИмяФайла = Элементы.Список.ТекущаяСтрока.ИмяФайла; Реквизит списка как получить
ПолучитьФайл(Адрес, ИмяФайла, Истина);

я конечно понимаю что ты сейчас скажешь ты чего издеваешься?.

отвечу нет
23 Bober777
 
12.02.09
14:37
Как к нему обратиться?
к этому реквизиту злостному
24 Bober777
 
12.02.09
14:51
спр= Справочники.ХранимыеФайлы.СоздатьЭлемент();
ИмяФайла = Спр.ИмяФайла;

8.2 на клиенте это не понимает просто напросто

говорит что мол я ругаюсь из-за клиента
25 Bober777
 
12.02.09
14:52
Ребят как Клиента обмануть?
26 Bober777
 
12.02.09
14:52
Обойти и повернуть?))))))))
27 almar
 
12.02.09
14:55
Дык, пиши &НаСервере
28 Bober777
 
12.02.09
15:00
В виде функции?
29 almar
 
12.02.09
15:03
(22)

&НаСервере
Функция ИмяФайла(Объект)
Возврат Объект.ИмяФайла;
КонецФункции
30 Aswed
 
12.02.09
15:07
А что 8.2 уже вышла?!?!?!
31 Bober777
 
12.02.09
15:14
Да пердставь себе и на бете работает даже
Кстати большое тебе almar спасибо удружил
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.