|
Флажок в табличной части 1С | ☑ | ||
---|---|---|---|---|
0
korableg
02.11.12
✎
09:07
|
Здравствуйте волшебники.
Суть проблемы: Имеется какая то табличная часть и в ней нужно организовать флажок, проблем нет просто поставил флажок и всё, но выбор его так устроен неочень по умолчанию в 3 этапа: 1) выделение ячейки 2) активирование ее 3) Установка флажка Нужно упростить его, допустим навел мышь, ткнул один раз и галочка поставилась, есть какие нибудь идеи? Пробовал через событие ПриАктивацииЯчейки, но чет не догоняю как в обработчике потом именно к ней обратиться? Заранее спасибо за ваши советы и замечания:) |
|||
1
ДенисЧ
02.11.12
✎
09:09
|
чо?
Сделал обработку. Добавил табчасть с одной колонкой типа булево. Вывел её на форму. Появился флажОк. Навел мышой и ткнул - галка поставилась... Что я не так сделал? |
|||
2
PaulBC
02.11.12
✎
09:10
|
Режим редактирования - Непосредственно
|
|||
3
Wobland
02.11.12
✎
09:11
|
ЭлементыФормы.Результат.Колонки.Пометка.ТолькоПросмотр=Ложь;
ЭлементыФормы.Результат.Колонки.Пометка.ТекстШапки=""; ЭлементыФормы.Результат.Колонки.Пометка.УстановитьЭлементУправления(Тип("Флажок")); ЭлементыФормы.Результат.Колонки.Пометка.РежимРедактирования=РежимРедактированияКолонки.Непосредственно; ЭлементыФормы.Результат.Колонки.Пометка.Данные=""; ЭлементыФормы.Результат.Колонки.Пометка.ДанныеФлажка="Пометка"; ЭлементыФормы.Результат.Колонки.Пометка.Ширина=1; |
|||
4
korableg
02.11.12
✎
09:16
|
Действия (2) и (3) выполняются в 2 этапа, выделение и активирование, смена значения, а требуется в 1 этап сразу.
|
|||
5
korableg
02.11.12
✎
09:17
|
в этом и таится загвоздка)
|
|||
6
Wobland
02.11.12
✎
09:17
|
(4) ещё раз почитай (3) и подумай, зачем я его себе писал
|
|||
7
cw014
02.11.12
✎
09:18
|
(4) Да ладно!!????
|
|||
8
korableg
02.11.12
✎
09:22
|
(6) и (7) только что опробовал, 2 этапа, не один.
|
|||
9
korableg
02.11.12
✎
09:23
|
выделение и активация, смена значения. как и писал выше
|
|||
10
Wobland
02.11.12
✎
09:23
|
(8) устроим дуэль? я записываю видео со своей стороны, ты со своей. у кого не получится после предварительных действий в (3) идёт за пивом
|
|||
11
cw014
02.11.12
✎
09:25
|
(10) А я рефери, кто проиграл еще пиво рефери оплачивает
|
|||
12
korableg
02.11.12
✎
09:25
|
(10) занятная идея))) я на работе, пожалуй обойдусь скринами
|
|||
13
Wobland
02.11.12
✎
09:26
|
(12) убей свою колонку, создай новую и проставь все свойства как сказано. ни влево, ни вправо
|
|||
14
Wobland
02.11.12
✎
09:27
|
(13) разрешаю даже это сделать руками
|
|||
15
cw014
02.11.12
✎
09:27
|
(12) И обрати внимание на строку:
ЭлементыФормы.Результат.Колонки.Пометка.Данные=""; |
|||
16
korableg
02.11.12
✎
09:35
|
http://s019.radikal.ru/i613/1211/fb/4df3cc4bf30a.jpg
http://s40.radikal.ru/i090/1211/4f/eb54a849e521.jpg http://s018.radikal.ru/i507/1211/0b/982fd54b5427.jpg http://s42.radikal.ru/i095/1211/ce/1e70422d158d.jpg http://s019.radikal.ru/i617/1211/4c/ae5b2b7cbd7a.jpg Вот скрины, особое внимание два последних) |
|||
17
Serg_1960
02.11.12
✎
09:36
|
Эээ... я не понял. ТС хочет "тыкнуть" влюбом месте, любой строки табличной части так, чтобы флажок изменил состояние, а текущая строка - осталась текущей?
|
|||
18
korableg
02.11.12
✎
09:37
|
(17) нет, не любой части, а именно в ту ячейку без ее выделения, тоесть одним кликом
|
|||
19
Serg_1960
02.11.12
✎
09:44
|
Посмотри в отладчике какая у тебя текущая строка, после твоих действий м.б. тогда ты поймешь об чём я.
Типа как-то так: если текущая строка изменилась и/или текущая ячейка там, где флажок, - изменяем его значение. |
|||
20
Wobland
02.11.12
✎
09:45
|
на каком-то из скринов проигнорировано (15)
|
|||
21
Wobland
02.11.12
✎
09:46
|
а так же проигнорировано (13) и (14). я обиделся, я ухожу
|
|||
22
korableg
02.11.12
✎
09:55
|
(21) ниче не проигнорировано, я поставил настройки ячейки как и были представлены при открытии..
|
|||
23
korableg
02.11.12
✎
09:55
|
(19) сейчас поищу там)
|
|||
24
Serg_1960
02.11.12
✎
10:02
|
Можно не искать - первый скрин - Данные:"Выбрать"
|
|||
25
korableg
02.11.12
✎
10:35
|
(24) Мне кажется вы не совсем поняли о чем вопрос. Мне нужно чтоб ставилась галочка одним кликом мыши, тоесть при активации ячейки скрипт спрашивал та ли ячейка активирована, если да то текущие данные заменялись. Вопрос в том как вытащить данные о ячейке именно какая колонка.
|
|||
26
korableg
02.11.12
✎
10:45
|
Процедура ТабличноеПолеВыбораОперацииПриАктивизацииЯчейки(Элемент)
Если ЭлементыФормы.ТабличноеПолеВыбораОперации.ТекущаяКолонка.Имя = "Выбрать" Тогда Если ЭлементыФормы.ТабличноеПолеВыбораОперации.ТекущиеДанные.Выбрать Тогда ЭлементыФормы.ТабличноеПолеВыбораОперации.ТекущиеДанные.Выбрать = Ложь Иначе ЭлементыФормы.ТабличноеПолеВыбораОперации.ТекущиеДанные.Выбрать = Истина КонецЕсли; КонецЕсли; КонецПроцедуры Вот мужики, как то так. |
|||
27
stonewolf
02.11.12
✎
10:45
|
(24) Чтобы менялось непосредственно, нужно ещё событие «ПриИзмененииФлажка» запилить, хотя бы пустое.
|
|||
28
stonewolf
02.11.12
✎
10:46
|
(27) -> (25)
|
|||
29
Wobland
02.11.12
✎
10:47
|
(26) то есть, стрелочками пришёл - значение инвертировалось? ты хочешь какую-то ересь. я ваще (25) с четвёртого раза не понял
|
|||
30
Wobland
02.11.12
✎
10:47
|
(26) а=НЕ а; так тоже можно, если что
|
|||
31
korableg
02.11.12
✎
10:50
|
(30) можно, но не нужно.
Ты же обиделся?)) эту ересь не я хочу, а люди которые этим пользуются им лень несколько раз мышкой тыкать по одной ячейке) |
|||
32
stonewolf
02.11.12
✎
10:51
|
(27) Гоню %)
|
|||
33
Wobland
02.11.12
✎
10:53
|
(31) это почему не нужно? то же самое, о чём в (26)
>лень несколько раз мышкой тыкать по одной ячейке когда мне будет лень, я пойду и сделаю на форме то, о чём так много говорил. и если эти извраты только ради того, чтобы избавиться от двух щелчков, то тут только к доктору |
|||
34
Wobland
02.11.12
✎
10:55
|
ещё раз. юзер добрался до ячейки стрелками. внезапно проставилась галка. это задуманное поведение?
|
|||
35
korableg
02.11.12
✎
10:57
|
(34) добрался и сделал один щелчок
|
|||
36
korableg
02.11.12
✎
11:02
|
я создал этот топик чтоб послушать ваши идеи, это как соревнования по программированию в которых надо сложить а+б и при этом получить исходник меньшего размера:)
|
|||
37
Wobland
02.11.12
✎
11:03
|
(36) у меня нет ни строки кода. приз в студию
|
|||
38
korableg
02.11.12
✎
11:04
|
(37) поставлю пиво если пришлешь видео)))
|
|||
39
Wobland
02.11.12
✎
11:05
|
(38) формулировать задачу я буду или ты?
|
|||
40
Bober
02.11.12
✎
11:08
|
(0) как вариант
1. добавить обработчик ПриПолученииДанных у табличного поля, там в нужную ячейку выставлять флажок (УстановитьФлажок). 2. добавить обработчик ПриИзмененииФлажка. |
|||
41
Bober
02.11.12
✎
11:09
|
(40) актуально для старых форм.
|
|||
42
korableg
02.11.12
✎
11:12
|
Спасибо (40) уже решено всё равно)
(39) задача в (1) избавиться от лишних щелчков мыши при установке флажка в табличной части |
|||
43
Wobland
02.11.12
✎
11:17
|
(42) в ТП. тогда я сформулирую
необходимо сделать на обычной форме табличное поле с колонкой значений типа булево, значения в которой изменяются ровно одним нажатием на кнопку мыши или (как аналог нажатия) пробелом пойдёт? |
|||
44
korableg
02.11.12
✎
11:17
|
(43) так точно)
|
|||
45
Bober
02.11.12
✎
11:18
|
(42) да, там 5 строк кода.
Процедура ТабличноеПолеПриПолученииДанных(Элемент, ОформленияСтрок) Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл ОформлениеСтроки.Ячейки.Пометка.УстановитьФлажок(ОформлениеСтроки.ДанныеСтроки.Пометка); ОформлениеСтроки.Ячейки.Пометка.УстановитьТекст(""); КонецЦикла; КонецПроцедуры и Процедура ТабличноеПолеПриИзмененииФлажка(Элемент, Колонка) Если Колонка.Имя = "Пометка" Тогда Элемент.ТекущиеДанные.Пометка = Не Элемент.ТекущиеДанные.Пометка; КонецЕсли; КонецПроцедуры PS для (43) |
|||
46
Bober
02.11.12
✎
11:19
|
(45) для красоты можно еще запретить непосредственный ввод в поле ввода этой колонки.
|
|||
47
korableg
02.11.12
✎
11:20
|
(45) Ценю, я недопер до второго варианта и создал второе условие! вот)) если это соревнование, то Bober лидер!
|
|||
48
korableg
02.11.12
✎
11:21
|
кстати Wobland предлагал, но я чет недогадался, тупой тупой))
|
|||
49
Stepa86
02.11.12
✎
11:21
|
(16) в свойствах указать "Выбрать" в данных флажка, а не в данных предлагали уже?
|
|||
50
Bizon2005
02.11.12
✎
11:23
|
||||
51
korableg
02.11.12
✎
11:24
|
(49) и (50) не предлагали, щас поштурмую и этот способ)
|
|||
52
Wobland
02.11.12
✎
11:25
|
||||
53
Stepa86
02.11.12
✎
11:25
|
(51) вижу, что еще в (3) предложили
|
|||
54
Wobland
02.11.12
✎
11:26
|
+(52) ТП на вкладке результат, сроки для посмотреть добавляются с помощью пкм
|
|||
55
Bober
02.11.12
✎
11:32
|
(52) подтверждаю.
В колонке табличного поля значение из свойства данные перенес в свойство данные флажка. |
|||
56
korableg
02.11.12
✎
11:32
|
(53) Да первый раз это делаю и не заметил
(52) с меня пиво :D |
|||
57
Wobland
02.11.12
✎
11:32
|
(56) +"о великий гуру"
|
|||
58
Wobland
02.11.12
✎
11:37
|
пиво слать сюда: OFF: 1С-нику срочно нужна помощь. Острый лейкоз. Собрано 45 000 евро. Надо 120 000 минимум
подтверждения не хочу |
|||
59
korableg
06.11.12
✎
06:18
|
Да, зп будет обязательно внесу свой вклад, уже прочел топик тот
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |