|
v7: Вернуть фокус в заданное поле после обновления формы? | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
09.11.15
✎
12:50
|
Начало темы в Перехватить "ввод ручками" проблема почти решена, после подбора очередного товара, фокус формы возвращается в мое поле "ШтрихКодПоиска" для поиска следующего вводимого сканером или вручную. Даже если пользователь предыдущий товар искал не по штрих-коду, а по наименованию или артикулу.
Но вот беда, после возврата фокуса в мое поле форма обновляется, в табличной части есть вычисляемая колонка "Остатки" (хотя в процессе подбора товара они не меняются). И после обновления фокус остается в табличной части. Как вернуть фокус в заданное поле после обновления формы? |
|||
1
Mikhail Volkov
09.11.15
✎
14:00
|
Обычной 7-ке (не 1С++) не под силу?
|
|||
2
НЕА123
09.11.15
✎
14:08
|
попробовать покурить Активизировать()
|
|||
3
Масянька
09.11.15
✎
14:10
|
(1) Дарю СП. Бесплатно (то есть даром) :)
Активизировать(<?>,); Синтаксис: Активизировать(<ИмяРеквизита>,<Режим>) Назначение: Активизировать для редактирования поле диалога. Параметры: <ИмяРеквизита> - необязательный параметр. Строка с именем поля диалога, которое нужно активизировать. Пустое имя элемента диалога используется для активизации всей формы. <Режим> - необязательный параметр. Имеет смысл только для строк списков. Число: 1 - войти в режим редактирования, 0 - не входить. Значение по умолчанию - 1. Замечание: Метод Активизировать может быть вызван из другого (внешнего) модуля, если в нем известен контекст формы, в которой нужно активизировать элемент диалога. Доступ к методу возможен только в контексте Модуля формы. |
|||
4
Mikhail Volkov
09.11.15
✎
14:33
|
(2) Да, именно Активизировать("ШтрихКодПоиска", 0) возвращает фокус в мое поле. Но вот беда, после форма обновляется, и фокус остается в табличной части товаров!?
|
|||
5
Масянька
09.11.15
✎
14:34
|
(4) Ну, дык, воткни после обновления.
|
|||
6
Mikhail Volkov
09.11.15
✎
14:49
|
(5) Куда? В 7-ке нет предопределенной процедуры обновления формы!?
|
|||
7
Масянька
09.11.15
✎
14:52
|
(6) А как она (форма) обновляется?
Если что - опять дарю: Форма.Обновить(<?>); Синтаксис: Форма.Обновить(<Флаг>) Назначение: Обновить форму. Параметры: <Флаг> - число: 1 - установить флаг модифицированности (признак изменения реквизитов текущей формы справочника или документа); 0 - не устанавливать флаг модифицированности. Замечание: Доступ к методу возможен только в контексте Модуля формы через атрибут Форма. |
|||
8
Ёпрст
09.11.15
✎
14:53
|
(6) есть
|
|||
9
Ёпрст
09.11.15
✎
14:53
|
(7) не угадала
|
|||
10
HawkEye
09.11.15
✎
14:54
|
(6) повесь на форму тест в формуле укажи любую процедуру - вот она и будет у тебя предопределенной при обновлении формы, только аккуратнее ее используй ))
|
|||
11
Ёпрст
09.11.15
✎
14:55
|
(10) ну блин, сломал всю интригу, а так, у Масяни бы ломка началась.
|
|||
12
Масянька
09.11.15
✎
14:56
|
(11) Не началась бы. :)))))
|
|||
13
HawkEye
09.11.15
✎
14:57
|
(11) да уж вторую неделю мучается юноша ))
а Мася и не такое выдерживала, с неё как с гуся вода ))) |
|||
14
Масянька
09.11.15
✎
14:58
|
(13) Не надо обзываться... Я - сегодня Царевна :))))))))
|
|||
15
HawkEye
09.11.15
✎
14:58
|
(14) а где я обзывался? )
|
|||
16
Масянька
09.11.15
✎
15:13
|
Ну, что? У юноши получилось? Или еще неделю будет мучиться?
|
|||
17
Mikhail Volkov
09.11.15
✎
15:29
|
(10) Такие поля есть, например: "СуммаВсего" и таб. части товаров "Остаток", еще свою колонку добавил "ДопШтрихКод". Для анализа в эти функции вставил вывод сообщений:
После ДобавитьВТабл Фокус остался на поле: ШтрихКодПоиска После ШтрихКодПоиска Фокус остался на поле: ШтрихКодПоиска СуммаВсего: 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
HawkEye
09.11.15
✎
15:42
|
(17)
вместо "Активизировать("ШтрихКодПоиска", 0)", устанавливаешь глобальную переменную модуля (вернутьВШтрихкод = 1). в любой процедуре на форме пишешь условие Если вернутьВШтрихкод = 1 Тогда форма.закрыть(); КонецЕсли; в призакрытии смотришь если вернутьВШтрихкод = 1 Тогда вернутьВШтрихкод = 0; Активизировать("ШтрихКодПоиска", 0); не закрывать.. как-то так... я твои темы по диагонали читал... ты внешними компонентами не пользуешься? |
|||
19
Chameleon1980
09.11.15
✎
16:23
|
плин
на днях жеж было опять ложное закрытие как-то так |
|||
20
HawkEye
09.11.15
✎
16:24
|
(19) оно тут кажный день уже )))
|
|||
21
Mikhail Volkov
11.11.15
✎
04:59
|
Спс всем. Вернул первоначальный порядок обхода полей формы (мое ШтрихКодПоиска вместо кнопки ПоискПоШК), он какой-то хитрый, не по порядку, и обновление формы перестало сбивать мне фокус!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |