|   |   | 
| 
 | v7: Отследить переход на конкретный реквизит в форме справочника | ☑ | ||
|---|---|---|---|---|
| 0
    
        ЯнСмит 01.09.23✎ 18:53 | 
        Штатно отловить начало редактирования реквизита похоже никак, помнится вроде в Formex'е была подобная возможность, но что-то никак не найду ... подскажите?     | |||
| 1
    
        Guk 01.09.23✎ 19:37 | 
        (0) текст на форме, в процедуре текста проверяй текущий элемент формы...     | |||
| 2
    
        Guk 01.09.23✎ 19:41 | 
        +(1) только не в процедуре, а в функции...     | |||
| 3
    
        ЯнСмит 01.09.23✎ 19:56 | 
        Через Форма.АктивныйЭлемент()?... пробовал не работает ((     | |||
| 4
    
        Guk 01.09.23✎ 20:11 | 
        вот так работает...
 Функция ТекЭлемент() Сообщить(Форма.АктивныйЭлемент()); КонецФункции Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога,ФлагСтандОбр) к=1; КонецПроцедуры ТекЭлемент() - формула на закладке Дополнительно текстового элемента диалога на форме... | |||
| 5
    
        ЯнСмит 01.09.23✎ 21:00 | 
        Ваня спасибо, работает, но вот только по завершению редактирования реквизита, а вот мне вперлось при начале ))     | |||
| 6
    
        Guk 01.09.23✎ 21:10 | 
        странно. у меня именно в при начале работает...     | |||
| 7
    
        ЯнСмит 02.09.23✎ 13:02 | 
        если у тебя задействована ПриНачалеВыбораЗначения, то похоже реквизит сложный (список, перечисление, или справочник), у меня же просто текстовое поле ...     | |||
| 8
    
        Duke1C 06.09.23✎ 17:46 | 
        (7) Для чего нужно? Так то и "простому текстовому реквизиту" можно кнопку для выбора навесить, чтоб штатная ПриНачалеВыбораЗначения сработала     | |||
| 9
    
        HawkEye 06.09.23✎ 17:48 | 
        (0) зачем?     | |||
| 10
    
        Злопчинский 06.09.23✎ 21:00 | 
        (7) я бы порекомендовал присмотреться к (1)     | |||
| 11
    
        ЯнСмит 06.09.23✎ 21:46 | 
        (8) (9) Это нужно для того чтобы при позиционировании на поле текстового реквизита оно автоматически заполнялось определенной частью другого, уже заполненного реквизита, то бишь типа префикса, причем без потери фокуса, ну а дальше уже юзер добавляет в конец заполненного некие свои символы
 (10) а я бы к (3) =)) | |||
| 12
    
        Злопчинский 07.09.23✎ 10:50 | 
        (11) (3) есть подмножество (1)     | |||
| 13
    
        Злопчинский 07.09.23✎ 10:51 | 
        (11) ну так После заполнения другого реквизита заполняй как тебе надо твой реквизит, проблема в чем?     | |||
| 14
    
        ЯнСмит 07.09.23✎ 15:17 | 
        (13) проблема в том, что эти действия разнесены во времени, требуемый реквизит заполняется только при определенных условиях, как правило гораздо позже "родительского"     | |||
| 15
    
        Duke1C 07.09.23✎ 17:20 | 
        (14) Ну оставь для пользователя только "нужный ему кусок" для заполнения. Т.е. на форме отдельный реквизит, пользователь в него пишет что хочет, а после этого в свой "требуемый реквизит" пиши с нужным префиксом.     | |||
| 16
    
        HawkEye 07.09.23✎ 20:53 | 
        (11) поле сделай недоступным, кнопку поставь около поля, открывай по ней ввестистроку и заполняй как хочешь....     | |||
| 17
    
        ЯнСмит 07.09.23✎ 21:40 | 
        Да понятно, что альтернативных вариантов куча, вопрос то был в другом ...     | |||
| 18
    
        Злопчинский 07.09.23✎ 23:50 | 
        (17) не надо долюиться в бетонную стену. ее можно обойти     | |||
| 19
    
        Злопчинский 07.09.23✎ 23:52 | 
        (14) да и похрен. родительскиц реквизит отработал - заполни дочерний. стали известны дополнительные какие-то условия - ДОзаполни или (перезаполни) дочерний. Работай по событию окончания редактирования "предыдущих" реквизитов     | |||
| 20
    
        Salimbek 08.09.23✎ 08:41 | 
        (17) Там несколько вопросов решать придется. Надо ли оно вам?
 1) Отлавливать переход на данное поле: Формэксом, например, отлавливать мышь по координатам. И отлавливать переход по кнопке Tab с предыдущего Элемента формы и т.д. 2) Когда вы подставите текст в это поле, и активируете его - этот текст автоматом выделится и Пользователь, начав вводить новые символы сотрет ваше заполнение, так что ему надо будет сначала нажимать кнопку End или ->, или вам через Формэкс отправлять нажатие клавиши. Я бы сделал через ActivX-элемент, в котором и события можно ловить и свойства можно как угодно редактировать. (19) Согласен, этот подход более правильный. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |