Задача: Необходимо, чтобы пользователи вводили VIN в соответствии с форматом - строго 17 символов (цифры + буквы латинского алфавита (кроме О)).
Решение: 1) В праве 30005 указал строку запрещённых символов - буквы русского алфавита + латинские oO (для всех подразделений); 2) В маске VIN всех моделей указал 17 символов - UUUUUUUUUUUUUUUUU;
Проблема: ограничение по запрещённым символам - все OK. Проблема в маске - даёт вводить VIN меньше 17 символов (например, X7LLSRB2HEH728327. Удаляю последний символ и машина без ошибок записывается. Почему?).
Хотя из справки следует:
Цитата
U - допустимо ввести любые алфавитно-цифровые символы (буквы или цифры) и любой введенный символ преобразуется в верхний регистр; @ – допустимо ввести любые алфавитно-цифровые символы (буквы или цифры) в верхнем регистре или пробел.
P.S. Я понимаю такое поведение системы, если бы маска была из символов @, но в моём случае это не так. Как мне добиться нужного результата? P.S.S. Делал всё на демо-базе. Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.1 (5.1.02.09).
Добрый день, Алексей, на типовом релизе 5,1,04,06 введена маска, как у Вас, а также указанный Вами VIN, карточка автомобиля сохранилась без проблем, проверьте, пожалуйста, на актуальном релизе.
Я НЕ писал, что у меня возникает проблема с вводом приведенного VIN номера! Прочитайте, пожалуйста, мой пост ВНИМАТЕЛЬНО!
Исходя из используемого мною шаблона (см. цитату из справки), если вводить 16 символов (вместо необходимых 17) - системой должно генерироваться сообщение об ошибке и не записываться. Однако несмотря на ошибочный VIN (в 16 символов; если в указанном правильном VIN-е удалить, например, последнюю цифру), карточка а/м сохраняется и никаких предупреждающих сообщений не выводиться.
Тогда, если мы вводим 16 символов в VIN, при использование 17-ти символа U в маске, что программа считает 17-м символом?
Из справки следует, что если я укажу (17-м символом) символ U - он можем принимать значения только буквы или цифры (никаких пробелов!); если @ - тогда буквы, цифры или пробел.
P.S. Если это не реализовано, пожелание разработчикам о реализации данного механизма (необходим для установки ограничений при вводе VIN). Если это реализовано (т.е. если справка все-таки соответствует действительности) - что необходимо сделать, что бы данный механизм отрабатывал.
Алексей, Маска нужна для того, чтобы исключить ошибки ввода VIN. Основные виды ошибок: - русская буква вместо английской - цифра вместо буквы - буквы в нижнем регистре
Пробел не проверяется. Нет символа, нет ошибки. Проверяется только вышесказанное. Это механизм платформы, Альфа-Авто в данном механизме не участвует. Маска не проверяет сколько в итоге Вы ввели символов.
При записи единственная проверка: Право 30005 запрещённые символы - буквы русского алфавита + латинские oO Проверка 17 символов не реализованна, т.к. есть авто и с 14 символами в номере VIN
http://rarus.ru/forum/user/66188/ Алексей Коломыйченко. Если важно, чтобы длина VIN была 17 символов - сделайте подписку на событие "ПриЗаписи" элемента Справочника "Автомобили". Можно не записывать автомобиль или, как вариант, просто выдать передупреждение пользователю. Подписка позволит избежать проблем при обновлении.