В начало

Проверка заполнения даты рождения

            Имеется справочник сотрудников некой организации, помимо стандартных реквизитов добавлены 2 реквизита, а именно: «ДатаРождения» и «Работающий». Реквизит «ДатаРождения» имеет тип «Дата», реквизит «Работающий» соответственно «Булево».

Рис. 1. Справочник «Сотрудники»

 

            Требуется проверять заполнение реквизита «ДатаРождения» в зависимости от того работает сотрудник или нет, а именно от реквизита «Работающий».

            Чтобы осуществить данную проверку необходимо перейти на закладку «Формы» свойств объекта «Справочник Сотрудники» и создать форму элемента.

            В свойствах формы справочника «Сотрудники» нужно найти событие «ПередЗаписью», кликнуть на значок линзы и теме самым перейти в модуль формы элемента справочника «Сотрудники». При этом автоматически создастся процедура с именем «ПередЗаписью». Ну а дальше в эту процедуру нужно написать необходимый нам код, который будет осуществлять проверку типа сотрудника (работающий/нет) и в зависимости от этого проверять заполнена ли у него дата рождения.

Листинг 1. Процедура «ПередЗаписью»

&НаКлиенте

Процедура ПередЗаписью (Отказ, ПараметрыЗаписи)

            Если Объект.Работающий = Истина И

                         Объект.ДатаРождения = '0001-01-01' Тогда

                        Сообщить ("Дата рождения не заполнена!");

                        Отказ = Истина;

            КонецЕсли;  

КонецПроцедуры

 

            В результате работы данной процедуры, в том случае если сотрудник является работающим, т.е. стоит галочка у соответствующего поля, будет осуществлена проверка заполнения даты рождения и если она окажется не заполненной, произойдет вывод предупреждения и соответственно запись с фамилией сотрудника не будет внесена в справочник.

Рис. 2. Результат работы процедуры проверки

 

ПРИМЕЧАНИЕ: синтаксис соответствует «1С: Предприятие 8.2»