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

Содержание
  1. Особенности Справочника 1С:
  2. Структура справочника
  3. Формы справочника
  4. Форма списка
  5. Форма элемента
  6. Форма группы
  7. Форма выбора, форма выбора группы
  8. Макеты
  9. Создание элемента справочника
  10. Поиск элементов справочника
  11. Удаление элементов справочника
  12. Обход элементов справочника
  13. Выбор элементов справочника запросом
  14. Открытие форм справочника
  15. Справочники в конфигураторе 1С 8
  16. Вкладка «Основные»
  17. Вкладка «Иерархия справочника»
  18. Вкладка «Владельцы»
  19. Вкладка «Данные»
  20. Вкладка «Нумерация»
  21. Вкладка «Формы»
  22. Вкладка «Прочее»
  23. Реквизиты справочников 1С
  24. Табличные части справочников 1С
  25. Подчиненные справочники 1С
  26. Иерархический справочник 1С
  27. Создание и перенос справочника в 1С 8.3
  28. Подчинение справочников (Список владельцев справочника)
  29. Значения свойства ИспользованиеПодчинения (SubordinationUse):
  30. Использование программного кода для работы со справочниками 1С

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

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

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

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

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

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

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

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

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

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

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

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

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

Форма списка

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

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

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

Форма группы

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

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

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

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

Макеты

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

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

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

Создание новых элементов и групп справочника производится с помощью программного объекта СправочникМенеджер.<Имя справочника>. Данный объект доступен только на сервере.
Создание нового элемента или группы справочника состоит из следующих этапов:

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

Создание новой группы:

НоваяГруппа = Справочники.Контрагенты.СоздатьГруппу // Создание группы НоваяГруппа.Наименование = "Покупатели" // Заполнение наименования НоваяГруппа.Записать // Запись группы 

Создание нового элемента:

НовыйЭлемент = Справочники.Контрагенты.СоздатьЭлемент // Создание элемента НовыйЭлемент.Родитель = Справочники.Контрагенты.НайтиПоНаименованию("Покупатели" // Заполнение родителя НовыйЭлемент.Наименование = "Ромашка ООО" // Заполнение наименования НовыйЭлемент.ИНН = "123456789" // Заполнение реквизита  // Добавление новой строки табличной части НоваяСтрока = НовыйЭлемент.КонтактнаяИнформация.Добавить НоваяСтрока.Тип = "Адрес" НоваяСтрока.Представление = "Москва" НовыйЭлемент.Записать // Запись элемента 

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

Для поиска элементов справочников в языке программирования 1С предусмотрено несколько методов:

  • НайтиПоКоду(<Код>, <ПоискПоПолномуКоду>, <Родитель>, <Владелец>)
  • НайтиПоНаименованию(<Наименование>, <ТочноеСоответствие>, <Родитель>, <Владелец>)
  • НайтиПоРеквизиту(<ИмяРеквизита>, <ЗначениеРеквизита>, <Родитель>, <Владелец>)

Во всех методах если поиск успешный, то будет возвращена ссылка на найденный элемент.

НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоКоду("123" // Поиск контрагента с кодом "123" НайденныйДоговор = Справочники.ДоговорыКонтрагентов.НайтиПоКоду("1", , , НайденныйКонтрагент // Поиск подчиненного найденному контрагенту договора с номером "1" НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию("Покупатели" // Поиск элемента с наименованием "Покупатели" НайденныйКонтрагент1 = Справочники.Контрагенты.НайтиПоНаименованию("Ромашка ООО", , НайденныйКонтрагент // Поиск элемента с наименованием "Ромашка ООО" в группе "Покупатели" НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", "123456789" // Поиск контрагента с ИНН "123456789" 

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

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

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

Пометку на удаление можно установить/снять двумя разными способами:

// Способ 1. Использование метода УстановитьПометкуУдаления() НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоКоду("123" КонтрагентОбъект = НайденныйКонтрагент.ПолучитьОбъектКонтрагентОбъект.УстановитьПометкуУдаления(Истина); // Способ 2. Изменение свойства ПометкаУдаления НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоКоду("123" КонтрагентОбъект = НайденныйКонтрагент.ПолучитьОбъект КонтрагентОбъект.ПометкаУдаления = Истина; КонтрагентОбъект.Записать

Пример непосредственного удаления элемента справочника:

НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоКоду("123" КонтрагентОбъект = НайденныйКонтрагент.ПолучитьОбъект КонтрагентОбъект.Удалить

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

Для обхода элементов справочника в языке программирования 1С предусмотрено два метода:

  • Выбрать(<Родитель>, <Владелец>, <Отбор>, <Порядок>)
  • ВыбратьИерархически(<Родитель>, <Владелец>, <Отбор>, <Порядок>)

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

Рассмотрим примеры обхода элементов справочника:

// Обход всех элементов справочника Контрагенты Выборка = Справочники.Контрагенты.Выбрать // Получение выборки всех элементов справочника Пока Выборка.Следующий() Цикл //действия с очередным элементом Сообщить(Выборка.Наименование // Обход контрагентов из группы "Покупатели" ГруппаПокупатели = Справочники.Контрагенты.НайтиПоНаименованию("Покупатели" Выборка = Справочники.Контрагенты.Выбрать(ГруппаПокупатели Пока Выборка.Следующий() Цикл Сообщить(Выборка.Наименование // Обход договоров контрагента "Ромашка ООО" НайденныйКонтрагент = Справочники.Контрагенты.НайтиПоНаименованию("Ромашка ООО" Выборка = Справочники.ДоговорыКонтрагентов.Выбрать(, НайденныйКонтрагент Выборка.Следующий() Цикл Сообщить(Выборка.Наименование // Обход контрагентов с пустым ИНН // Реквизит ИНН должен быть проиндексирован! Отбор = Новый Структура("ИНН", "" // Структура может содержать только один элемент Выборка = Справочники.Контрагенты.Выбрать(, , Отбор Выборка.Следующий() Цикл Сообщить(Выборка.Наименование

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

Поиск данных в базе 1С предпочтительнее выполнять при помощи запросов. Запрос позволяет описать практически любые условия для отбора, в отличие от методов Выбрать() и ВыбратьИерархически(), на которые накладываются существенные ограничения. К тому же, в большинстве случаев работа с использованием запросов быстрее, чем работа с использованием программного кода.

Простой пример поиска и вывода товаров со стоимостью больше 1000:

Запрос = Новый Запрос Запрос.Текст = "ВЫБРАТЬ | Товары.Наименование |ИЗ | Справочник.Товары КАК Товары |ГДЕ | Товары.Стоимость > 1000" Выборка = Запрос.Выполнить().Выбрать Выборка.Следующий() Цикл Сообщить(Выборка.Наименование

Открытие форм справочника

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

ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>) 

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

ПоказатьЗначение(<ОписаниеОповещенияОЗавершении>, <Значение>) 

Кроме методов ОткрытьФорму() и ПоказатьЗначение() есть и другие (ОткрытьФормуМодально, ОткрытьЗначение, ПолучитьФорму), но их использование не рекомендуется, т.к. часть этих методов использует режим модального открытия, часть противоречит свежим рекомендациям фирмы 1С.

Приведем примеры программного открытия форм справочника:

// Открыть форму списка ОткрытьФорму("Справочник.Контрагенты.ФормаСписка" // Открыть форму элемента // Контрагент – реквизит формы, заполняемый пользователем интерактивно ПоказатьЗначение(, Контрагент // Еще один способ открытия формы элемента ПараметрыОткрытия = Новый Структура("Ключ", Контрагент ОткрытьФорму("Справочник.Контрагенты.Форма.ФормаЭлемента", ПараметрыОткрытия // Открыть форму группы // ГруппаКонтрагентов– реквизит формы, заполняемый пользователем интерактивно ПоказатьЗначение(, ГруппаКонтрагентов // Еще один способ открытия формы группы ПараметрыОткрытия = Новый Структура("Ключ", ГруппаКонтрагентов ОткрытьФорму("Справочник.Контрагенты.Форма.ФормаГруппы", ПараметрыОткрытия

Внимание!

Следует понимать, что интерактивная работа (в том числе открытие форм) в 1С возможна только на стороне клиента. В то же время поиск и изменение данных возможны только на стороне сервера.

Справочники в конфигураторе 1С 8

Ниже мы рассмотрим настройку и проектирование справочника из конфигуратора на примере справочника «Номенклатура».

Вкладка «Основные»

На вкладке «Основные» указывается имя, синоним, представление объектов, описание назначения.

Вкладка «Иерархия справочника»

Здесь устанавливается иерархичность справочника.

Иерархия в 1С 8.3 бывает двух типов — «групп и элементов» и «элементов«. Отличается тем, что в первом случае родителем (папкой) может быть только папка (группа), а во втором случае родителем может быть и элемент.

«Размещать группы сверху» — флаг отвечает за отображение групп в форме списка.

Также в настройках можно ограничить количество групп иерархии справочника соответствующей настройкой.

Вкладка «Владельцы»

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

Владельцем справочника могут также быть следующие объекты метаданных: планы обмена, планы видов характеристик, планы счетов, планы видов расчета.

Вкладка «Данные»

Самая важная вкладка с точки зрения программиста. На ней указываются реквизиты справочника.

У справочника есть набор стандартных реквизитов, которые не редактируются программистом 1С 8.2, список их можно увидеть, нажав кнопку «Стандартные реквизиты»:

Остановлюсь на каждом подробнее:

  • ЭтоГруппа — реквизит с типом булево, показывающий, группа это или элемент. Доступен только в иерархическом справочнике. Обратите внимание, значение этого реквизита невозможно изменить в режиме 1С: Предприятие.
  • Код — реквизит, тип число или строка (как правило строка). Номер, присваиваемый системой автоматически. Как правило, рассчитывается как (предыдущий код + 1). Рекомендую использовать именно строковый тип, потому как сортировка числовых значений происходит не так, как нужно. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Код, укажите в длине строки ноль.
  • Наименование — реквизит, обязательный к заполнению, строкового типа. Максимальная длина строки — 150 символов. Можно использовать как представление справочника в списке и в полях ввода. Как правило, используется для поиска элемента при вводе по строке. Если Вам нужно убрать поле Наименование, укажите в длине строки ноль.
  • Родитель — реквизит, имеющий тип СправочникСсылка.<ИмяТекущегоСправочника>. Доступен только в иерархическом справочнике. Указывает на вышестоящего родителя в иерархии. Если Элемент или Группа находятся в корне справочника, указывается значение Справочник.<ИмяТекущегоСправочника>.ПустаяСсылка.
  • Владелец — ссылка на элемент-владелец текущего элемента (группы) справочника. Доступен только в подчиненном справочнике 1С.
  • ПометкаУдаления — реквизит с типом булево. Отвечает за отображение «пометки удаления» в системе. Помеченный на удаление элемент считается непригодным к использованию, однако на нём могут оставаться старые движения в документах.
  • Ссылка — поле строкового типа. В этом реквизите хранится уникальный идентификатор объекта — GUID. То, что в системе мы видим в визуальном отображении под название «ссылка», — это всего лишь представление объекта. Невозможно изменить.
  • Предопределенный — тип булево, отображает, является ли элемент предопределенным, об этом позже. Невозможно изменить.

На вкладке «Данные» так же указывается представление справочника в системе, до версии 8.2.16 представление могло быть лишь Кодом или Наименованием. В свежих версиях платформы (начиная с 8.3) представление можно описать самостоятельно в модуле менеджера с помощью обработчика «ОбработкаПолученияПредставления».

Вкладка «Нумерация»

Здесь указываются настройки справочника по части нумерации. Рекомендуется использовать именно автонумерацию. Контроль уникальности — флаг, который помогает, если нужно, сделать код уникальным. Если с установленным флагом Вы попытаетесь записать элемент справочника с неуникальным кодом, в 1С Вы получите сообщение «Код справочника стал неуникальным».

Серия кодов — определяет, как нумеровать справочник, можно ввести нумерацию справочника в разрезе владельца. Например, у контрагента «Рога и копыта» будет иметься своя нумерация договоров — «1, 2, 3» и тд.

Вкладка «Формы»

Тут описываются формы для справочника. Если конфигурация запускается как в обычном, так и управляемом режиме, тогда вкладок с формами по умолчанию будет две: «основные» и «дополнительные» — для обычного и управляемого приложения разные.

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

Вкладка «Прочее»

На вкладке можно получить быстрый доступ к основным модулям справочника — модулю объекта и модулю менеджера.

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

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

Минивидео, как работать со справочниками:

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

Реквизиты справочников 1С создаются на закладке Данные в окне реквизитов.

В качестве реквизитов справочника могут выступать, как примитивные типы, так и ссылочные. Например, мы уже создали справочник ВидыТоваров, а сейчас создадим справочник Товары, где будут реквизиты Артикул (тип Строка) и ВидТовара (ссылка на справочник ВидыТоваров).

В режиме «1С: Предприятия» это будет выглядеть следующим образом.

Обращаю внимание, на что влияет свойство «Основное представление» (закладка Данные конструктора справочника). Если у нас основное представление в виде наименования, то представление элемента справочника в каком-либо реквизите будет в виде наименование этого элемента, как на рисунке представлен элемент справочника ВидыТоваров в реквизите справочника Товары. А если основное представление в виде кода, то тогда представление этого элемента будет в виде кода элемента.

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

Табличные части создаются на закладке «Данные» в конструкторе справочника.

Можно создавать неограниченное количество табличных частей.

Сделаем справочник Комплектация, у которого будет табличная часть Состав.

У табличной части может быть неограниченное количество реквизитов. Для того, чтобы создать реквизит табличной части, её необходимо выделить и нажать на кнопку «Добавить реквизит».

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

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

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

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

У справочника Товары сделаем реквизит основная единица измерения (ссылка на справочник классификатор единиц измерения)

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

Создадим справочник ЕдиницыИзмерения.

На закладке Владельцы установим, что владельцем этого справочника является справочник Товары.

И создадим реквизиты: Коэффициент (тип число) и единица измерения (тип ссылка на справочник «Классификатор единиц измерения»).

Вот как это будет выглядеть в режим «1С: Предприятия».

Иерархический справочник 1С

Любой справочник можно сделать Иерархическим – это значит, что пользователь сможет создавать каталоги (или, говоря простым языком, папки), в которых будут содержаться элементы.

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

Иерархия у справочников бывает двух видов: Иерархия групп и элементов и просто Иерархия элементов.

Иерархия групп — это каталоги, которые в себе содержат определенные элементы. А что такое Иерархия элементов? Это когда один элемент подчинен другому.

Посмотрим, как выглядит иерархический справочник в «1С:Предприятии»

Как видите, в форме списка появилось две команды. «Создать» и «Создать группу». При выполнении команды «Создать» будет открыта форма на создание нового элемента, а при выполнении команды «Создать группу» — форма на создание группы (папки).

Вы можете создавать нужные группы, в этих группах создавать элементы, или переносить уже созданные элементы в группы.

Создание и перенос справочника в 1С 8.3

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

  • Имя/Синоним. Первый реквизит отвечает за имя объекта в конфигурации, второй – за название в режиме предприятия;
  • Представление объекта используется при открытии одного элемента справочника;
  • Представление списка используется при просмотре списка данных справочника;
  • Пояснение – справка для пользователей.
Рис.10 Создание справочника

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

Рис.11 Добавляем справочник в подсистему

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

Рис.12 Тип «Иерархия элементов»

Помимо стандартного набора нам потребуется еще несколько реквизитов и табличная часть для перечня сотрудников. Для этого нужно добавить их на вкладке «Данные» в соответствующих разделах.

Рис.13 Внесение реквизитов

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

Рис.14 Задаем форму элемента

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

Рис.15 Список подразделений

Многие компании работают с несколькими базами 1С, поэтому разработчик может столкнуться с переносом созданного справочника в другую базу. Для этого вместе с большинством конфигураций поставляется внешняя обработка – «Выгрузка и загрузка данных XML». Но перед тем как осуществить перенос справочников 1С 8.3, необходимо подготовить конфигурацию-приемник. В ней должен быть создан аналогичный объект конфигурации с идентичными полями и табличными частями.

При открытии данной обработки, нам необходимо указать, какие объекты мы хотим перенести и выбрать файл. Затем запущенная выгрузка справочника создает XML-файл, куда записывает все данные.

Рис.16 XML-файл

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • https://flagman.top/about-business/ehkzamen-1s/obekt-1s-spravochniki
  • https://v8.1c.ru/platforma/spravochniki/
  • https://pro1c8.ru/programmnaya-rabota-spravochniki/
  • https://programmist1s.ru/spravochniki-1s-8/
  • https://www.1s-up.ru/spravochniki-v-1s-8-3/
  • https://wiseadvice-it.ru/o-kompanii/blog/articles/spravochniki-v-1s-8-3-sozdanie-zapolnenie-perenos-dannyh/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: