Главная » 1С Предприятие » ЗАПОЛНЕНИЕ СПРАВОЧНИКА ДЕТИ

0

Введем несколько значений  в  справочник Дети  в  интерактивном режиме. Для этого откроем  справочник Сотрудники  2, которому  справочник Дети  подчинен,  выберем сотрудника, например Горюнову Ульяну,  и  воспользуемся иконкой

Рис. 5.55. Ульяна Горюнова и ее дети

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

Структура DBF-файла справочника Дети

Таблица 5.6

Id

Code

Descr

Parentext

Ismark

VerStamp

Sp4237

Sp4236

Sp4235

1

1

A

Васильева Лена

09/21/1999

2 года

2

1

1Q

Горюнов Алеша

06/12/2001

5 месяцев

3

2

1Q

Горюнова Маша

11/12/1998

3 года

Справочник  Дети  связан  со  справочником-владельцем  (справочником  Сотрудники_2) через  атрибут Владелец;  связь между записью владельца и  записями  подчиненного  справочника  фиксируется  соответственно  в  полях  Id  и  Parentext их  DBF-таблиц. В частности, значения поля Id Горюновой Ульяны Валерьевны в  справочнике Сотрудники_2 и полей  Parentext ее детей  в справочники Дети совпадают и равны  1Q.

5.10.2. ВЫБОР ДАННЫХ ПОДЧИНЕННОГО СПРАВОЧНИКА

При  выборе  данных   из  справочника  Дети  предварительно  надо   указать,  сославшись  на  справочник  Сотрудники_2,  сотрудника, детей  которого  мы  хотим  выбрать. Такая  привязка к  сотруднику  осуществляется методом  ИспользоватьВладельца.

Пример.  Обработкой Проба  выводятся сообщения  о детях  Горюновой  Ульяны.

процедура Выполнить()                     //              Связана с кнопкой Пуск  обработки Проба  перем сСотр_2, Дети, род;

ОчиститьОкноСообщений();

сСотр_2  = СоздатьОбъект("Справочник.Сотрудники_2");

// 2010 код Горюновой Ульяны. Выполняем поиск во всем справочнике если сСотр_2.НайтиПоКоду(2010, 0) = 0 тогда

Предупреждение("Сотрудник не найден."); возврат;

конецЕсли;

род = сСотр_2;            //               Родитель

// или род = сСотр_2.ТекущийЭлемент(); Дети  = СоздатьОбъект("Справочник.Дети");

// Фиксируем сотрудника, для которого выводятся данные о его детях Дети.ИспользоватьВладельца(род);

Дети.ВыбратьЭлементы();        //     Перемещаемся на начало  справочника Дети

// Заголовок таблицы результатов Сообщить(сСотр_2.Наименование + ". Ее дети:");

// Метод ПолучитьЭлемент выбирает очередной элемент справочника,

// связанный с записью-владельцем

пока Дети.ПолучитьЭлемент() = 1 цикл

Сообщить(Дети.Имя + СимволТабуляции + Дети.Возраст);  конецЦикла // пока

конецПроцедуры // Выполнить

Результат:

Горюнова Ульяна  Валерьевна.  Ее дети: Горюнов Алеша                       5 месяцев Горюнова Маша                      3 года

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

По теме:

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