Источник сообщает фактическое завершение операции. Для копирования он не удаляет исходную строку.
Где и как запускать
Модуль своей управляемой формы; клиентское событие элемента, серверная подготовка отдельно.
Подготовка
Создайте внешнюю учебную обработку с управляемой формой и запускайте в тонком клиенте (кроме отдельного мобильного урока).
Реквизиты формы: Товары (ТаблицаЗначений), Статус (Строка 200), ИтогКоличество (Число 10.0), РазрешитьУдаление (Булево), ЗапретитьСворачивание (Булево). Выведите статус, итог и оба флажка.
У таблицы Товары колонки Наименование (Строка 100), Количество (Число 10.0), Фиксирована (Булево). Имя элемента таблицы — Товары, данные / путь — Товары; разрешите интерактивное редактирование строк.
Основной обработчик назначьте указанному событию элемента Товары, не событию формы. Первый параметр Элемент уже включён в процедуру; платформа передаёт его автоматически.
Каждый урок проверяйте в отдельном варианте своей формы. Не объединяйте повторяющиеся процедуры подготовки и обработчики с одинаковыми именами.
Колонки реквизита ТаблицаЗначений создайте в редакторе реквизитов формы до добавления элемента-таблицы. На клиенте это данные формы, а не серверный объект ТаблицаЗначений.
Добавьте реквизит ТоварыИсточник типа ТаблицаЗначений с теми же колонками и второй элемент Источник с данными / путём ТоварыИсточник. У Источник включите РазрешитьНачалоПеретаскивания, у Товары — РазрешитьПеретаскивание.
НачалоПеретаскивания назначается ИсточникНачалоПеретаскивания у Источник; приём и проверка относятся к Товары, окончание — к Источник. Не перетаскивайте файлы из проводника.
&НаКлиенте
Процедура ТоварыОкончаниеПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Статус = "Источник завершил действие: " + Строка(ПараметрыПеретаскивания.Действие);
Сообщить(Статус);
КонецПроцедурыТа же управляемая форма: отдельная серверная процедура подготовки
&НаСервере
Процедура ЗаполнитьТоварыНаСервере()
Товары.Очистить();
СтрокаТовара = Товары.Добавить();
СтрокаТовара.Наименование = "Книга";
СтрокаТовара.Количество = 2;
СтрокаТовара.Фиксирована = Ложь;
СтрокаТовара = Товары.Добавить();
СтрокаТовара.Наименование = "Ручка";
СтрокаТовара.Количество = 3;
СтрокаТовара.Фиксирована = Истина;
РазрешитьУдаление = Ложь;
ЗапретитьСворачивание = Истина;
ИтогКоличество = 5;
Статус = "Готово";
ТоварыИсточник.Очистить();
ИсточникТовара = ТоварыИсточник.Добавить();
ИсточникТовара.Наименование = "Книга";
ИсточникТовара.Количество = 1;
КонецПроцедурыНазначить событию формы ПриСозданииНаСервере
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЗаполнитьТоварыНаСервере();
Сообщить("Собственная таблица подготовлена");
КонецПроцедурыТолько элемент Источник: начало собственного копирования
&НаКлиенте
Процедура ИсточникНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, Выполнение)
ПараметрыПеретаскивания.Значение = "КНИГА";
ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.Копирование;
ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Копирование;
Выполнение = Истина;
Сообщить("Передаётся собственный маркер КНИГА");
КонецПроцедурыРазбор по шагам
Подготавливаем настоящую собственную таблицу / список и назначаем точное событие.
Параметры после Элемент соответствуют установленной справке конкретного типа.
Источник сообщает фактическое завершение операции. Для копирования он не удаляет исходную строку.
Как проверить результат
После отпускания мыши статус показывает фактическое действие, в том числе отмену.
Нет утверждения, что приёмник записал данные в базу.
Ожидаемый результат
Событие работает с собственными данными и реально заданным источником действия.
На что обратить внимание
Не вызывайте обработчики событий вручную: проверяйте указанное пользовательское действие.
События активизации, наведения, раскрытия и смены родителя не должны вызывать серверные методы формы.
Обычная и управляемая формы имеют разные API; не переносите между ними элементы и процедуры без адаптации.
Таблица значений хранит данные формы, не записывает их в регистр автоматически.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.