Лабораторная работа 3. Справочники и Перечисления |
3.1. Справочник
"Фирмы" В лабораторнй работе мы рассмотрим каким образом, используя возможности
Конфигуратора, можно создавать новые справочники. Справочники в системе "1С:Предприятие" предназначены для хранения
нормативно-справочной информации. Записи в справочнике подобны карточкам в
картотеке. Каждая запись имеет одинаковую структуру. Пользователь
может поместить в справочник практически неограниченное количество записей. Существуют ситуации, когда пользователь
должен сделать выбор из конечного числа значений, причем добавлять или
изменять список этих значений нельзя. В такой ситуации специалист,
осуществляющий конфигурирование системы "1С:Предприятие"
должен создать Перечисление. В отличие от справочника, значения в
перечислениях принадлежат конфигурации, поэтому пользователь в процессе своей
работы не может изменить их состав. В этой главе мы создадим, в соответствии
с постановкой задачи, необходимое количество справочников и одно
перечисление.
Для создания нового справочника необходимо выделить в дереве
окна
"Конфигурация" ветвь "Справочники" и, используя правую
кнопку мыши,
выбрать пункт выпадающего меню "Добавить". Сразу после этого
Конфигуратор создаст в дереве новый объект "Справочник1"
и откроет его окно редактирования (см. рис. 3.1). Поскольку работа с таким окном нам уже знакома, то в этой главе
мы сосредоточимся на создании конкретных справочников, а возможности, которые
предоставляет окно редактирования справочника, будут рассмотрены на основе
конкретных примеров. |
3.1. Справочник "Фирмы" |
|||||||||||
В соответствии с пунктом 4 постановки задачи мы создадим новый
справочник, выполнив упражнение №3.1.
|
3.1.1. Закладка "Данные" |
Эта закладка (см. рис. 3.2) позволяет определить, что за реквизиты
будут содержать записи справочника. Справочник может иметь следующие реквизиты с заранее заданным
назначением:
Код – это
краткое название объекта учета, обычно это его номер или внутренний учетный
код. Код может быть числовым или текстовым. Эта закладка позволяет настроить длину
как кода, так и наименования. При выборе длины кода нужно руководствоваться:
Максимальная длина кода в справочнике – 50 символов. Наименование
– это название объекта учета. Обычно это название используется для быстрого
поиска объекта по его названию. Максимальная длина, которую можно установить
для наименования – 150. Свойства
Родитель и Владелец будут рассмотрены чуть позже.
На данном этапе создания конфигурации мы оставим содержимое этой
закладки без изменения. |
3.1.2. Закладка "Нумерация" |
Эта закладка позволяет настроить
свойства справочника связанные с нумерацией (см. рис. 3.3). Включенный флаг
"Автонумерация" определят, что новый элемент, вводимая в
справочник, будет иметь код на 1 больший, чем максимальное значение, которое
было введено ранее. Свойство "Контроль
уникальности", если установлено, гарантирует, что в информационной
базе нельзя записать два элемента с одинаковым кодом в пределах
одной серии кодов. (Настройка
серий кодов будет рассмотрена чуть позже). |
3.1.3. Закладка "Формы" |
|||||||||||||||||||||
Эта закладка нам уже знакома. Она позволяет создать формы
справочника в необходимом для работы пользователя количестве.
|
3.1.4. Закладка "Макеты" |
||||||||||||||||||||
Назначение этой закладки нам уже известно – она позволяет создать
макет
печатной формы справочника. В этом разделе мы воспользуемся конструктором
печати, чтобы сформировать макет печатной формы списка справочника
"Фирмы".
На этом этапе мы указали конструктору,
что хотим иметь процедуру, которая распечатывала бы форму
списка справочника. При чем она будет осуществлять печать списка фирм и располагаться в модуле основной формы списка.
|
3.1.5. Закладка "Интерфейсы" |
|||
Эта закладка (см. рис. 3.5) позволяет вставить необходимый пункт
меню в интерфейс
конфигурации, используя для этой цели окно
редактирования справочника.
На этом мы пока закончим настройку справочника
"Фирмы".
|
3.2. Справочник "Подразделения" |
|||||||||||
3.2.1. Закладка
"Иерархия" В пункте №5 постановки задачи сказано, что "Каждая фирма
в своем составе может иметь несколько подразделений, каждое из которых, в
свою очередь, также может состоять из нескольких подразделений…". Для хранения такой информации в информационной базе нам
понадобится иерархический
справочник.
Справочник "Фирмы" из предыдущего раздела был
одноуровневым. Записи, которые будут размещаться в нем, будут только элементами,
что и понятно, т.к. все фирмы равноправны. Каждый элемент в справочнике
соответствует одной инвентарной карточке или одному объекту аналитического
учета. Если между объектами учета одного вида существует
отношение подчиненности, то такой справочник следует сделать иерархическим. |
3.2.1. Закладка "Иерархия" |
|||||||||||
За настройку
таких справочников отвечает одноименная закладка (см. рис. 3.7) окна
редактирования. Установка свойства
"Иерархический справочник" делает доступными остальные свойства
этой группы. Следующее свойство "Вид иерархии" позволяет
определить, какие элементы может содержать справочник. По умолчанию - это группы и элементы. Группы предназначены для организации доступа к группам и
элементам на нижележащем уровне – это их основное предназначение. Отметим,
что в этом режиме элемент не может иметь других элементов на нижележащем
уровне. Поэтому при вводе новой записи в справочник нужно заранее
выбрать, что это будет элемент или группа? В случае если это свойство установлено в положение
"Иерархия элементов", то тогда справочник будет содержать только
элементы. Причем элемент может иметь другие элементы на нижележащем
уровне. Свойство "Ограничение уровней иерархии" позволят
ограничить глубину вложенности, путем установки свойства "Количество
уровней иерархии". Если такое количество можно заранее оценить, то
флажок следует установить и указать максимальное количество уровней от 2 до
10. В постановке задачи (п.5) сказано, что количество уровней
заранее неизвестно. Да и, кроме того, организационная структура организации
может изменяться с течением времени – подразделения могут дробиться на более
мелкие или объединяться, поэтому продолжим выполнение упражнения:
|
3.2.2. Закладка "Владельцы" |
|||
Справочник в системе "1С:Предпритие"
предназначен для хранения однородных элементов. Для того чтобы установить подчиненность объекта учета
одного вида объектам другого вида, необходимо определить для справочника
состав его владельцев. В самом деле, подразделения "в воздухе не висят", а
всегда относятся какой–либо "фирме". Поэтому для справочника
"Подразделения" следует указать, что его элементами будут
владеть записи из справочника "Фирмы".
Дадим небольшое пояснение значениям свойства
"Использование подчинения". По умолчанию для подчиненных
справочников это свойство установлено в положение "Элементам". Это
приводит к тому, что свойство Владелец из данного справочника будет содержать
только ссылки на элементы из справочников-владельцев. Соответственно значение "Группам" приведет к тому, что
это свойство
сможет содержать только ссылки на группы из справочников-владельцев. Значение "Группам и элементам" позволит пользователю
выбирать в качестве значения свойства Владелец ссылки на любую запись из
справочников-владельцев.
В случае справочника "Подразделения" – это
значение "Элементам". |
3.2.3. Закладка "Нумерация" |
|||
В этом разделе мы подробнее рассмотрим переключатель "Серии
кодов", который расположен на закладке "Нумерация" (см. рис. 3.9).
Прежде чем понять, как будет система нумеровать коды в
справочнике при каждом из значений этого переключателя, вспомним, что у
справочника есть два поля (или с точки зрения встроенного языка – свойств)
Родитель и Владелец. Свойство
Родитель содержит ссылку на элемент в этом справочнике, которая находится на один уровень выше. А свойство Владелец содержит ссылку на элемент в другом
справочнике. Таким образом, элемент из текущего справочника может быть подчинена как своему родителю, так и владельцу из другого
справочника. В случае если свойство "Серии кодов" установлено в
положение "Во всем справочнике", то нумерация кодов будет
выполняться системой без учета значений как
родителя, так и владельца. Таким образом, это будет сквозная нумерация от
"1" для всех элементов в справочнике в порядке их создания,
причем совсем не важно на каком уровне вложенности вводится элемент и какой у него владелец. Для положения "В пределах подчинения" нумерация кодов
будет выполняться системой с учетом значений как
родителя, так и владельца. Такая нумерация позволяет начинать нумерацию с
"1" для подчиненных элементов, как для нового Владельца, и для
нового Родителя. Для положения "В пределах подчинения владельцу"
нумерация кодов будет выполняться системой с учетом значения только
владельца. Такой способ позволяет организовать сквозную нумерацию кодов
для каждого владельца в отдельности, причем совсем не важно на каком уровне
вложенности вводится элемент. По умолчанию свойство установлено в положение "Во всем
справочнике", поэтому выполним упражнение:
|
3.2.4. Закладка "Формы" |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Форму
списка мы уже с вами использовали. Теперь мы рассмотрим применение формы
элемента для редактирования
записи справочника.
При создании формы выбора мы предусмотрим, чтобы пользователь
делал выбор не из табличной
части, а из дерева:
Поскольку мы для справочника указали в качестве способа редактирования
режим "В диалоге", то теперь нам потребуется форма
элемента. Система может создать форму
самостоятельно, попробуйте создать новый элемент справочника
"Подразделения" в режиме "1С:Предприятие".
Если внешний вид автоматически созданной формы вас не устроит, создайте
для справочника "Подразделения" форму элемента, выполнив следующее
упражнение.
Если Вы все сделали правильно, то ваша форма элемента будет
похожа на ту, что изображена на рисунке 3.11. Обратим внимание на то, что в этой форме пользователь
может по своему усмотрению выбирать как фирму, которой принадлежит конкретное
подразделение, так и подразделение, которому будет принадлежать данное. При этом реквизит
Владелец будет давать возможность выбрать Фирму, а реквизит Родитель будет
содержать ссылку на вышележащий уровень. |
3.2.5. Закладка "Интерфейсы" |
|||
Выполните следующее упражнение:
На этом мы пока закончим настройку справочника
"Подразделения". |
3.3. Самостоятельная работа: справочник "Сотрудники" |
||||||||||||||||||||||
Этот раздел предназначен для закрепления рассмотренного выше
материала: Продолжим чтение нашей постановки задачи. В ней сказано (п.6),
что "Сотрудники, работающие в объединении, могут числиться как на
какой-то фирме в целом, так и в отдельном подразделении". Поэтому для хранения списка сотрудников самостоятельно создайте
в конфигурации новый справочник, выполнив следующее упражнение.
В этом случае одна запись в справочке "Сотрудники"
может принадлежать либо справочнику "Фирмы", либо справочнику
"Подразделения". Такой способ настройки
справочника приведет к тому, что для фирм не
имеющих организационной структуры, мы сможем указать список сотрудников,
которые им принадлежат.
|
3.4. Справочник "ОсновныеСредства" |
||||||||||||||||||||||||||||||
3.4.1. Реквизит
"Фирма" В этом разделе мы начнем работу над новым справочником
"ОсновыеСредства", а в следующих главах полностью закончим его
разработку. Мы также изменим настройку
ранее созданных справочников, добавив в них необходимое количество реквизитов.
Напомним, что у справочника, как правило, есть реквизиты
(они же свойства
соответствующего объекта)
Код и Наименование. Код может быть числовым или текстовым. В последнем случае он
может содержать префикс. Например, предположим, что элементы
нумеруются следующим образом: "АА-001", "АА-002", …,
"АА-999". Тогда "АА-" – это
префикс. Эта закладка позволяет настроить длину
как кода, так и наименования. При выборе длины кода нужно руководствоваться:
Максимальная длина кода в справочнике – 50 символов. Давайте для определенности договоримся, что код будет содержать
инвентарный номер (см. пункт 3.1 в Главе 2) и первые три символа будут
содержать префикс фирмы - 2 символа и знак "-"
для разделения префикса и инвентарного номера; Поэтому код в нашем справочнике будет иметь вид "ФФ-NNNNN".
|
3.4.1. Реквизит "Фирма" |
|||||||||||||||||||||||||||||||||||||||||
Поскольку, по условию задачи ОС принадлежит какой-либо фирме, то
мы можем создать в справочнике дополнительный реквизит,
который бы хранил ссылки на элемент справочника "Фирмы".
Обратите внимание, что в качестве типа данных мы выбрали ссылку
на элемент из справочника "Фирмы", что подчеркивает слово
"Ссылка" в названии типа данных. Отметим также, что установка свойства
"Индексировать" в значение "Индексирование" приведет к
тому, что пользователь
сможет осуществлять сортировку в форме
списка по значениям данного реквизита. Префикс кода мы разместим в справочнике "Фирмы",
поэтому:
Поскольку мы изменили структуру хранения справочника
"Фирмы" то, следовательно, нам придется изменить и форму списка:
|
3.4.2. Перечисление "ГруппыОС" и реквизит
"ГруппаОС" |
||||||||||||||||||||||||||||||||||||||||||
Для реализации пункта 3.5. постановки задачи нам необходимо в
конфигурации создать список возможных значений группы ОС, которой может
принадлежать основное средства, т.е. перечисление. Для того чтобы добавить в конфигурацию новое перечисление
необходимо выбрать одноименную ветвь дерева
окна
"Конфигурация" и, используя правую кнопку мыши, выбрать пункт
"Добавить" (см. рис.3.14). После чего конфигуратор откроет окно
редактирования перечисления.
Теперь, после того как мы создали перечисление, мы можем создать
реквизит
в справочнике:
|
3.4.3. Реквизит "ЕстьДетали" |
|||||||||||||||||
В пункте 3.6 постановки задачи сказано, что для тех ОС, которые
состоят из отдельных деталей и для тех из них, где такой учет необходим,
нужно вести учет комплектующих, из которых они состоят. Поэтому нам придется создать один реквизит,
который мог бы хранить логический тип
данных и одну табличную
часть.
|
3.4.4. Табличная часть "СписокДеталей" |
||||||||||||||||||||||||||
Справочник в системе "1С:Предприятие"
может иметь табличные
части, поэтому добавим новую табличную часть, выполнив следующее
упражнение:
Согласно постановке задачи, нам нужно будет создать в этой табличной
части 4 колонки: Деталь, Количество, Цена (У.Е.) и Сумма (У.Е.), что мы
проделаем, выполнив следующее упражнение:
|
3.4.5. Реквизиты "ДатаВвода" и
"ДатаСписания" |
|||||||||||
В соответствии п.3.7. постановки задачи нам необходимо еще
создать два реквизита:
|
3.4.6. Реквизит "Изображение" |
|||||||||||||||
В пункте 3.8 постановки задачи сказано, что в каждой записи
нужно хранить изображение. Для решения подобного рода задач в системе
"1С:Предприятие" для реквизитов
имеется специальный тип
данных "ХранилищеЗначения".
Свойство
"Использование" может принимать три возможных значения:
Это свойство позволяет определить состав реквизитов
как для элемента, так и для группы. По умолчанию новые реквизиты создаются
для использования только в элементах. Для нашей постановки задачи логичным представляется
использование такого реквизита как для группы, так и
для элемента в справочнике "ОсновныеСредства", т.к. это даст
возможность вносить изображение и для групп справочника. |
3.4.7. Закладка "Нумерация" |
|||||||||||
Очевидно, что для справочника "ОсновныеСредства" свойства
"Автонумерация" и "Контроль уникальности" должны быть
установлены.
|
3.4.8. Закладка "Формы" |
Мы пропустим пока эту закладку, т.к. проектирование этого объекта
еще не закончено. |
3.5. Самостоятельная работа: справочник "Детали" |
|||||||||||||||||||||||||||||||||||||||
В пункте 8 постановки задачи сказано: "Для каждой Детали
необходимо, помимо ее наименования, хранить в ИБ ее цену в У.Е.
Самостоятельно создайте справочник "Детали":
|