Имя: Пароль:
1C
1С v8
Перетаскивание/Drag n Drop в справочнике
,
0 Demrak
 
23.04.13
14:54
Перенос на уровень выше в справочнике возможен? Если нет, есть ли способ обойти ограничение?
1 Maxus43
 
23.04.13
14:55
а почему не возможен? что не так?
2 mikecool
 
23.04.13
14:55
(1) +1
3 Demrak
 
23.04.13
15:02
Захожу в группу справочника, беру элемент перетаскиваю мышью, во время движения в сообщения вывожу: 1) то что перетаскиваю, 2) строчку над которой сейчас нахожусь, когда дотаскиваю доверху, то есть, до открытой группы справочника, процедура проверка перетаскивания перестает работать.
4 Demrak
 
23.04.13
15:07
5 Demrak
 
23.04.13
15:17
Смысл в том, что когда я дотаскиваю до "Котловое отделение" (см. картинку) перестает срабатывать ПроверкаПеретаскивания, как будто эта группа - объект который не относится к списку.
6 Demrak
 
23.04.13
15:20
Еще одно уточнение - это перетаскивание не между различными объектами, а перетаскивание в одном объекте - СправочникСписок
7 Demrak
 
23.04.13
15:37
Короче ждать некогда, реализовал следующим образом. На скриншоте видно над полем списка поле картинки - при перетаскивании на поле картинки элемента справочника перекидываю его на уровень выше.

Если есть стандартный способ, поделитесь пожалуйста.
8 shachneff
 
23.04.13
15:38
В событии проверка перетаскивания поставь "стандартная обработка = ложь" и тогда заработает событие Перетаскивание.
9 shachneff
 
23.04.13
15:39
Имеется ввиду элемент приемник
10 Demrak
 
23.04.13
15:55
(8)
Процедура НеисправностиСписокПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка = ложь, Строка, Колонка)
   СтандартнаяОбработка=Ложь;
   ПараметрыПеретаскивания.ДопустимыеДействия=ДопустимыеДействияПеретаскивания.КопированиеИПеремещение;
   ПараметрыПеретаскивания.Действие=ДействиеПеретаскивания.Перемещение;
   ОчиститьСообщения();
   Сообщить(Строка);
   Сообщить(ПараметрыПеретаскивания.Значение);
КонецПроцедуры
11 Demrak
 
23.04.13
15:57
(8)
Процедура НеисправностиСписокПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка = ложь, Строка, Колонка)
СтандартнаяОбработка=Ложь;
ПараметрыПеретаскивания.ДопустимыеДействия=ДопустимыеДействияПеретаскивания.КопированиеИПеремещение;
ПараметрыПеретаскивания.Действие=ДействиеПеретаскивания.Перемещение;
Если Строка.этогруппа=истина тогда
   объект=ПараметрыПеретаскивания.Значение.получитьобъект();
   объект.родитель=Строка;
   объект.записать();
   
КонецЕсли;
КонецПроцедуры
12 Demrak
 
23.04.13
15:59
(8) Я столкнулся именно с перетаскиванием справочника на уровень/два / три выше в иерархии. Перетаскивание на уровень ниже работает нормально.
Программист всегда исправляет последнюю ошибку.