Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

ТабДок - можно ли отключить возможность перемещения по окну с зажатой левой клавишей?

ТабДок - можно ли отключить возможность перемещения по окну с зажатой левой клавишей?
Я
   Midasu
 
13.01.18 - 08:48
Доброго утра, товарищи.
8.3, управляемое приложение.

ПолеТабличногоДокумента - полосы прокрутки отключил, но если зажать левую кнопку мыши и тянуть в строну - будет переходить по макету, что нужно запретить.
Реально?
Заранее - душевно благодарю.
 
 
   rphosts
 
1 - 13.01.18 - 08:50
(0) стандартный диалог с юзером:
-А вот мен надо вот такую херность с вывертом!
-А зачем?
-А впрочем уже не надо.


Зачем вам запретить прокрутку?
   Midasu
 
2 - 13.01.18 - 13:32
(1)
У меня очень извращённый вывод группировками (чекбоксы на разных уровнях группировки, которые меняют вид группировок), который таблицей значений/деревом реализовать невозможно, поэтому ТабДок используется для вывода списка элементов.

Да, я знаю, что это изврат, но иначе никак в этом случае.
А раз это список элементов - нежелательно было бы случайно смещаться в окне ТабДока относительно выводимого макета.

Буду рад услышать варианты реализации данного ограничения.
   Lexey_
 
3 - 13.01.18 - 14:11
(2)  попробуй ПриАктивизацииОбласти() менять ТекущуюОбласть
   mistеr
 
4 - 13.01.18 - 14:31
(2) >Да, я знаю, что это изврат, но иначе никак в этом случае.

Позвольте вам не поверить.
   rphosts
 
5 - 13.01.18 - 18:07
(4) +1

(2) не придумывайте мегаинтерфейс - всё до вас придумано и куда проще и это можно сказать стандарт.

(3) ПриНачалеПеретаскивания() там случайно нет?
   Лефмихалыч
 
6 - 13.01.18 - 18:16
(0) а зачем пользователю может понадобиться вот это делать "зажать левую кнопку мыши и тянуть в строну"? Ему заняться больше решительно нечем?
   Lexey_
 
7 - 13.01.18 - 21:29
(5) вроде нет, да и это не перетаскивание по сути, а выделение
   Midasu
 
8 - 14.01.18 - 21:13
(6)
Случайно менеджеры у нас что только не творят.

(4) (5)
Чекбокс можно добавить в один из уровней группировки дерева значений, а в другие не добавлять? При этом он динамический и не имеет отношения к хранимым данным.
   mistеr
 
9 - 14.01.18 - 21:31
(8) Исходную задачу озвучь лучше (словами пользователя).
   Midasu
 
10 - 14.01.18 - 22:11
(9)
Имеется список водителей (2-й уровень группировки) и грузов с разделением по регионам (1-й уровень группировки).

У каждого водителя нужен чекбокс, который определяет отображение/не отображение на карте его грузов.

- регион
-  водитель [+]
-    груз

Причём через ВыделенныеСтроки это решать нельзя, т.к. выделенная с строка используется для отображения данных по грузу на панели внизу.

К слову, у меня уже ВСЁ решёно через ТабДок (первоначально пытался через дерево конечно) и работает также с хорошей скоростью - единственный недостаток - неотключаемая возможность перемещения по его окну, которая смещает отображение макета (как выше писал).
 
 Рекламное место пустует
   Лефмихалыч
 
11 - 14.01.18 - 22:16
(10) если пользователь делает так (6), то это дает ему какие-то новые возможности или приводит к необратимым последствиям? Если ответ "нет" на оба вопроса, то и хрен с ним, пусть делает. Раз сделает и успокоится.
   Midasu
 
12 - 14.01.18 - 22:26
(11)
Ответы - нет.
Остаётся только надеяться, что успокоятся - полемHTML решать бы уж точно не хотелось бы.
   mehfk
 
13 - 14.01.18 - 22:29
(0) Завтра гляну. Что-то такое делал, но на ОФ.
   mistеr
 
14 - 14.01.18 - 22:38
(10) Не вижу, чем могут помешать чекбоксы на всех уровнях. Даже плюс - можно будет целые реигоны включать/отключать.

Но если вдруг помешают, можно включать/отключать через контекстное меню, а состояние показывать картинкой.
   mehfk
 
15 - 15.01.18 - 09:30
(13)+
Частично решается так:
Процедура ТаблицаВыводаПриАктивизацииОбласти(Элемент)
    
    Низ        = Элемент.ТекущаяОбласть.Низ;
    Право    = Элемент.ТекущаяОбласть.Право;
    
    Если Низ > Элемент.ВысотаТаблицы Тогда
        Низ = Элемент.ВысотаТаблицы;
    КонецЕсли;
    
    Если Право > Элемент.ШиринаТаблицы Тогда
        Право = Элемент.ШиринаТаблицы;
    КонецЕсли;
    
    Элемент.УстановитьДействие("ПриАктивизацииОбласти", Неопределено);
    Элемент.ТекущаяОбласть = Элемент.Область(Мин(Элемент.ТекущаяОбласть.Верх, Низ), Мин(Элемент.ТекущаяОбласть.Лево, Право), Низ, Право);
    Элемент.УстановитьДействие("ПриАктивизацииОбласти", Новый Действие("ТаблицаВыводаПриАктивизацииОбласти"));
    
КонецПроцедуры
   Скиурус
 
16 - 15.01.18 - 09:40
Возьми да зафиксируй столбцы, и не надо будет ничего блокировать.
   Midasu
 
17 - 15.01.18 - 13:05
(16)
ГЕНИАЛЬНО!

(15)
Спасибо за вариант, но уже как-то лень его смотреть, после (16).
   mehfk
 
18 - 15.01.18 - 13:57
(16) Не поможет именно в таком варианте, как описано ТС.
   mehfk
 
19 - 15.01.18 - 13:59
Хотя, х.з.
   Midasu
 
20 - 15.01.18 - 14:45
(19) Помогло, сразу же затестил.
Ни перетаскиванием с зажатой, ни стрелками на клавиатуре теперь не сдвинуть. Полная победа.
   Midasu
 
21 - 15.01.18 - 14:46
Я про - ТабДок.ФиксацияСлева - если что.
Ну, как (16) написал.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует