Опубликован: 06.12.2011 | Уровень: для всех | Доступ: платный
Лекция 5:

Справочники

< Лекция 4 || Лекция 5: 12345 || Лекция 6 >

Подчиненные справочники

Создадим новый справочник, назовем его Контрагенты.

Добавим его в подсистемы БухгалтерскийУчет и ОперативныйУчетМатериалов.

Справочник будет иерархическим, с иерархией групп и элементов.

В состав реквизитов справочника добавим следующие ( рис. 4.12.):

Имя: ПолноеНаименование, тип – Строка, длина 100.

Имя: КонтактныеСведения, тип – Строка, длина 100

Справочник Контрагенты

Рис. 4.12. Справочник Контрагенты

Создадим еще один справочник. Назовем его ПредставителиКонтрагентов. Главная черта этого справочника – то, что он подчинен справочнику Контрагенты. Для настройки подчинения используется вкладка окна настройки объекта конфигурации Владельцы. Здесь мы должны добавить в Список владельцев справочника справочники-владельцы, в нашем случае – справочник Контрагенты. После того, как владелец добавлен в этот список, мы можем настроить для него параметр Использование подчинения. Здесь возможны три варианта:

Элементам – элементы подчиненного справочника подчинены элементам справочника-владельца. В нашем случае выбор этого параметра означает, что в качестве "владельца" представителя контрагента выступает сам контрагент.

Группам – подчинение группам справочника-владельца. Нас это не устроит – так как группы справочника будут содержать контрагентов, сгруппированных по достаточно общим показателям (Покупатели, Заказчики и т.д.), и сопоставление одного контактного лица нескольким разным, например, покупателям, смысла не имеет. В другой ситуации эта установка могла бы быть вполне оправданной.

Группам и элементам – подчинение как группам, так и элементам справочника-владельца.

Мы укажем в параметре Использование подчинения вариант Элементам, рис. 4.13.

Настройка подчинения

Рис. 4.13. Настройка подчинения

Добавим справочник в состав подсистем БухгалтерскийУчет и ОперативныйУчетМатериалов.

В состав реквизитов справочника добавим следующие:

Имя: ФИО, тип – Строка, длина 100

Имя: КонтактныеСведения, тип – Строка, длина 100.

Имя: ПредставительРаботает, тип – Булево.

Посмотрим теперь, как выглядит работа с созданными справочниками в режиме 1С:Предприятие. Особенность здесь заключается в том, что, открывая карточку контрагента, в левой ее части мы видим область Перейти, где можно найти ссылку для перехода в справочник ПредставителиКонтрагентов, рис. 4.14.

Форма элемента справочника Контрагенты

Рис. 4.14. Форма элемента справочника Контрагенты

При переходе в этот справочник мы будем видеть в открывшемся окне лишь тех представителей, которые относятся к контрагенту, с которым мы в данный момент работаем. При создании новой записи о представителе он автоматически будет "привязываться" к тому контрагенту (поле владелец будет заполнено должным образом), из формы элемента которого мы перешли в справочник ПредставителиКонтрагентов. В форме списка справочника будет отображаться ссылка для перехода к форме элемента справочника-владельца, рис. 4.15.

Формы списка и элемента справочника ПредставителиКонтрагентов

Рис. 4.15. Формы списка и элемента справочника ПредставителиКонтрагентов

Мы можем создавать элементы справочника ПредставителиКонтрагентов и непосредственно перейдя в него, тогда нам придется самостоятельно указывать его владельца – элемент справочника Контрагенты. При переходе в подчиненный справочник не из формы элемента справочника-владельца, мы можем просматривать все его элементы, рис. 4.16.

Просмотр формы списка справочника ПредставителиКонтрагентов

увеличить изображение
Рис. 4.16. Просмотр формы списка справочника ПредставителиКонтрагентов

Перейдем в окно редактирования объекта конфигурации справочника Контрагенты, перейдем на его закладку Формы, создадим новую форму списка. При работе с конструктором форм можно заметить, что на закладке управления реквизитами присутствуют два элемента – Дерево и Список. Список мы с вами уже видели, а элемент Дерево характерен для иерархических справочников, он позволяет облегчить навигацию по большим справочникам, выводя их иерархическую структуру в дополнение к списку. Установим флаг в поле Дерево, из списка реквизитов, отображаемых в дереве элементов, выберем Наименование, рис. 4.17.

Конструктор формы справочника Контрагенты

Рис. 4.17. Конструктор формы справочника Контрагенты

Вот как будет выглядеть форма списка справочника в режиме 1С:Предприятие, 4.18.

Форма справочника со списком и деревом элементов

Рис. 4.18. Форма справочника со списком и деревом элементов
< Лекция 4 || Лекция 5: 12345 || Лекция 6 >
Лариса Дятчина
Лариса Дятчина

Код 

&НаКлиенте

Процедура ОсновноеКонтактноеЛицоПриИзменении(Элемент)

Если НЕ ПроверитьЗаполнениеРеквизита() Тогда

 Сообщить("Выбранное контактное лицо, "+Объект.ОсновноеКонтактноеЛицо+",не работает у контрагента.");

КонецЕсли;

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

 

&НаСервере

Функция ПроверитьЗаполнениеРеквизита()

 Возврат (Объект.ОсновноеКонтактноеЛицо.ПредставительРаботает);  

КонецФункции

&НаСервере

Процедура УстановитьНомерПредставителя()

 

 Объект.ТелефонКонтактногоЛица=Объект.ОсновноеКонтактноеЛицо.КонтактныеСведения;

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

При проверке выдает ошибку:

{Справочник.Контрагенты.Форма.ФормаСписка.Форма(12,11)}: Переменная не определена (Объект)
 Возврат (<<?>>Объект.ОсновноеКонтактноеЛицо.ПредставительРаботает);   (Проверка: Сервер)
{Справочник.Контрагенты.Форма.ФормаСписка.Форма(17,2)}: Переменная не определена (Объект)
 <<?>>Объект.ТелефонКонтактногоЛица=Объект.ОсновноеКонтактноеЛицо.КонтактныеСведения; (Проверка: Сервер)
{Справочник.Контрагенты.Форма.ФормаСписка.Форма(17,32)}: Переменная не определена (Объект)
 Объект.ТелефонКонтактногоЛица=<<?>>Объект.ОсновноеКонтактноеЛицо.КонтактныеСведения; (Проверка: Сервер)
{Справочник.Контрагенты.Форма.ФормаСписка.Форма(6,41)}: Переменная не определена (Объект)
 Сообщить("Выбранное контактное лицо, "+<<?>>Объект.ОсновноеКонтактноеЛицо+",не работает у контрагента."); (Проверка: Тонкий клиент)

 

работаю на версии 1С:Предприятие 8.3 (8.3.10.2650)

максим матасов
максим матасов
Леонид Альбрехт
Леонид Альбрехт
Россия, Екатеринбург, 10, 2004
Оксана Максимова
Оксана Максимова
Россия, Екатеринбург, Уральский государственный университет им. А. М. Горького, 2013