перетаскивание файла в таблицу

1. SAnatoliy 02.11.23 12:30 Сейчас в теме
Подскажите как к данному коду прикрутить перетаскивание файлов.

#Область РаботаСФайлами  

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

&НаКлиенте 
Процедура ОтветНаВопросЗаписать(Результат, ДополнительныеПараметры) Экспорт 
	Если Результат = КодВозвратаДиалога.Да Тогда
		ЭтотОбъект.Записать();
		ДобавитьФайлы(0);
	КонецЕсли;
КонецПроцедуры 

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

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Файлы.Параметры.УстановитьЗначениеПараметра("Владелец",Объект.Ссылка);
КонецПроцедуры

&НаКлиенте
Процедура ФайлыПриАктивизацииСтроки(Элемент)
	Попытка
		ТекКартинка = ФайлыПриАктивизацииСтрокиНаСервере(Элемент.ТекущиеДанные.Ссылка); 
	Исключение
		//нет еще фото
	КонецПопытки;
КонецПроцедуры 

&НаСервереБезКонтекста
Функция ФайлыПриАктивизацииСтрокиНаСервере(ЭлементС)
	Возврат ПолучитьНавигационнуюСсылку(ЭлементС, "ДанныеХЗ");
КонецФункции

&НаКлиенте
Процедура ФайлыПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
	СтандартнаяОбработка = Ложь;
КонецПроцедуры

&НаКлиенте
Процедура ФайлыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
	
	СтандартнаяОбработка = Ложь;
	
	Если ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("СсылкаНаФайл") Тогда 
		
	ДобавитьФайлы(ПараметрыПеретаскивания.Значение);
		
	КонецЕсли;	
	
КонецПроцедуры

#КонецОбласти

Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SAnatoliy 03.11.23 10:50 Сейчас в теме
подскажите..
что в процедуру перетаскивание вставить чтоб отработал код на перетаскивание верно

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

Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот