Текущее время: Пн, июл 21 2025, 02:09

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Вт, мар 15 2011, 17:59 
Начинающий
Начинающий

Зарегистрирован:
Пн, ноя 16 2009, 12:06
Сообщения: 9
Добрый день!
Мне необходимо изменять шаблон (маску) ввода нескольких полей на экране. Экран самописный. Для каждого поля возможно дополнительное поле (например выпадающий список), из которого пользователь выбирает нужный ему шаблон, после чего вводит данные в нужное поле согласно выбранному шаблону. Не разобрался, как собственно поменять значение маски поля.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Вт, мар 15 2011, 19:21 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 01 2005, 13:23
Сообщения: 303
Откуда: Питер
Пол: Мужской
Можно попробовать написать несколько conversion_exit... В зависимости от выбранной маски прогонять через тот или иной модуль введённое значение.

_________________
Всему своё время...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Ср, мар 16 2011, 12:13 
Начинающий
Начинающий

Зарегистрирован:
Пн, ноя 16 2009, 12:06
Сообщения: 9
Вариант с exit-ами не очень подходит, так как придется писать новые модули для каждой новой маски, если таковые появятся.
Еще есть вариант нарисовать подэкран для каждого варианта маски для каждого поля, и вызывать нужный. Недостатки те же, что и в предыдущем варианте.
Ну а все-таки, чисто теоретически, есть возможность менять маску во время выполнения программы?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Ср, мар 16 2011, 15:54 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 10:59
Сообщения: 61
Извините, vlad_v12, нельзя ли привести хотя бы пару примеров маски, а то у меня под понятием маски в голову лезут несколько разных вариантов, типа маски для СПП-элемента или write using edit mask и т.п. Что-то не могу сообразить, как Вы ее применяете.

_________________
Блаженны прыгающие, ибо они допрыгаются.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Ср, мар 16 2011, 16:09 
Начинающий
Начинающий

Зарегистрирован:
Пн, ноя 16 2009, 12:06
Сообщения: 9
SMak написал(а):
Извините, vlad_v12, нельзя ли привести хотя бы пару примеров маски, а то у меня под понятием маски в голову лезут несколько разных вариантов, типа маски для СПП-элемента или write using edit mask и т.п. Что-то не могу сообразить, как Вы ее применяете.


То, что задается в поле "Текст" в свойствах поля ввода/вывода в редакторе экранов. Шаблон вида __:__:_______:____ . При этом "_" означает любой символ. Использую для проверки правильности ввода пользователем значения.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Ср, мар 16 2011, 16:23 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Если правильно понял...
Почему так не сделаете?(применительно к динпро тоже самое, в пбо логике редактировать значение после ввода ориентируясь на заданную маску)
Code:
parameter p(100) DEFAULT '1234'.
parameter mask(100) DEFAULT '__^__'.
data: ss(100).

write p to ss using edit mask mask.
write ss."12^34


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Ср, мар 16 2011, 16:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
vlad_v12 написал(а):
Ну а все-таки, чисто теоретически, есть возможность менять маску во время выполнения программы?

Управление атрибутами полей экрана осуществляется в PBO-логике с помощью таблицы SCREEN. Поля MASK там нет.
Проверки введенной информации осуществляются в PAI-логике экрана.

А вот какой смысл смысл вводить в одно и то же поле данные разных форматов - непонятно...Общий ФМ для ввода одного поля? Для этого есть ФМ POPUP_GET_VALUES :?

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Ср, мар 16 2011, 16:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Besa написал:
в пбо логике редактировать значение после ввода ориентируясь на заданную маску

Наверно все-таки в PAI-логике преобразование лучше делать ;)

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Ср, мар 16 2011, 16:38 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Удав написал(а):
Besa написал:
в пбо логике редактировать значение после ввода ориентируясь на заданную маску

Наверно все-таки в PAI-логике преобразование лучше делать ;)

Ой, да, правильно, в пай :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Ср, мар 16 2011, 17:17 
Начинающий
Начинающий

Зарегистрирован:
Пн, ноя 16 2009, 12:06
Сообщения: 9
Поле - это кадастровый номер. Он может иметь 3 возможных варианта ввода. При этом пользователь должен сначала выбрать, в каком формате он будет вводить данные, и затем ввести сам номер. При этом маска используется для удобства ввода данных, что является требованием заказчика.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода
СообщениеДобавлено: Чт, мар 17 2011, 00:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Сделайте 3 поля ввода, показывать в один момент времени одно из них, в зависимости от выбранной маски.

имхо, не самое умное требование. Пришли бы к единому формату и не парились.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамическое изменение маски для поля ввода  Тема решена
СообщениеДобавлено: Чт, мар 17 2011, 16:15 
Начинающий
Начинающий

Зарегистрирован:
Пн, ноя 16 2009, 12:06
Сообщения: 9
В итоге реализовал fieldexit на каждое поле ввода, вроде бы работает. Спасибо всем за помощь!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB