Главная » 1С Предприятие » АТРИБУТ  ВЛАДЕЛЕЦ

0

5.10.1. СПРАВОЧНИК ДЕТИ

Добавим в  конфигурацию  справочник  Дети  и  назначим  ему  в  качестве  владельца справочник  Сотрудники_2.  В справочнике  будем  хранить данные о  детях, возраст которых  не более  18 лет.

В  новом  справочнике  для  наших  учебных   целей   достаточно  иметь  3   реквизита (не  считая двух,  Код  и  Наименование,  заданных по  умолчанию):  Имя,  ДатаРождения  и Возраст (рис. 5.51).

Рис. 5.51. Свойства и реквизиты справочника Дети

Длину  символьных  реквизитов  Имя   и  Возраст  установим соответственно  равной 30 и  10 символам. Реквизит ДатаРождения, понятно,  имеет тип Дата. Реквизит Возраст  может содержать, например, такие значения:  5 месяцев, 8 лет и т. п.

Реквизит  Наименование   использовать   не   будем,  поэтому   сократим   его   длину до нуля  (заданный по  умолчанию  реквизит удаляется). Длину кода  установим равной трем,  что  вполне  достаточно для  кода, задаваемого  в  пределах подчинения  (дети  любого  сотрудника  будут представляться под номерами  1, 2 и т. д.).

Для  отображения  данных  справочника используем  форму  списка,  представленную на рис. 5.52.

Рис.  5.52.  Форма списка  справочника Дети

На самом  деле для каждого  ребенка вводится только  дата рождения, а возраст вычисляется.  Причем  такие вычисления будем  выполнять  при  каждом  открытии  справочника, обновляя  значения реквизита Возраст.  Если в процессе вычислений обнаружится, что ребенок существенно  повзрослел (его возраст превысил 18 лет), то соответствующая запись в справочнике Дети помечается для удаления без предупреждений.

При вводе и редактировании данных используем диалог, представленный на рис. 5.53.

Рис.  5.53.  Диалог формы  элемента справочника Дети

Причем поле Возраст  сделаем доступным только  для чтения. Вычисление возраста будем    производить   функцией     НайтиВозраст,    которую     свяжем    на    закладке Дополнительно с полем  ДатаРождения. Тогда эта функция  будет вызываться каждый  раз после смены  даты. Добавим в диалог поле дТ, также доступное только  для чтения, установив  его  равным  текущей  дате, возвращаемой  встроенной  функцией  ТекущаяДата(  ). Это поле  предназначено для визуального контроля установленной в компьютере текущей  даты, от значения которой, в частности, зависит  и результат, возвращаемый функцией НайтиВозраст.

Теперь   ясно,  какими  процедурами  следует  снабдить  модули  форм  элемента и списка.

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии