Какая информация содержится в справочниках

Какая информация содержится в справочниках thumbnail

Справочники — это прикладные объекты конфигурации. Они позволяют хранить в информационной базе данные, имеющие одинаковую структуру и списочный характер. Это может быть, например, список сотрудников, перечень товаров, список поставщиков или покупателей.

Структура справочника

Каждый элемент справочника характеризуется кодом и наименованием. Система поддерживает режим автоматической нумерации элементов, при котором она самостоятельно может генерировать код для нового элемента справочника. Кроме этого система позволяет осуществлять контроль уникальности кодов справочника, не разрешая создавать элементы с одинаковыми кодами:

Справочники

Помимо кода и наименования, каждый элемент справочника, как правило, содержит некоторую дополнительную информацию, которая подробно описывает этот элемент. Например, для товара это может быть информация об артикуле, упаковке и т. п. Набор такой информации является одинаковым для всех элементов конкретного справочника, и для ее хранения служат реквизиты справочника:

Справочники

Кроме этого, каждый элемент справочника может содержать некоторый набор информации, которая одинакова по своей структуре, но различна по количеству, для разных элементов справочника. Например, для каждого сотрудника в справочнике Физические лица это может быть контактная информация или информация о составе семьи, образовании. Для хранения подобных данных служат табличные части справочника:

Справочники

Справочники могут поддерживать иерархическое расположение элементов. Например, в справочнике Номенклатура могут быть созданы группы: Бытовая техникаОбувьПродукты и т. д., в которых располагаются элементы, относящиеся к этим группам. Кроме того группы справочника могут включать в себя и другие группы, создавая тем самым многоуровневую иерархическую структуру.

Справочники

В справочниках возможен и другой вид иерархии, при котором элементы справочника будут относиться не к группам, а к другим элементам этого же справочника. Такой вид иерархии может использоваться, например, при создании справочника Задачи, где одна задача может включать в себя несколько других задач.

Справочники

Разные справочники могут находиться в состоянии подчинения, т. е. элементы одного справочника могут быть подчинены элементам или группам другого справочника. Например, справочник Кассы может быть подчинен справочнику Организации. Тогда при оформлении кассовых документов для некоторой организации можно будет выбрать кассу не среди всех имеющихся в программе касс, а среди касс, существующих только в этой организации:

Справочники

Справочники допускают также создание предопределенных элементов, которые существуют в справочнике всегда, вне зависимости от действий пользователя. Такие элементы справочника создаются разработчиком при разработке прикладного решения и не могут быть удалены или перемещены пользователем.

Например, если в основном прикладное решение будет внедряться на предприятиях одного государства, России, в справочник Страны мира сразу же можно добавить предопределенный элемент Россия, поскольку он понадобится подавляющему большинству пользователей.

Справочники

Формы справочника

Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в справочнике, система поддерживает несколько форм представления справочника. Система может автоматически генерировать все нужные формы справочника. Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:

Справочники

Форма списка

Для просмотра данных, содержащихся в справочнике, используется форма списка. Она позволяет выполнять навигацию по справочнику, добавлять, помечать на удаление и удалять элементы и группы справочника, перемещать элементы и группы. Форма списка может представлять данные в иерархическом и не иерархическом виде и позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:

Справочники

Форма элемента

Для просмотра и изменения данных отдельных элементов справочника используется форма элемента. Как правило, она представляет данные в удобном для восприятия и редактирования виде:

Справочники

Форма группы

Система поддерживает отдельный вид формы для групп справочника. Это связано с тем, что, как правило, состав информации, относящейся к группе справочника, намного меньше, чем состав данных, имеющих отношение к отдельным элементам справочника:

Справочники

Форма выбора, форма выбора группы

При различных действиях пользователя в прикладном решении возникает необходимость выбора конкретных элементов справочников. Это может потребоваться, например, при создании приходной накладной, в которой должны быть перечислены определенные товары. В этом случае система использует форму выбора справочника, которая, обычно, содержит минимальный набор информации, необходимой для выбора того, или иного элемента:

Справочники

Кроме всех перечисленных форм, система поддерживает еще форму выбора группы справочника, предназначенную для выбора только среди групп, содержащихся в справочнике.

Макеты

Справочнику могут быть сопоставлены несколько макетов, содержащих данные, необходимые для обеспечения работы справочника:

Справочники

Макеты могут использоваться для формирования печатных форм справочника или для отображения дополнительной информации, имеющей отношение к справочнику.

Источник

Объект 1С «Справочники» — это прикладные объекты конфигурации 1С, предназначенные для хранения в информационной базе данных, имеющих одинаковую структуру и списочный характер (например, список сотрудников, перечень товаров, список контрагентов).

Т.о. Справочник предназначен для хранения справочной информации об однотипных объектах и представляет собой список, заполняемый пользователем на этапе исполнения прикладного решения.

Читайте также:  В каких кашах содержатся сложные углеводы

Справочник хранится в таблице. Запись (строка) таблицы определяет объект базы данных – элемент справочника. Но объект базы данных включает не только запись в основной таблице справочника, но и все записи всех табличных частей справочника, относящиеся к данному объекту. Таким образом, объект базы данных включает в себя:

  1. запись основной таблицы;
  2. записи табличных частей.

Объект справочника может быть создан с помощью менеджера справочника. В этом случае создается новый объект, которого еще нет в базе данных. Если его записать, то появится новый объект в базе данных.

Использование справочника:

  1. позволяет избежать многократного ввода одной и той же информации (например, наименования контрагента);
  2. обеспечивает сквозную идентификацию (например, идентификацию контрагента при отгрузке и оплате).

Количество справочников задается на этапе конфигурирования и может быть произвольным.

1С Справочники

Особенности Справочника 1С:

  1. каждый элемент справочника может иметь сложную структуру, задаваемую разработчиком на этапе конфигурирования;
  2. каждый элемент справочника характеризуется кодом и наименованием;
  3. каждый элемент справочника может содержать некоторую дополнительную информацию,  описывающую этот элемент (например, артикул и др.);
  4. поддерживается режим автоматической нумерации элементов (автоматической генерации кода для нового элемента справочника);
  5. позволяет осуществлять контроль уникальности кодов справочника, не разрешая создавать элементы с одинаковыми кодами.

Реквизиты справочника 1С

Реквизиты справочника (документа) 1С – это поля справочника (документа), которые отображаются на форме, и предназначенные для заполнения пользователем в процессе исполнения прикладного решения.

Все справочники содержат два обязательных (предопределенных) реквизита:

  1. Код;
  2. Наименование.

Например, для сотрудников кодом может выступать табельный номер, а наименованием — фамилия, имя и отчество (ФИО).

Помимо кода и наименования, каждый элемент справочника, как правило, содержит некоторую дополнительную информацию, которая подробно описывает этот элемент и хранящуюся в реквизита справочника. Например, для товара это может быть информация об артикуле, упаковке и т.п., а для сотрудников — подразделение и способ приема на работу.

Набор такой информации является одинаковым для всех элементов конкретного справочника.

Рисунок “Реквизиты справочника 1С”

Реквизиты справочника 1С

[свернуть]

Каждый реквизит 1С имеет свойства, отображаемые в палитре свойств реквизита.

Основные свойства реквизитов справочника 1С (в зависимости от Типа могут отличаться)

Основные свойства реквизитов справочника 1С

  1. Имя – наименование реквизита в языке 1С (в имени реквизитов не должно быть пробелов и знаков препинания).
  2. Синоним – отображение наименования реквизита для пользователя в режиме 1С:Предприятие.
  3. Тип – тип данных, хранящихся в реквизите:

    • Число — используется для численных значений;
    • Строка — строковые значения, может быть ограничена по длине;
    • Дата — дата и/или время;
    • Булево — использование флагов (значения Истина/Ложь или Да/Нет);
    • ХранилищеЗначения (хранилище значений 1С) – это объект, который позволяет хранить в базе данных прочие значения, например картинки и файлы, структуры и таблицы значений. (подробнее…);
    • УникальныйИдентификатор — статистически уникальный 128-битный идентификатор, позволяющий создавать расширяемые сервисы и приложения без опасения конфликтов, вызванных совпадением идентификаторов (подробнее здесь и здесь);
    • СправочникСсылка, ДокументСсылка и т.д. — хранит ссылку, идентифицирующую объект в базе данных; используется везде, где нужно хранить ссылку на элемент (подробнее).

Флаг “Составной тип данных” позволяет выбрать несколько типов данных одновременно:

Составной тип данных

В этом случае пользователю в прикладном решении будет отображаться кнопка «Т», при нажатии на которую откроется окно «Выбор типа данных».

[свернуть]

  • Использование (Для элемента; Для группы; Для группы и элемента) — установка «Для группы и элемента» позволит задавать данный реквизит и для элементов иерархического  справочника, и для его групп.
  • Индексировать – позволяет указать системе, что нужно создать дополнительный индекс, содержащий соответствующий реквизит:
    1. «Индексировать» — индекс строится непосредственно по реквизиту. Включать, если требуется только поиск с помощью запроса объектов по данному реквизиту (без упорядочивания). Создаваемый индекс потребляет меньше ресурсов системы.
    2. «Индексировать с доп. упорядочиванием» — для использования в динамических  списках; индекс строится по реквизиту, а также по некоторому полю, которое обычно используется для упорядочивания объектов этого типа. Включать, если требуется просмотр списка с отбором по реквизиту.
  • Полнотекстовый поиск — участие в механизме полнотекстового поиска, позволяет быстро находить нужную информацию в данных информационной базы и в справочной системе.
  • История данных — хранение истории изменения прикладных данных пользователями.
  • Заполнять из данных заполнения — свойство определяет возможность заполнения реквизита из данных заполнения. Используется для заполнения реквизитов из значений текущего отбора списков. Читай также Как программно при открытии формы передать в нее нужные данные заполнения,  Как открыть форму с заполнением.
  • Значение заполнения — см. выше. Читай также Обработчик проверки заполнения.
  • Проверка заполнения — функция ПроверитьЗаполнение() проверяет заполнение реквизитов, у которых свойство «Проверка заполнения» установлено в значение «Показывать ошибку». Если реквизит не заполнен, то выводится сообщение об ошибке (возвращает ЛОЖЬ). Читай также здесь о программной проверке заполнения..
Читайте также:  В каких препаратах содержится бром

[свернуть]

Табличные части справочника 1С

Помимо реквизитов каждый элемент справочника может содержать некоторый набор информации, которая одинакова по своей структуре, но различна по количеству, для разных элементов справочника. Например, для каждого сотрудника в справочнике «Сотрудники» это может быть информация о детях или информация об образовании. Для хранения подобных данных служат табличные части справочника.

Рисунок

Табличные части справочника 1С

[свернуть]

Иерархия элементов справочника 1С

Справочники поддерживают иерархическое расположение элементов (групп элементов). Например, в справочнике Номенклатура могут быть созданы группы «Товары» и «Услуги», в которых располагаются элементы номенклатуры, относящиеся к этим группам.

Виды иерархии элементов справочников 1С:

  1. Иерархия групп и элементов — группы справочника могут включать в себя как элементы, так и другие группы, создавая тем самым многоуровневую иерархическую структуру.

    Рисунок “Закладка “Иерархия” в окне редактирования объекта конфигурации “Справочник”

    Иерархия элементов справочника 1С

    [свернуть]

  2. Иерархия элементов — элементы справочника будут относиться не к группам, а к другим элементам этого же справочника. Такой вид иерархии может использоваться, например, при создании справочника «Задачи», где одна задача может включать в себя несколько других задач.

Подчинение справочников (Список владельцев справочника)

Справочники могут находиться в состоянии подчинения по отношению друг к другу, т.е. элементы одного справочника могут быть подчинены элементам или группам другого справочника. Например, справочник «Кассы» может быть подчинен справочнику «Организации».

Рисунок “Подчинение справочников 1С”

Подчинение справочников (Список владельцев справочника)

[свернуть]

Тогда при оформлении кассовых документов для некоторой организации можно будет выбрать кассу не среди всех имеющихся в программе касс, а среди касс, существующих только в этой организации.

Значения свойства ИспользованиеПодчинения (SubordinationUse):

  • Группам (ToFolders)
  • ГруппамИЭлементам (ToFoldersAndItems)
  • Элементам (ToItems)

Свойство ИспользованиеПодчинения определяет использование ограничение подчинения для групп и элементов подчиненных справочников. Если у справочника несколько владельцев, то ограничение применяется ко всем владельцам.

Справочники допускают также создание предопределенных элементов, которые существуют в справочнике всегда, вне зависимости от действий пользователя. Такие элементы справочника создаются разработчиком при разработке прикладного решения и не могут быть удалены или перемещены пользователем.

