Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Робота с формой.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
l2d808
Добрый день уважаемое сообщество. Платформа 1с77. Задача: на форме есть три Элемента "Поле Ввода". При введении информации в поле 1 мы жмем ентер. обработка что-то делает. и затем переносит фокус на "поле ввода2". Мне мужно, чтоб после нажатия ентер, активным стал элемент "Поле Ввода"
перем поле1, поле2, поле3;



Мне помогут? А то я голову уже сломал. Никак не могу поймать фокус. 09000000.gif
logist
Цитата(l2d808 @ 09.11.12, 12:08) необходимо зарегистрироваться для просмотра ссылки
Мне помогут?

Возможно, когда у кого-то будет время ответить на Ваш вопрос. Не надо поднимать тему через три минуты.
MATEVI
Активизировать("ИмяРеквизита")
l2d808
Цитата(MATEVI @ 09.11.12, 12:20) необходимо зарегистрироваться для просмотра ссылки
Активизировать("ИмяРеквизита")

В данной формуле не может быть вызвана эта процедура (функция)
Kutuzov
Пункт меню Диалог- порядок обхода...

Или надо что бы он после прохода по трем вернулся на фокус первого?
l2d808
Цитата(Kutuzov @ 09.11.12, 12:39) необходимо зарегистрироваться для просмотра ссылки
Пункт меню Диалог- порядок обхода...

Или надо что бы он после прохода по трем вернулся на фокус первого?


Надо чтоб после ввода данных в поле1 и нажатии ентер фокус возвращался на поле1.
mister-x
Робив колись роздрібну накладну із використанням сканера штрихкодів (при сканувванні у відповідне поле вносився штрихкод, відбувався пошук по ньому, (не)вводилась к-сть товару в діалозі, в табл. частині (не)добавлялась стрічка і фокус переміщався у поле для введення штрихкоду) і враховуючи п.7 необходимо зарегистрироваться для просмотра ссылки, прописуємо в процедурі/функції на потрібному реквізиті (звідки буде здійснюватись переміщення фокусу) наступне (ініціюємо "закриття" форми):
...
ЭтоВсегоНаВсегоПеремещениеФокуса = 1;
Форма.Закрыть();
...

Далі
ПриЗакрытии()
если ЭтоВсегоНаВсегоПеремещениеФокуса  = 1 тогда
Активизировать("ИмяРеквизита");
СтатусВозрата(0);
Возврат;
КонецЕсли;
...

Не забуваємо, про обнулення ЭтоВсегоНаВсегоПеремещениеФокуса при певних умовах, адже форму колись-таки треба закрити smile.gif. ЭтоВсегоНаВсегоПеремещениеФокуса - глобальна.
igmig65
Цитата(l2d808 @ 09.11.12, 12:42) необходимо зарегистрироваться для просмотра ссылки
Надо чтоб после ввода данных в поле1 и нажатии ентер фокус возвращался на поле1.

Интересная задача: 1 - Нужно после процесса фиксирования введенных данных в поле1 (ентер), 2 - запустить процесс активации опять этого же реквизита поле1 опять же для ввода данных.
1 у вас работает. Осталось придумать событие которое решит 2 задачу.
Cthulhu
Цитата(mister-x @ 09.11.12, 13:54) необходимо зарегистрироваться для просмотра ссылки
Робив колись ...

Сравнительно стандартный прием "ложное закрытие с активизацией нужного реквизита формы". Но реализация - убогая.
Правильнее применять переменную НЕ "глобальную", а переменную модуля. Хранить в ней наименование(!) реквизита, который нужно активизировать. При необходимости активизации реквизита из любого места(кода) - присваивать этой переменной имя(идентификатор) активизируемого реквизита формы и "Форма.Закрыть(0)". В ПриЗакрытии - проверять переменную модуля на непустое значение, и есть(!) оно непустое - активизировать реквизит формы с указанными в этой переменной именем(идентификатором), очищать(!) эту переменную и СтатусВозврата(0).
mister-x
Цитата(Cthulhu @ 11.11.12, 16:10) необходимо зарегистрироваться для просмотра ссылки
НЕ "глобальную", а переменную модуля.

я і мав увазі зміну модуля, не так виразився smile.gif, але автор теми думаю вирішив свою задачу
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.