Иногда при вводе ФИО физических лиц пользователи забывают, что клавиатура находится в режиме EN, и начинают вводить фамилию латинскими буквами, например "Kypytwjd" вместо "Кузнецов". Поняв, что ошиблись, удаляют "pytwjd" и вводят "знецов". Получается "Kyзнецов", при этом первые два символа не принадлежат кириллице, хотя на первый взгляд всё хорошо. Подобные случаи приводят к тому, что в списке физических лиц при сортировке по ФИО некоторые строки размещаются не в тех местах, где их ожидают, а поиск по ФИО не находит заданное физическое лицо. Создают новую запись в справочнике, в отчетах появляются дублирующиеся по ФИО строки. При этом возникшие дубли не удаётся отфильтровать типовым поиском дублей. У пользователей возникает иллюзия, что программа работает некорректно.
Для того, чтобы найти и предотвратить подобные ошибки, предлагается данный функционал "Проверка ФИО", реализованный методом расширения конфигурации. За основу взят типовой функционал "Контроль ведения учёта", имеющийся в составе библиотеки стандартных подсистем (БСП). "Контроль ведения учёта" предусматривает возможность добавления новых правил проверки учёта, таким новым правилом и является "Проверка ФИО".
При запуске приложения после открытия главного окна срабатывает обработчик события ПриНачалеРаботыСистемы, который передаёт управление процедуре ПроверкаФИО_ПриНачалеРаботыСистемы. Процедура регистрирует новое правило проверки с наименованием "Физические лица - Проверка ФИО" в справочнике "Правила проверки учета", если его ещё нет. Теперь правило проверки подключено к подсистеме БСП "Контроль ведения учета" и будет запускаться регламентным заданием по расписанию, которое настроено в справочнике "Правила проверки учета" для этого правила. Проверку можно запустить также вручную из указанного справочника (Администрирование / Обслуживание / Корректировка данных / Правила проверки учета). При запуске проверки управление передаётся процедуре ФИО_ОбработчикПроверки общего модуля ПроверкаФИО, путь к ней содержится в реквизите ОбработчикПроверки данного правила.
Процедура ФИО_ОбработчикПроверки проверяет реквизит ФИО в записях справочника "Физические лица":
Проверка ФИО на допустимые символы.
// Символ принадлежит кириллице,
// ИЛИ принадлежит строке ДопустимыеСимволы
// ИЛИ пробел (допускается не в первой позиции),
// ИЛИ "-",
Если в ФИО найден недопустимый символ, например: Kyзнецов содержит латинские буквы "Ky", то в регистр сведений "Результаты проверки учета" записывается строка вида [K][y]знецов, в которой недопустимый символ обрамлён квадратными скобками []. Результаты проверки можно увидеть в отчёте "Результаты проверки учета".
Результаты проверки видны также в форме списка справочника "Физические лица". При открытии формы запускается обработчик ПриСозданииНаСервере, из него получает управление процедура ПроверкаФИО_ПриСозданииНаСервереПосле, которая программно создаёт колонку с картинкой, сигнализирующей о наличии проблем с объектами в строках. Картинки в строках выводит процедура ПриПолученииДанныхНаСервере.
Если теперь щёлкнуть по картинке, открывается отчёт "Результаты проверки учета" с описанием проблемы.
Если открыть форму элемента справочника "Физические лица", то на ней появляется поле с описанием проблемы. ФИО можно исправить и записать элемент, поле с проблемой исчезнет, а в строке формы списка исчезнет картинка. При записи элемента справочника срабатывает подписка, которая запускает проверку ФИО.
Краткое описание процедур и функций приведено в справке подсистемы "Проверка ФИО" и её подсистем "ФормаСписка" и "ФормаЭлемента".
Прилагаемая роль "Проверка ФИО (контроль ведения учета)" позволяет использовать функционал при отсутствии полных прав.
******************** Справка ПроверкаФИО_БП_ЗКГУ_ЗУП_1.1.1.01
--- Подсистема ПроверкаФИО
Проверка ФИО на допустимые символы.
// Символ принадлежит кириллице,
// ИЛИ принадлежит строке ДопустимыеСимволы
// ИЛИ пробел (допускается не в первой позиции),
// ИЛИ "-"
Если в ФИО найден недопустимый символ, то в результате возвращается ФИО, в котором недопустимый символ обрамлён квадратными скобками [], например: Иван[o]в - латинская буква "o".
Доступ к функционалу обеспечивает роли "Проверка ФИО (контроль ведения учета)" или "Полные права".
При подключении расширения должен быть снят флаг "Безопасный режим".
После перезапуска программы под администратором с полными правами следует открыть
Администрирование / Обслуживание / Корректировка данных / Правила проверки учета и настроить правило "Физические лица - Проверка ФИО".
==== Общие модули
---- КонтрольВеденияУчетаПереопределяемый
// Предназначена для подключения собственных правил проверки ведения учета.
Процедура ПроверкаФИО_ПриОпределенииПроверок(ГруппыПроверок, Проверки)
---- ОбщегоНазначенияКлиентПереопределяемый
// Процедура регистрирует новое правило проверки
// Вызывается при запуске приложения после открытия главного окна.
Процедура ПроверкаФИО_ПриНачалеРаботыСистемы(Параметры)
---- ПроверкаФИО
// Предназначена для подключения собственных правил проверки ведения учета.
Процедура ПриОпределенииПроверок(ГруппыПроверок, Проверки) Экспорт
---- ПроверкаФИОВызовСервера
// Процедура регистрирует новое правило проверки
// Вызывается при запуске приложения после открытия главного окна.
Процедура ПриНачалеРаботыСистемы() Экспорт
--- Подсистема ФормаСписка
В форме списка "Физические лица" появляется колонка для отметки строк, в которых найдены ошибки в ФИО.
Нажатие на картинку в строке вызывает типовой отчет "Контроль ведения учета" с расшифровкой ошибки.
==== Общие модули
---- ЗащитаПерсональныхДанных
// В форме списка выводит колонку с картинкой, сигнализирующей о наличии проблем с объектами в строках.
// Вызывается из события ПриПолученииДанныхНаСервере формы списка.
Процедура ПроверкаФИО_ПриПолученииДанныхНаСервереПосле(Настройки, Строки)
---- ПодключаемыеКоманды
// В форме списка выводит колонку с картинкой, сигнализирующей о наличии проблем с объектами в строках.
// Вызывается из события ПриСозданииНаСервере формы списка.
Процедура ПроверкаФИО_ПриСозданииНаСервереПосле(Форма, Знач ПараметрыРазмещения)
---- ПодключаемыеКомандыКлиент
// Открывает форму отчета при нажатии на ячейку таблицы формы списка с картинкой,
// Вызывается из события ПриАктивизацииЯчейки "Индикатор ошибки" формы Справочник.ФизическиеЛица.Форма.ФормаСписка.
Процедура ПроверкаФИО_ВыполнитьКомандуВместо(Форма, Команда, Источник)
---- ПроверкаФИО
// В форме списка выводит колонку с картинкой, сигнализирующей о наличии проблем с объектами в строках.
// Вызывается из события ПриСозданииНаСервере формы списка.
Процедура ПриСозданииНаСервереФормыСписка(Форма) Экспорт
// В форме списка выводит колонку с картинкой, сигнализирующей о наличии проблем с объектами в строках.
// Вызывается из события ПриПолученииДанныхНаСервере формы списка.
Процедура ПриПолученииДанныхНаСервере(Настройки, Строки) Экспорт
--- Подсистема ФормаЭлемента
В форме элемента появляется поле, поясняющее ошибку в ФИО.
Если ФИО исправлено, то при записи элемента поле исчезает.
==== Общие модули
---- ПроверкаФИО
// Проверяет ФИО при записи элемента справочника "Физические лица"
Процедура ПодпискаФизическиеЛицаПриЗаписи(Источник, Отказ) Экспорт
---- СотрудникиКлиент
// Обновляет форму элемента справочника "Физические лица" после записи.
Процедура ПроверкаФИО_ФизическиеЛицаПослеЗаписи(Форма, ПараметрыЗаписи)
---- СотрудникиФормы
// В форме объекта выводит группу с картинкой и надписью, сигнализирующими о наличии проблем с этим объектом.
// Вызывается из события ПриЧтенииНаСервере формы объекта.
Процедура ПроверкаФИО_ФизическиеЛицаПриЧтенииНаСервереПосле(Форма, ТекущийОбъект)
**************************** Конец справки
При подключении расширения следует снять флажок "Безопасный режим", чтобы процедуры и функции расширения могли исполняться. В разных типовых конфигурациях справочник "Физические лица" и его формы объекта и списка отличаются, поэтому прилагаются разные файлы расширений.
--- ПроверкаФИО_БП_ЗКГУ_ЗУП_1.1.1.01.cfe
Бухгалтерия предприятия, редакция 3.0 (3.0.172.30)
Зарплата и кадры государственного учреждения, редакция 3.1 (3.1.32.39)
Зарплата и управление персоналом, редакция 3.1 (3.1.32.39)
--- ПроверкаФИО_УТ_1.2.1.01.cfe
Управление торговлей, редакция 11 (11.5.20.104)
--- ПроверкаФИО_УНФ_Розница_1.3.1.01.cfe
Управление нашей фирмой, редакция 3.0 (3.0.10.225)
Розница, редакция 3.0 (3.0.10.225)
--- ПроверкаФИО_КА_ERP_1.4.1.01.cfe
1С:Комплексная автоматизация 2 (2.5.20.104)
1С:ERP Управление предприятием 2 (2.5.20.104)
--- ПроверкаФИО_БГУ_1.5.1.01.cfe
Бухгалтерия государственного учреждения, редакция 2.0 (2.0.102.76)
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.172.30
- Зарплата и кадры государственного учреждения, редакция 3, релизы 3.1.32.39
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.32.39
- Управление торговлей, редакция 11, релизы 11.5.20.104
- Управление нашей фирмой, редакция 3.0, релизы 3.0.10.225
- Розница, редакция 3.0, релизы 3.0.10.225
- 1С:Комплексная автоматизация 2, релизы 2.5.20.104
- 1С:ERP Управление предприятием 2, релизы 2.5.20.104
- Бухгалтерия государственного учреждения, редакция 2.0, релизы 2.0.102.76