Перечисления в 1С: предназначение и примеры использования
В этой статье поговорим про такой объект конфигурации как «Перечисления» и рассмотрим примеры использования.
Перечисления используются для того чтобы хранить в информационной базе 1С фиксированный список значений, который не изменяется в процессе работы пользователей.
- Список статусов фиксированный (не нужно добавлять новые статусы)
- Хранить дополнительные сведения для каждого статуса не нужно
- состояния сотрудника («Работает», «Уволен», «В командировке», «В отпуске», «Болеет»)
- ставки НДС («Без НДС», «10%», «20%»)
- виды договоров («С поставщиком», «С покупателем», «Прочее»)
- Выпадающий список
- Стандартный переключатель
- Переключатель вида «Тумблер»
Заполните простую форму и мы вам перезвоним в течение ближайшего времени
Заполните простую форму и мы свяжемся с вами в течение ближайшего времени
Как создать перечисление в 1с
Клиенты как известно бывают компаниями и частными лицами. Список клиентов содержится в справочнике Контрагенты. Как разбить их на две группы?
Для этого в справочнике контрагентов должен быть реквизит, в котором будут указан один из двух вариантов. Но как сделать так, чтобы значения было только два?
Справочник как перечисление 1С
Допустим, для хранения наших двух значений мы добавим справочник. Назовем его ВидыКлиентов. Мы внесем эти два варианта в справочник.
Задача вроде и выполнена, но пользоваться программисту этим неудобно. Например, захочется определять в тексте программы – что же все-таки выбрано, и как это сделать?
Проверять по коду или наименованию нельзя – пользователь может их изменить. Может быть использовать константу?
Предопределенные значения справочника 1С
В справочниках можно использовать предопределенные значения 1С. Это гарантирует, что они в любом случае будут в справочнике, а также позволяют напрямую обращаться к ним из программы на языке 1С.
Для этого нужно зайти в конфигуратор, найти нужный справочник в списке и правой кнопкой на нем вызвать меню, в котором выбрать пункт Открыть предопределенные значения.
В этом окне мы можем добавить два новых предопределенных значения 1С.
При добавлении мы указываем два названия:
- Которое будет доступно из в тексте программ 1С
- Которое будет видеть пользователь.
Ура! Теперь мы запросто можем использовать их в программе!
Теперь, если пользователь выбрал юр.лицо, то предложим заполнить обязательное поле КПП, а если частный покупатель – то день рождения.
Однако что же делать, если пользователь зайдет в наш справочник, введет туда третий вариант и выберет его?
Перечисления 1С – это объект 1С, который позволяет в конфигураторе задать список предопределенных значений, которые:
- Сможет использовать пользователь, выбирая в тех или иных полях
- Которые пользователь не может изменять
- Которые доступны в тексте программ напрямую.
Чтобы создать перечисления 1С – добавьте его в окне конфигурации в ветке Перечисления 1С.
Потом раскройте само перечисление 1С и добавьте его значения.
Теперь на форме мы можем в качестве типа значения указать данное перечисление 1С. Пользователь может выбрать только одно из нами предопределенных значения.
Перечисления 1С
В этой статье разберем перечисления 1С. Перечислениями называют объекты конфигурации, которые содержат в себе постоянные значения, не изменяемые в процессе работы с программой. Перечисления задаются на этапе конфигурирования, и их нельзя менять пользователю во время работы программы.
Создать перечисление в 1С
Научимся создавать перечисления. Для этого необходимо в конфигураторе 1С, в дереве метаданных, найти ветку перечисления, выделить её, вызвать контекстное меню и воспользоваться единственной командой этого меню «Добавить».
После этих действий будет открыт конструктор редактирования перечислений, где на закладке Основные, можно ввести имя перечисления и синоним.
В моей учебной конфигурации имеется справочник Контрагенты, поэтому я создам перечисление «Юридический статус контрагента», которое потом буду использовать в этом справочнике.
Значение перечисления 1С
Перечисление создано, но само по себе перечисление не имеет ни какого смысла, в нем должны быть различные значения. Нужно их добавить. Для этого перейдем на закладку «Данные», где имеется список значений перечислений. Сейчас он пустой, и нам нужно добавить в него несколько значений, для этого необходимо выполнить команду «Добавить» в меню списка значений.
После выполнения команды, значение будет создано, и справа откроется палитра свойств этого значения. В неё вы можете задать имя конкретного значения, синоним и комментарий.
К имени значения перечисления мы будем обращаться при программной работе с перечислением, а синоним будет отображаться пользователю в интерфейсе.
Точно также добавим несколько других значений.
Перечисление в реквизите объекта 1С
Перечисление мы создали, но от самого перечисления нет ни какого смысла. Перечисление имеет смысл, когда ссылка на это перечисление указано в качестве типа какого-нибудь реквизита объекта. Для примера, я доработаю справочник Контрагенты в моей конфигурации: создам новый реквизит, тип которого будет ссылка на созданное ранее перечисление.
Создадим у справочника контрагенты реквизит Статус.
В палитре свойств этого реквизита установим для него тип ПеречислениеСсылка.ЮридическийСтатусКонтрегента.
На этом конфигурирование справочника будет закончено. Разберем, как работать с перечислением на управляемой форме.
Перечисление на управляемой форме 1С
У моего справочника не было основной формы элемента справочника. После того, как я создам форму элемента этого справочника, включив в неё новый реквизит Статус, то на форме по умолчанию будет размещен элемент поле ввода в виде выпадающего списка, которое будет связано с созданным нами реквизитом справочника.
Если мы откроем форму элемента этого справочника в пользовательском режиме «1С: Предприятия», то сможем посредством выпадающего списка выбрать нужное значение перечисления.
Заметьте, названия значений перечисления в пользовательском режиме соответствуют синонимам значений перечисления.
Кроме выпадающего списка есть другие интерфейсные механизмы работы с перечислениями. Перечисление на управляемой форме может быть в виде переключателя и в виде тумблера.
Для того, чтобы сделать другой вид перечисления, необходимо на форме найти поле ввода, которое связанно с реквизитом, имеющим тип ссылка на перечисление.
После этого необходимо зайти в палитру свойств этого элемента формы (поле ввода), и в этой палитре найти свойство Вид.
По умолчанию у этого свойства установлено значение «Поле ввода», но можно поменять на другие. Нас интересует значение «Поле переключателя».
Если мы установим это значение, то внешний вид формы поменяется.
Вы видите, что на форме сейчас нет рядом с переключателями названий значений перечислений (стоят Значение 1, Значение 2). Чтобы они отобразились, нам нужно ввести значения переключателя в список выбора. Сделать это нужно в свойстве «Список выбора» поля ввода. После нажатия на кнопку «…» этого свойства, откроется форма списка выбора.
Мы можем автоматически заполнить список всеми значениями перечисления, нажав на кнопку «Заполнить» этой формы.
Но представления значений, придется заполнить вручную.
После нажатия кнопки ОК формы списка выбора, свойство «Список выбора» поля будет заполнено, а внешний вид поля переключателя на форме поменяется.
Также другой вид будет в пользовательском режиме «1С: Предприятия» .
Кроме стандартного переключателя в платформе 1С есть возможность сделать тумблер, суть у него будет такая же, как и у переключателя, но внешний вид будет отличаться.
Для того, чтобы сделать тумблер, нужно у элемента формы поле переключателя найти свойство ВидПереключателя и установить в него значение Тумблер.
После установки этого значения, внешний вид формы опять поменяется.
Тумблер представлен в виде кнопок, причем пользователь может нажать только на одну из них. У разработчика имеется возможность управлять внешним видом тумблера при помощи свойств, которые расположены в категории «Расположения» палитры свойств поля переключателя. Например, можно сделать все кнопки тумблера одинаковыми по ширине.
После всех действий, внешний вид переключателя в пользовательском режиме «1С: Предприятия» будет другой.
Замечу, что кнопки тумблера это суть значения перечисления. И когда вы нажали на какую-то кнопку тумблера, то значит, что элементу справочника будет присвоено соответствующее значение перечисления.
Другие статьи по теме конфигурирования:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
One Reply to “Перечисления 1С”
Вот за это «Мы можем автоматически заполнить список всеми значениями перечисления, нажав на кнопку «Заполнить» этой формы» Большое спасибо! Час мучался
Перечисления
Перечисления в 1С – это объект метаданных используемый для создания предопределенных значений неизменных с течением времени. Значения перечислений создаются из конфигуратора и их уже нельзя изменить из пользовательского режима.
Например, перечислением может быть:
- пол физического лица (мужской или женский)
- ставка НДС (0%, 10%, 20%)
- тип письма (исходящее, входящее).
Добавление перечислений в конфигурацию на платформе 1С 8.3.
В дереве объектов метаданных на узле “Перечисления” добавим новый объект и назовем его “Softrema_ПолФизическогоЛица”, в поле синоним введем “(Softrema) Пол физического лица”.
Для добавления значений перечисления перейдем на вкладку “Данные” и добавим два значения:
- Мужской
- Женский
На этом наше перечисление готово. Что бы продемонстрировать работу созданного объекта, добавим в нашу конфигурацию справочник с одним реквизитом, тип реквизита выберем “Перечисление — Softrema_ПолФизическогоЛица”.
Запустим отладку по кнопке “F5” и выберем добавленный справочник. По кнопке “Создать” откроется окошко с наименованием справочника, а так же с добавленным ранее перечислением “(Softrema) Пол физического лица” и значениями: “мужской” и “женский”.
Как получить значение перечисления на клиенте?
Не редко бывают случаи в разработке на 1С, когда нужно написать какое ни будь условие на клиенте в котором участвует значение перечисления. Можно сделать серверную функцию, которая вернет нужное значение, но будет элегантнее, если воспользоваться конструкцией платформы 1С, которая позволит получить значение перечисления на клиенте:
ЗначениеПеречисления = ПредопределенноеЗначение ( «Перечисление. Softrema_ПолФизическогоЛица. Женский» );
Результатом выполнения вернется ссылка на требуемый элемент. Стоит заметить, что использование данного оператора инициирует обращение к серверу.
Как получить значение перечисления на сервере?
Для получения значения перечисления на сервере, нужно обратиться к нему как к любому предопределенному значению объекта 1С:
ЗначениеПеречисления = Перечисления . Softrema_ПолФизическогоЛица . Женский ;
Как получить значение перечисления в запросе 1С?
В некоторых запросах 1С требуется использовать значение перечисления, например, при сравнении или для формирования итогового результата запроса. Что бы подставить значение перечисления в запросе, можно воспользоваться двумя вариантами: