Проверка корректности ФИО покупателя при опросе по дисконтной карте в Рознице 2.3
У клиента продавцы иногда ошибаются — не глядя на экран вводят фио клиента на латинском языке. Попросил, чтобы 1С это контролировала. И чтобы продавец обязательно заполнял пол.
Сказано — сделано.
Вводим новую дисконтную карту:
Первым пунктом опроса идет как раз ФИО.
При нажатии кнопки «Далее» вызывается процедура СледующийРаздел, её и добавим в расширение формы ФормаОпросаПоДисконтнойКарте:
&НаСервере Функция ЕстьНедопустимыеСимволы(ИсходнаяСтрока, Символы) Экспорт Для Сч=1 по СтрДлина(ИсходнаяСтрока) Цикл Символ = НРег(Сред(ИсходнаяСтрока, Сч, 1)); Если Найти(Символы, Символ) = 0 Тогда Возврат истина; КонецЕсли; КонецЦикла; Возврат Ложь; КонецФункции &НаКлиенте &Вместо("СледующийРаздел") Процедура ддкнт_СледующийРаздел(Команда) //Делаем свои собственные проверки наименования и пола ТекущийВопрос = ТаблицаВопросовИОтветов[НомерВопроса - 1]; ТекущийОтвет = нрег(СокрЛП(ТекущийВопрос.ПредопределенныйОтвет)); Если ТекущийВопрос.Вопрос = НСтр("ru = 'Фамилия, Имя, Отчество'") Тогда Если ЕстьНедопустимыеСимволы(ТекущийОтвет, "абвгдеёжзийклмнопрстуфхцчшщъыьэюя -") Тогда //Если сделаем возврат, кнопка дальше не есработает ПоказатьПредупреждение(, НСтр("ru = 'В ФИО покупателя должны быть только русские буквы, пробел или дефис!'")); Возврат; КонецЕсли; ИначеЕсли ТекущийВопрос.Вопрос = НСтр("ru = 'Пол'") Тогда Если Не ЗначениеЗаполнено(ТекущийОтвет) Тогда ПоказатьПредупреждение(, НСтр("ru = 'Укажите обязательно пол!'")); Возврат; КонецЕсли; КонецЕсли; ПродолжитьВызов(Команда); КонецПроцедуры
Расширение работает:
Среда: Розница 2.3 Объем: 1 час.
Свежие комментарии