Перейти к содержимому

Как создать перечисление в 1с

  • автор:

Как создать перечисление в 1с

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

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

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

Допустим, для хранения наших двух значений мы добавим справочник. Назовем его ВидыКлиентов. Мы внесем эти два варианта в справочник.

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

Проверять по коду или наименованию нельзя – пользователь может их изменить. Может быть использовать константу?

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

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

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

В этом окне мы можем добавить два новых предопределенных значения 1С.

При добавлении мы указываем два названия:

  • Которое будет доступно из в тексте программ 1С
  • Которое будет видеть пользователь.

Ура! Теперь мы запросто можем использовать их в программе!

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

Однако что же делать, если пользователь зайдет в наш справочник, введет туда третий вариант и выберет его?

Перечисления 1С – это объект 1С, который позволяет в конфигураторе задать список предопределенных значений, которые:

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

Чтобы создать перечисления 1С – добавьте его в окне конфигурации в ветке Перечисления 1С.

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

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

Проголосовать за этот пост:

Перечисления 1С — программное использование

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

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

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

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

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

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

&НаСервере Процедура СоздатьСправочникНаСервере() НовыйКонтр = Справочники.Контрагенты.СоздатьЭлемент(); НовыйКонтр.Наименование = "Иванов и Партнеры"; НовыйКонтр.Статус = Перечисления.ЮридическийСтатусКонтрегента.ЮрЛицо; НовыйКонтр.Записать(); КонецПроцедуры &НаКлиенте Процедура СоздатьСправочник(Команда) СоздатьСправочникНаСервере(); КонецПроцедуры 

В этом коде мы создаем объект справочника, заполняем его реквизиты какими-то значениями, а потом сохраняем. Реквизиту Статус мы присваиваем конкретное значение перечисления ЮридическийСтатусКонтреганта. Вы заметили, что к нужному перечислению мы обращаемся посредством объекта Перечисления, который имеет типа ПеречисленияМенеджер.

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

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

Значения перечисления в 1С

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

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

Перечисление в клиентском контексте (на тонком клиенте)

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

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

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

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

Создадим реквизит, поместим его на форму, и также я создам команду, которую помещу на форму.

Реквизит формы и команда формы

Для этой команды создадим клиентский обработчик.

Создание клиентского обработчика команды

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

&НаКлиенте Процедура Установить(Команда) СтатусИП = Перечисления.ЮридическийСтатусКонтрегента.ИП; КонецПроцедуры 

Если мы сейчас сделаем синтаксис-проверку модуля на ошибки, то в некоторых случаях может выдать ошибку, а в некоторых нет. Всё зависит от того, настроена ли в параметрах проверка в режиме тонкого клиента.

Проверим это. Зайдем в параметры конфигурации по пути Главное меню – Сервис – Параметры

Путь к параметрам

В этой форме на закладке Модули в подзакладке Проверка нас интересует флаг Тонкий клиент.

Тонкий клиент

Если этот флаг установлен, то при синтаксической проверке модуля, на код, который мы написали ранее, выйдет ошибка.

Ошибка при проверке кода на тонком клиенте

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

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

&НаКлиенте Процедура Установить(Команда) СтатусИП = ПредопределенноеЗначение("Перечисление.ЮридическийСтатусКонтрегента.ИП"); КонецПроцедуры 

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

Получение подсказки ПредопределенноеЗначение

Получение подсказки ПредопределенноеЗначение

Если мы сейчас запустим «1С: Предприятие» под тонким клиентом, то значением в реквизит прекрасно запишется.

Значение перечисления на форме

Заметили, что обращались мы к имени значения перечисления, а на форме отображается синоним значения.

Перечисление в языке запросов 1С

Рассмотрим, как работать с перечислениями в языке запросов 1С.

Более подробно, изучить языка запросов 1С Вы можете в моем курсе «Запросы в 1С для начинающих», промо-код на скидку для читателей блога — hrW0rl9Nnx

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

Скачать консоль запросов для платформы 1С 8.3 можно по этой ссылке.

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

Поля в конструкторе запросов

На закладке Условия установим, чтобы отбирались контрагенты со статусом ИП.

Условие в конструкторе запросов

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

У нас должен получиться вот такой запрос:

ВЫБРАТЬ Контрагенты.Наименование КАК Наименование, Контрагенты.Статус КАК Статус ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Статус = ЗНАЧЕНИЕ(Перечисление.ЮридическийСтатусКонтрегента.ИП) 

Который будет возвращать контрагентов только с нужным статусом.

Результат запроса 1С с отбором по перечислению

Функцию ЗНАЧЕНИЕ можно использовать не только в условиях, но и в секции выбрать. Например, можно сделать такой запрос.

