Всем доброго времени суток!
Столкнулся с проблемкой при перетаскивании файлов в таблицу в веб-клиенте.
1С вроде как анонсировала улучшение механизмов работы с файлами в веб клиенте, в том числе и перетаскивание. Но вот что не очень понятно как это заставить работать.

Есть таблица, в таблице выставлен "СпособПеретаскиванияФайлов" в "Как ссылка на файл". Задействованы события: "ПроверкаПеретаскивания" и "Перетаскивание".

В тонком клиенте все работает отлично, в вебе свойство "файл" = "неопределено". (см скриншот)

Вопрос, каким образом реализовать перетаскивание файлов в вебе?
---
В общем сам спросил, сам ответил. Ответ нашелся совершенно случайно, методом экспериментального тыка, ибо в интернете и беглый спрос с коллег ни к чему не привел.

Есть табличная часть, у нее событие "Перетаскивание", возникающее при перетаскивании файла в таблицу. В случае локальной работы (тонкий\толстый клиент) "файл" находится в массиве "ПараметрыПеретаскивания", в случае же с веб клиентом там пусто. Нужно "догрузить" файл передачей значения "СсылкаНаФайл", в которой имеется идентификатор файла, в процедуру "НачатьПомещениеФайловНаСервер".

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

    СтандартнаяОбработка = Ложь;

    Если Не (ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("СсылкаНаФайл")
    Или ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("Массив")) Тогда
    Возврат;
    КонецЕсли;

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

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

    ПринятьФайл(пСсылкаНаФайл.Файл.ПолноеИмя);
    КонецЦикла;
    #КонецЕсли

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

    &НаКлиенте
    Процедура ОбработкаЗавершенияЗагрузкиФайлов(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт

    Для Каждого ПомещенныйФайл Из ПомещенныеФайлы Цикл
    Если ТипЗнч(ПомещенныйФайл) <> Тип("ОписаниеПомещенногоФайла") Тогда
    Продолжить;
    КонецЕсли;

    Если Не ЭтоАдресВременногоХранилища(ПомещенныйФайл.Адрес) Тогда
    Продолжить;
    КонецЕсли;

    ПринятьФайл(ПомещенныйФайл.СсылкаНаФайл.Имя, ПомещенныйФайл.Адрес);
    КонецЦикла;

    КонецПроцедуры
```
---
В общем сам спросил, сам ответил. Ответ нашелся совершенно случайно, методом экспериментального тыка, ибо в интернете и беглый спрос с коллег ни к чему не привел.

Есть табличная часть, у нее событие "Перетаскивание", возникающее при перетаскивании файла в таблицу. В случае локальной работы (тонкий\толстый клиент) "файл" находится в массиве "ПараметрыПеретаскивания", в случае же с веб клиентом там пусто. Нужно "догрузить" файл передачей значения "СсылкаНаФайл", в которой имеется идентификатор файла, в процедуру "НачатьПомещениеФайловНаСервер".

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

    СтандартнаяОбработка = Ложь;

    Если Не (ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("СсылкаНаФайл")
    Или ТипЗнч(ПараметрыПеретаскивания.Значение) = Тип("Массив")) Тогда
    Возврат;
    КонецЕсли;

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

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

    ПринятьФайл(пСсылкаНаФайл.Файл.ПолноеИмя);
    КонецЦикла;
    #КонецЕсли

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

    &НаКлиенте
    Процедура ОбработкаЗавершенияЗагрузкиФайлов(ПомещенныеФайлы, ДополнительныеПараметры) Экспорт

    Для Каждого ПомещенныйФайл Из ПомещенныеФайлы Цикл
    Если ТипЗнч(ПомещенныйФайл) <> Тип("ОписаниеПомещенногоФайла") Тогда
    Продолжить;
    КонецЕсли;

    Если Не ЭтоАдресВременногоХранилища(ПомещенныйФайл.Адрес) Тогда
    Продолжить;
    КонецЕсли;

    ПринятьФайл(ПомещенныйФайл.СсылкаНаФайл.Имя, ПомещенныйФайл.Адрес);
    КонецЦикла;

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