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