Готовишься к экзамену?
Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.
Какой символ необходимо использовать в маске кода, если требуется заблокировать интерактивное изменение у кода счета "60.1" значения "60"?
"/"
Неправильно: Косая черта не используется как управляющий символ маски для блокировки ввода отдельных позиций кода. В масках кода счетов обычно применяются специальные обозначения для типов вводимых символов и для запрета интерактивного ввода, а «/» к этому не относится.
"^"
Правильно: Символ «^» в маске означает, что соответствующую позицию нельзя вводить пользователю с клавиатуры - она может быть установлена только из встроенного языка/программно. Поэтому, чтобы «зафиксировать» первые две позиции «60» в коде «60.1», в маске для этих позиций используют «^».
"Y"
Неправильно: «Y» не является стандартным управляющим символом маски ввода кода счета для ограничения интерактивного редактирования позиций. Он не решает задачу запрета изменения первых символов кода.
"N"
Неправильно: «N» обычно означает разрешение ввода любых алфавитно-цифровых символов, то есть наоборот расширяет возможность ручного ввода. Он не блокирует редактирование, а допускает ввод в позицию.
"Х"
Неправильно: «Х» в маске используется как разрешение ввода произвольного символа в указанной позиции, то есть не ограничивает пользователя. Для блокировки изменения позиции нужен специальный символ запрета интерактивного ввода, а не «любой символ».
"!"
Неправильно: «!» относится к преобразованию вводимых символов (например, к регистру), но не к запрету ввода. Он не фиксирует часть кода счета и не блокирует изменение первых символов.
Пояснение
Маска кода в плане счетов задает посимвольные правила ввода кода счета: какие символы допускаются в каждой позиции и какие символы являются фиксированными (например, точка-разделитель в «60.1»). Кроме «разрешающих» символов (цифра, буква/цифра, любой символ и т.п.) есть специальный символ запрета интерактивного ввода - «^».
Смысл «^»: пользователь не может ввести символ в эту позицию руками, а значение позиции может быть установлено только программно (из встроенного языка) - например, при автоматическом формировании кода или при заполнении по шаблону. Это удобно, когда часть кода должна быть «жестко закреплена».
Практический пример для субсчета «60.1»: чтобы зафиксировать «60», а пользователю оставить ввод только последней цифры субсчета, применяют маску вида «^^.9» (две позиции заблокированы, затем фиксированная точка, затем ввод одной цифры). В результате пользователь сможет менять только последний разряд после точки, а первые «60» будут защищены от ручного изменения.
Важно: «битый» ввод здесь не связан с тем, что пользователь вводит символ «^» - наоборот, «^» используется в самой маске как управляющее обозначение. Если нужно полностью исключить ручной ввод кода и формировать его автоматически, можно дополнительно применять настройки автонумерации/прав доступа и использовать предопределенные счета, но для точечного запрета редактирования части кода именно маска и «^» решают задачу быстрее всего.