Работая в программе 1С Предприятие 8.3, при заполнении справочников, документов, отчетов и т.п. мы часто видим перечисление в запросе, который мы открыли, определенных значений. Например:
- Ставка НДС
- Группа основных средств, при заполнении элемента справочника
- И другие виды перечислений, при заполнении данных
Работа с перечислениями также имеет место при выполнении какого-то действия, например, при выборе печати или создании на основании документа (Рис.4-5) и т.п.
Перечисления представляют собой список данных, который пользователь не может корректировать или изменять, то есть они не меняются в процессе работы, поскольку заложены в конфигурацию и являются объектом метаданных.
Элемент «Перечисление» в конфигураторе программы
Рассмотрим, как выглядит перечисление в Конфигураторе программы 1С. Открыв конфигурацию, в дереве метаданных мы видим блок «Перечисления».
Возникает вопрос, зачем нужны перечисления, если можно сделать выбор тех же значений, используя справочник. Перечисления используются, когда нужно ограничить выбираемые пользователем значения предустановленными, без возможности добавления их в пользовательском режиме. К значению перечисления программа может обращаться напрямую, используя присвоенное ему имя.
Рассмотрим, как выглядят наши перечисления изнутри. Для примера, найдем перечисление «Ставки НДС» и откроем его. На закладке «Основные» указывается имя перечисления и синоним объекта, который используется для описания его в программе, т.е. так, как видит его пользователь.
На закладке «Данные» мы видим все значения перечисления, которые отображаются нам в форме выбора в программе. С помощью кнопки «Добавить» (зеленый кружок с плюсом), мы можем добавлять значения перечислений.
Лучше это предоставить разработчику программы, ведь все необходимые изменения вносятся обновлением программы, но для нашего примера рассмотрим создание перечислений.
Хотя все ставки уже введены, продолжим на этом примере. Чтобы добавить вариант значения перечисления нажимаем кнопку «Добавить» и в открывшемся окне задаем имя и синоним нового значения.
Задаем значение НашаСтавка (для примера) и видим, что оно появилось в нашем списке. Так можно ввести, например, новые ставки НДС, если у вас не обновлена программа (ставку 20% уж очень хочется видеть в ней).
Используя имя перечисления, к нему можно обращаться в коде программы напрямую (перечисления из примера – НДС10, НДС18, БезНДС, НДС0).
Если ПредставлениеСтавкаНДС = "НДС18" Тогда
СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
ИначеЕсли ПредставлениеСтавкаНДС = "НДС10" Тогда
СтавкаНДС = Перечисления.СтавкиНДС.НДС10;
ИначеЕсли ПредставлениеСтавкаНДС = "НДСО" Тогда
СтавкаНДС = Перечисления.СтавкиНДС.НДСО;
ИначеЕсли ПредставлениеСтавкаНДС = "ЕезНДС" Тогда
Фрагмент 1
Если ПредставлениеСтавкаНДС = "НДС18" Тогда
СтавкаНДС = Перечисления.СтавкиНДС.НДС18;
ИначеЕсли ПредставлениеСтавкаНДС = "НДС10" Тогда
СтавкаНДС = Перечисления.СтавкиНДС.НДС10;
ИначеЕсли ПредставлениеСтавкаНДС = "НДСО" Тогда
СтавкаНДС = Перечисления.СтавкиНДС.НДСО;
ИначеЕсли ПредставлениеСтавкаНДС = "БезНДС" Тогда
СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
Фрагмент 2
Основными параметрами перечисления являются ссылка на объект и порядок его отображения.
Формы выбора перечисления представлены формой списка и формой выбора. Каждому перечислению можно задать свою форму выбора и правила формирования списка и выбора перечисления.
Так выглядит перечисление изнутри. Сохраняем наши изменения в «Конфигурация-Сохранить конфигурацию» или просто при закрытии соглашаемся с изменениями.
И далее необходимо обновить конфигурацию базы данных. Или при открытии программы через отладчик, она сама напомнит о том, что данные изменены.
Объект изменен и принимаем предложение об изменении.
самые свежие новости 1 раз в месяц
Отражение изменения списка перечисления в 1С
Открываем программу и проверяем, как отразилось наше изменение «Ввод нового значения перечисления ставки НДС». Откроем в документе «Счет» выбор значения ставок. Мы видим, что в значении выбора появилось созданное нами значение «Наша ставка».
Вид выбора значения перечисления
Рассмотрев, как происходит добавление перечисления в список значений, возникает вопрос: почему и как в некоторых формах мы выбираем из предложенного списка, а в некоторых – устанавливаем переключатель, и т.п. Ведь в самой форме настройки перечисления мы этого не увидели.
Если, например, ставки НДС в документе были представлены в виде открывающегося списка для выбора, то в справочнике «Сотрудники», при вводе нового сотрудника, нам предлагается установить переключатель «Пол». Это тоже элемент перечисление, т.к. мы выбираем из определенного списка – Мужской/Женский.
Если мы посмотрим на перечисление в Конфигураторе, то там увидим эти значения.
Для того чтобы посмотреть настройку их отображения, нам нужно обратиться к тому элементу, где это перечисление используется. В данном примере это справочник «Сотрудники». Открыв его, в дереве метаданных программы мы видим все его настройки, в том числе и выбор пола физического лица – ФизлицоПол, и вид – «Поле переключателя». Поэтому в справочнике мы видим его (перечисление) именно в таком виде.
Чтобы активировать это окно, в данном случае, мы открыли форму элемента для просмотра.
Сравним, как реализован ввод значения перечисления, которое мы рассматривали в примере – ставки НДС в документе «Счет на оплату покупателю». Для этого также найдем этот элемент в дереве метаданных, но уже в списке документов, и посмотрим форму документа.
Как видим, значение вида ставки НДС – Поле ввода. Обратите внимание, что при выборе реквизита, в форме этот элемент обведен синей рамкой (см. % НДС).
Для больших списков перечислений удобна такая настройка, а для перечислений, где выбор состоит из двух значений, более удобна настройка выбора в виде переключателя.
консультация эксперта
самые свежие новости 1 раз в месяц