Маска в экране

Автор SKD1980, Серпень 26, 2010, 10:01:00 ДП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

SKD1980

Добрый день! Мне нужно, чтобы люди на экране вводил данные по определенной маске.  Если взять ту же дату, то надо, чтобы в окошечко давало вводить данные так: 28августа2010, а не так как захочется пользователям (не 282010августа или не 28082010). Предоставляет ли САП вводить данные по определенной маске?

Dmitriy

Ту маску, которая вам требуется, не получите в рамках одного экранного поля (затруднительно анализировать). Как выход (если очень хочется): создать 3 отд. поля "число", "месяц прописью", "год" (как в MS Excel, например) и обрабатывать/проверять введенные значения в PAI-модуле.

ИМХО, плохой подход к задаче. Лучше ставить дату традиционно, со стандартным SH (ср. поиска) и автопроверкой введенного значения на соответствие реальной календарной дате, а не изобретать велосипед заново.

Uukrul

Ну как вариант есть такой ФМ J_3G_CHECK_EDITMASK на вход подаем маску и строку на выходе получаем результат соответствия. Само собой месяц именно как месяц проверка не делается, как и год, так как маска задается в терминах системы вида:

N - Число от 0 до 9
A - Буква
X - Число или буква

т.е. задаем маску вида NN-AAAAA-NNNN и тогда пользователь должен ввести что-то вида 28-ддддд-2100, что подходит под маску ввода, однако существует такая вещь как число букв в средине маски фиксировано, т.е. если ввести не пять букв "Д", то будет выдана ошибка, ну тут можно предложить следующее, количество букв делаем равным максимальному количеству букв в месяце, а месяцы короче максимального дополняем любой буквой.

PS: Но Дмитрий прав, смысла изобретать велосипед нет никакого, в системе есть четкие правила ввода даты и времени.