зачем нужны подчиненные справочники и что такое владелец
Вирус скуки
суббота, 27 апреля 2013 г.
1С-ное.(Заметки быдло-ученика-погромиста)
Продолжение одинэсной темы, ответы на книгу Радченко, занятие 2 и 3.
Как описать логическую структуру при помощи Подсистем?
При помощи разделения на функциональные части, представляющие собой отдельные предметные области.
Как управлять порядком вывода и отображения подсистем в конфигурации?
Правый клик мыши по конфигурации, выбираем команду «Открыть командный интерфейс конфигурации», поменять позиции можно с помощью стрелочек.
Управление порядком вывода подсистем. |
Что такое окно редактирования объекта конфигурации и в чем его отличие от панели свойств?
Для чего предназначен объект конфигурации Справочник?
Справочник предназначен для работы со списками данных, описания их свойств и структуры.
Для чего используются реквизиты и табличные части справочника?
Реквизиты используются для описания дополнительной информации, описывающей элемент справочника;
Табличная часть используется для описания информации элемента справочника, одинаковой по структуре, но различной по количеству.
Зачем нужны подчиненные справочники и что такое Владелец?
Элементы одного справочника могут быть подчинены элементам другого справочника, и в таком случае устанавливается связь один-ко-многим. Так же может быть использована связь один-к-одному, когда каждый элемент подчиненного справочника связан с одним из элементов справочника-владельца.
Что такое предопределенные элементы справочника?
Элементы справочника, создающиеся в конфигураторе, данные элементы пользователь удалить не может; Служат для хранения информации всегда, независимо от действий пользователя;
Чем с точки зрения конфигурации отличается обычный элемент от предопределенного?
На предопределенные элементы могут быть завязаны алгоритмы работы конфигурации, следовательно, система добавляет эти элементы в структуру базы данных сама, без участия пользователя.
Как пользователь может отличить обычный элемент от предопределенного?
С помощью пиктограммы
5.4. Подчиненные справочники
5.4. Подчиненные справочники
Система «1С: Предпрятие» имеет механизм поддержки подчиненных справочников. Этот механизм позволяет связать между собой элементы разных справочников. У подчиненного справочника каждый элемент связан с конкретным элементом справочника – владельца. Если справочник имеет подчиненные справочники, то для открытия нужно воспользоваться пунктом меню «Действия – Перейти» и указать вид подчиненного справочника.
При открытии подчиненного справочника показывается список элементов, подчиненных тому элементу, на котором в данный момент расположен курсор:
Для иерархических справочников список подчиненных элементов может быть показан только для элементов, не являющимися группами. Если же в момент вызова подчиненного справочника курсор стоял на группе элементов, будет выдано сообщение:
Данный текст является ознакомительным фрагментом.
Продолжение на ЛитРес
Читайте также
4.1. Справочники
4.1. Справочники Справочником называется объект программы, позволяющий пользователю вводить, хранить и получать информацию, структурируя ее в виде дерева. Справочник представляется списком древовидной структуры, в узлах которого хранится информация о различных
5.1.2. Справочники кадровой информации
5.1.2. Справочники кадровой информации Для целей ведения учета и анализа кадрового состава в конфигурацию включены справочники кадровой информации, такие как «Степени родства физических лиц», «Иностранные языки», «Учебные заведения», «Документы удостоверяющие личность»
3.2. Справочники
3.2. Справочники Справочники в программе предназначены для работы с постоянной и условно-постоянной информацией и служат для накопления и хранения внутрифирменных классификаторов. Также справочники обычно используют для построения аналитического учета. Обычно
Ввод исходных данных в справочники программы
Ввод исходных данных в справочники программы В рассматриваемой конфигурации справочник представляет собой хранилище основной, базовой информации, на которой базируется вся последующая работа. В справочниках хранятся сведения об организациях и контрагентах, о
Подчиненные
Подчиненные Подчиненные Героя-одиночки одинаковы повсюду, хотя в разных странах их называют по-разному. В телесериале «Одинокий рейнджер» главному герою помогает индеец Тонто. В США подчиненных Героя-одиночки называют «мальчиками на побегушках», в Мексике – inginiero ibeme –
Подчиненные
Подчиненные Поджигатель любит нанимать I, который всегда соглашается с боссом. Но I плохо справляется с P-функцией, и когда Поджигатель поручает интегратору какую-либо работу, дело не двигается. Вскоре Поджигатель понимает, что его надежды не оправдались и горько жалуется:
Подчиненные
Подчиненные Предпочитает нанимать: Клакеров. Поклонников, которые восторгаются его идеями и быстро схватывают их суть.Режим работы подчиненных: Приходят на работу раньше босса и уходят позже. Поджигатель требует, чтобы они всегда были под рукой.Периодичность собраний
№ 4. Подчиненные Мертвого пня
№ 4. Подчиненные Мертвого пня В подчинении у Героя-одиночки работают мальчики на побегушках, Бюрократ нанимает соглашателей, Поджигатель – клакеров, а Горячий сторонник – осведомителей.Кто работает под началом Мертвого пня? Другие Мертвые пни.Почему? Прежде всего
№ 4. Подчиненные Мертвого пня
№ 4. Подчиненные Мертвого пня Кто работает под началом Мертвого пня? Другие Мертвые пни.Почему? Прежде всего потому, что практика найма персонала, которую применяет Мертвый пень, отражает его стратегию выживания. Он не желает, чтобы на его место претендовал чересчур
Брошюры и справочники
Брошюры и справочники Сочинение информационных изданий для удовлетворения бесчисленных потребностей оказывается одной из наиболее распространенных обязанностей специалистов-практиков по связям с общественностью. Некоторые печатные изделия выходят через заранее
Подчиненные
Подчиненные Стиль подчиненных: порученцы. Продвижение подчиненных: если они всегда под рукой и готовы выполнять любые поручения; если они выполняют задание независимо от того зачем и как. За что подчиненные получают похвалу: за результаты. О чем подчиненные не
Подчиненные
Подчиненные Стиль подчиненных: клерки-соглашатели. Продвижение подчиненных: если они демонстрируют организованность и не нарушают правила. За что подчиненные получают похвалу: за процесс; результат берется в расчет лишь минимально. О чем подчиненные не информируют
Подчиненные
Подчиненные Стиль подчиненных: клакеры. Продвижение подчиненных: если они создают впечатление, что с энтузиазмом выполняют задания начальника и упорно работают. За что подчиненные получают похвалу: за видимость работы. О чем подчиненные не информируют начальника:
Подчиненные
Подчиненные Стиль подчиненных: «солнечные», улыбчивые люди. Продвижение подчиненных: если находит с ними общий язык. За что подчиненные получают похвалу: за способность находить общий язык в команде. О чем подчиненные не информируют начальника: о своих истинных
Подчиненные
Подчиненные Стиль подчиненных: Мертвые пни или временщики. Продвижение подчиненных: если ничего не делают; если не устраивают волнений и не гонятся за рекордами. Обычно он блокирует возможности для продвижения подчиненных. За что подчиненные получают похвалу: за все,
Подчиненные
Подчиненные Стиль подчиненных: подчиненные имеют разный стиль, но все они действуют как члены команды. Продвижение подчиненных: если они обладают менеджерскими качествами, создают результат посредством планирования и организации собственной работы, подходят к задачам
Справочники в 1С 8.3
Зачем нужны справочники
Справочник представляет собой некий список данных. Как правило элемент справочника используется для заполнения реквизитов документа (хотя им можно заполнять и реквизиты других справочников, в том числе и реквизиты текущего справочника). Это нужно для исключения неоднозначности ввода информации. Например, в приходной накладной нужно заполнять поставщика. Пусть поставщик называется «Привезу все и всем». Если бы поле «Поставщик» было строкового типа, то один пользователь мог бы вписать в документ «ООО Привезу все и всем», второй «Привезу все и всем ООО», третий «Привезу всем и все» и т.п. После такого заполнения программе будет сложно понять, что это один и тот же поставщик и получить общую сумму задолженности по всем приходным накладным.
Для исключения таких ошибок создается один справочник «Поставщики», в нем создается новый элемент, один раз вводится его наименование, а потом этот элемент выбирается в документах. При этом в реквизите документа будет сохранена ссылка на объект базы данных.
В дереве метаданных справочники находятся в узле Справочники. При добавлении нового справочника открывается окно редактирования свойств справочника, в котором, переходя по закладкам можно заполнить основные свойства справочника:
Структура справочника
При создании нового справочника в базе данных автоматически создается таблица для хранения данных этого справочника. Если в справочнике нет ни одного реквизита, то в таблице будут колонки только для полей Код, Наименование, ПометкаУдаления, Ссылка и некоторых других служебных реквизитов. При этом если на закладке Данные указать длину кода или наименования равной нулю, то для них не будет создана колонка в таблице:
Если добавить в справочник несколько реквизитов:
То в таблицу базы данных автоматически будут добавлены две колонки: Артикул и Поставщик:
Ссылка | Наименование | Код | Артикул | Поставщик |
---|
Каждый элемент справочника хранится в отдельной строке (записи) таблицы. Например, если в пользовательском режиме добавить несколько элементов:
То таблица базы данных будет выглядеть следующим образом:
Ссылка | Наименование | Код | Артикул | Поставщик |
---|---|---|---|---|
8eae102c-86d5-11eb-80a3-e0d55e4e2669 | Клавиатура | 000000001 | Клав20 | Привезу все |
8eae102d-86d5-11eb-80a3-e0d55e4e2669 | Смартфон | 000000002 | См-30 | Привезу все |
Табличные части справочника
Табличная часть справочника хранится в отдельной таблице. В этой таблице есть колонки Ссылка и НомерСтроки, а также по одной колонке для каждого реквизита табличной части. Основная таблица справочника и табличная часть связаны между собой через поле Ссылка.
Если мы добавим в справочник табличную часть для хранения цен:
И для элемента Клавиатура заполним ее следующим образом:
То в базе данных будет создана следующая таблица:
Ссылка | Номер строки | Вид цены | Цена |
---|---|---|---|
8eae102c-86d5-11eb-80a3-e0d55e4e2669 | 1 | Оптовая | 500 |
8eae102c-86d5-11eb-80a3-e0d55e4e2669 | 2 | Розничная | 1000 |
В поле Ссылка хранится тот же самый идентификатор, что и в основной таблице справочника.
Иерархические справочники
Справочники могут быть иерархическими, то есть внутри одного элемента могут храниться другие элементы. Настройка иерархии выполняется на закладке Иерархия:
Если установить флаг Иерархический справочник, то в пользовательском режиме можно будет создавать как элементы, так и группы:
Элементы можно перетаскивать в группы, тогда они будут находиться внутри этой группы:
На уровне базы данных иерархия реализована через поля ЭтоГруппа и Родитель. В поле Родитель хранится ссылка на группу, в которой находится элемент (или группа, группы могут быть вложены друг в друга). Поле ЭтоГруппа имеет тип булево и в нем хранится признак группа это или элемент.
Для текущего состояния справочника таблица будет выглядеть следующим образом (для упрощения в поле Ссылка я буду отображать наименование элемента, а не идентификатор. Из реквизитов в таблице только код и наименование):
Ссылка | Наименование | Код | Это группа | Родитель |
---|---|---|---|---|
Смартфоны | Смартфоны | 000000004 | Да | |
Смартфон | Смартфон | 000000002 | Нет | Смартфоны |
Составляющие ПК | Составляющие ПК | 000000003 | Да | |
Клавиатура | Клавиатура | 000000001 | Нет | Составляющие ПК |
Для элементов или групп, которые находятся на верхнем уровне иерархии поле Родитель не заполнено.
Иерархия может быть двух видов:
Пример иерархии групп и элементов можно увидеть выше. Это когда есть группы и есть элементы. Иерархия элементов выглядит следующим образом:
В этом случае нет разделения на группы и элементы. При этом элементы могут быть вложены друг в друга.
Флаг Размещать группы сверху определяет как будет выполняться сортировка. Если данный флаг установлен, то группы всегда будут выше элементов:
Справочник отсортирован по наименованию, но несмотря на то, что буква «С» идет позже буквы «Б» группы расположены выше элемента Бинокль.
Если снять данный флажок, то сортировка будет выполняться независимо от признака ЭтоГруппа:
Также 1С позволяет ограничить количество уровней иерархии. Если установить флажок Ограничение количества уровней иерархии и в поле Количество уровней иерархии указать 2, то можно будет создавать группы только на верхнем уровне иерархии, а внутри них только элементы. Если попытаться внутри группы «Смартфоны» создать группу, а не элемент, то будет ошибка «Превышено количество уровней!».
Также можно ограничить использование реквизитов. Для этого у каждого в реквизита в свойствах можно указать Использование:
Подчиненные справочники
Один справочник может быть подчинен другому справочнику. Например, есть справочник контрагентов и справочник договоров контрагентов. Чтобы в справочнике договоров не заводить отдельный реквизит для указания контрагента можно сделать его подчиненным справочнику контрагентов. В этом случае в таблице справочника будет добавлено поле Владелец, которое будет хранить ссылку на владельца.
Настройка подчиненности выполняется на закладке Владельцы в подчиненном справочнике:
Для добавления владельца нужно нажать на кнопку с зеленым карандашом и указать справочники-владельцы. Можно указать несколько справочников, тогда поле Владелец будет составного типа.
В поле Использование подчинения можно указать могут ли владельцами быть группы справочников или только элементы.
После настройки подчиненности, в пользовательском режиме у справочника-владельца вверху, в панели навигации формы появится ссылка для перехода в подчиненный справочник, причем автоматически будет выполнен отбор по владельцу:
Нумерация
Настройка нумерации справочников выполняется на закладке Нумерация:
Флаг Автонумерация позволяет автоматически заполнять поле Код при записи. Новый код будет на единицу больше предыдущего. Если данный флаг снят, то поле Код придется заполнять вручную. Как правило данный флаг оставляют включенным.
Флаг Контроль уникальности позволяет контролировать уникальность кодов справочника. Ниже можно указать в пределах чего контролировать уникальность:
Также на закладке Данные можно указать Длину кода и Тип кода. Тип может быть строковым или числовым:
Формы справочника
На закладке формы можно создать формы для справочника и указать некоторые из них как основные:
Вверху в полях указываются основные формы, а внизу список всех форм. Если основная форма не указана, то форма генерируется платформой автоматически «на лету». Если указана, то используется именно она.
У справочника есть следующие формы:
Программирование в 1С для всех
В прикладных задачах иногда возникают ситуации, когда элемент какого-нибудь справочника должен быть жестко подчинен элементу другого справочника. Например, у контрагентов могут существовать договоры, которые заключены с организацией, ведущей учёт. Тогда, экземпляр справочника Договоры контрагента должен быть подчинен справочнику Контрагенты, поскольку, мы не можем создать договор сам по себе, договор должен быть привязан к конкретному контрагенту. Для реализации подобных задач необходим подчиненный справочник 1С. В выше приведенном случае, справочник Договоры контрагента станет подчинен справочнику Контрагенты. А справочник Контрагенты будет являться владельцем справочника Договоры контрагента.
Конструируем подчиненный справочник 1С
Для того, чтобы из справочника 1С сделать подчиненный справочник, достаточно в редакторе справочника на закладке Владельцы указать владельца этого справочника.
После этого, справочник с заполненным списком на закладке Владельцы станет подчиненный, а справочник (или справочники) из списка на этой закладке будут владельцами данного справочника.
После таких манипуляций, нельзя создать этот справочник (в рассматриваемом примере – ДоговорыКонтрагента) без указания владельца (Контрагента).
Если мы попробуем создать, элемент справочника ДоговорыКонтрагента, то поле, в котором следует указать контрагента-владельца будет обязательным для заполнения.
Заметьте, это поле называется Владелец и является стандартным реквизитом справочника.
Этот реквизит стал активным, тогда, когда мы указали владельца справочника на закладке Владельцы.
В тоже время, на форме элемента справочника-владельца появилась команда с названием подчиненного справочника.
После выполнении этой команды, откроется форма списка с элементами подчиненного справочника, у которых владелец ссылка на открытый элемент справочника Контрагенты.
Программное создание элемента подчиненного справочника
Разберем программное создание элемента подчиненного справочника. Оно выполняется при помощи метода менеджера справочник СоздатьЭлемент. Только, в случае подчиненных справочников обязательно нужно указать владельца!
Например, создадим обработку, на управляемой форме которой разместим реквизиты Владелец (тип ссылка на справочник Контрагент) и Название договора, а также команду Создать подчиненный справочник.
При выполнении этой команды, будем создавать экземпляр справочника Договоры контрагента, который подчинен указанному владельцу.
В клиентской процедуре используется проверка заполнения. Подробнее о проверке читайте в этой статье:
Выбор элементов подчиненного справочника на управляемой форме
Часто возникают задачи, когда на управляемой форме размещены поля ввода и для справочника владельца, и для подчиненного справочника. И в этом случае нужно реализовать, чтобы в поле ввода подчиненного справочника отображались только те элементы, владелец которых указан в поле ввода справочника владельца.
Например, у документа Продажа товаров существуют реквизиты Контрагент и Договор контрагента соответствующих типов.
Для того, чтобы в реквизите Договор контрагента можно было выбрать только договоры указанного контрагента, следует в палитре свойств реквизита объекта у свойства Связи параметров выбора сделать настройку, в которой указать, что реквизит Контрагент используется при выборе значений в качестве владельца.
После таких настроек, в поле ввода Договоры контрагента можно выбрать только договоры, указанного контрагента.
Если же мы создадим реквизит управляемой формы с ссылкой на подчиненный справочник, то у этого реквизита не будет такого же свойства, как и у реквизита объекта.
Для того, чтобы отбор работал, следует у элемента формы, который связана с реквизитом для подчиненного справочника, заполнить свойство Связи параметров выбора.
Поиск среди подчиненных справочников
Для того, чтобы найти какой-то элемент среди подчиненных справочников, при помощи методов менеджера справочника НайтиПоНаименованию, НайтиПоКоду и НайтиПоРеквизиту следует использовать параметр Владелец этих методов.
Например, в случае поиска по наименованию, код будет следующим.
Где НазваниеДоговора – это наименование элемента справочника, который ищется.
Владелец – это ссылка на справочник владелец.
Подчиненный справочник 1С или табличная часть?
Часто возникает вопрос: чем отличается подчиненный справочника от табличной части. Основной ответ, тем что у элемента подчиненного справочника имеется ссылка на этот элемент, а у строки табличной части такой ссылки нет.
Подробно, о том, что выбрать при разработке подчиненный справочник или табличную часть читайте по этой ссылке на сайте its.1c.ru:
Читайте также по теме:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.