Что такое реквизит объекта конфигурации справочник

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

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

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

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

Причем система скрывает от разработчика всю «техническую» часть, связанную с хранением данных: в базе данных для справочника
создаются несколько таблиц, эти таблицы связываются по уникальному полю (Ссылка), поля таблиц имеют определенные типы и т.д.
Все это система делает сама. Нам лишь нужно добавить в объект конфигурации Справочник подчиненный ему объект ТабличнаяЧасть.

Простой справочник

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

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

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

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

Откроем в конфигураторе нашу учебную конфигурацию, выделим в дереве объектов конфигурации ветвь Справочники
и нажмем кнопку «Добавить» в командной панели окна конфигурации.

В открывшемся окне редактирования объекта конфигурации зададим имя справочника – Клиенты.
На основании имени платформа автоматически создаст синоним – Клиенты. Напомним, что свойство Синоним
служит для представления объекта в интерфейсе нашей программы.

Представления объекта конфигурации

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

Если синоним задан во множественном числе, то для команды открытия списка это вполне подходит – Клиенты,
то есть посмотреть всех клиентов. Но для команды создания элемента справочника –
одного клиента – это неудачный вариант. Для этой команды нужно задать представление в единственном
числе – Клиент. Представление объекта как раз и используется для того, чтобы описать, как будет выглядеть
в интерфейсе команда добавления нового клиента. Также оно будет использовано в заголовке формы клиента
(если не указано расширенное представление объекта) и в представлении ссылки на клиента.

Расширенное представление объекта определяет заголовок формы объекта, например формы для создания нового
элемента справочника. Если это свойство не задано, то вместо него используется свойство Представление объекта.
Представление списка определяет название списка объектов и используется в названии стандартной команды,
например, команды открытия списка объектов – Клиенты. Представление списка нужно
задавать тогда, когда синоним задан в единственном числе.

Например, это часто бывает у документов (Приходная накладная). Тогда в представлении списка нужно
указывать название объекта конфигурации во множественном числе (Приходные накладные).
Расширенное представление списка определяет заголовок формы списка, например формы списка справочника.
Если это свойство не задано, то вместо него используется свойство Представление списка.
Зададим два свойства Представление объекта – Клиент и Представление списка – Клиенты. Последнее можно было
и не задавать, так как синоним справочника совпадает со свойством Представление списка.

Представления объекта

Принадлежность объекта к подсистемам

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

В списке подсистем мы видим подсистемы, созданные нами ранее при определении структуры приложения.
Логично предположить, что список клиентов должен быть доступен в разделе Оказание услуг, так
как оказываемые услуги относятся к определенному клиенту. Бухгалтерская отчетность, формируемая
в разделе Бухгалтерия, также может быть представлена в разрезе клиентов. Поэтому отметим в списке подсистемы
Бухгалтерия и ОказаниеУслуг.

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

Состав подсистем

Обратите внимание, что на закладке Состав также можно изменять список объектов, входящих в подсистему.

Код и наименование справочника

Теперь вернемся к окну редактирования объекта конфигурации Справочник и нажмем на закладку Данные.

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

Длина кода – 9 символов. В результате мы сможем использовать коды от 1 до 999999999 – этого вполне достаточно
для нашего примера.

Перейдем к длине наименования. 25 символов для нас явно мало, увеличим длину наименования до 50.

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

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

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

Состав стандартных реквизитов справочника

В палитре свойств стандартного реквизита Наименование установим свойство Синоним как Ф. И. О.

Палитра свойств стандартного реквизита «Наименование»

Обратите внимание, что мы изменили синоним реквизита объекта конфигурации, а не реквизита формы.
В данном случае форма элемента справочника Клиенты вообще сгенерирована системой автоматически.

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

Заодно обратите внимание, что свойство Проверка заполнения по умолчанию установлено в значение Выдавать ошибку.
Это означает, что если реквизит Наименование не заполнен, то будет выведено сообщение об ошибке.

Команда добавления нового элемента

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

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

Сделаем доступной в панели команд раздела ОказаниеУслуг стандартную команду для создания новых клиентов.
Для этого откроем окно редактирования объекта конфигурации Подсистема ОказаниеУслуг и нажмем кнопку
Командный интерфейс.

Вызов настройки командного интерфейса подсистемы

В открывшемся окне Командный интерфейс отразятся все команды этой подсистемы.

При создании справочника в группу Панель навигации.Обычное добавилась команда Клиенты для открытия этого
списка. Она включена по умолчанию. В группу Панель действий.Создать добавилась команда Клиент: создать для
создания нового элемента справочника, но она невидима по умолчанию. Включим видимость у этой команды.

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

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

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

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

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

Что такое реквизиты 1С?

Мы с Вами недавно обсуждали справочники 1С и документы 1С. Работа пользователя со справочниками и документами в 1С состоит из заполнения полей на форме.

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

Рассмотрим подробно тему реквизитов в 1С.

Что такое Реквизиты 1С

Каждый справочник и документ 1С состоит из набора полей. Такие поля называются реквизиты 1С (для программиста 1С).

В конфигураторе, в дереве конфигурации 1С, раскройте любой справочник или документ и Вы увидите ветку Реквизиты. Это список реквизитов (полей) справочника.

Поглядите как те же реквизиты 1С выглядят на форме справочника 1С.

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

Нажмите правой кнопкой на любой реквизит 1С и нажмите Свойства. В окне справа откроется список свойств выбранного реквизита.

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

  • Имя – наименование реквизита 1С в языке 1С (внимание – в имени реквизитов не должно быть пробелов и знаков препинания)
  • Синоним – наименование реквизита каким его увидит пользователь в режиме Предприятие
  • Тип – указывает какие данные можно будет хранить в реквизите 1С, нажмите на кнопку «…», чтобы изменить тип; основные типы:
    o Число — используется для цифр, а также для радиопереключателя
    o Строка — может быть ограничена по длине, дело в том, что не везде возможно использование неограниченной длины
    o Дата
    o Булево — для того, чтобы на форме была галочка (значения Истина/Ложь или Да/Нет)
    o СправочникСсылка или ДокументСсылка – выбор значения справочника или документа.

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

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

Стандартные реквизиты 1С

Как Вы заметили, на форме справочника есть реквизиты 1С, которые отсутствуют в списке в конфигураторе: группа, наименование, БИК.

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

Это – стандартные реквизиты 1С. Что это такое? У каждого объекта 1С есть набор реквизитов 1С по умолчанию. У справочников это, например – код и наименование. У документов это – дата и номер.

Стандартные реквизиты 1С можно посмотреть следующим образом:

  • Зайдите в редактор объекта 1С (справочника или документа), нажав на него два раза мышкой
  • В открывшемся редакторе выберите закладку Данные
  • Здесь Вы можете настроить стандартные реквизиты Код и Наименование справочника
  • Нажмите кнопку Стандартные реквизиты 1С, чтобы посмотреть полный список.

Общие реквизиты 1С

Начиная с версии 1С 8.2.14 в 1С появился новый Объект 1С – Общие реквизиты 1С. С помощью него можно добавить реквизит (поле), который будет присутствовать сразу во множестве справочников и документов.

Свойства общего реквизита 1С:

  • Автоиспользование – добавляет общий реквизит 1С сразу во все справочники и документы
  • Состав – позволяет добавить общий реквизит 1С только в нужные справочники и документы (автоиспользование тогда в значение Не использовать).

Как добавить реквизит 1С

Нажмем правой кнопкой на ветку Реквизиты 1С нужного справочника и выберем Добавить.

Введем нужно Имя реквизита 1С, например «АдресОфиса» и синоним «Адрес офиса». Тип оставим по умолчанию Строка, но поставим галочку Неограниченная длина.

Добавим еще один реквизит 1С точно так же, только выберем тип Булево, назовем его «РаботаетПоВыходным».

Как вывести реквизит на форму 1С (толстый клиент 1С)

Раскроем ветку Формы того же справочника. Чтобы открыть форму — выберем форму элемента и нажмем на нее два раза мышкой.

Потяните мышкой за край формы и растяните ее (необязательный пункт).

В панели конфигуратора нажмите кнопку «Размещение данных». Также можно использовать меню Форма / Размещение данных.

Вы видите – наши реквизиты на форму не выведены. Установите на них галочку. А также галочки Вставить надписи и Разместить автоматически.

Вуаля!

Как вывести реквизит на форму 1С (тонкий клиент 1С)

Раскроем ветку Формы того же справочника. Выберем форму элемента и нажмем на нее два раза мышкой.

На закладке Реквизиты раскройте строку Объект. Вы увидите список реквизитов, добавленных ранее в справочник.

Теперь просто перетяните из правого окна в левую нужный реквизит и он появится на форме.

Вуаля!

Реквизиты формы 1С

В толстом клиенте у формы есть свои собственные реквизиты. Они находятся на закладке Реквизиты.

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

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

Периодические реквизиты 1С

В 1С версии 7.7 были периодические реквизиты. Их смысл таков: значение у реквизита разное в разные даты. Например, значение на 1 сентября – одно, а на 1 октября – другое. У одного и того же реквизита.

В 1С 8 периодических реквизитов нет. Это реализуется следующим образом:

  • Добавляем регистр сведений и делаете его периодическим. Период может быть – секунда, день, месяц, квартал, год.

  • Добавляем измерение, у которого тип – нужный нам справочник (которому мы делаем периодический реквизит)

  • Добавляем в регистр сведений нужный реквизит (или несколько). Они будут периодические.

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

Загрузка…

Продолжение одинэсной темы, ответы на книгу Радченко, занятие 2 и 3.

Для чего используется объект конфигурации «Подсистема»?
Подсистема — основной элемент для построения интерфейса 1С:Предприятие. Подсистемы выделяют в конфигурации функциональные части, на которые логически разбивается прикладное решение.

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

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

Управление порядком вывода подсистем.

Что такое окно редактирования объекта конфигурации и в чем его отличие от панели свойств?

Окно редактирования — в основном используется для создания новых объектов.
Палитра свойств — не привязано к конкретному объекту конфигурации.

Занятие 3.

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

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

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

Зачем нужны иерархические справочники и что такое Родитель?
Иерархические справочники нужны для группировки элементов справочника по какому-либо признаку или принципы. Различаются несколько типов иерархий: иерархия групп и элементов — элемент справочника, представляющий группу — родитель для всех элементов и групп, входящих в эту группу;
Иерархия элементов — родителем является не группой элементов справочника, а непосредственно сам элемент.

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

Какие основные формы существуют у справочника?
Форма элемента — для редактирования или создания элемента справочника;
Форма группы — для редактирования или создания группы справочника;
Форма списка — для отображения списка элементов в справочнике;
Форма выбора группы — для выбора одной из группы справочника;

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

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

Как пользователь может отличить обычный элемент от предопределенного?
С помощью пиктограммы 

Как создать объект конфигурации справочник и описать его структуру?
Создать новый справочник — структура — на вкладках иерархия, данные, рисунки сюда

На вкладке Иерархия можно выбрать тип иерархии элементов.
На вкладке Данные происходит определение реквизитов и табличных частей

Как добавить в справочник новый элемент?
Через режим 1С:Предприятие.

Для добавления элемента необходимо нажать на кнопку «Создать».

Как создать группу справочника?
Через режим 1С:Предприятие

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

Как переместить элемент из одной группы в другую?
Правый клик по элементу, «переместить в группу» 

Зачем нужна основная конфигурация и конфигурация Базы Данных?
Основная конфигурация — конфигурация для разработчика. Конфигурация Базы Данных — для работы с пользователями.

Как изменить конфигурацию Базы Данных?
Никак. Можно только провести обновление до состояния основной конфигурации.

Как связаны объекты конфигурации и объекты базы данных?
Объекты конфигурации описывают хранилища, таблицы. А объекты Базы Данных — записи, которые содержатся в этих таблицах.

Что такое подчиненные объекты конфигурации?
Реквизиты, табличные части и др.

Зачем нужна проверка заполнения реквизитов у справочника?
Чтобы пользователь не мог ввсети пустые или некорректные записи.

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

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

Как отобразить команды создания нового элемента справочника в интерфейсе подсистем?
Общие — подсистемы — все подсистемы — галка «Номенклатура: создать»

Как редактировать командрый интерфейс подсистемы?
Общие — подсистемы — все подсистемы. Вверху — поле «Командный интерфейс»

Какие стандартные панели используются в интерфейсе приложения, и как выполнить настройку расположения этих панелей в конфигураторе и в режиме «1С:Предприятие»?

Панель разделов; панель команд текущего раздела (если они заданы; содержит команды, соответствующие выделенному разделу; в начале панели расположены команды, позволяющие открыть какие-либо списки, а затем команды, позволяющие создать новые элементы данных, сформировать какой-нибудь отчёт или выполнить обработку); панель инструментов и информационная панель (панель избранного, панель истории, панель открытых…).
Настройка расположения этих панелей в конфигураторе выполняется следующим образом:
Выделим корень дерева объектов нашей конфигурации, нажатием правой кнопки мыши вызовем контекстное меню и выберем пункт «Открыть интерфейс клиентского приложения». В появившемся окне справа находится список всех стандартных панелей прикладного решения. Перетаскиванием их в левую часть окна или удалением их оттуда настроим желанное отображение панелей.
Настройка расположения сиих панелей в режиме «1С:Предприятие» осуществляется так:
Главное меню -> Вид -> Настройка панелей -> Выделением и перетаскиванием мышью настроим желанное отображение панелей.

Занятие 3

Справочники

Продолжительность

Ориентировочная продолжительность занятия – 2 часа 10 минут.

Что такое справочник…………………………………………………………………………………………..

52

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

58

Простой справочник…………………………………………………………………………………………….

64

Представления объекта конфигурации………………………………………………………..

65

Принадлежность объекта к подсистемам.……………………………………………………

67

Код и  наименование справочника.……………………………………………………………..

68

Команда добавления нового элемента.……………………………………………………….

71

Панель команд текущего раздела……………………………………………………………….

74

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

75

Справочник с  табличной частью………………………………………………………………………….

83

Табличная часть…………………………………………………………………………………………

86

Заполнение табличной части………………………………………………………………………

91

Иерархический справочник………………………………………………………………………………….

94

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

99

Перенос элементов в  другие группы…………………………………………………………

102

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

105

Свойство «Быстрый выбор»………………………………………………………………………

107

Предопределенные элементы…………………………………………………………………..

108

Теория………………………………………………………………………………………………………………

112

Предопределенные элементы………………………………………………………………………

112

Основная конфигурация и  конфигурация базы данных…………………………………

113

Контрольные вопросы……………………………………………………………………………………….

118

52 1С:Предприятие 8.3. Практическое пособие разработчика

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

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

Кроме этого, вы узнаете еще об одном объекте конфигурации – Форма. Узнаете, какие виды форм существуют у  объекта конфигурации Справочник и  в каких ситуациях они используются.

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

Что такое справочник

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

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

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

Каждый элемент справочника, как правило, содержит некоторую дополнительную информацию, которая подробнее описывает этот элемент. Например, все элементы справочника Товары могут содержать дополнительную информацию о производителе, сроке годности и  др. Набор такой информации является одинаковым для всех элементов справочника, и  для описания такого набора используются реквизиты объекта конфигурации Справочник, которые также, в  свою очередь, являются объектами конфигурации (рис. 3.2).

Занятие 3 53

Рис. 3.1. Справочник «Товары» в  режиме «Конфигуратор», в  режиме «1С:Предприятие» и  в базе данных

Рис. 3.2. Стандартные реквизиты справочника и  реквизиты, созданные разработчиком

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

54 1С:Предприятие 8.3. Практическое пособие разработчика

Большинство реквизитов разработчик создает самостоятельно, однако у  каждого объекта конфигурации Справочник по умолчанию существует набор стандартных реквизитов: Код и  Наименование и  пр. (см. рис. 3.2). Причем доступность стандартных реквизитов зависит от свойств справочника.

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

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

Рис. 3.3. Справочник «Товары» в  режиме «Конфигуратор», в  режиме «1С:Предприятие» и  в базе данных

Занятие 3 55

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

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

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

(рис. 3.4).

Рис. 3.4. Справочник «Сотрудники» в  режиме «Конфигуратор», в  режиме «1С:Предприятие» и  в базе данных

56 1С:Предприятие 8.3. Практическое пособие разработчика

Причем система скрывает от разработчика всю «техническую» часть, связанную с  хранением данных: в  базе данных для справочника создаются несколько таблиц, эти таблицы связываются по уникальному полю (Ссылка), поля таблиц имеют определенные типы и  т. д. Все это система делает сама. Нам лишь нужно добавить в  объект конфигурации Справочник подчиненный ему объект ТабличнаяЧасть.

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

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

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

Рис. 3.5. Иерархический справочник с  иерархией групп и  элементов

Возможен и  другой вид иерархии – иерархия элементов. В  этом случае в  качестве родителя выступает не группа элементов справочника, а непосредственно один из его элементов. Например, такой вид иерархии можно использовать при создании справочника Подразделения, когда одно подразделение является родителем для нескольких других, входящих в  его состав (рис. 3.6).

Занятие 3 57

Рис. 3.6. Иерархический справочник с  иерархией элементов

Элементы одного справочника могут быть подчинены элементам или группам другого справочника. Например, справочник ЕдиницыИзмерения может быть подчинен справочнику Товары. Тогда для каждого элемента справочника Товары мы сможем указать единицы измерения, в  которых этот товар поступает на  склад.

В системе «1С:Предприятие» это достигается путем указания списка владельцев справочника для каждого объекта конфигурации Справочник. В  данном случае справочник Товары будет владельцем спра-

вочника ЕдиницыИзмерения (рис. 3.7).

Рис. 3.7. Справочник «Товары» – владелец справочника «Единицы измерения»

58 1С:Предприятие 8.3. Практическое пособие разработчика

Порой возникают ситуации, когда необходимо, чтобы в  справоч-

нике некоторые

элементы

существовали

всегда,

независимо

от действий

пользователя.

Допустим, логика бизнес-процессов

на  предприятии

такова, что все

товары

сначала

поступают

на  основной

склад,

а затем

по мере надобности

перемещаются

на  другие склады.

В  этом

случае

в  справочнике

Склады всегда

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

(рис. 3.8).

Рис. 3.8. Справочник «Склады» с  предопределенным элементом «Основной»

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

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

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

(рис. 3.9).

Занятие 3 59

Рис. 3.9. Форма списка и  форма редактирования элемента справочника «Сотрудники»

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

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

Обратите внимание, что в  различных местах конфигуратора одни и  те же формы называются немного по-разному (табл. 3.1). Следующая таблица представляет различные названия форм:

в контекстном меню справочника (Открыть основную форму…), в  дереве конфигурации и  в палитре свойств справочника;

в конструкторе форм;на закладке Формы окна редактирования справочника.

60 1С:Предприятие 8.3. Практическое пособие разработчика

Таблица 3.1. Формы справочника

В контекстном меню

В конструкторе форм

На закладке

и  в палитре свойств

(рис. 3.11)

«Формы» (рис. 3.10)

(рис. 3.12)

Основная форма объекта

Форма элемента справоч-

Элемента

ника

Основная форма группы

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

Группы

Основная форма списка

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

Списка

Основная форма выбора

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

Выбора

Основная форма выбора

Форма выбора группы спра-

Выбора группы

группы

вочника

Дело в  том, что в  контекстном меню и  палитре свойств отображаются свойства объектов конфигурации. Они одинаковые для всех объектов конфигурации. А в  конструкторе форм и  на закладке Формы отображаются представления этих свойств в  виде, более понятном разработчику. Они разные для разных объектов конфигурации. Различные наименования форм справочника представлены на  рис. 3.10, 3.11, 3.12.

Форма элемента используется для редактирования или создания элемента справочника.

Рис. 3.10. Названия форм справочника на  закладке «Формы»

Соседние файлы в папке Учебники

  • #
  • #
  • #
  • #
  • #
  • #

Справочники в 1С используются для работы с постоянной или условно постоянной информацией, но, в отличие от констант, данная информация может содержать множество значений. К примеру, если мы разрабатываем конфигурацию для учета движения товаров на складе, то такой информацией может быть вид товара, информация о самих товарах, информация о складах и т.п. Таким образом, справочники необходимы для хранения аналитики учета (то, по чему в дальнейшем будет осуществляться анализ, например, сколько товаров продано). В пользовательском режиме работа осуществляется с элементами справочника. Именно элементы справочника и являются объектами аналитики (именно они и будут анализироваться). Например, у справочника Товары могут быть элементы «Гвозди», «Хлеб» и «Молоко».

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

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

Применительно к товарам это может быть артикул, полное наименование, наименование для продажи, вид товара и т.п. Еще новая возможность справочников (в 1С 7.7. этого нет) — это возможность создавать табличные части, в которых хранится однотипная информация, количество которой может быть изменчивым. Например, для товара это могут быть какие-то дополнительные свойства.

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

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

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

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

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

На закладке Данные можно задать длину кода и наименования, тип кода (число или строка) и основное представление элемента справочника (в виде кода или в виде строки).

Код и наименование справочника 1С

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

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

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

Автонумерация справочника 1С

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

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

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

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

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

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

Элементы простого справочника

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

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

Основное представление справочника код

Основное представление справочника в виде кода

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

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

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

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

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

Справочник 1С с табличной частью

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

Добавление реквизита табличной части справочника

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

Реквизиты табличной части справочника

Табличная часть справочника 1с

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

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

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

Справочник 1С классификатор единиц измерения

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

Реквизит справочника 1С Основная единица измерения

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

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

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

Владелец справочника 1С

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

Реквизиты справочника Единицы измерения

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

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

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

Подробно о подчиненных справочниках читайте в этой статье:

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

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

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

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

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

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

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

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

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

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

Создание групп и элементов

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

Подробно, про иерархический справочник читайте в этой статье:

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

Что такое предопределенные элементы справочников, и как с ними работать, читайте в этой статье:

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

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

Остальные статьи по теме конфигурирования:

Документы в 1С 8.3

Журнал документов в 1С 8.3

Подсистемы 1С 8.3

Общие реквизиты в 1С

Более подробно и основательно работа со справочникам в дается в моей книге:

Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

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

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

Содержание

Справочники

Описание

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

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

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

  • Пользовательские реквизиты — при проектировании пользователь определяет какие данные, какого типа будут храниться в справочнике. Например у справочника Банковские счета будут определены реквизиты: номер счета, банк и тд, для справочника контрагенты ИНН, КПП и тд.

  • Предопределенные реквизиты — любой справочник обладает набором предопределенных реквизитов.

  • Табличные части — справочник может любое количество табличных частей.

Предопределенные реквизиты

У каждого справочника есть номер и наименование. В принципе их можно отключить, указав длину 0. Так же код может быть числовым или текстовым, если код текстовый для удобства сортировки система дополняет код лидирующими нулями на всю длину кода, например если у справочника указана длина кода 9 и справочнику был присвоен код 3 то система дополнит нулями до такого вида: «000000003». Также в случае если имеется распределенная база в код обычно добавляется префикс той базы в которой был создан элемент, например: «ЦН0000003». Нужно учитывать эту особенность если вы соберетесь указывать числовой код, этот объект не сможет корректно работать в распределенной базе. У справочника есть и другие предопределенные реквизиты:

  • ЭтоГруппа – Имеет смысл только для иерархических справочников. Указывает на то что элемент является группой.

  • Родитель — Имеет смысл только для иерархических справочников. Указывает на группу или элемент который является родителем для этого справочника.

  • Владелец – Имеет смысл только для подчиненных справочников. Указывает на владельца данного справочника.

  • ПометкаУдаления – атрибут с типом булево, указывает помечен ли элемент на удаление или нет.

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

  • Предопределенный – атрибут с типом булево указывает на то, что элемент создан в конфигураторе.

Иерархичность.

Иерархия это способность выводить справочник в виде дерева. Эта возможность бывает очень удобной, в случаях когда в справочнике содержится много информации. В таких случаях бывает полезно разложить номенклатуру «по полочкам». При включении иерархичности у справочника, добавляются два стандартных реквизита ЭтоГруппа и Родитель. Манипулируя значением реквизита Родитель, можно переназначать родителей элемента. Строится иерархия на группах, в эти группы могут входить другие элементы или другие группы. Аналогию можно провести с проводником windows или с большинством файловых систем если вам будет удобно: есть папки в которых могут быть как файлы так и папки в которых в свою очередь тоже могут быть и файлы и папки итд. Иерархия может работать и без групп. То есть родителями могут выступать другие элементы справочника. Такой вид иерархии называется иерархия элементов. Если мы настроили иерархию, у нас появляется возможность настраивать, для какого типа могут использоваться реквизиты, для групп, элементов, или и для того и для другого. Иерархия настраивается на закладке Иерархия свойств справочника.

Подчиненность

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

Ввод по Строке

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

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

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

НашаФирма = Справочники.Контрагенты.НашаДочерняяФирма

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

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

Для предопределенных элементов справочников, стандартный реквизит Предопределенный имеет значение Истина. Это свойство которое доступно только на чтение, но это не означает, что нельзя «обычный» элемент справочника сделать предопределенным и наоборот. В последних релизах 8.3FIXME(Надо узнать в каких именно), появилась возможность переопределять предопределенные элементы изменяя свойство ИмяПредопределенныхДанных. Например, вот так можно сделать элемент не предопределенным:

ПредОпрЭлемент = Справочники.МойСправочник.НайтиПоКоду("КодЭлемента").ПолучитьОбъект();
ПредОпрЭлемент.ИмяПредопределенныхДанных = “”;
ПредОпрЭлемент.Записать();

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

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

Нашафирма = Справочники.Организации.НайтиПоНаименованию("ООО Рога и копыта")

или что еще хуже

Нашафирма = Справочники.Организации.НайтиКоду("000112")

Можно просто указать:

Нашафирма = Справочники.Настройки.НашаФирма.Значение

подробнее можно почитать здесь http://infostart.ru/public/275145/

Классы для работы со справочниками.

Все классы справочника можно увидеть в ветке Прикладные объекты –> Справочники.

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

Справочник менеджер

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

Номенклатура = Справочники.Номенклатура;

Этот класс служит для:

  • Поиска по наименованию, коду или другому реквизиту.

    Ножницы = Справочники.Номенклатура.НайтиПоНаименованию("Ножницы канцелярские");
  • Программного создания групп или элементов:

    НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
    НовыйЭлемент.Реквизит1 = "КакоеТоЗначение";
    НовыйЭлемент.Записать();
  • Делать выборки:

    Выборка = Справочники.Номенклатура.Выбрать()

    Получать пустые ссылки:

    Пусто = Справочники.Номенклатура.ПустаяСсылка(); 

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

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

Справочник ссылка – самый часто используемый тип. Используется для чтения данных справочника. Его можно получить с помощью НайтиПоНаименованию, НайтиПоКоду и др методов класса СправочникМенеджер. Так же его можно получить с помощь класса Выборка и этот тип данных хранится в реквизите Cсылка объекта класса Справочник объект.
В этом классе нам доступны все реквизиты справочника, табличные части и все стандартные реквизиты. Абсолютно все свойства этого класса нам доступны только на чтение. Для того что бы изменять реквизиты справочника нам нужен класс Справочник Объект. Получить его можно с помощью метода Получить Объект().

Справочник Объект

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

Справочник Выборка

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

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

Поиск по наименованию.

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

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

Поиск по коду

Для поиска по коду используется функция НайтиПоКоду(). Для использования этого метода необходимо в параметре «Код» указать код, по которому будет производиться поиск. Если в качестве кода указывается полный путь с учетом иерархии (уровни справочника разделяются символом «/»), то второй параметр поиск по полному коду, необходимо установить в Истина. Например:
Номенклатура «Слонопотам» с кодом «001142» находится в папке «Мягкие Игрушки» с кодом «000826» которая находится в папке «Игрушки» с кодом 000375. Тогда можно найти ее с помощью вот такой строки

Слонопотам = Справочники.Номенклатура.НайтиПоКоду("000375/000826/001142", Истина);

Или можно искать сразу:

Слонопотам = Справочники.Номенклатура.НайтиПоКоду("001142");

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

Выборка

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

Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл 
	Наименование = Выборка.Наименование;
КонецЦикла;

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

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

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

НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемнт();
НовыйЭлемент.Наименование = "ТестоваяНоменклатура";
НовыйЭлемент.ПолноеНаименование = "ТестоваяНоменклатура";
//Заполнение всех остальных элементов
НовыйЭлемент.Записать();

Группа справочника создается аналогично с помощью метода СоздатьГруппу()
В том случае, если у справочника установлено свойство Автонумерация код указывать не нужно, он устанавливается автоматически.

Проверка переменной с типом СправочникСсылка на заполненность

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

  1. Использовать метод глобального контекста ЗначениеЗаполнено() который можно применить к любому типу а не только к справочнику. Доступно и на клиенте и на сервере.

  2. Сравнить c пустой ссылкой менеджера этого справочника. Например:

    Если ПроверяемоеЗначение = Справочники.Номенклатура.ПустаяСсылка() Тогда

    Только для сервера

  3. Использовать метод ‘Пустая()’ доступный на клиенте для объектов класса «Справочник ссылка».

Проверка элемента справочника на вхождение в какую либо группу или подчинение элементу

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

Если КакойтоЭлемент.Родитель = НужнаяГруппа Тогда

Если справочник многоуровневый и нужно знать есть ли элемент в этой группе или где то в подчинненых группах то можно воспользоваться методом «ПринадлежитЭлементу()» этот метод вернет Истина если элемент содержится в текущей или любой подчиненной группе. Например в этом случае

НужнаяГруппа = НайтиПоНаименованию("ГруппаРаз");
Если НашЭлемент.ПринадлежитЭлементу(НужнаяГруппа) Тогда

условие будет истинным.

СправочникСсылка <> СправочникОбъект

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

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

Проверка на то что ссылка является ссылкой на справочник

Проверить то что справочник является ссылкой можно очень просто, с помощью одной строки:

Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(СсылкаНаЭлементСправочника));

Где СсылкаНаЭлементСправочника проверяемая ссылка, эта строка вернет Истина если проверяемая ссылка является ссылкой на какой либо элемент справочника.

Понравилась статья? Поделить с друзьями:
  • Что такое реквизиты договора материнского капитала
  • Что такое реквизиты документа об оплате госпошлины
  • Что такое реквизиты документа об уплате госпошлины
  • Экономические факторы влияющие на развитие бизнеса
  • Что такое реквизиты квитанции об оплате госпошлины