Как создать иерархический справочник в 1с
Справочник Номенклатура будет содержать информацию об услугах, которые оказывает ООО «На все руки мастер», и о тех материалах, которые при этом могут быть использованы.
Этот справочник не будет сложным. Единственная особенность, которой он будет обладать, — наличие иерархической структуры. Для того чтобы справочником было удобно пользоваться, мы сгруппируем услуги в одну группу, а материалы — в другую.
Кроме этого, поскольку ООО «На все руки мастер» оказывает самые разные услуги, они также будут логически собраны в несколько групп. То же самое можно сказать и про материалы.
3. Создание иерархического справочника
Справочник Номенклатура будет содержать информацию об услугах, которые оказывает наше предприятие, и о тех материалах, которые при этом могут быть использованы. Этот справочник не будет сложным. Единственная особенность, которой он будет обладать, — наличие иерархической структуры. Для того чтобы справочником было удобно пользоваться, мы сгруппируем услуги в одну группу, а материалы — в другую.
В режиме Конфигуратор
Создадим новый объект конфигурации Справочник и назовем его Номенклатура. На основании имени платформа автоматически заполнит его синоним. Поскольку понятие Номенклатура не имеет единственного числа, больше никаких свойств, определяющих представление объекта в интерфейсе приложения, задавать не будем. Вместо Представления объекта и Представления списка будет использоватьсяСиноним объекта — Номенклатура.
— На закладке Подсистемы: По логике нашей конфигурации список номенклатуры должен быть доступен в разделах Учет материалов. Оказание услуг и Бухгалтерия, поэтому отметим в списке подсистем эти подсистемы.
— На закладке Иерархия: установим флажок Иерархический справочник.
— На закладке Данные: оставим по умолчанию длину и тип кода, длину наименования справочника зададим равной 100 символам.
— В дереве объектов конфигурации (Подсистемы\Все подсистемы): в открывшемся окне слева в списке Подсистемы выделим подсистему УчетМатериалов. В группе Панель действий.Создать включим видимость у команды Номенклатура: создать.
Выделив в списке подсистем ОказаниеУслуг, проделаем те же действия. А для подсистемы Бухгалтерия никаких команд добавлять в панель действий не будем, так как вряд ли понадобится пополнять список номенклатуры в этом разделе.
Теперь заполним справочник Номенклатура. В процессе заполнения вы научитесь создавать группы и переносить элементы из одной группы в другую.
В режиме 1С:Предприятие
В открывшемся окне 1С:Предприятия мы видим, что в панели навигации разделов Учет материалов, Оказание услуг и Бухгалтерияпоявилась команда Номенклатура. Название этой команды определяется синонимом объекта, так как других представлений мы для этого справочника не задавали. Выполним команду Номенклатура в панели навигации раздела Учет материалов. Справа от панели навигации в рабочей области окна приложения откроется основная форма списка. — Создадим две группы в корне справочника: Материалы и Услуги. Для этого нажмем кнопку Создать группу в командной панели формы списка.
Рис. 3.12.Создание групп в корне справочника
А) Зададим наименование групп: Материалы, Услуги. Поля Родитель и Код заполнять не будем. Б) Раскроем группу Материалы (нажатием на +) и создадим в ней пять элементов. После этого раскроем группу Услуги и тоже создадим в ней несколько элементов (не более 3).
— Перенос элементов в другие группы Разнесите услуги по двум смысловым группам: Для этого в группе Услуги необходимо создать еще две подчиненных группы, которые по смыслу относятся к предоставляемым услугам. Для того чтобы переместить услуги в соответствующие группы, в окне списка установим курсор на ту услугу, которую мы хотим переместить, и выполним команду Все действия > Переместить в группу. В открывшемся окне выберем новую группу.
Иерархический справочник 1С
Очень часто в 1С 8.3. в справочнике необходимо настроить определенный порядок подчинения элементов. Для реализации подобных задач из простого справочника необходимо сделать иерархический справочник 1С.
В платформе 1С существует два вида иерархии – иерархия групп и элементов и иерархия элементов.
Иерархия групп и элементов
Для того, чтобы справочник имел иерархию групп и элементов, необходимо в редакторе справочника на закладке Иерархия установить флаг Иерархический справочник, а свойству Вид иерархии установить значение Иерархия групп и элементов.
Тогда у справочника можно будет создавать группы, и размещать элементы в группах.
При иерархии групп или элементов существуют группы (каталоги), в которые входят или другие группы, или элементы. И группы, и элементы являются экземплярами объекта справочника.
Группа это тоже экземпляр объекта справочника, по которому не ведется какой-либо учёт (как правило), и который может быть родителем другого экземпляра, т.е. в группу могут входить другие группы и элементы справочников.
Иерархия элементов
Иерархия элементов настраивается похожим способом: в редакторе справочника на закладке Иерархия устанавливается флаг Иерархический справочник, но свойству Вид иерархии следует установить значение Иерархия элементов.
После этого, каждый элемент может быть родителем другого элемента.
Родитель иерархического справочника 1С
У каждого элемента иерархического справочника должен быть родитель. В случае иерархии групп и элементов родитель это группа иерархического справочника, в случае иерархии элементов, родитель это элемент.
Родитель это стандартный реквизит справочника. Если иерархия отключена, то этот стандартный реквизит не доступен. Как у этого справочника Сотрудники.
А если иерархия включена, то этот реквизит доступен. Как у справочника Контрагенты.
Если форма элемента справочника автоматически генерируется платформой (т.е. она не создана), то этот реквизит отображается на управляемой форме. И, в случае иерархии групп и элементов в нем указана группа, в которую входит этот элемент.
Если группа не указана, то значит элемент верхнего уровня.
Также, родитель имеется у элементов справочника с иерархией элементов.
Создать элемент иерархического справочника 1С
Для того, чтобы создать группу справочника (в случае, иерархии групп и элементов), необходимо воспользоваться методом менеджера справочника СоздатьГруппу(). А для создания элемента следует воспользоваться методом СоздатьЭлемент(). Если мы хотим, чтобы вновь созданный элемент входил в какую-то группу, то следует в свойство Родитель этого элемента записать ссылку на нужную группу.
В коде ниже, создаем группу, а потом создаем элемент, который входит в эту группу:
Заметьте, группа в коде выше, группа верхнего уровня. У неё при создании не был задан Родитель.
В случае иерархии элементов всегда нужно создавать элементы, но также следует в свойстве Родитель созданного элемента указать ссылку на другой элемент, которому будет подчинен созданный.
Изменить элемент иерархического справочника 1С
Если мы хотим поменять подчиненность элемента иерархического справочника, или вообще убрать её, т.е. сделать из элемента элемент верхнего уровня, то следует работать со стандартным реквизитом Родитель. В случае, изменения подчиненности, этому реквизиту нужно присвоить ссылку на другую группу.
Если же мы хотим сделать элемент верхнего уровня, то этому реквизиту нужно присвоить пустую ссылку.
Поиск в иерархическом справочнике 1С
В платформе 1С имеется возможность искать в определенной группе иерархического справочника, для этого следует в методах НайтиПоНаименованию, НайтиПоКоду и НайтиПоРеквизиту заполнять параметр Родитель.
Например, поиск в определенной группе будет осуществляться так:
Где, третий параметр Группа — это ссылка на группу, внутри которой ищется элемент по указанному названию.
Выборка иерархического справочника 1С
В платформе 1С 8.3. существует возможность выбрать элементы иерархического справочника, которые входят в ту или иную группу, для этого следует воспользоваться методом Выбрать с заполненным параметром Родитель. В этом случае будут выбраны группы и элементы, которых входят непосредственно в указанную группу, но не будут выбраны группы элементы, которые входят в подчиненные группы. Чтобы выбрать элемент и группы, входящие в какую-то группу, следует воспользоваться методом ВыбратьИерархически.
Например, при таком коде:
Будут выбраны элементы, входящие в указанную группу.
А в этом случае:
Будут выбраны элементы, которые входят и в указанную группу, и в подчиненные ей группы.
И Выбрать, и ВыбратьИерархически отбирают и группы, и элементы справочников. Поэтому, в коде выше было использовано свойство ссылки справочника ЭтоГруппа. Это свойство имеет значение Истина, если ссылка является группой справочника.
Читайте также по теме:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
И вступайте в мои группы:
One Reply to “Иерархический справочник 1С”
1. Создать справочник Жанры, справочник ТВКаналы с реквизитами номер, название канала(изменить стандартный код и наименование с помощью синонима) и Характер канала, с типом справочник ссылка жанры, подчиненный ему справочник Программы , с типом время начала и время окончания. Сделать все реквизиты обязательными для заполнения.
2. Создать форму элемента для справочника Сотрудники с реквизитами: фамилия, имя, отчество с типом строка; Должность (тип справочник ссылка должность); группу основные сведения, в ней пол (перечисления. пол), дата рождения (дата.дата), семейное положение (перечисление или справочник . семейное положение), количество детей (число, неотрицательное, точность 0); группу место проживание, в ней город и адрес (строка); группа Сведения об образованиях , в ней образование (справочник или перечисление образование), место учебы (строка); привести форму к следующему виду, картинка может быть любая, но она должна быть отображена полностью и не растягивать форму.
Иерархический справочник в 1С
В данной статье будет рассмотрен иерархический вид справочников 1С, а также определены действия с ним.
Справочник – это объект внутри конфигурации, который позволяет работать со списками данных (например: перечнем товаров, клиентской базой, сотрудниками, поставщиками и так далее). Признаки и уклад у справочников описаны в объектах внутри конфигурации, на их основе получаются таблицы, в которых содержится вся информация. Составляют справочника элементы, которые можно добавлять собственноручно.
Главная отличительная черта иерархического справочника – это наличие структуры иерархии (иерархия – это расположение неких элементов согласно сортировке от главного к второстепенному, по убыванию). Для удобства пользования в этом справочнике будем вводить группировку таким образом: услуги – отдельно, материалы – отдельно. В 1С это называют группами справочника. Иерархические справочники делятся на два подвида: те, у которых иерархия делит на группы и те, у которых иерархия делит на элементы.
Данные справочники в конфигурациях системы 1С:Предприятие могут транслироваться как «Список», «Иерархический список» или «Древо».
2. Создание иерархического справочника
В дереве конфигурации выбираем объект метаданных «Справочники», пусть его названием будет «Номенклатура». Зачастую в типовых конфигурация 1С «Номенклатура» имеет единственное число, как в плане элемента, так и формы списка или выбора. В этом случае «Представление объекта» станет «Синоним», а вместо «Представления списка» будет «Номенклатура».
Войдём во вкладку «Подсистемы».
Согласно закономерности в данной версии платформы 1С:Предприятие список с номенклатурой будет располагаться в разделах «Учёт материалов», «Оказание услуг» и «Бухгалтерия», но следует учесть, что в бухгалтерском анализе потребуется перечень услуг и материалов. Отметим эти подсистемы, как на скриншоте ниже:
Рис. 1 Отмечаем подсистемы в своей версии платформы 1С:Предприятие
Далее входим в панель, под названием «Иерархия», и ставим соответствующую «галочку», смотреть ниже:
Рис. 2 Отмечаем Иерархический справочник
Во вкладке «Данные» оставляем стандартные настройки для типа и длины в коде, а длина в наименовании справочника пусть будет равняться 100 знакам. Также меняем «Синоним» в реквизите «Родитель», который был по умолчанию на другое название: кликаем по кнопке «Стандартные реквизиты», далее два раза кликаем по «Родитель», открываем его свойства и ставим «Синоним» в качестве справочника «Группы номенклатуры», как показано на скриншоте ниже:
Рис. 3 Выбираем справочник «Группы номенклатуры» в качестве Синонима
Далее последует настройка интерфейса в приложении. Для того чтобы стало удобно вывести новые элементы в справочнике, создаём доступ для команд «УчётМатериалов» и «ОказаниеУслуг». Следующим шагом – в древе конфигурации кликаем на «Подсистемы», вызываем их меню и выбираем подпункт «Все подсистемы», как показано на скриншоте:
Рис. 4 Выбираем подпункт «Все подсистемы» в своей версии платформы 1С:Предприятие
Далее в списке «Подсистемы» маркируем «УчётМатериалов». При этом справа в «Командном интерфейсе» отражаются нужные команды из подсистемы, которую выбрали, включаем внутри группы «Командный интерфейс» отражение для команды «Номенклатура: создать». Наблюдаем, что внутри группы «Панель навигации.Обычное» прибавилась наша команда «Номенклатура» для того, чтобы открывать данный список (будет включена по умолчанию):
Рис. 5 Выбираем «Номенклатура: создать» в своей версии платформы 1С:Предприятие
Выделяем внутри списка с подсистемами «ОказаниеУслуг» и действуем по аналогии с предыдущим пунктом.
В подсистеме «Бухгалтерия» ничего не добавляем, так как в данном разделе номенклатура пополняться не будет.
Замечание: фрагмент внутри командного интерфейса настроить для нужной подсистемы из списка можно из вкладки для редакции данной подсистемы, кликнув на «Командный интерфейс». А если настройка требуется для командного интерфейса не одной подсистемы, а большего количества, удобно воспользоваться инструментом для редакции «Все подсистемы».
Далее последует заполнение справочника «Номенклатура»: запустим 1С: Предприятие, для отладки обновим конфигурацию, за чем последует появление окна со списком правок внутри структуры конфигурации 1С. Добавляем справочник «Номенклатура» и кликаем кнопку «Принять»:
Рис. 6 Список правок внутри структуры конфигурации 1С
В новом окне наблюдаем, что в разделах «Учёт материалов», «Оказание услуг» и «Бухгалтерия» создалась новая команда – «Номенклатура», которая служит, чтобы открыть список с номенклатурой, её название – это синоним объекта. Выполним данную команду («Номенклатура») в разделе «Учёт материалов» и перед нами будет форма из списка с номенклатурой.
3. Создание элементов Иерархического справочника
Конструируем группы «Материалы» и «Услуги» внутри корня справочника, как показано на скриншоте ниже:
Рис. 7 Конструируем группы внутри корня справочника
Дадим название группам «Материалы» и «Услуги». Далее двойным кликом откроем «Материалы» и создадим элементы (пример элементов будет представлен на скриншотах ниже). Чтобы добавить элемент в группу справочника (она должна быть открытой), кликаем «Создать», открывается форма:
Рис. 8 Добавление элемента в группу справочника
Чтобы создать элемент в справочнике воспользуемся командой «Номенклатура» (один из возможных вариантов), которая есть в таких разделах как «Учёт материалов» и «Оказание услуг». Но в таком варианте элемент не связан со списком номенклатуры (то есть 1С не понимает, в какую из групп определить элемент – нужно прописывать вручную).
Рис. 9 Связываем элемент со списком номенклатуры в группе справочников
Чтобы избрать значение для поля справочника «Группа номенклатуры», воспользуемся поиском значения из справочника по строке.
Рассмотрим группу «Услуги», где будет создано также несколько элементов (например, для ремонта телевизоров и ремонта стиральных машин, как на скриншоте ниже):
Рис. 10 Элементы группы услуги в 1С:Предприятие
4. Изменение группы элемента Иерархического справочника
Создадим две группы по смыслу, чтобы разъединить услуги: открываем «Услуги» и делаем две группы (в нашем примере это «Телевизоры» и «Стиральные машины»):
Рис. 11 Создадим группы Иерархического справочника
Для нахождения услуг в соответствующих группах выполняем команду «Переместить в группу» (в меню «Ещё»):
Рис. 12 Команда Переместить в группу
Перемещаем услуги в соответствующие группы. Также создаём группы в материалах.
Рассмотрим создание элементов, которых не хватает, при их выборе в иных полях. Откроем любой элемент из любой группы. Нам необходимо поменять поле справочника «Группа номенклатуры» на «Прочее», но этой группы пока не существует. Кликаем на «Создать» и знак «+» (находится в окне с выбором значений). Перед нами всплывает форма создания группы внутри справочника. Выводим название «Прочее» и кликаем «Записать и закрыть».
Рис. 13 Создание элементов Иерархического справочника
Пусть нужно представить наш иерархический список как древо. Для этого в меню «Ещё» ищем кнопку «Режим просмотра», а внутри уже этого раздела кликаем на режим «Древо» – иерархический список с номенклатурой отобразится следующим образом: