Справочники
Справочники — это прикладные объекты конфигурации. Они позволяют хранить в информационной базе данные, имеющие одинаковую структуру и списочный характер. Это может быть, например, список сотрудников, перечень товаров, список поставщиков или покупателей.
Структура справочника
Каждый элемент справочника характеризуется кодом и наименованием. Система поддерживает режим автоматической нумерации элементов, при котором она самостоятельно может генерировать код для нового элемента справочника. Кроме этого система позволяет осуществлять контроль уникальности кодов справочника, не разрешая создавать элементы с одинаковыми кодами:
Помимо кода и наименования, каждый элемент справочника, как правило, содержит некоторую дополнительную информацию, которая подробно описывает этот элемент. Например, для товара это может быть информация об артикуле, упаковке и т. п. Набор такой информации является одинаковым для всех элементов конкретного справочника, и для ее хранения служат реквизиты справочника:
Кроме этого, каждый элемент справочника может содержать некоторый набор информации, которая одинакова по своей структуре, но различна по количеству, для разных элементов справочника. Например, для каждого сотрудника в справочнике Физические лица это может быть контактная информация или информация о составе семьи, образовании. Для хранения подобных данных служат табличные части справочника:
Справочники могут поддерживать иерархическое расположение элементов. Например, в справочнике Номенклатура могут быть созданы группы: Бытовая техника, Обувь, Продукты и т. д., в которых располагаются элементы, относящиеся к этим группам. Кроме того группы справочника могут включать в себя и другие группы, создавая тем самым многоуровневую иерархическую структуру.
В справочниках возможен и другой вид иерархии, при котором элементы справочника будут относиться не к группам, а к другим элементам этого же справочника. Такой вид иерархии может использоваться, например, при создании справочника Задачи, где одна задача может включать в себя несколько других задач.
Разные справочники могут находиться в состоянии подчинения, т. е. элементы одного справочника могут быть подчинены элементам или группам другого справочника. Например, справочник Кассы может быть подчинен справочнику Организации. Тогда при оформлении кассовых документов для некоторой организации можно будет выбрать кассу не среди всех имеющихся в программе касс, а среди касс, существующих только в этой организации:
Справочники допускают также создание предопределенных элементов, которые существуют в справочнике всегда, вне зависимости от действий пользователя. Такие элементы справочника создаются разработчиком при разработке прикладного решения и не могут быть удалены или перемещены пользователем.
Например, если в основном прикладное решение будет внедряться на предприятиях одного государства, России, в справочник Страны мира сразу же можно добавить предопределенный элемент Россия, поскольку он понадобится подавляющему большинству пользователей.
Формы справочника
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в справочнике, система поддерживает несколько форм представления справочника. Система может автоматически генерировать все нужные формы справочника. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:
Форма списка
Для просмотра данных, содержащихся в справочнике, используется форма списка. Она позволяет выполнять навигацию по справочнику, добавлять, помечать на удаление и удалять элементы и группы справочника, перемещать элементы и группы. Форма списка может представлять данные в иерархическом и не иерархическом виде и позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:
Форма элемента
Для просмотра и изменения данных отдельных элементов справочника используется форма элемента. Как правило, она представляет данные в удобном для восприятия и редактирования виде:
Форма группы
Система поддерживает отдельный вид формы для групп справочника. Это связано с тем, что, как правило, состав информации, относящейся к группе справочника, намного меньше, чем состав данных, имеющих отношение к отдельным элементам справочника:
Форма выбора, форма выбора группы
При различных действиях пользователя в прикладном решении возникает необходимость выбора конкретных элементов справочников. Это может потребоваться, например, при создании приходной накладной, в которой должны быть перечислены определенные товары. В этом случае система использует форму выбора справочника, которая, обычно, содержит минимальный набор информации, необходимой для выбора того, или иного элемента:
Кроме всех перечисленных форм, система поддерживает еще форму выбора группы справочника, предназначенную для выбора только среди групп, содержащихся в справочнике.
Макеты
Справочнику могут быть сопоставлены несколько макетов, содержащих данные, необходимые для обеспечения работы справочника:
Макеты могут использоваться для формирования печатных форм справочника или для отображения дополнительной информации, имеющей отношение к справочнику.
Как создать элемент справочника
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Справочники
Описание:
Для работы с постоянной и условно постоянной информацией с некоторым множеством значений в системе используются объекты типа «Справочник». Обычно справочниками являются списки материалов, товаров, организаций, валют, сотрудников и др.
Название и структура каждого конкретного справочника определяется при его создании в конфигураторе. На этапе конфигурирования можно описать, какими свойствами обладает каждый конкретный справочник.
К настраиваемым свойствам относятся, например, длина и тип кода, количество уровней, поддержка уникальности кодов, набор реквизитов справочника. Помимо кода и наименования, механизм работы со справочниками позволяет создавать набор реквизитов для хранения любой дополнительной информации об элементе справочника.
Код и наименование справочника
Вернемся к окну редактирования объекта конфигурации Справочник и нажмем на закладку Данные.
Длина кода — важное свойство справочника. Как правило, код справочника используется для идентификации элементов справочника и содержит уникальные для каждого элемента справочника значения. Платформа может сама контролировать уникальность кодов и поддерживать автоматическую нумерацию элементов справочника. Поэтому от длины кода будет зависеть количество элементов, содержащихся в справочнике.
Длина кода — 9 символов. В результате мы сможем использовать коды от 1 до 999999999 — этого вполне достаточно для нашего небольшого ООО «На все руки мастер».
Длина наименования: 25 символов для нас явно мало, увеличим длину наименования до 50 (рисунок 1.8).
Рисунок 1.8 – Установка длины кода и наименования справочника
Команда добавления нового элемента
Прежде чем запускать 1 С:Предприятие, настроим интерфейс приложения, чтобы нам было удобнее вводить новые элементы справочника.
Для размещения стандартных команд открытия списков и создания новых объектов конфигурации в интерфейсе 1С:Предприятия существует общий стандартный алгоритм, который рассмотрим на примере справочников. Но это справедливо и для документов, планов счетов и т. п.
Команда для открытия списка справочника, как и команда для создания его новых элементов, добавляется в интерфейс тех разделов (подсистем), в которых будет отображаться справочник.
Но команда создания новых элементов по умолчанию невидима в интерфейсе приложения. Это объясняется тем, что возможность просматривать списки справочника нужна, как правило, всегда. А возможность создания новых элементов справочника используется не так часто.
Поэтому соответствующую команду следует включать только для тех справочников (объектов конфигурации), создание новых элементов которых является «основной» деятельностью для пользователей в данном разделе прикладного решения.
Сделаем доступной в панели действий раздела ОказаниеУслуг стандартную команду для создания новых клиентов.
Для этого в дереве объектов конфигурации выделим ветвь Подсистемы, вызовем ее контекстное меню и выберем пункт Все подсистемы (рисунок 1.9).
Рисунок 1.9 – Окно настройки подсистем
В открывшемся окне Все подсистемы слева в списке Подсистемы выделим подсистему ОказаниеУслуг. Справа в списке Командный интерфейс отразятся все команды выбранной подсистемы.
При создании справочника в группу Панель навигации.Обычное добавилась команда Клиенты для открытия этого списка. Она включена по умолчанию. В группу Панель действий. Создать добавилась команда Клиент: создать для создания нового элемента справочника, но она невидима по умолчанию. Включим видимость у этой команды.
Для подсистемы Бухгалтерия никаких команд добавлять в панель действий не будем, так как это определяется прикладной логикой работы.
Предполагается, что основную ежедневную работу с клиентами ведет менеджер, занимающийся оказанием услуг. В том числе он создает в базе новых клиентов, если они появляются. А бухгалтерия просто обрабатывает имеющиеся в базе данные для получения регламентированной отчетности.
Именно поэтому команду создания нового клиента мы отражаем в подсистеме Оказание услуг, где «работает» менеджер, а для бухгалтерии она невидима, так как не предполагается, что бухгалтеры будут вводить новых клиентов.
Однако это не лишает бухгалтера такой возможности — он может создать нового клиента, используя список клиентов (открыть список клиентов и добавить нового клиента).
Наличие команды создания нового элемента без использования списка элементов — это вопрос удобства работы, а не ограничения прав пользователя, и мы предоставляем эту удобную возможность менеджеру, а не бухгалтеру.
Закроем окно редактирования справочника Клиенты и запустим 1С:Предприятие в режиме отладки. Ответим утвердительно на запрос конфигуратора об обновлении конфигурации и увидим окно, содержащее список изменений в структуре конфигурации, автоматически сгенерированный платформой. В данном случае мы добавили справочник Клиенты. Нажмем кнопку Принять.
Как создать элемент справочника, если вид справочника заранее не известен?
вид справочника может меняться в зависимости от условий, как в таком случае можно создать элемент справочника?
пробовала вот так: Справочники[ТипСправочника].СоздатьЭлемент()
и вот так: Метаданные.Справочники[ТипСправочника].СоздатьЭлемент()
не получается. 1с-ка ругается 🙂
(0) А что значит «ругается»? Надеюсь, матерных слов не употребляет?
Или всё же какое-то сообщение выдаёт. Какое?
(18) Мне кажется там пробелы есть )))
И вообще текст ошибки в студию
В СП написан пример:
Для каждого Справочник из Метаданные.Справочники Цикл
ИмяСправочника = Справочник.Имя;
МенеджерСправочника = Справочники[ИмяСправочника];
ВыборкаСправочника = МенеджерСправочника.Выбрать();
Если ВыборкаСправочника.Следующий() Тогда
Предупреждение(«В информационной базе есть » +
«заполненные справочники!»);
Возврат;
КонецЕсли;
КонецЦикла;