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

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


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

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

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

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

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

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

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

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

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

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

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

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

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