|
v7: Таблица значений - получить данные по строке (не даблклик) | ☑ | ||
---|---|---|---|---|
0
gugolovski
26.09.23
✎
04:34
|
Можно ли в таблице значений получить данные по строке одинарным нажатием клавиши мыши?
|
|||
1
victuan1
26.09.23
✎
06:08
|
Только через Формекс
|
|||
2
Bigbro
26.09.23
✎
06:19
|
ну или реквизит типа текст с формулой положить за пределами формы.
|
|||
3
andrewalexk
26.09.23
✎
06:38
|
(2) :) вроде бы там переход по строке можно поймать а по колонке нет
|
|||
4
Bigbro
26.09.23
✎
06:56
|
может быть, уже не помню, но в целом всегда и нужна была фактически строка только. а дальше уже делай что надо со всеми данными строки.
|
|||
5
АгентБезопасной Нацио
26.09.23
✎
07:41
|
ТабличноеПоле, и ПриАктивизацииЯчейки()
|
|||
6
uno-group
26.09.23
✎
10:32
|
Если достаточно отслеживать перемещение по строкам то тест с функцией.
Если нужно отслеживать и клики по столбцам и устроит задержка в пределе 1 секунды то можно как то так. Перем Положение; //-------------------------------------------------------------------------------------------- Процедура гдеЯ() Экспорт Если Тз.ТекущаяСтрока()=0 Тогда положение= ""; КонецЕсли; Если Тз.ТекущаяКолонка()=0 Тогда положение= ""; КонецЕсли; положение= "("+Тз.ТекущаяСтрока()+";"+ТЗ.ТекущаяКолонка()+")= "+Тз.ПолучитьЗначение( Тз.ТекущаяСтрока(),Тз.ТекущаяКолонка()); КонецПроцедуры //-------------------------------------------------------------------------------------------- Процедура ПриОткрытии() Форма.ОбработкаОжидания("ГдеЯ",1); КонецПроцедуры В остальных случаях только с помощью ВК. |
|||
7
Злопчинский
26.09.23
✎
10:47
|
ну недавно же было...
|
|||
8
Злопчинский
26.09.23
✎
10:50
|
без обработок ожидания и без нагрузки на систему
Финт с выводом текущей колонки с функцией на форме - как?&p=last20#F пост в самом конце ветки |
|||
9
Злопчинский
26.09.23
✎
12:48
|
кладем на форму текст с идентификатором тТекущаяКолонка, в формулу пишем ТекущаяКолонка - получаем вывод идентификатора текущей колонки...
Можно положить формулу посложнее, типа "текущая колонка: "+ТекущаяКолонка+" = "+Шаблон("["+ТекущаяКолонка+"]") //****************************************************************************************** // Процедура ВывестиТекКолонку() ТекущаяКолонка = Форма.ТекущаяКолонка(); Если Форма.тТекущаяКолонка.Заголовок()<>ТекущаяКолонка Тогда Форма.тТекущаяКолонка.Заголовок(ТекущаяКолонка); КонецЕсли; //{--- ОТЛАДКА //Если Форма.Заголовок()<>лТекущаяКолонка Тогда // Форма.Заголовок(лТекущаяКолонка); //КонецЕсли; //}--- ОТЛАДКА КонецПроцедуры // ВывестиТекКолонку() //****************************************************************************************** // Процедура ПриОтжатииКнопкиКлавиатуры(КодКлавиши,Альт,Шифт,Кнтрл,Символ,ФСО) ВывестиТекКолонку(); КонецПроцедуры //****************************************************************************************** // Процедура ПриОтжатииЛевойКнопки(СостояниеМыши,КоординатаПоГоризонтали,КоординатаПоВертикали,ФСО) ВывестиТекКолонку(); КонецПроцедуры //****************************************************************************************** // Процедура ПриОтжатииПравойКнопки(СостояниеМыши,КоординатаПоГоризонтали,КоординатаПоВертикали,ФСО) ВывестиТекКолонку(); КонецПроцедуры //****************************************************************************************** // Процедура ПослеОткрытия() // или ПриАктивацииОкна() или ПослеСозданияФормы() ВывестиТекКолонку(); КонецПроцедуры |
|||
10
andrewalexk
26.09.23
✎
11:23
|
(9) :) шаблон - сила ... ох уж эти полезные недокументированные функции в 1с77
|
|||
11
MWWRuza
26.09.23
✎
12:42
|
(9) Эээээ.... Туплю...
Как-то ранее не приходилось использовать метод ТекущаяКолонка() для формы. Он работает для любой табличной части формы - ТЗ в обработке, табличная часть документа, формы списка справочника-? Или есть какие-то нюансы? Для ТЗ на форме, понятно - <ИмяТЗ>.ТекущаяКолонка(), возвращает идентификатор колонки... А так - Форма.ТекущаяКолонка() пусто - "". На форме обработки есть ТЗ с добавленными колонками... Что я не так делаю? |
|||
12
Злопчинский
26.09.23
✎
12:50
|
(11) по сабжу - валандались с формой списка справочника
и там собственно вопрос в том, что при перемещении курсора по колонкам без изменения строки - не вызывало обновления формы. |
|||
13
Злопчинский
26.09.23
✎
13:00
|
для работы с ТЗ - надо просто идентификатор поменять
Процедура ВывестиТекКолонку() ТекущаяКолонка = ТЗ.ТекущаяКолонка(); //здеся ТЗ |
|||
14
MWWRuza
26.09.23
✎
13:06
|
(12) Да, в форме списка справочника - метод отрабатывает(да собственно, и понятно, почему с ТЗ не работает - на форме ТЗ может быть много, и как без указания ее имени, понять какой ТЗ мы хотим получить текущую колонку? А табличная часть объекта только одна, нет смысла указывать ее имя).
То, что мы пытались отлавливать событие изменения текущей колонки кучей разных способов - тоже понятно, и работает через ФормЕксовские отжатия хорошо из примера. Непонятно только, что в твоем примере такое "тТекущаяКолонка" - ??? |
|||
15
Bigbro
26.09.23
✎
13:11
|
текстТекущаяКолонка видимо.
|
|||
16
Злопчинский
26.09.23
✎
13:14
|
(14) см (9), тТекущаяКолонка - ид текста на форме, в котором показывается какая-либо инфа по текущей колонке
|
|||
17
MWWRuza
26.09.23
✎
13:26
|
(15)(16) Ага, понял...
|
|||
18
MWWRuza
26.09.23
✎
13:46
|
Да, все отлично работает.
Просто вот это немного сбило - "в формулу пишем ТекущаяКолонка - получаем вывод идентификатора текущей колонки..." Тут имеется в виду не в формулу текста на форме, а формула внутри модуля, в процелуре ВывестиКолонку(). В формуле текста ничего быть не должно. |
|||
19
MWWRuza
26.09.23
✎
13:50
|
(10) А шаблон, да, супер! Тоже никогда не использовал...
Как говорится, век живи, век учись, и все равно дураком подохнешь :-) |
|||
20
Злопчинский
26.09.23
✎
13:50
|
(18) да, правильно. Криво изложил. От бездуховности.
|
|||
21
Злопчинский
26.09.23
✎
13:54
|
(19) например у меня есть обработка выгрузки ВСЯКИХ документов - на вход документ. Я не пишу код типа
Если Док.Вид()="Реализация" Тогда ВыгрузитьПоРеализации() ИначеЕсли Док.Вид()="Перемещение" Тогда ВыгрузитьПоПеремещению() ИначеЕсли... . а пишу просто . Результат = Шаблон("[ВыгрузитьПо"+ДокВид()+"]"); |
|||
22
Arbuz
26.09.23
✎
14:18
|
(9) >в формулу пишем ТекущаяКолонка
Это ещё зачем? ТекущаяКолонка это, что? Переменная формы? И на кой она в формуле нужна, если в той теме FN предложил "Надо по событию исполнять код, а не по таймеру [и не из формулы атрибута]", и использовались 3( 4) формесовских события? Т.е. по факту этот атрибут-текст нахрен не нужен в контексте задачи ТС, финт с неявным вызовом формулы атрибута здесь не используется. Просто ВывестиТекКолонку() должна быть не процедурой, а функцией возвращающей то, что ты кладёшь-ложишь в заголовок (который не нужен, как и эта переменная - от слова совсем). ЗЫ: А, про формулу-переменную увидел. Но остальное в силе. |
|||
23
Arbuz
26.09.23
✎
14:24
|
И попробуйте ещё в тч дока как это работает в режиме редактирования строки при горизонтальном перемещении по столбцам (в пределах одной строки).
|
|||
24
Злопчинский
26.09.23
✎
14:36
|
(22) ну оно так и есть.
По событию устанавливается заголовок текстового атрибута |
|||
25
Злопчинский
26.09.23
✎
14:37
|
(23) ага, побежал... Вприпрыжку... ;-)
Чуть позже |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |