|
Фигня с Доступность()
|
|||
---|---|---|---|
#18+
Хочу сделать некоторые элементы диалога на форме доступными/недоступными в зависимости от действий пользователя. Написал процедурку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Глюк в том, что после того как элемент стал "недоступным", обратно "достпным" он становиться категорически не хочет. Версия 1С 7.70.027. Как-нибудь обойти это можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2008, 15:03 |
|
Фигня с Доступность()
|
|||
---|---|---|---|
#18+
Оооо, это у меня беда с переключателями оказалась. 2 переключателя объеденены в одну группу. У каждого переключателя своя формула, а вызывается только формула первого переключателя из группы - будем переделывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2008, 15:21 |
|
Фигня с Доступность()
|
|||
---|---|---|---|
#18+
SergeySVХочу сделать некоторые элементы диалога на форме доступными/недоступными в зависимости от действий пользователя. Написал процедурку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Глюк в том, что после того как элемент стал "недоступным", обратно "достпным" он становиться категорически не хочет. Версия 1С 7.70.027. Как-нибудь обойти это можно? Интересная логика... Код: plaintext 1.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2008, 22:52 |
|
Фигня с Доступность()
|
|||
---|---|---|---|
#18+
Короче я всегда в 7.7 делал так: Чтобы все работало как часы нужно 1)Разместить на форме вычисляемое поле результатом работы которого должна быть функция 2)В функции строчка кода такая: Функция Доступность() Доступность = ?(КакоетоУсловиеВыполнениеКоторогоДаетДоступКЭлементам,1,0); //Далее тупо Форма.Кнопка.Доступность(Доступность); Форма.Кнопка1.Доступность(Доступность); Форма.Кнопка2.Доступность(Доступность); Возврат (""); КонецФункции //Работает быстро и всегда правильно! // ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2008, 01:32 |
|
Фигня с Доступность()
|
|||
---|---|---|---|
#18+
Спасибо, с Доступностью разобрался. Теперь следующая заморочка вокруг которой я хожу уже второй день: Есть Поле (ПолеПП), куда пользователь вводит данные (номера), нажимает Enter, срабатывает простая процедура: Код: plaintext 1. 2. 3. 4. 5.
Что уже пробовал: - В процедуре ВводвПолеПП() активный элемент все еще ПолеПП, фокус убегает на Список после окончания процедуры, поэтому активизировать что-то бесполезно. - тупо ставил строку "Активизировать("ПолеПП");" в процедуру, которая вызывалась из формул Списка - никакого эффекта. - единственный вариант который типо работает, это когда процедура со строкой Активизировать("ПолеПП"); вызывается при нажатии на какую-нибудь кнопку - но тогда теряется весь смысл, ведь фокус должен сам автоматом возвращаться после Enter на ПолеПП. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2008, 16:45 |
|
Фигня с Доступность()
|
|||
---|---|---|---|
#18+
Единственное что пока смог сделать - пользователю теперь нажимает 2 раз Enter и фокус возвращается в ПолеПП Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Процедура фыв() прописана в формуле СписокПП и вызывается когда в списке нажимают Enter(или клик мыши). Чтобы отличить простые нажатия Enter, от тех которые когда пользователь перескочил в список после ввода данных в ПолеПП - пришлось ввести дополн. переменную - ПолеППввод ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2008, 11:38 |
|
Фигня с Доступность()
|
|||
---|---|---|---|
#18+
Вообщем вот так обошел проблему с фокусом, добавив в выше указанный код эмуляцию нажатия клавиши Enter Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2008, 17:54 |
|
|
start [/forum/topic.php?fid=28&fpage=163&tid=1524575]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 315ms |
total: | 450ms |
0 / 0 |