v7: Вернуть фокус в заданное поле после обновления формы? #757788


#0 by Mikhail Volkov
Начало темы в проблема почти решена, после подбора очередного товара, фокус формы возвращается в мое поле "ШтрихКодПоиска" для поиска следующего вводимого сканером или вручную. Даже если пользователь предыдущий товар искал не по штрих-коду, а по наименованию или артикулу. Но вот беда, после возврата фокуса в мое поле форма обновляется, в табличной части есть вычисляемая колонка "Остатки" (хотя в процессе подбора товара они не меняются). И после обновления фокус остается в табличной части. Как вернуть фокус в заданное поле после обновления формы?
#1 by Mikhail Volkov
Обычной 7-ке (не 1С++) не под силу?
#2 by НЕА123
попробовать покурить Активизировать
#3 by Масянька
Дарю СП. Бесплатно (то есть даром) :) Активизировать(<?>,); Синтаксис: Активизировать(<ИмяРеквизита>,<Режим>) Назначение: Активизировать для редактирования поле диалога. Параметры: <ИмяРеквизита> - необязательный параметр. Строка с именем поля диалога, которое нужно активизировать. Пустое имя элемента диалога используется для активизации всей формы. <Режим> -  необязательный параметр. Имеет смысл только для строк списков. Число: 1 - войти в режим редактирования, 0 - не входить. Значение по умолчанию - 1. Замечание: Метод  Активизировать может быть вызван из другого (внешнего) модуля, если в нем известен контекст формы, в которой нужно активизировать элемент диалога. Доступ к методу возможен только в контексте Модуля формы.
#4 by Mikhail Volkov
Да, именно Активизировать("ШтрихКодПоиска", 0) возвращает фокус в мое поле. Но вот беда, после форма обновляется, и фокус остается в табличной части товаров!?
#5 by Масянька
Ну, дык, воткни после обновления.
#6 by Mikhail Volkov
Куда? В 7-ке нет предопределенной процедуры обновления формы!?
#7 by Масянька
А как она (форма) обновляется? Если что - опять дарю: Форма.Обновить(<?>); Синтаксис: Форма.Обновить(<Флаг>) Назначение: Обновить форму. Параметры: <Флаг> - число: 1 - установить флаг модифицированности (признак изменения реквизитов текущей формы справочника или документа); 0 - не устанавливать флаг модифицированности. Замечание: Доступ к методу возможен только в контексте Модуля формы через атрибут Форма.
#8 by Ёпрст
есть
#9 by Ёпрст
не угадала
#10 by HawkEye
повесь на форму тест в формуле укажи любую процедуру - вот она и будет у тебя предопределенной при обновлении формы, только аккуратнее ее используй ))
#11 by Ёпрст
ну блин, сломал всю интригу, а так, у Масяни бы ломка началась.
#12 by Масянька
Не началась бы. :)))))
#13 by HawkEye
да уж вторую неделю мучается юноша )) а Мася и не такое выдерживала, с неё как с гуся вода )))
#14 by Масянька
Не надо обзываться... Я - сегодня Царевна :))))))))
#15 by HawkEye
а где я обзывался? )
#16 by Масянька
Ну, что? У юноши получилось? Или еще неделю будет мучиться?
#17 by Mikhail Volkov
Такие поля есть, например: "СуммаВсего" и таб. части товаров "Остаток", еще свою колонку добавил "ДопШтрихКод". Для анализа в эти функции вставил вывод сообщений: После ДобавитьВТабл Фокус остался на поле: ШтрихКодПоиска После ШтрихКодПоиска Фокус остался на поле: ШтрихКодПоиска СуммаВсего: 34.5 / Фокус остался на поле: ШтрихКодПоиска ДопШтрихКод для 100 наклеек Disney Проф-Пресс мяг/о/Медвежонок Винни - 11 / Фокус остался на поле: ШтрихКодПоиска ДопШтрихКод для 100 наклеек Disney Проф-Пресс мяг/о/Самолеты / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Disney Проф-Пресс мяг/о/Самолеты - 29 / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Disney Проф-Пресс мяг/о/Тачки - 21 / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Disney Росмэн мяг/о/Тачки / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Проф-Пресс мяг/о/Лучшие машины / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Проф-Пресс мяг/о/Мир насекомых / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Проф-Пресс мяг/о/Мир транспорта / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Проф-Пресс мяг/о/Учим буквы / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Проф-Пресс мяг/о/Учим цифры / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб СуммаВсего: 34.5 / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб ДопШтрихКод для 100 наклеек Disney Проф-Пресс мяг/о/Медвежонок Винни - 11 / Фокус переместился с поля: ШтрихКодПоиска на поле: ТаблПодб Первые 2 - как я хотел, а дальше - результат обновления формы.
#18 by HawkEye
вместо "Активизировать("ШтрихКодПоиска", 0)", устанавливаешь глобальную переменную модуля (вернутьВШтрихкод = 1). в любой процедуре на форме пишешь условие Если вернутьВШтрихкод = 1 Тогда форма.закрыть; в призакрытии смотришь если вернутьВШтрихкод = 1 Тогда как-то так... я твои темы по диагонали читал... ты внешними компонентами не пользуешься?
#19 by Chameleon1980
плин на днях жеж было опять ложное закрытие
#20 by HawkEye
оно тут кажный день уже )))
#21 by Mikhail Volkov
Спс всем. Вернул первоначальный порядок обхода полей формы (мое ШтрихКодПоиска вместо кнопки ПоискПоШК), он какой-то хитрый, не по порядку, и обновление формы перестало сбивать мне фокус!
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С