Рисунок “Предопределенные элементы справочника 1С”

Закладка «Прочее» в окне редактирования объекта конфигурации «Справочник»:

Предопределенные элементы справочника 1С

[свернуть]

Формы справочника 1С

Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в справочнике, система поддерживает несколько форм представления справочника, которые генерируются автоматически.

Наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию

Форма списка справочника 1С

Форма списка 1С используется для просмотра данных, содержащихся в справочнике, и позволяет:

  • выполнять навигацию по справочнику;
  • добавлять, помечать на удаление и удалять элементы и группы справочника;
  • перемещать элементы и группы.

Форма списка может представлять данные в иерархическом и не иерархическом виде, а также позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям.

Конструктор формы списка справочника на закладке «Далее» всегда позволяет разместить на диалоге список элементов и, кроме того, для иерархических справочников с иерархией групп и элементов, — дерево групп.

Рисунок “Форма списка 1С”

Справочник 1С форма списка

Форма списка 1С

[свернуть]

Форма элемента справочника 1С

Форма элемента справочника 1С используется для просмотра и изменения данных отдельных элементов справочника. Как правило, она представляет данные в удобном для восприятия и редактирования виде.

В конструкторе формы элемента справочника на втором шаге (кнопка «Далее») указать размещение табличного поля, содержащего данные подчиненного справочника, нельзя, такие действия нужно выполнять уже при работе с формой.

Рисунок “Форма элемента справочника 1С”

Форма элемента 1С

Форма элемента справочника 1С

[свернуть]

Форма группы справочника 1С

Система поддерживает отдельный вид формы для групп справочника. Это связано с тем, что, как правило, состав информации, относящейся к группе справочника, намного меньше, чем состав данных, имеющих отношение к отдельным элементам справочника.

Читайте также:  Какая масса азота содержится в 65 растворе азотной кислоты

Форма выбора, форма выбора группы 1С

При различных действиях пользователя в прикладном решении возникает необходимость выбора конкретных элементов справочников. Это может потребоваться, например, при создании приходной накладной, в которой должны быть перечислены определенные товары. В этом случае система использует форму выбора справочника, которая, обычно, содержит минимальный набор информации, необходимой для выбора того, или иного элемента.

Кроме всех перечисленных форм, система поддерживает еще форму выбора группы справочника, предназначенную для выбора только среди групп, содержащихся в справочнике.

Рисунок “Форма выбора группы 1С”

Какая информация содержится в справочниках

Форма выбора группы 1С

[свернуть]

Макеты 1С

Справочнику могут быть сопоставлены несколько макетов, предназначенных

  • для формирования печатных форм справочника или
  • для отображения дополнительной информации, имеющей отношение к справочнику.

Рисунок “Макеты 1С”

Макеты 1С

[свернуть]

Использование программного кода для работы со справочниками 1С

Указанные ниже части программного кода должны размещаться в процедурах, функциях или модулях, выполняемых на стороне сервера (читай Программные модули платформы 1С: предназначение и свойства).

Ссылка на справочник

Для работы со справочником из какого-либо модуля требуется сначала создать ссылку на этот справочник.

// 1 вариант

Сотрудники = Справочники.Сотрудники; 

// 2 вариант

Должности = Справочники[“Должности”];

[свернуть]

Создание и запись нового элемента справочника

//создаем новый элемент справочника

НовЭлемент = Справочники.Сотрудники.СоздатьЭлемент();

//определяем значения реквизитов нового элемента справочника

НовЭлемент.Наименование = “Иванов Иван Иванович”;

НовЭлемент.Подразделение = “Администрация”;

НовЭлемент.Оклад = 10000;

 // записываем новый элемент в базу данных

НовЭлемент.Записать();

[свернуть]

Поиск элемента справочника

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

// если элемент найден, то он возвращается, иначе возвращается значение <Неопределено>

//обращаемся к справочнику Сотрудники

СпрСотрудники = Справочники.Сотрудники;

//ищем сотрудника по коду

Сотрудник = СпрСотрудники.НайтиПоКоду(25);   

//или ищем по наименованию

Сотрудник = СпрСотрудники.НайтиПоНаименованию(“Иванов Иван Иванович”); 

 //или ищем по реквизиту

Сотрудник = СпрСотрудники.НайтиПоРеквизиту(“Оклад”, 10000);   

//проверяем значение

Если Сотрудник = Неопределено Тогда

//действия в случае, если элемент не найден

КонецЕсли;

[свернуть]

Перебор элементов справочника

Выборка = Справочники.Сотрудники.Выбрать();

// начало перебора элементов справочника в цикле

Пока Выборка.Следующий() = 1 Цикл 

//действия с очередным элементом …

Сообщить(“Сотрудник ” + Выборка.Наименование);

КонецЦикла;

[свернуть]

Удаление элемента справочника

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

СпрСотрудники = Справочники.Сотрудники;

//непосредственное удаление текущего элемента справочника

СпрСотрудники.Удалить();

// проверка, помечен ли элемент на удаление

Пометка = СпрСотрудники.ПометкаУдаления; //обратите внимание: это свойство

Если Пометка = Истина Тогда

//элемент помечен на удаление

КонецЕсли;

//установить пометку на удаление

СпрСотрудники.УстановитьПометкуУдаления (Истина); 

//снять пометку на удаление

СпрСотрудники.УстановитьПометкуУдаления (Ложь);

[свернуть]

Создание и запись новой группы справочника (для иерархического справочника)

// 1 вариант 

НовГруппа = Справочники.Сотрудники.СоздатьГруппу();

НовГруппа.Наименование = “Работающие”;

НовГруппа.Записать(); 

// 2 вариант 

НовГруппа = Справочники[“Сотрудники”].СоздатьГруппу();

НовГруппа.Наименование = “Работающие”;

НовГруппа.Записать();

[свернуть]

Перебор элементов внутри группы (родителя)

СпрСотрудники = Справочники.Сотрудники;

ГруппаРаботающие = СпрСотрудники.НайтиПоНаименованию(“Работающие”);

Выборка = СпрСотрудники.Выбрать(ГруппаРаботающие);

Пока Выборка.Следующий() = 1 Цикл

   //действия с очередным элементом

Сообщить(“Сотрудник ” + Выборка.Наименование);

КонецЦикла;

[свернуть]

Перебор элементов справочника, принадлежащих элементу другого справочника (владельца)

Пусть справочник «Кассы»подчинен другому справочнику «Организации».

Выборка = Справочники.Кассы.Выбрать( ,Организация); 

// где Организация – ссылка на элемент справочника “Организации”,

//см. также справку по СправочникМенеджер.<Имя справочника>

Пока Выборка.Следующий() = 1 Цикл

   //действия с очередным элементом

Сообщить(“касса ” + Выборка.Наименование);

КонецЦикла;

[свернуть]

Транзакция при работе со справочниками 1С

Транзакция — логически связанная, неделимая последовательность действий: транзакция может быть либо выполнена целиком, либо вообще не выполнена.

Транзакция при работе со справочниками используется:

  • при создании множества элементов справочника для ускорения работы;
  • для повышения надежности операций (в случае какого-либо сбоя транзакция не выполняется, изменения не вносятся, все останется также, как до запуска транзакции).

Транзакции широко применяются в банковской сфере.

Транзакции в 1С могут быть:

  1. созданы автоматически (примеры — обработка проведения документа, запись элемента справочника в базу данных, запись набора записей регистра сведений и т.д.);
  2. описаны разработчиком с помощью методов:
    • ТранзакцияАктивна() — узнать, активна ли транзакция;
    • НачатьТранзакцию() — активация транзакции;
    • ЗафиксироватьТранзакцию() — фиксация результатов транзакции;
    • ОтменитьТранзакцию() —  отмена действия транзакции.

ВАЖНО! 1С не поддерживает вложенных транзакций:

  • если вы несколько раз открываете транзакцию, она «сливается» в одну;
  • если вы фиксируете или отменяете подобную транзакцию, то это действие производится со всеми транзакциями, активируемыми ранее.

СпрСотрудники = Справочники.Сотрудники;

НачатьТранзакцию();

Для Ном = 1 По 100 Цикл

   Нов = СпрСотрудники.СоздатьЭлемент();

   Нов.Наименование = “Новый ” + Строка(Ном);

   Нов.Записать();

КонецЦикла;

ЗафиксироватьТранзакцию();

[свернуть]

Источник