Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 дек 2024, 09:43

[Новичок!!!]: - Нужна помощь в разработке прикрепления файла.

Автор CroXer, 21 авг 2023, 11:24

0 Пользователей и 1 гость просматривают эту тему.

CroXer

Всем привет!
Хотелось бы разработать в конфигурации прикрепление файлов, и потом скачивать данные файлы (1С учебная версия).
Возможно ли это сделать в учебной версии? Если да, то можете написать как, поэтапно, с момента создания справочника, заканчивая прикреплением самого файла. Легкая конфигурация. Спасибо

CroXer

Дополнение: Нашел код, вставил его. Выходит ошибка при сохранении файла (Рисунок 1). Что не так в коде?
&НаКлиенте
Процедура ЗагрузитьСДиска(Команда)     
АдресВХранилище = "";
ВыбранноеИмяФайла = "";
Если ПоместитьФайл(АдресВХранилище, , ВыбранноеИмяФайла, , УникальныйИдентификатор) Тогда
Файл = Новый Файл(ВыбранноеИмяФайла);
Имя = Файл.Имя;
СсылкаНаФайлВоВременномХранилище = АдресВХранилище;
Объект.Наименование = Файл.Имя;
Модифицированность = Истина;
Объект.ИмяФайла = Имя;
КонецЕсли;               
КонецПроцедуры

&НаКлиенте
Процедура СохранитьНаДиск(Команда)
Если Объект.ИмяФайла = "" Тогда
Предупреждение("У поставщика нет сохраненного в базе договора");
Иначе
СсылкаНаФайлВИБ = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "Файл");
ПолучитьФайл(СсылкаНаФайлВИБ, Объект.ИмяФайла);
КонецЕсли;       
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)       
// Получить файл из хранилища и поместить его в объект.
Если ЭтоАдресВременногоХранилища(СсылкаНаФайлВоВременномХранилище) Тогда
ДвоичныеДанные = ПолучитьИзВременногоХранилища(СсылкаНаФайлВоВременномХранилище);
ТекущийОбъект.Файл = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9));
//ТекущийОбъект.ИмяФайла = ИмяФайлаКонтрагента;
ТекущийОбъект.ИмяФайла = Имя;       
КонецЕсли;       
КонецПроцедуры
 
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
//Удалить файл из временного хранилища
Если ЭтоАдресВременногоХранилища(СсылкаНаФайлВоВременномХранилище) Тогда
УдалитьИзВременногоХранилища(СсылкаНаФайлВоВременномХранилище);
КонецЕсли;
КонецПроцедуры
 
&НаКлиенте
Процедура ПриОткрытии(Отказ)     
Имя = Объект.ИмяФайла;         
КонецПроцедуры   


Ошибка которая выходит при сохранении файла
Ошибка при вызове метода контекста (ПолучитьФайл)
{Справочник.Файлы.Форма.ФормаЭлемента.Форма(22)}:ПолучитьФайл(СсылкаНаФайлВИБ, Объект.ИмяФайла);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Ошибка при выполнении файловой операции  '/e1cib/data/Справочник.Файлы.Файл?ref=97c1f077c38d6fbc11ee403e34085e93'. Значение данного типа невозможно преобразовать для передачи как файл. (Неопределено)

Максим75

CroXer, Синтаксис:
ПолучитьФайл(<Адрес>, <ИмяФайла>, <Интерактивно>)
Параметры:
<Адрес> (обязательный)
Тип: Строка.
Расположение данных во временном хранилище или в информационной базе.

может навигационная ссылка не может быть Адресом

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск