Имя: Пароль:
1C
 
активизация поля в Такси
, ,
0 Strimteam
 
17.05.16
14:32
Как отловить смену активного поля в режиме такси?
У элемента формы нет теперь события "ПриАктивизации".
1 lodger
 
17.05.16
14:35
имхо, никак.
продумай логику заново и по другому.
2 Strimteam
 
17.05.16
14:36
(1) РМК сделан так, чтобы в отдельное поле выводилась подсказка о поле на котором курсор, и так же о значении которое выбрано пользователем. Так что без отслеживания активизации никак.
3 Карупян
 
17.05.16
14:43
Сделан на 1С?
4 Карупян
 
17.05.16
14:43
последний вариант рисовать свое html поле - там можно все
5 Strimteam
 
17.05.16
14:45
(4) не вариант.
По сабжу - есть событие АвтоПодбор у поля. Для текстового поля оно срабатывает очень часто - при вводе каждой буквы и при активизации поля, в том числе. Событие всегда так работает или есть исключения?
6 singlych
 
17.05.16
14:48
(5) автоподбор не работает при переходе на поле по табу
7 Карупян
 
17.05.16
14:51
можно просто обработчик ожидания раз в секунду.
вполне достаточно
8 Strimteam
 
17.05.16
14:53
(6) а если жёстко убрать горячую клавишу перехода Tab. можно? Фактически отобрав возможность перехода таким образом.
9 Strimteam
 
17.05.16
14:56
(7) И что дальше? Есть только ТекущийЭлемент, который при перескоке в таблице значений остаётся неизменным - самой таблицей.
10 Карупян
 
17.05.16
14:59
(9) Откажись от такого UI. Лучше потрать время на разработку нового
11 Cyberhawk
 
17.05.16
15:03
У таблицы формы есть свойство "ВыделенныеСтроки"...
12 Strimteam
 
17.05.16
15:04
(10) Это и есть с 0 сейчас - при активизации любого поля должна выводиться подсказка по этому полю (можно типовым). Если выбрано значение (уже было введено/ввод) необходимо выводить подсказку по введённому значению.
(11) А мне нужно значение в выбранной ячейке, а не вся строка
13 lodger
 
17.05.16
15:04
(9) (11) или ТекущиеДанные хотя бы. да и у тч есть событие активизации.
14 singlych
 
17.05.16
15:04
(8) Не особо представляю, как это сделать. Да и заикаешься, когда тебя будут материть юзеры, привыкшие набивать формы с клавиатуры.
15 lodger
 
17.05.16
15:06
(12) уже ячейки и строки пошли. тебе нужны ячейки в тч? там есть события и для ячеек, и для полей, и для строк.
16 Карупян
 
17.05.16
15:09
(12) И кто же придумал такую х...ню?
17 Strimteam
 
17.05.16
15:11
(16) есть такое нерусское слово - Заказчик.
(13) А мне нужно у каждого поля в ТЧ событие активизации. При переходе между полями событие активизации ТЧ не срабатывает повторно.
(14) здесь изначально возможен ввод с тачпада, так что вряд ли будут табуляцией пользоваться
(15) Писал выше - есть только событие АвтоПодбор, других событий не нашёл. Вы про какое событие?
18 lodger
 
17.05.16
15:14
(17) правый клик по тч формы - события - при активизации строки\поля\ячейки
19 Cyberhawk
 
17.05.16
15:15
ПриАктивизацииЯчейки
20 Cyberhawk
 
17.05.16
15:17
Также есть ТекущийЭлемент.Имя (имя ЭУ поля ввода) и ТекущиеДанные (со свойствами-именами колонок таблицы), правда связь между первым и вторым можно получить только на сервере...
21 Strimteam
 
17.05.16
15:19
(18) эммм. Такси что-то говорит? В самом начале написал.
Нет такого события у элемента формы.
(19) Табличных документов нет, так что тут полегче
(20) ТекущиеДанные недоступны на сервере.
22 Cyberhawk
 
17.05.16
15:23
ТС несет какую-то дичь, в Такси все из перечисленного работает
По поводу "ТекущиеДанные недоступны на сервере" - события ЭУ начинаются на клиенте
23 lodger
 
17.05.16
15:23
(21) да хоть маршрутка.
хватит путать честной народ. определись с терминами - поле формы, ячейка тч, строка тч.
24 lodger
 
17.05.16
15:25
еще раз читать (1).
25 Strimteam
 
17.05.16
15:28
(22) пруф в студию что в такси есть событие "Активизация" для элемента(поля) формы.
(23) ячейка ТЧ на форме - такой же элемент формы, имеющее имя например "ТоварНоменклатура". Активизация ячейки ТЧ на форме = активизация элемента формы.
(24) Ну продолжайте читать своё сообщение. Я пока стараюсь реализовать ТЗ.
26 lodger
 
17.05.16
15:37
(25) когда ТЗ без оглядки на возможности платформы - жди ХЗ в результате.
"Активизация" для поля формы нет.
для полей таблицы формы есть. прячутся в свойствах таблицы.
27 Strimteam
 
17.05.16
15:49
(26) Если речь про ТаблицуЗначений на форме, то есть событие - АктивизацияСтроки, но не ячейки.
28 Cyberhawk
 
17.05.16
15:51
(25) "пруф в студию что в такси есть событие "Активизация" для элемента(поля) формы" // Почему это адресовано ко мне?
(27) Дважды ошибаешься
29 aleks_default
 
17.05.16
15:58
ну, например, можно запоминать название текущегоЭлемента в реквизит формы при открытии. И подключить обработчик ожидания который будет сверять запомненное название с текущим элементом
30 Strimteam
 
17.05.16
16:00
(28) Всё из перечисленного загналось сюда :)
Смотрю в конфигуратор, на свойства столбца ТЗ.

По сабжу - решил через АвтоПодбор у элементов формы.
Одна процедура для всех событий:
В процедуре получаем Элемент.Имя - наименование текущего реквизита (активного). Если Элемент.Имя <> ТекущийЭлемент.Имя, значит реквизит возможно ТЧ. Пробуем Найти(Элемент.Имя,ТекущийЭлемент.Имя), если больше 0 - выделяем имя только столбца.
Дальше получаем значение реквизита или через ДанныеСтроки, или через Объект.Свойство() или через Вычислить (если это реквизит формы).
Ну а потом уже обращаемся к структуре где лежат данные подсказки - у себя сделал на регистре сведений.
31 Strimteam
 
17.05.16
16:01
(29) меня смущают вызовы обработчика каждую секунду. Они могут не трогать форму по полчаса, или вобще оставить включенной но ночь :)
32 singlych
 
17.05.16
16:03
(30) "свойства столбца ТЗ"
тебе говорят про свойства ТЗ
33 aleks_default
 
17.05.16
16:04
Он все равно на клиенте работает, какое тебе дело до ресурсов клиента?
34 Strimteam
 
17.05.16
16:07
(32) уже написал в (27). Есть только свойство АктивизацияСтроки. Для столбцов не отрабатывается.
(33) Надо будет попробовать сравнить на практике оба метода. В теории может и правда нет особой разницы для пользователя.
35 Strimteam
 
17.05.16
16:08
(33) Хотя там проблема что надо отслеживать ТекущийЭлемент, и если это таблица, то отслеживать ТекущийЭлемент.ТекущийЭлемент.
36 Strimteam
 
17.05.16
16:10
Единстенное что при первом входе - не срабатывает Автоподбор у поля на котором установлен курсор, но это фигня в общем-то.
37 hhhh
 
17.05.16
16:19
а если фигней не заниматься, а нормальные события брать: при активизации поля, при активизации ячейки?
38 aleks_default
 
17.05.16
16:22
Вообще задача, конечно, мягко говоря, странная. Выводить подсказку при активации каждого поля... А чем обычная подсказка у элемента формы не подходит?
39 Strimteam
 
17.05.16
16:28
(37) а если фигню не писать, и посмотреть в конфигураторе? У меня версия 8.3.8.1652, режим такси - вы где свои нашли "Активизации"?
(38) Нужна подсказка в зависимости от введённых данных так же - например при выборе Безналичной оплаты, или при вводе телефона клиента отображать его скидку. Хотя подсказка у 1С стала куда удобнее чем была
40 sergey yevsenya
 
17.05.16
16:37
(39) куда-то не туда смотришь. Тоже 8.3.8
http://imglink.ru/show-image.php?id=67d5f8b5ac22bbe614ed6cd4e53779e9
41 hhhh
 
17.05.16
16:40
(39) ТаблицаФормы.ПриАктивизацииЯчейки (FormTable.OnActivateCell)
ТаблицаФормы (FormTable)
ПриАктивизацииЯчейки (OnActivateCell)
Синтаксис:

ПриАктивизацииЯчейки()
Описание:

Вызывается при активизации ячейки таблицы.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.

и это есть везде. Заканчивайте уже тупить.
42 Strimteam
 
17.05.16
16:51
(40),(41) - мой косяк. Признаю что виноват. Активизация в таблице значений есть.
Для поля ввода на форме нет Активизации.
43 aleks_default
 
17.05.16
16:54
(39) ну так ты сам сказал, "подсказка в зависимости от введенных данных" а не при активации
44 Strimteam
 
17.05.16
16:56
(43) Если в ячейке нет данных - подсказка по ячейке, если данные уже введены или осуществлён ввод - подсказка по значению.
Соответственно отслеживаю ПриИзменении, и АвтоПодбор.
АвтоПодбор - для активизации ячейки, ПриИзменении - если было выбрано значение из списка (например).
45 Strimteam
 
17.05.16
17:04
(43) и Да - собираются набирать туповатых. Хотят чтобы он нажал на пустое поле - ему написали что туда заносить. Ввёл данные - написали что эти данные значат и что дальше.
Сам понимаю что бредоватая фигня, но надо значит надо.