8. Цитата из [RAD80]
Объект конфигурации Справочник является прикладным объектом и предназначен для описания списков данных. Объект конфигурации Справочник используется для того, чтобы на его основе платформа создала в БД информационную структуру, в которой будет храниться, например, список сотрудников, перечень товаров. Его характерной особенностью является то, что пользователь в процессе работы может самостоятельно добавлять новые элементы в справочник. Например, пользователь может добавить в справочник новых сотрудников.
Каждый элемент справочника, как правило, содержит некоторую дополнительную информацию, которая более подробно описывает этот элемент. Набор такой информации является одинаковым для всех элементов справочника, и для описания такого набора используются реквизиты объекта конфигурации Справочник, которые также, в свою очередь, являются объектами конфигурации. Поскольку эти объекты логически связаны с объектом Справочник, они называются подчиненными. Большинство реквизитов объекта конфигурации Справочник разработчик создает самостоятельно, однако у каждого объекта конфигурации Справочник существуют два поля «по умолчанию»: код и наименование.
Кроме этого, каждый элемент справочника может содержать некоторый набор информации, которая одинакова по своей структуре, но различна по количеству, для разных элементов справочника. Так, например, каждый элемент справочника Сотрудники может содержать информацию о составе семьи сотрудника. Для одного сотрудника это будет только супруга, а у другого семья может состоять из супруги, сына и дочери. Для описания подобной информации могут быть использованы табличные части объекта конфигурации Справочник, являющиеся подчиненными объектами конфигурации.
Для удобства использования элементы справочника могут быть сгруппированы пользователем по какому-либо принципу. например, в справочнике «Бытовая техника» могут быть созданы группы: «Холодильники», «Телевизоры». Возможность создания таких групп в справочнике задается свойством «Иерархический» объекта конфигурации Справочник. В этом случае элемент справочника, представляющий собой группу, будет являться родителем для всех элементов и групп, входящих в эту группу. Такой вид иерархии называется иерархией групп и элементов.
Возможен и другой вид иерархии - иерархия элементов. В этом случае в качестве родителя выступает не группа элементов справочника, а непосредственно один из элементов справочника. Например, такой вид иерархии можно использовать при создании справочника «Подразделения», когда одно подразделение является родителем для нескольких других подразделений, входящих в его состав.
Элементы одного справочника могут быть подчинены элементам или группам другого справочника. Например, справочник «ЕдиницыИзмерения» может быть подчинен справочнику «Товары». Тогда для каждого элемента справочника «Товары» мы сможем указать единицы измерения, в которых этот товар поступает на склад. В системе 1С это достигается путем того, что для каждого объекта конфигурации Справочник можно указать список владельцев справочника.
В зависимости от того, какие действия мы хотим выполнять со справочником, нам требуется изображать справочник в разном виде. Например, для того, чтобы выбрать некоторый элемент справочника, удобнее представить справочник в виде списка, а для того, чтобы изменить какой-то элемент справочника, удобнее представить все реквизиты этого элемента справочника на одной форме. Поэтому объект конфигурации Справочник может иметь произвольное количество форм.
Форма служит для «визуализации» данных, находящихся в БД. Форма представляет эти данные в удобном для пользователя виде и позволяет описать алгоритмы, которые будут сопровождать работу пользователя с данными, представленными в форме.
Любая форма может быть описана в конфигураторе. Для создания такого описания существует подчиненный объект конфигурации Форма.
9. Создайте справочник: выберите на дереве объект Справочник, нажмите МП, выберите Добавить, в поле Имя введите Клиенты, в поле Синоним введите Клиенты, выберите Далее, Далее, Далее, на вкладке Данные выберите Длина кода — 5, Длина наименования — 50, в се остальные свойства оставьте такими, как их предлагает система по умолчанию, нажмите Закрыть.
10. Цитата из [RAD80]
После нажатия Добавить, система открыла окно редактирования объекта конфигурации. Это средство, которое создано в помощь разработчику. Оно создано специально для сложных объектов конфигурации и позволяет путем выполнения последовательных действий быстро создавать такие объекты. Для того чтобы придерживаться правильной последовательности действий, в нижней части окна имеются кнопки «Далее» и «Назад».
Имя можно задавать любое, главное, чтобы оно начиналось с буквы и не содержало некоторых специальных символов (например, пробел,. Для удобства чтения конфигурации принято составлять интуитивно понятные имена и если они состоят из нескольких слов - удалять пробелы между словами и каждое слово начинать с большой буквы.
11. Посмотрим, что создаст система на основе того объекта конфигурации Справочник, который мы добавили: выберите Отладка | Начать отладку, на появившийся вопрос: редактируемая конфигурация отличается от конфигурации базы данных. Обновить конфигурацию базы данных? выберите Да, в окне Реорганизация информации выберите Принять.
Перед нами откроется окно системы, в режиме 1С:Предприятие. Поскольку мы не создавали никаких интерфейсов пользователей, для просмотра результатов следует воспользоваться меню, которое создает система по умолчанию.
12. Введите данные о клиентах: выберите Операции | Справочники, выберите справочник Клиенты, откроется одна из основных форм справочника - основную форму списка, нажмите Insert, в поле Код введите 1, в поле Наименование введите Смирнов Иван Иванович.
13. Введите еще двух клиентов: см. 12.
Справочник Сотрудники будет устроен несколько сложнее, чем справочник Клиенты. Дело в том, что в нем мы будем хранить не только ФИО сотрудника, но и информацию о его прошлой трудовой деятельности. Эта информация однородна по своей структуре (организация, начало, окончание работы, занимаемая должность), но количество предыдущих мест работы у разных сотрудников может быть различным. Поэтому для хранения такой информации мы будем использовать табличную часть справочника.
14. Создайте справочник: выберите на дереве объект Справочник, нажмите МП, выберите Добавить, в поле Имя введите Сотрудники, в поле Синоним введите Сотрудники,, выберите Далее, Далее, Далее, на вкладке Данные выберите Длина кода — 5, Длина наименования — 50, выберите Табличные части, МП, добавить, в поле Имя введите ТрудоваяДеятельность, нажмите галочку Сохранить.
15. Создайте реквизиты табличной части: выберите табличную часть ТрудоваяДеятельность, МП, Добавить, выберите Реквизит табличной части, в поле Имя введите Организация, в поле Тип данных — Строка, Длина — 100, нажмите галочку Сохранить.
16. Создайте реквизиты табличной части ТрудоваяДеятельность: НачалоРаботы — тип Дача, состав даты — Дата, ОкончаниеРаботы — тип Дата, состав даты — Дата, Должность — тип Строка, длина 100: см. 15.
17. В справочнике «Сотрудники» мы выберем вариант редактирования справочника обоими способами — как в списке, так и в диалоге: выберите закладку Формы и установим переключатель Обоими способами., и нажмите Закрыть.
18. В выберите Отладка | Начать отладку, на появившийся вопрос: редактируемая конфигурация отличается от конфгурации базы данных. Обновить конфигурацию базы данных? выберите Да, в окне Реорганизация информации выберите Принять.
19. Введите данные о сотрудниках: выберите Операции | Справочники, выберите справочник Сотрудники, нажмите Insert, в поле Код введите 1, в поле Наименование введите Иванов Иван Иванович, введите данные в столбцы Организация, Начало работы, Окончание работы, Должность.
20. Введите еще двух сотрудников:см. 19.
21. Создайте иерархический справочник: выберите на дереве объект Справочник, нажмите МП, выберите Добавить, в поле Имя введите Номенклатура , в поле Синоним введите Номенклатура , выберите закладку Иерархия и установите флаг Иерархический справочник»,нажмите галочку Сохранить.
22. Создайте две группы в корне справочника: Материалы и Услуги.
23. В группе Материалы создайте пять элементов: Строчный трансформатор Samsаng, Строчный трансформатор GoldStar, Транзистор Philips 2N2369, Шланг резиновый, Кабель электрический .
24. В группе Услуги создайте элементы: Диагностика, Ремонт отечественного телевизора, Ремонт импортного телевизора, Подключение воды, Подключение электричества .
25. В группе Услуги создайте еще две группы: Телевизоры и Стиральные машины.
26. Переместить услуги в соответствующие группы.
27. В группе Материалы создайте две группы: Радиодетали и Прочее. В группу Прочее поместите Кабель электрический и Шланг резиновый. Остальные материалы переместите в группу Радиодетали.
Новый справочник будет содержать один предопределенный элемент — склад Основной, на который будут поступать все материалы.
28. Создадим справочник, содержащий предопределенные элементы: выберите на дереве объект Справочник , нажмите МП, выберите Добавить, в поле Имя введите Склады , в поле Синоним введите Склады , выберите закладку Прочее и нажмите кнопку Предопределенные. Система откроет список предопределенных элементов справочника. Сейчас он пуст, поэтому выполним команду Действия | Добавить, в поле Имя введите Основной, в поле Код — 1, в поле Наименование — Основной, нажмите ОК.
29. Выберите Отладка | Начать отладку, на появившийся вопрос: редактируемая конфигурация отличается от конфигурации базы данных. Обновить конфигурацию базы данных? выберите Да, в окне Реорганизация информации выберите Принять.
30. Введите данные о сотрудниках: выберите Операции | Справочники, выберите справочник Склады, нажмите Insert, в поле Код введите 2, в поле Наименование введите Розничный.
В чем заключается принципиальная, с точки зрения конфигурации, разница между обычными и предопределенными элементами справочника. Обычные элементы «непостоянны» для конфигурации. В процессе работы пользователя они могут появиться, исчезнуть. Поэтому конфигурация хоть и может отличить их друг от друга, но рассчитывать на них в выполнении каких либо алгоритмов она не может, в силу их «непостоянства». Предопределенные элементы напротив, «постоянны». В процессе работы пользователя они находятся всегда на своих местах, и исчезнуть не могут. Поэтому с ними конфигурация может работать вполне уверенно и опираться на них, при отработке различных алгоритмов. По этой причине каждый из предопределенных элементов имеет уникальное имя для того, чтобы к ним можно было обратиться средствами встроенного языка.