- Иерархический справочник в 1С
- 2. Создание иерархического справочника
- 3. Создание элементов Иерархического справочника
- 4. Изменение группы элемента Иерархического справочника
- Дерево групп номенклатуры 1с
- Варианты отображения иерархии
- Иерархия с подчиненными
- Иерархия без подчиненных
- Инструкция: Настраиваем дерево групп в 1С за 10 шагов
- Иерархия групп и элементов в форме списка справочника как в проводнике. УФ
Иерархический справочник в 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 Создание элементов Иерархического справочника
Пусть нужно представить наш иерархический список как древо. Для этого в меню «Ещё» ищем кнопку «Режим просмотра», а внутри уже этого раздела кликаем на режим «Древо» – иерархический список с номенклатурой отобразится следующим образом:
Рис. 14 Отображение иерархического списка в виде дерева
Специалист компании «Кодерлайн» Айдар Фархутдинов
Источник
Дерево групп номенклатуры 1с
Иногда нужно получить дерево групп справочника запросом.
Для этого удобно использовать итоги по иерархии.
Допустим у нас есть дерево:
Пусть мы выполнили какой-то запрос и получили, что нам походят элементы из некоторого списка &Список, например Д и И.
Варианты отображения иерархии
Существуют два варианта отображения иерархии, в которую попадают элементы из списка Список:
Иерархия с подчиненными
Для отображения иерархии в случае с подчиненными, нам достаточно получить родителей всех элементов, расположенных на нижнем уровне иерархии и сгруппировать их по иерархии:
ВЫБРАТЬ РАЗЛИЧНЫЕ
Т1.Ссылка.Родитель КАК Ссылка
ИЗ
Справочник.Задача КАК Т1
ГДЕ
Т1.Ссылка В ИЕРАРХИИ(&Ссылки) И 0 В (ВЫБРАТЬ Количество(*) ИЗ Справочник.Задача КАК Т2 ГДЕ Т1.Ссылка=Т2.Родитель)
ИТОГИ ПО
Ссылка ТОЛЬКО ИЕРАРХИЯ
Для иерархии групп и элементов:
ВЫБРАТЬ РАЗЛИЧНЫЕ
Т1.Ссылка.Родитель КАК Ссылка
ИЗ
Справочник.Задача КАК Т1
ГДЕ
Т1.Ссылка В ИЕРАРХИИ(&Ссылки) И Т1.ЭтоГруппа=ложь
ИТОГИ ПО
Ссылка ТОЛЬКО ИЕРАРХИЯ
Иерархия без подчиненных
В данном случае сложнее. 1С неправильно группирует по иерархии, она плодит дубли.
Код запроса будет таким:
ВЫБРАТЬ РАЗЛИЧНЫЕ
Т1.Ссылка.Родитель КАК Ссылка
ИЗ
Справочник.Задача КАК Т1
ГДЕ
Т1.Ссылка В (&Ссылки)
ИТОГИ ПО
Ссылка ТОЛЬКО ИЕРАРХИЯ
Полученное дерево нужно будет обработать функцией для удаления лишних дублей:
Функция обУбратьОшибкиИтоговПоИерархии(Строки, Поле cb">Ссылка", Родитель=Неопределено) Экспорт //Убираем все элементы, равные текущему Всего=Строки.Количество(); Для Инд=1 По Всего Цикл Стр=Строки[Всего-Инд]; Зн=Стр[Поле]; Если Родитель<>Неопределено И Зн=Родитель Тогда Строки.Удалить(Стр); Иначе обУбратьОшибкиИтоговПоИерархии(Стр.Строки, Поле, Зн); КонецЕсли; КонецЦикла; КонецФункции . ВычСправочникДерево=Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); обУбратьОшибкиИтоговПоИерархии(ВычСправочникДерево.Строки);
Источник
Инструкция: Настраиваем дерево групп в 1С за 10 шагов
Обычно в программе настраивается иерархия, удобная бухгалтерам. Для менеджеров – это лучший вариант, но реально структурировать под их запросы. Именно для этого используется пользовательская иерархия и структурирование групп. Благодаря обновлению создаётся любая вложенность
Вложенность – это количество кликов до страницы, начиная с главной. Её можно узнать, посчитав количество знаков «/» в ее URL и прибавить единицу.
На конкретном примере покажем, как происходит настройка дерева групп в 1С:
Находим пункт «Настройки обмена с интернет-магазином» – это и есть обмен с сайтом через модуль (ещё в 1С есть обмен без модуля).
2. Настраивать будем обмен изменениями. Кликаем на этой строке дважды мышкой.
3.Заходим на вкладку «Режим обмена данными» и в пункте «Выгрузка информации о номенклатуре» нажимаем «Настроить».
4.Нажимаем жёлтую кнопку “Настроить дерево групп”.
5.Для примера: СЛЕВА — как будет выглядеть каталог на сайте, СПРАВА — что есть в 1С. Товары справа можно находить как просто путешествуя по дереву, так и набирая название в строке поиска сверху.
Кнопки между панелями — добавить товары в дерево и удалить товары в дерево.
Для создания новой категории СЛЕВА выбираем нужный раздел, затем кликаем правой кнопкой мыши и нажимаем «Создать». В данном случае мы создаем новый раздел в корне.
Для удаления — выбираем «Пометить на удаление». Раздел останется, но со значком удаления и выгружаться не будет.
Для примера, я закинул плакат в «Снегозадержатели для металлочерепицы».
8. Точно так же можно закинуть сразу раздел.
Источник
Иерархия групп и элементов в форме списка справочника как в проводнике. УФ
Если в форме списке надо выводить группы и элементы в разных таблицах, так как, например, в проводнике — слева группы, справа элементы, то для тех кто не знал или забыл, представлена инструкция, как это сделать.
Установить в справочнике свойство иерархия
На форму списка добавить два динамических списка «Список» (по умолчанию) и «Дерево» (для групп), и перенести их в группу с горизонтальным расположением:
Установить свойства реквизита «Список»:
Для сведения:________________________________________________________________________________
Если установить флаг «ПроизвольныйЗапрос», то «ОсновнаяТаблица» станет недоступной.
В «Настройке списка» появится конструктор запроса. Запрос можно составить на собственное усмотрение.
Поля таблицы «Список» будут соответствовать полям результирующей таблицы запроса.
Если в результирующей таблице запроса есть колонки со значением NULL, то такие колонки в режиме предприятия выводиться не будут.
Пример:
ВЫБРАТЬ
СправочникТест.Ссылка,
СправочникТест.ПометкаУдаления,
СправочникТест.Родитель,
СправочникТест.ЭтоГруппа,
СправочникТест.Код,
СправочникТест.Наименование,
СправочникТест.Предопределенный,
СправочникТест.ИмяПредопределенныхДанных,
ТрудоемкостьЗадач.Задача
ИЗ
Справочник.Тест КАК СправочникТест
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТрудоемкостьЗадач КАК ТрудоемкостьЗадач
ПО СправочникТест.Ссылка= ТрудоемкостьЗадач.СправочникТестСсылка
Если нет необходимости в оперативном просмотре изменённых данных в табличной части, то думаю, что этот вариант лучше использовать вместо события «ПриПолученииДанныхНаСервере»
_ _______________________________________________________________________________________________ Установить свойства реквизита «Дерево»:
В параметре «Настройка списка» свойства реквизита «Дерево»
установить настройку: В свойствах элемента формы «Дерево»
установить значения:
В свойствах элемента формы «Список»
установить значения:
Установить свойства командной панели:
В свойствах формы
установить значения:
Результат:
Источник