v8: Опыт работы с реквизитом "Маска" поля ввода Ключевые слова: маска,поле ввода
Экранирование маски
К сожалению 1С не имеет функции, которая бы экранировала маску (т.е. экранировала служебные символы маски в маске). Я привожу свою функцию, но если 1С введен новые символы маски, эта функция будет уже не совсем правильной.
Функция обМаскаВводаЭкранированная(Стр) Экспорт
Перем Рез, Симв;
Рез="";
Для Инд=1 По СтрДлина(Стр) Цикл
Симв=Сред(Стр, Инд, 1);
Если Найти("!9№NUX@^h", Симв)<>0 Тогда
Рез=Рез+"\";
КонецЕсли;
Рез=Рез+Симв;
КонецЦикла;
Возврат Рез;
КонецФункции
Поведение маски
Если полю назначить маску, то она сразу же начнет отображаться, даже если значение в поле ввода не соответствует маске. Т.е. для маски "АВ" пользователь может видеть значение "АВ1", хотя на самом деле в поле ввода хранится "1".
Изменение значения
Если в поле ввода, где хранится некое значение, не соответствующее маске, то при начале редактирования этого поля ввода к значению добавляется маска.
Например, если маска "АВ" и значение "1", то при начале редактирования значение преобразуется в "АВ1". |