Зачем нужны иерархические справочники и что такое родитель
Вирус скуки
суббота, 27 апреля 2013 г.
1С-ное.(Заметки быдло-ученика-погромиста)
Продолжение одинэсной темы, ответы на книгу Радченко, занятие 2 и 3.
Как описать логическую структуру при помощи Подсистем?
При помощи разделения на функциональные части, представляющие собой отдельные предметные области.
Как управлять порядком вывода и отображения подсистем в конфигурации?
Правый клик мыши по конфигурации, выбираем команду «Открыть командный интерфейс конфигурации», поменять позиции можно с помощью стрелочек.
Управление порядком вывода подсистем. |
Что такое окно редактирования объекта конфигурации и в чем его отличие от панели свойств?
Для чего предназначен объект конфигурации Справочник?
Справочник предназначен для работы со списками данных, описания их свойств и структуры.
Для чего используются реквизиты и табличные части справочника?
Реквизиты используются для описания дополнительной информации, описывающей элемент справочника;
Табличная часть используется для описания информации элемента справочника, одинаковой по структуре, но различной по количеству.
Зачем нужны подчиненные справочники и что такое Владелец?
Элементы одного справочника могут быть подчинены элементам другого справочника, и в таком случае устанавливается связь один-ко-многим. Так же может быть использована связь один-к-одному, когда каждый элемент подчиненного справочника связан с одним из элементов справочника-владельца.
Что такое предопределенные элементы справочника?
Элементы справочника, создающиеся в конфигураторе, данные элементы пользователь удалить не может; Служат для хранения информации всегда, независимо от действий пользователя;
Чем с точки зрения конфигурации отличается обычный элемент от предопределенного?
На предопределенные элементы могут быть завязаны алгоритмы работы конфигурации, следовательно, система добавляет эти элементы в структуру базы данных сама, без участия пользователя.
Как пользователь может отличить обычный элемент от предопределенного?
С помощью пиктограммы
Зачем нужны справочники организаций
Формы справочника
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в справочнике, система поддерживает несколько форм представления справочника. Система может автоматически генерировать все нужные формы справочника. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:
Форма списка
Для просмотра данных, содержащихся в справочнике, используется форма списка. Она позволяет выполнять навигацию по справочнику, добавлять, помечать на удаление и удалять элементы и группы справочника, перемещать элементы и группы. Форма списка может представлять данные в иерархическом и не иерархическом виде и позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:
Форма элемента
Для просмотра и изменения данных отдельных элементов справочника используется форма элемента. Как правило, она представляет данные в удобном для восприятия и редактирования виде:
Форма группы
Система поддерживает отдельный вид формы для групп справочника. Это связано с тем, что, как правило, состав информации, относящейся к группе справочника, намного меньше, чем состав данных, имеющих отношение к отдельным элементам справочника:
Форма выбора, форма выбора группы
При различных действиях пользователя в прикладном решении возникает необходимость выбора конкретных элементов справочников. Это может потребоваться, например, при создании приходной накладной, в которой должны быть перечислены определенные товары. В этом случае система использует форму выбора справочника, которая, обычно, содержит минимальный набор информации, необходимой для выбора того, или иного элемента:
Кроме всех перечисленных форм, система поддерживает еще форму выбора группы справочника, предназначенную для выбора только среди групп, содержащихся в справочнике.
Видео
Как сделать фильтрацию более удобной, чем иерархия
Прежде всего, необходимо, чтобы пользователи могли запоминать часто используемые фильтры. Тогда для работы с часто используемыми фильтрами будет достаточно одного-двух щелчков мыши.
Необходимо, чтобы пользователь мог выбрать значение фильтра из списка. Так, например, разрешение матрицы лучше не набивать каждый раз, а выбирать из готового списка разрешений. То же самое касается остальных фильтров.
|
|
|
Желательно, чтобы была возможность группировать фильтруемые поля в наборы. Так, например, для ноутбуков фильтруются одни поля, для видеокарточек — другие, для КПК — третьи и т.п.
Подчиненные справочники
Один справочник может быть подчинен другому справочнику. Например, есть справочник контрагентов и справочник договоров контрагентов. Чтобы в справочнике договоров не заводить отдельный реквизит для указания контрагента можно сделать его подчиненным справочнику контрагентов. В этом случае в таблице справочника будет добавлено поле Владелец, которое будет хранить ссылку на владельца.
Настройка подчиненности выполняется на закладке Владельцы в подчиненном справочнике:
Для добавления владельца нужно нажать на кнопку с зеленым карандашом и указать справочники-владельцы. Можно указать несколько справочников, тогда поле Владелец будет составного типа.
В поле Использование подчинения можно указать могут ли владельцами быть группы справочников или только элементы.
После настройки подчиненности, в пользовательском режиме у справочника-владельца вверху, в панели навигации формы появится ссылка для перехода в подчиненный справочник, причем автоматически будет выполнен отбор по владельцу:
Табличные части справочника
Табличная часть справочника хранится в отдельной таблице. В этой таблице есть колонки Ссылка и НомерСтроки, а также по одной колонке для каждого реквизита табличной части. Основная таблица справочника и табличная часть связаны между собой через поле Ссылка.
Если мы добавим в справочник табличную часть для хранения цен:
И для элемента Клавиатура заполним ее следующим образом:
То в базе данных будет создана следующая таблица:
Ссылка | Номер строки | Вид цены | Цена |
---|---|---|---|
8eae102c-86d5-11eb-80a3-e0d55e4e2669 | 1 | Оптовая | 500 |
8eae102c-86d5-11eb-80a3-e0d55e4e2669 | 2 | Розничная | 1000 |
В поле Ссылка хранится тот же самый идентификатор, что и в основной таблице справочника.
Работа со списками
Пользователю в 1С очень часто приходится работать со списками чего-нибудь. Например, справочник – это список элементов. Документы – это список документов в разрезе дат. Сейчас мы рассмотрим основные правила работы со списками. А также простой способ вывести 1С в Excel или на печать любой список из 1С – справочник, документ, отчет.
Настройка списка
Любой список ( список документов, журнал, элементы справочника) в 1С можно настроить по своему вкусу. Для этого существует команда «Настройка списка», которая расположена в контекстном меню (правой кнопкой на любое место в списке).
Здесь перечислены колонки, которые есть в списке. Можно поменять их порядок, положение (колонки в один ряд или в два ряда), ширину.
Изменение ширины и порядка некоторых колонок может быть запрещено разработчиками. Когда Вы работаете со списком, то Вы прокручиваете его и устанавливаете курсор на тот элемент, с которым работаете. Чтобы 1С запоминала позицию курсора – установите галочку «Восстанавливать позицию». Автообновление обозначает, что каждые несколько секунд, 1С будет проверять наличие новых элементов в списке и показывать их Вам. Это полезно, если в этом списке кроме Вас работают другие люди. Иерархический справочник – это справочник, в котором есть группы. Иерархический просмотр показывает элементы внутри групп, иначе они показываются единым списком.
Быстрое перемещение в конец/начало списка
Осуществляется клавишами CTRL+HOME, CTRL+END Если список по горизонтали превышает ширину экрана, то его удобно прокручивать в этом направлении крутя колесико мыши, удерживая при этом нажатой клавишу Shift.
Отбор и сортировка списка
Осуществляется по команде «Установить отбор и сортировку списка», которая расположена в контекстном меню (правой кнопкой на любое место в списке) либо по кнопке в меню Списка:
Появляется окна, в котором настраиваем параметры отбора: Вид отбора, вид сравнения, значение критерия.
После нажатия на кнопку «ОК» в списке показываются только элементы, удовлетворяющие заданным условиям. Сортировка списка производится из этой же формы с закладки сортировка:
В левом окне — те реквизиты, по которым будет произведена сортировка. Если отобрано несколько реквизитов, то порядок их следования в списке влияет на порядок представления данных. Сначала отобранный список будет сортироваться по первому верхнему реквизиту, затем каждая группа одинаковых значений будет сортироваться по второму верхнему реквизиту, и т.д. В отсортированном списке колонка, по которой установлена сортировка, помечается черным треугольником справа от заголовка:
Если щелкнуть по этому треугольнику еще раз, установится обратный порядок сортировки (по этой же колонке, но в обратном порядке). Обычно сортировку можно провести по нескольким колонкам списка. Как правило это Код, Наименование, Дата.
Отбор по периоду
В списках документов можно настроить окно списка таким образом, чтобы отображались документы только за выбранный период времени. Для этого нажимаем кнопку «Установить интервал дат» из меню списка документов:
Также можно сохранить настройку этого списка документов. Тогда при повторном открытии этого списка документов, отбор по интервалу дат отображаемых документов будет установлен автоматически.
Отбор по значению в текущей колонке
Выбираем колонку по которой нам нужно отобрать записи в списке и щелкаем кнопку «Отбор по значению в текущей колонке» в меню списка. Будут показаны только документы, у которых в этой колонке такое же значение реквизита. То же самое можно сделать и через контекстное меню, вызываемое щелчком правой кнопкой мыши на списке.
Отключить отбор
Если в списке установлен отбор (фильтрация) и показываются не все записи, то в меню списка становится доступной кнопка «Отключить отбор», по ее нажатию все фильтры буду сняты и отображаться будут все документы:
Важно: Кнопка «Отключить отбор» не снимает ограничение отбора по периоду. То есть если мы установили отбор по определенному складу и по периоду документов в один день. То у нас в списке показываются Документы только по этому складу за один день. Если мы нажмем «отключить отбор», то документы у нас будут отображаться по всем складам, но все за тот же период (один день). Удаление отбора по периоду производится по кнопке «Отбор по периоду» установкой в ней параметров «Без ограничения».
История отборов
Эта кнопка в меню списка позволяет просмотреть последние отборы и быстро применить любой из них.
Поиск по номеру
В списке документов доступен поиск по номеру документа с помощью соответствующей кнопки меню списка документов. Либо выбором пункта «Поиск по номеру» из контекстного меню, вызываемого по щелчку правой кнопки мыши по списку.
Поиск в списках
Поиск может быть выполнен нажатием комбинации клавиш CTRL+F либо нажатием на значок «поиск текста» в главном меню программы:
В справочнике, отсортированном по определенной колонке (например, справочник отсортирован по колонке «контрагент») возможен контекстный поиск, например, при вводе первых букв контрагента, он будет найден.
Вывод списка
Любой список в 1С можно вывести в табличный документ. Табличный документ – можно печатать и сохранять в файл. Нажмите правой кнопкой на список, в меню выберите пункт «Вывести список».
При этом можно выбрать не все колонки, а только те, которые нужны для печати.
Отчеты и печать документов
После того, как Вы вывели любой список 1С или таблицу из 1С в табличный документ – Вы можете распечатать его. Управление внешним видом табличного документа производится из меню Таблица/Вид.
Работа с табличным документом аналогична работе с отчетами, поэтому в отчетах доступны те же команды
Параметры страницы, в том числе ориентация и масштаб печати, указываются в меню Файл/Параметры страницы.
Печатать можно нажав Ctrl+P или через меню Файл/Печать.
Программирование в 1С для всех
Очень часто в 1С 8.3. в справочнике необходимо настроить определенный порядок подчинения элементов. Для реализации подобных задач из простого справочника необходимо сделать иерархический справочник 1С.
В платформе 1С существует два вида иерархии – иерархия групп и элементов и иерархия элементов.
Иерархия групп и элементов
Для того, чтобы справочник имел иерархию групп и элементов, необходимо в редакторе справочника на закладке Иерархия установить флаг Иерархический справочник, а свойству Вид иерархии установить значение Иерархия групп и элементов.
Тогда у справочника можно будет создавать группы, и размещать элементы в группах.
При иерархии групп или элементов существуют группы (каталоги), в которые входят или другие группы, или элементы. И группы, и элементы являются экземплярами объекта справочника.
Группа это тоже экземпляр объекта справочника, по которому не ведется какой-либо учёт (как правило), и который может быть родителем другого экземпляра, т.е. в группу могут входить другие группы и элементы справочников.
Иерархия элементов
Иерархия элементов настраивается похожим способом: в редакторе справочника на закладке Иерархия устанавливается флаг Иерархический справочник, но свойству Вид иерархии следует установить значение Иерархия элементов.
После этого, каждый элемент может быть родителем другого элемента.
Родитель иерархического справочника 1С
У каждого элемента иерархического справочника должен быть родитель. В случае иерархии групп и элементов родитель это группа иерархического справочника, в случае иерархии элементов, родитель это элемент.
Родитель это стандартный реквизит справочника. Если иерархия отключена, то этот стандартный реквизит не доступен. Как у этого справочника Сотрудники.
А если иерархия включена, то этот реквизит доступен. Как у справочника Контрагенты.
Если форма элемента справочника автоматически генерируется платформой (т.е. она не создана), то этот реквизит отображается на управляемой форме. И, в случае иерархии групп и элементов в нем указана группа, в которую входит этот элемент.
Если группа не указана, то значит элемент верхнего уровня.
Также, родитель имеется у элементов справочника с иерархией элементов.
Создать элемент иерархического справочника 1С
Для того, чтобы создать группу справочника (в случае, иерархии групп и элементов), необходимо воспользоваться методом менеджера справочника СоздатьГруппу(). А для создания элемента следует воспользоваться методом СоздатьЭлемент(). Если мы хотим, чтобы вновь созданный элемент входил в какую-то группу, то следует в свойство Родитель этого элемента записать ссылку на нужную группу.
В коде ниже, создаем группу, а потом создаем элемент, который входит в эту группу:
Заметьте, группа в коде выше, группа верхнего уровня. У неё при создании не был задан Родитель.
В случае иерархии элементов всегда нужно создавать элементы, но также следует в свойстве Родитель созданного элемента указать ссылку на другой элемент, которому будет подчинен созданный.
Изменить элемент иерархического справочника 1С
Если мы хотим поменять подчиненность элемента иерархического справочника, или вообще убрать её, т.е. сделать из элемента элемент верхнего уровня, то следует работать со стандартным реквизитом Родитель. В случае, изменения подчиненности, этому реквизиту нужно присвоить ссылку на другую группу.
Если же мы хотим сделать элемент верхнего уровня, то этому реквизиту нужно присвоить пустую ссылку.
Поиск в иерархическом справочнике 1С
В платформе 1С имеется возможность искать в определенной группе иерархического справочника, для этого следует в методах НайтиПоНаименованию, НайтиПоКоду и НайтиПоРеквизиту заполнять параметр Родитель.
Например, поиск в определенной группе будет осуществляться так:
Где, третий параметр Группа — это ссылка на группу, внутри которой ищется элемент по указанному названию.
Выборка иерархического справочника 1С
В платформе 1С 8.3. существует возможность выбрать элементы иерархического справочника, которые входят в ту или иную группу, для этого следует воспользоваться методом Выбрать с заполненным параметром Родитель. В этом случае будут выбраны группы и элементы, которых входят непосредственно в указанную группу, но не будут выбраны группы элементы, которые входят в подчиненные группы. Чтобы выбрать элемент и группы, входящие в какую-то группу, следует воспользоваться методом ВыбратьИерархически.
Например, при таком коде:
Будут выбраны элементы, входящие в указанную группу.
Будут выбраны элементы, которые входят и в указанную группу, и в подчиненные ей группы.
И Выбрать, и ВыбратьИерархически отбирают и группы, и элементы справочников. Поэтому, в коде выше было использовано свойство ссылки справочника ЭтоГруппа. Это свойство имеет значение Истина, если ссылка является группой справочника.
Читайте также по теме:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.