Режим перетаскивания файлов, в котором тип объекта, представляющего перетаскиваемый файл - Файл.
Полное описание, параметры и ограничения
СпособПеретаскиванияФайлов.КакФайл (FileDragMode.AsFile)
СпособПеретаскиванияФайлов (FileDragMode)
КакФайл (AsFile)
Доступен, начиная с версии 8.3.13.
Описание:
Режим перетаскивания файлов, в котором тип объекта, представляющего перетаскиваемый файл - Файл.
Использование в версии:
Доступен, начиная с версии 8.3.13.
Методическая информация
Практические примеры
Принять имена своих файлов: КакФайл
Конкретный собственный источник, штатный обработчик / вызов и явные ограничения.
Где и как запускать
Собственная управляемая форма. Реквизит ФайлыКниг ТаблицаЗначений, колонка ИмяФайла Строка 260; таблица СвоиФайлы связана с ним. Основной обработчик — ПриСозданииНаСервере, дополнительный — событие Перетаскивание этой таблицы.
Подготовка
Собственная управляемая форма. Реквизит ФайлыКниг ТаблицаЗначений, колонка ИмяФайла Строка 260; таблица СвоиФайлы связана с ним. Основной обработчик — ПриСозданииНаСервере, дополнительный — событие Перетаскивание этой таблицы.
Перетаскивайте только свои маленькие учебные файлы из проводника. Этот обработчик предназначен именно для файлов; не включайте в стенд перетаскивание строк из других таблиц.
КакФайл работает в тонком / толстом клиенте, но игнорируется веб-клиентом: файловые события там не возникнут. КакСсылкаНаФайл подходит и веб-клиенту; ПроверкаПеретаскивания в нём вызывается только при отпускании кнопки.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.СвоиФайлы.РазрешитьПеретаскивание = Истина;
Элементы.СвоиФайлы.СпособПеретаскиванияФайлов = СпособПеретаскиванияФайлов.КакФайл;
Сообщить("Учебный приём файлов: КакФайл");
КонецПроцедурыТа же форма: принять настоящее файловое значение от платформы
&НаКлиенте
Процедура СвоиФайлыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле)
СтандартнаяОбработка = Ложь;
Переданные = ПараметрыПеретаскивания.Значение;
Если ТипЗнч(Переданные) <> Тип("Массив") Тогда
Переданные = Новый Массив;
Переданные.Добавить(ПараметрыПеретаскивания.Значение);
КонецЕсли;
Для Каждого СвойФайл Из Переданные Цикл
НоваяСтрока = ФайлыКниг.Добавить();
НоваяСтрока.ИмяФайла = СвойФайл.Имя;
КонецЦикла;
КонецПроцедурыРазбор по шагам
Подготовьте собственную форму по описанию.
Назначьте обработчики и выполните только свой учебный опыт.
Проверьте фактический результат с учётом ограничений клиента.
Как проверить результат
В режиме КакФайл платформа передаёт Файл / массив Файл, в режиме КакСсылкаНаФайл — СсылкаНаФайл / массив таких ссылок. Оба настоящих типа имеют Имя.
Одна проверка типа нужна только для одиночного значения против массива. Содержимое не читается, не загружается на сервер и не запускается; добавляются имена в таблицу памяти.
Ожидаемый результат
Есть полный собственный сценарий без универсального getter-шаблона.
На что обратить внимание
Код 1С, переносы, загрузки и файловые операции при сборке HTML не выполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.