ВЫБРАТЬ ЗНАЧЕНИЕ(Перечисление.ЮридическийСтатусКонтрегента.ИП) КАК Статус ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗНАЧЕНИЕ(Перечисление.ЮридическийСтатусКонтрегента.ЮрЛицо) 

Который будет возвращать два значения перечисления.

Результат запроса 1С значения перечислений

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

Код запроса будет в этом случае следующим:

ВЫБРАТЬ ЗНАЧЕНИЕ(Перечисление.ЮридическийСтатусКонтрегента.ИП) КАК Статус ПОМЕСТИТЬ втПеречисления ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЗНАЧЕНИЕ(Перечисление.ЮридическийСтатусКонтрегента.ЮрЛицо) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Контрагенты.Наименование КАК Наименование, Контрагенты.Статус КАК Статус ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Статус В (ВЫБРАТЬ вт.Статус ИЗ втПеречисления КАК вт) 

И этот запрос будет выдавать нужный результат.

Результат выполнения запроса с оператором множественного выбора

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

ВЫБРАТЬ Контрагенты.Наименование КАК Наименование, Контрагенты.Статус КАК Статус ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Статус = &Статус 

Который будет выполняться следующим образом.

Результат выполнения запроса с отбором по значению перечисления

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

ВЫБРАТЬ Контрагенты.Наименование КАК Наименование, Контрагенты.Статус КАК Статус ИЗ Справочник.Контрагенты КАК Контрагенты ГДЕ Контрагенты.Статус в (&Статусы) 

С таким результатом.

Результат выполнения запроса с оператором множественного выбора

Если Вы всё еще «плаваете» в конструкциях языка запросов, и у Вас вызывают трудности даже самые простые запросы, то рекомендую вам мой курс «Язык запросов в 1С для начинающих». Где эти и многие другие вопросы рассматриваются более подробно.

В чем особенность этого курса:
• Курс рассчитан на тех, кто не знаком с языком запросов в 1С;
• Учебный материал грамотно скомпонован и прост в освоении;
• Несколько десятков уроков;
• Полезные практические примеры;
• Все уроки изложены понятным и простым языком

Для моих читателей, купон на скидку 25%: hrW0rl9Nnx

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

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

Программировать в 1С за 11 шагов

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

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

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

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

Основы разработки в 1С такси

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

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

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

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

Перечисления 1С

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

Создать перечисление в 1С

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

Создать перечисление в 1С

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

Создать перечисление в 1С

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

Значение перечисления 1С

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

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

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

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

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

Имя и синоним значений перечисления

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

Значения перечислений

Перечисление в реквизите объекта 1С

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

Создадим у справочника контрагенты реквизит Статус.

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

В палитре свойств этого реквизита установим для него тип ПеречислениеСсылка.ЮридическийСтатусКонтрегента.

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

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

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

Перечисление на управляемой форме 1С

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

Перечисление на управляемой форме 1С

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

Выбор нужного значения перечисления

Заметьте, названия значений перечисления в пользовательском режиме соответствуют синонимам значений перечисления.

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

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

Перечисление на форме в виде поля ввода

После этого необходимо зайти в палитру свойств этого элемента формы (поле ввода), и в этой палитре найти свойство Вид.

 Палитра свойств поля ввода

По умолчанию у этого свойства установлено значение «Поле ввода», но можно поменять на другие. Нас интересует значение «Поле переключателя».

Поле переключателя

Если мы установим это значение, то внешний вид формы поменяется.

Поле переключателя на управляемой форме

Вы видите, что на форме сейчас нет рядом с переключателями названий значений перечислений (стоят Значение 1, Значение 2). Чтобы они отобразились, нам нужно ввести значения переключателя в список выбора. Сделать это нужно в свойстве «Список выбора» поля ввода. После нажатия на кнопку «…» этого свойства, откроется форма списка выбора.

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

Мы можем автоматически заполнить список всеми значениями перечисления, нажав на кнопку «Заполнить» этой формы.

 Заполнение значений перечисления в форме выбора

Но представления значений, придется заполнить вручную.

Заполнение представлений значений перечисления в форме выбора

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

Переключатель на форме

Также другой вид будет в пользовательском режиме «1С: Предприятия» .

Переключатель на форме

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

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

Значение тумблер в свойстве ВидПереключателя

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

Переключатель в режиме тумблера

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

 Одинаковая ширина кнопок тумблера

После всех действий, внешний вид переключателя в пользовательском режиме «1С: Предприятия» будет другой.

Тумблер в пользовательском режиме

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

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

Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»

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

Программировать в 1С за 11 шагов

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

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

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

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

Основы разработки в 1С такси

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

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

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

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

One Reply to “Перечисления 1С”

Вот за это «Мы можем автоматически заполнить список всеми значениями перечисления, нажав на кнопку «Заполнить» этой формы» Большое спасибо! Час мучался

Перечисления в 1С 8.3

Анна Викулина

Работая в программе 1С Предприятие 8.3, при заполнении справочников, документов, отчетов и т.п. мы часто видим перечисление в запросе, который мы открыли, определенных значений. Например:

Ставка НДС

  • Группа основных средств, при заполнении элемента справочника

Группа основных средств, при заполнении элемента справочника

  • И другие виды перечислений, при заполнении данных

И другие виды перечислений, при заполнении данных

Работа с перечислениями также имеет место при выполнении какого-то действия, например, при выборе печати или создании на основании документа (Рис.4-5) и т.п.

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

Элемент «Перечисление» в конфигураторе программы

Рассмотрим, как выглядит перечисление в Конфигураторе программы 1С. Открыв конфигурацию, в дереве метаданных мы видим блок «Перечисления».

Открыв конфигурацию, в дереве метаданных мы видим блок «Перечисления»

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

Рассмотрим, как выглядят наши перечисления изнутри. Для примера, найдем перечисление «Ставки НДС» и откроем его. На закладке «Основные» указывается имя перечисления и синоним объекта, который используется для описания его в программе, т.е. так, как видит его пользователь.

Для примера, найдем перечисление «Ставки НДС»

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

На закладке «Данные» мы видим все значения перечисления

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

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

Добавляем вариант значения перечисления

Задаем значение НашаСтавка (для примера) и видим, что оно появилось в нашем списке. Так можно ввести, например, новые ставки НДС, если у вас не обновлена программа (ставку 20% уж очень хочется видеть в ней).

Задаем значение НашаСтавка

Используя имя перечисления, к нему можно обращаться в коде программы напрямую (перечисления из примера – НДС10, НДС18, БезНДС, НДС0).

 Если ПредставлениеСтавкаНДС = "НДС18" Тогда СтавкаНДС = Перечисления.СтавкиНДС.НДС18; ИначеЕсли ПредставлениеСтавкаНДС = "НДС10" Тогда СтавкаНДС = Перечисления.СтавкиНДС.НДС10; ИначеЕсли ПредставлениеСтавкаНДС = "НДСО" Тогда СтавкаНДС = Перечисления.СтавкиНДС.НДСО; ИначеЕсли ПредставлениеСтавкаНДС = "ЕезНДС" Тогда 
 Если ПредставлениеСтавкаНДС = "НДС18" Тогда СтавкаНДС = Перечисления.СтавкиНДС.НДС18; ИначеЕсли ПредставлениеСтавкаНДС = "НДС10" Тогда СтавкаНДС = Перечисления.СтавкиНДС.НДС10; ИначеЕсли ПредставлениеСтавкаНДС = "НДСО" Тогда СтавкаНДС = Перечисления.СтавкиНДС.НДСО; ИначеЕсли ПредставлениеСтавкаНДС = "БезНДС" Тогда СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; 

Основными параметрами перечисления являются ссылка на объект и порядок его отображения.

Основными параметрами перечисления являются ссылка на объект и порядок его отображения

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

Формы выбора перечисления представлены формой списка и формой выбора

Так выглядит перечисление изнутри. Сохраняем наши изменения в «Конфигурация-Сохранить конфигурацию» или просто при закрытии соглашаемся с изменениями.

Так выглядит перечисление изнутри

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

И далее необходимо обновить конфигурацию базы данных

Объект изменен и принимаем предложение об изменении.

Объект изменен и принимаем предложение об изменении

Отражение изменения списка перечисления в 1С

Открываем программу и проверяем, как отразилось наше изменение «Ввод нового значения перечисления ставки НДС». Откроем в документе «Счет» выбор значения ставок. Мы видим, что в значении выбора появилось созданное нами значение «Наша ставка».

Отражение изменения списка перечисления в 1С

Вид выбора значения перечисления

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

Если, например, ставки НДС в документе были представлены в виде открывающегося списка для выбора, то в справочнике «Сотрудники», при вводе нового сотрудника, нам предлагается установить переключатель «Пол». Это тоже элемент перечисление, т.к. мы выбираем из определенного списка – Мужской/Женский.

Вид выбора значения перечисления

Если мы посмотрим на перечисление в Конфигураторе, то там увидим эти значения.

Перечисление в Конфигураторе

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

Поле переключателя

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

Откроем форму элемента для просмотра

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

Посмотрим форму документа

Как видим, значение вида ставки НДС – Поле ввода. Обратите внимание, что при выборе реквизита, в форме этот элемент обведен синей рамкой (см. % НДС).

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *