Имя: Пароль:
1C
1С v8
Перетаскивание данных между табличными частями документа на форме
,
0 Карбюратор
 
20.09.12
12:41
Подскажите, можно ли реализовать такое: на форме (обычной) документа расположены 4 табличные части (без закладок, просто 4 табличных части). Строки в них заполняются, к примеру, одинаковыми реквизитами - элементами справочника "Сотрудники". Можно ли перетаскивать строки между этими табличными частями? В свойствах табличного поля поставил галочки "разрешить перетаскивание", но при попытке что-либо перетащить появляется кружочек с запретом. Подвешивание процедур поможет, или метод перетаскивания не предназначен для перемещения между табличными частями?
1 Азат
 
20.09.12
12:42
ну реализуй на хоткеях, неапример
2 Карбюратор
 
20.09.12
12:43
(1) Расшифруйте, пожалуйста, поподробнее?:)
3 Карбюратор
 
20.09.12
13:03
Никто не сталкивался, что ли?
4 Карбюратор
 
20.09.12
18:21
Начал писать код, что-то набросал, но не очень понимаю, что надо делать:-)

Процедура Смена1НачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, Выполнение)
   ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Перемещение;
   ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.Перемещение;
   СтандартнаяОбработка = Ложь;
   
КонецПроцедуры

Процедура Смена2ПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Колонка)
   ПараметрыПеретаскивания.Действие = ДействиеПеретаскивания.Перемещение;
   ПараметрыПеретаскивания.ДопустимыеДействия = ДопустимыеДействияПеретаскивания.Перемещение;
   СтандартнаяОбработка = Ложь;
КонецПроцедуры

Процедура Смена2ОкончаниеПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
   Сообщить("!");
КонецПроцедуры


В последней процедуре ничего не сообщается. Подскажите, может в типовых есть где пример?
5 Карбюратор
 
20.09.12
19:46
Какие все неактивные...(
6 petrowsky
 
20.09.12
20:24
(0) надо свойства РазрешитьНачалоПеретаскивания (для т.ч. откуда хочешь перетаскивать) и РазрешитьПеретаскивание (для т.ч. куда хочешь перетаскивать) поставить в истину
Это стоит?
7 Карбюратор
 
20.09.12
20:29
(6) В палитре свойств - да, стоит.

И можно ли осуществлять взаимные перетаскивания - из одной табличной части в другую, и обратно?
8 petrowsky
 
20.09.12
20:53
(7) попробовал
внутри т.ч. получилось
между 2мя т.ч. - нет
а вот между 2мя таблицами значений - можно
как вариант переделай т.ч. на т.з.
9 nunzio
 
20.09.12
21:27
(0) А если попробовать через промежуточную переменую, т.е. отрабатывать начало перетаскивания для каждой тч по своему ?
10 ChAlex
 
20.09.12
22:21
(7) - можно. Чтобы разрешало перетаскивать - то в событии ПроверкаПеретаскивания СтандартнаяОбработка=Ложь
11 ChAlex
 
20.09.12
22:23
+(10) - не нужно никаких действий делать с праметрами перетаскивания - этого достаточно. Ну можно анализировать источник еще и т.п. Более тонкое поведение можно просечь с отладчиком
12 petrowsky
 
20.09.12
22:33
(10) да, спасибо, не знал
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой