Добавить в корзинуПозвонить
Найти в Дзене
1С: Программирование

Урок 11. Справочник, перечисления и связь между ними

В данной статье рассмотрены следующие моменты:
1. Создание выпадающего списка на основе справочника
2. Создание выпадающего списка на основе перечисления
3. Разница между первым и вторым способом

Всем привет.

С вами образовательный портал по платформе 1С: Предприятие 8.3.

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

1. Разбор домашнего задания

В конце прошлой статьи вам необходимо было самостоятельно добавить реквизит "Склад" в справочник "СписокТоваровИУслуг" (Рисунок 1).

Рисунок 1 - Новый реквизит
Рисунок 1 - Новый реквизит

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

Начнем...

Откроем режим разработчика и справочник, перейдем на вкладку "Данные" и добавим реквизит "Склад" (Рисунок 2).

Рисунок 2 - Реквизит
Рисунок 2 - Реквизит

Перейдем теперь на вкладку "Формы" и дважды щелкнем по форме элемента(Рисунок 3).

Рисунок 3 - Форма элемента
Рисунок 3 - Форма элемента

Из правого окна перетаскиваем реквизит в левую колонку (Рисунок 4).

Рисунок 4 - Перемещение реквизита
Рисунок 4 - Перемещение реквизита

После этого он появится на форме (Рисунок 4). Запустим пользовательский режим и проверим изменения. Откройте справочник и нажмите кнопку "Создать", на форме элемента вы увидите реквизит "Склад" (Рисунок 5).

Рисунок 5 - Форма элемента
Рисунок 5 - Форма элемента

Но теперь посмотрите на форму списка, там нет этого столбца! Его нет, потому что мы еще не редактировали форму списка в режиме разработчика. возвращаемся в режим разработчика и открываем форму списка и таким же образом перетаскиваем реквизит из правого окна в левое (Рисунок 6).

Рисунок 6 - Реквизит на форме списка
Рисунок 6 - Реквизит на форме списка

Переходим в пользовательский режим и проверяем изменения, все теперь находится на своем месте. Вот мы все и сделали!

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

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

Что может быть перечислением, которое не меняется? Это может быть пол, тип склада, вид автомобиля и так далее.

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

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

Начнем со второго случая, так как у нас для него почти все готово.

Откроем в режиме разработчика справочник "СписокСотрудников", перейдем на вкладку "Данные" и увидим, что у нас есть реквизит "Пол" (Рисунок 7). Именно для него мы и сделаем выпадающий список.

Рисунок 7 - Реквизит "Пол"
Рисунок 7 - Реквизит "Пол"

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

Создадим еще один справочник, который назовем "Пол" (Рисунок 8). Его необходимо просто создать и больше ничего с ним делать не надо, просто закроем его.

Рисунок 8 - Новый справочник
Рисунок 8 - Новый справочник

Теперь необходимо открыть справочник "СписокСотрудников" и перейти на вкладку "Данные". Там необходимо выделить реквизит "Пол" и открыть его свойства (Рисунок 9).

Рисунок 9 - Выбор типа
Рисунок 9 - Выбор типа

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

Рисунок 10 - Связь со справочником
Рисунок 10 - Связь со справочником

Таким образом мы указали, что для реквизита "Пол" будет связь со справочником "Пол". Перейдем теперь в режим пользователя и зайдем в справочник "Пол" (Рисунок 11) и там создадим два элемента "Мужской и Женский".

Рисунок 11 - Элементы в справочнике
Рисунок 11 - Элементы в справочнике

После этого перейдем в справочник "СписокСотрудников" и нажмем на кнопку "Создать" (Рисунок 12) и там на поле "Пол" нажмем на стрелочку, а потом "Показать все".

Рисунок 12 - Установленная связь
Рисунок 12 - Установленная связь

Нажав на кнопку "Показать все", мы автоматически переходим в справочник "Пол" и видим там два наших реквизита (Рисунок 13).

Рисунок 13 - Элементы в справочнике
Рисунок 13 - Элементы в справочнике

выберем элемент "Женский" и нажмем "Выбрать", после этого он автоматически появится на форме элемента (Рисунок 14). И заполним первого нашего сотрудника.

Рисунок 14 - Первый сотрудник
Рисунок 14 - Первый сотрудник

После этого первый сотрудник появится в папке "Работающие" (Рисунок 15).

Рисунок 15 - Элемент в папке "Работающие"
Рисунок 15 - Элемент в папке "Работающие"

Давайте изменим отображение папок, чтобы можно было сразу видеть всех сотрудников на своих местах. Для этого нажмите на кнопку "Еще" и там выберите "" (Рисунок 16).

Рисунок 16 - Изменение отображения
Рисунок 16 - Изменение отображения

В результате мы будем видеть сразу всех в своих папках (Рисунок 17).

Рисунок 17 - Отображение в виде дерева
Рисунок 17 - Отображение в виде дерева

Но, так как у нас всего один сотрудник, во второй папке у нас пусто. Давайте добавим второго сотрудника, который у нас когда-то работал, но уволился и в результате будет так (Рисунок 18).

Рисунок 18 - Новый элемент
Рисунок 18 - Новый элемент

Вот мы рассмотрели первый способ, с помощью которого можно сделать выпадающий список. Мы можем зайти в справочник "Пол" и добавить новый элемент "Неопределенно" (Рисунок 19).

Рисунок 19 - Новый элемент в справочнике
Рисунок 19 - Новый элемент в справочнике

И теперь если зайти в справочник "Список сотрудников", выбрать одного из сотрудников и нажать на выпадающий список, то он там появится (Рисунок 20).

Рисунок 20 - Выбор элемента
Рисунок 20 - Выбор элемента

Это первый случай и как можно сделать, а сейчас рассмотрим второй случай - он является более правильным для данной ситуации (когда список статичный и не меняется!).

Найдем на дереве объектов строку "Перечисления" и добавим новое перечисление "Пол". Перейдем на вкладку "Данные" и создадим 3 значения: Мужской, Женский, Не указан (Рисунок 21).

Рисунок 21 -  Новое перечисление
Рисунок 21 - Новое перечисление

После этого перейдем в справочник "Список сотрудников", вкладка "Данные", выделим реквизит "Пол" и в свойстве "Тип" выбрать только что созданное перечисление "Пол" (Рисунок 22).

Рисунок 22 - Установление связи
Рисунок 22 - Установление связи

После этого перейдем в режим пользователя сразу в справочник "Список сотрудников" и нажмем кнопку "Создать", для добавления нового сотрудника (Рисунок 23).

Рисунок 23 - Выпадающий список
Рисунок 23 - Выпадающий список

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

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

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

Теперь необходимо с помощью перечисления автоматизировать еще некоторые поля: поле "Склад" для справочника "СписокТоваровИУслуг" (Рисунок 23).

Рисунок 23 - Выпадающий список
Рисунок 23 - Выпадающий список

Чтобы это сделать, необходимо зайти в режим разработчика и создать перечисление "Склад", на вкладке "Данные" добавить два значения "Основной и Резервный" (Рисунок 24).

Рисунок 24 - Перечисление
Рисунок 24 - Перечисление

Затем зайти в справочник "СписокТоваровИУслуг" на вкладку "Данные" и для реквизита "Склад" указать связь с перечислением "Склад" (Рисунок 25).

Рисунок 25 - Связь с перечислением
Рисунок 25 - Связь с перечислением

После этого зайти в режим пользователя и проверить изменения.

После этого необходимо зайти в режим разработчика и удалить лишние объекты: справочник склад, справочник пол. У вас должно остаться так (Рисунок 26).

Рисунок 26 - Объекты на дереве конфигурации
Рисунок 26 - Объекты на дереве конфигурации

Мы их удалили, так как они нам не нужны и занимают лишнюю память компьютера и путают разработчика.

А домашним заданием вам будет сделать новое усовершенствование, которое показано на рисунке 27

Рисунок 27 - Выпадающий список
Рисунок 27 - Выпадающий список

Как это сделать? Нужно добавить новое перечисление с тремя значениями на вкладке "Данные": Внутренний, Внешний, Совместительство. А затем необходимо связать поле справочника с перечислением - все будет работать!

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

Всем спасибо. Задать вопросы, которые у вас возникли вы можете, написав комментарий или вступить в группу и задать там свой вопрос. Ссылка для вступления в группу - t.me.Apiscourses

Так же можно посмотреть видео по платформе, для этого нажми YouTube

Или написать на электронную почту - awesome.razrab@yandex.ru

Прошлые уроки:

Введение Урок 1 Урок 2 Урок 3 Урок 4 Урок 5 Урок 6

Урок 7 Урок 8 Урок 9 Урок 10

На этом все. Жду Вас на следующем занятии.

P.S. Подписывайтесь на мой канал :-)