Перечисления в 1с это
Системные перечисления предназначены для определения некоторого набора предопределенных значений и используются в качестве:
- значений параметров некоторых методов;
- значений некоторых свойств объектов.
К системным перечислениям, например, относятся следующие:
- КодВозвратаДиалога
- РежимБегущейСтроки
- ОбходРезультатаЗапроса
- РежимПроведенияДокумента
- ВариантПериода
Не следует путать системные перечисления и системные наборы значений (например системный набор значений "Символы").
Доступ к системным перечислениям осуществляется как к свойствам глобального контекста.
Значения элементов системных перечислений указываются через точку от имени системного перечисления, например:
ОбъектДокумент . Записать ( РежимЗаписиДокумента . Проведение , РежимПроведенияДокумента . Оперативный ) ;В качестве значений параметров метода Записать() заданы два значения элементов системных перечислений:
- элемент "Проведение" системного перечисления " РежимЗаписиДокумента ";
- элемент "Оперативный" системного перечисления " РежимПроведенияДокумента ".
И системные перечисления, и значения их элементов являются объектами, и могут быть переданы в другие приложения через COM посредством интерфейса IDispatch. При этом любое системное перечисление имеет набор свойств, каждое из которых позволяет получить соответствующее значение элемента данного системного перечисления. Элемент системного перечисления также является объектом и доступен через интерфейс IDispatch, однако ни свойств, ни методов он не имеет.
По этой причине анализ полученных значений системных перечислений возможен только посредством их сравнения со значениями системных перечислений, полученными через свойства глобального контекста.
Очень часто возникает необходимость где-то задать перечисление типов. Например, это может быть колонка таблицы значений, в которой могут содержаться значения разных типов. Для создания списка типов используется общий объект Описание типов 1С.
Как правило, объект описание типов 1С сам по себе нигде не используется, в основном он нужен в качестве параметра разных объектов, например, таблицы значений 1С. На примере таблицы значений и покажем, как работать с описанием типов. Описание типов можно создать только для одного типа, например, для типа Число будет следующее описание типа.
Это примитивные типы, для ссылочных типов можно создать такое же описание, указав в двойных кавычках название типа.
Чтобы получить быстро полное название нужной ссылки, можно воспользоваться контекстной подсказкой метода Тип.
После того, как мы создали описание типов, этот объект можно использовать, например, при создании таблицы значений.
Выше показано самое простое использование описания типов. Для числа, строки и даты мы можем использовать Квалификаторы. Это общие объекты – КвалификаторыЧисла, КвалификаторыСтроки, КвалификаторыДаты. Они также задаются при помощи конструктора Новый и имеют следующие синтаксисы.
Квалификатор числа 1С
Для числа будет следующий синтаксис квалификатора.
Новый КвалификаторыЧисла(<ЧислоРазрядов>, <ЧислоРазрядовДробнойЧасти>, <ДопустимыйЗнак>)
Где: ЧислоРазрядов – общее число разрядов;
ЧислоРазрядовДробнойЧасти – число разрядов после запятой;
ДопустимыйЗнак – системное перечисления (значения Любой, Неотрицательный).
Например, задать неотрицательно число с 6 разрядами и 2 дробными разрядами будет так:
Квалификатор строки 1С
Для строки будет следующий синтаксис квалификатора.
Новый КвалификаторыСтроки(<ДлинаСтроки>, <ДопустимаяДлина>)
Где: ДлинаСтроки – длина задаваемой строки
ДопустимаяДлина – системное перечисление ДопустимаяДлина, которое определяет, будет строка переменная или фиксированная.
Например, задать строку длинной 10 символов фиксированной длины нужно так:
Обратите внимание, что КвалификаторСтроки задаем третьим параметром.
Квалификатор даты 1С
Для даты будет следующий синтаксис квалификатора.
Где ЧастиДаты – системное перечисление, с тремя значениями Время, Дата, ДатаВремя.
Например, задать дату, которая будет иметь формат времени нужно так:
Обратите внимание, что КвалификаторДаты задаем третьим параметром.
Общий вариант синтаксиса с использование типов выглядит так:
Новый ОписаниеТипов(<Типы>, <КвалификаторыЧисла>, <КвалификаторыСтроки>, <КвалификаторыДаты>, <КвалификаторыДвоичныхДанных>)
Массив типов в описание типов
Кроме использования одного типа в синтаксисе описания типов, можно использовать массив типов, например, сделаем колонку таблицы значений, у которая может принимать значения примитивных типов Строка, Число, Дата, Булево. Для этого нужно все типы перечислить в массиве, причём типы должны быть не в виде строк, как мы делали ранее, а в виде значений типа Тип.
Также можно «собрать» массив из ссылочных типов, например из справочников:
Описание типов на основании описания типов
Выше был рассмотрен один вариант синтаксиса описания типов, на основания какого-то типа (или перечисления типов), но также можно создать описание типа на основании другого описания типов, т.е. дополнить имеющееся описание.
Например, мы создали описание типов для чисел, строк и булево.
Теперь нам нужно новое описание типов, в котором будут такие типы как Число, Строка и Дата (тип Булево нам не нужно).
Для этого мы можем использовать следующий конструктор описания типов:
Новый ОписаниеТипов(<ИсходноеОписаниеТипов>, <ДобавляемыеТипы>, <ВычитаемыеТипы>, <КвалификаторыЧисла>, <КвалификаторыСтроки>, <КвалификаторыДаты>, <КвалификаторыДвоичныхДанных>)
Где, в качестве первого параметра указывается описание типов, на основании которого создается это описание, а в качестве второго и третьего параметра – добавляемые и вычитаемые типы (могут быть как в виде массивов, так и в виде строк).
Давайте продолжим код выше:
В этом код в новое описание типов, мы добавили тип Дата, и вычли тип Булево.
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
Работая в программе 1С Предприятие 8.3, при заполнении справочников, документов, отчетов и т.п. мы часто видим перечисление в запросе, который мы открыли, определенных значений. Например:
- Группа основных средств, при заполнении элемента справочника
- И другие виды перечислений, при заполнении данных
Работа с перечислениями также имеет место при выполнении какого-то действия, например, при выборе печати или создании на основании документа (Рис.4-5) и т.п.
Перечисления представляют собой список данных, который пользователь не может корректировать или изменять, то есть они не меняются в процессе работы, поскольку заложены в конфигурацию и являются объектом метаданных.
Элемент «Перечисление» в конфигураторе программы
Рассмотрим, как выглядит перечисление в Конфигураторе программы 1С. Открыв конфигурацию, в дереве метаданных мы видим блок «Перечисления».
Возникает вопрос, зачем нужны перечисления, если можно сделать выбор тех же значений, используя справочник. Перечисления используются, когда нужно ограничить выбираемые пользователем значения предустановленными, без возможности добавления их в пользовательском режиме. К значению перечисления программа может обращаться напрямую, используя присвоенное ему имя.
Рассмотрим, как выглядят наши перечисления изнутри. Для примера, найдем перечисление «Ставки НДС» и откроем его. На закладке «Основные» указывается имя перечисления и синоним объекта, который используется для описания его в программе, т.е. так, как видит его пользователь.
На закладке «Данные» мы видим все значения перечисления, которые отображаются нам в форме выбора в программе. С помощью кнопки «Добавить» (зеленый кружок с плюсом), мы можем добавлять значения перечислений.
Лучше это предоставить разработчику программы, ведь все необходимые изменения вносятся обновлением программы, но для нашего примера рассмотрим создание перечислений.
Хотя все ставки уже введены, продолжим на этом примере. Чтобы добавить вариант значения перечисления нажимаем кнопку «Добавить» и в открывшемся окне задаем имя и синоним нового значения.
Задаем значение НашаСтавка (для примера) и видим, что оно появилось в нашем списке. Так можно ввести, например, новые ставки НДС, если у вас не обновлена программа (ставку 20% уж очень хочется видеть в ней).
Используя имя перечисления, к нему можно обращаться в коде программы напрямую (перечисления из примера – НДС10, НДС18, БезНДС, НДС0).
Основными параметрами перечисления являются ссылка на объект и порядок его отображения.
Формы выбора перечисления представлены формой списка и формой выбора. Каждому перечислению можно задать свою форму выбора и правила формирования списка и выбора перечисления.
Так выглядит перечисление изнутри. Сохраняем наши изменения в «Конфигурация-Сохранить конфигурацию» или просто при закрытии соглашаемся с изменениями.
И далее необходимо обновить конфигурацию базы данных. Или при открытии программы через отладчик, она сама напомнит о том, что данные изменены.
Объект изменен и принимаем предложение об изменении.
Отражение изменения списка перечисления в 1С
Открываем программу и проверяем, как отразилось наше изменение «Ввод нового значения перечисления ставки НДС». Откроем в документе «Счет» выбор значения ставок. Мы видим, что в значении выбора появилось созданное нами значение «Наша ставка».
Вид выбора значения перечисления
Рассмотрев, как происходит добавление перечисления в список значений, возникает вопрос: почему и как в некоторых формах мы выбираем из предложенного списка, а в некоторых – устанавливаем переключатель, и т.п. Ведь в самой форме настройки перечисления мы этого не увидели.
Если, например, ставки НДС в документе были представлены в виде открывающегося списка для выбора, то в справочнике «Сотрудники», при вводе нового сотрудника, нам предлагается установить переключатель «Пол». Это тоже элемент перечисление, т.к. мы выбираем из определенного списка – Мужской/Женский.
Если мы посмотрим на перечисление в Конфигураторе, то там увидим эти значения.
Для того чтобы посмотреть настройку их отображения, нам нужно обратиться к тому элементу, где это перечисление используется. В данном примере это справочник «Сотрудники». Открыв его, в дереве метаданных программы мы видим все его настройки, в том числе и выбор пола физического лица – ФизлицоПол, и вид – «Поле переключателя». Поэтому в справочнике мы видим его (перечисление) именно в таком виде.
Чтобы активировать это окно, в данном случае, мы открыли форму элемента для просмотра.
Сравним, как реализован ввод значения перечисления, которое мы рассматривали в примере – ставки НДС в документе «Счет на оплату покупателю». Для этого также найдем этот элемент в дереве метаданных, но уже в списке документов, и посмотрим форму документа.
Как видим, значение вида ставки НДС – Поле ввода. Обратите внимание, что при выборе реквизита, в форме этот элемент обведен синей рамкой (см. % НДС).
Для больших списков перечислений удобна такая настройка, а для перечислений, где выбор состоит из двух значений, более удобна настройка выбора в виде переключателя.
В этой статье разберем перечисления 1С. Перечислениями называют объекты конфигурации, которые содержат в себе постоянные значения, не изменяемые в процессе работы с программой. Перечисления задаются на этапе конфигурирования, и их нельзя менять пользователю во время работы программы.
Создать перечисление в 1С
Научимся создавать перечисления. Для этого необходимо в конфигураторе 1С, в дереве метаданных, найти ветку перечисления, выделить её, вызвать контекстное меню и воспользоваться единственной командой этого меню «Добавить».
После этих действий будет открыт конструктор редактирования перечислений, где на закладке Основные, можно ввести имя перечисления и синоним.
В моей учебной конфигурации имеется справочник Контрагенты, поэтому я создам перечисление «Юридический статус контрагента», которое потом буду использовать в этом справочнике.
Значение перечисления 1С
Перечисление создано, но само по себе перечисление не имеет ни какого смысла, в нем должны быть различные значения. Нужно их добавить. Для этого перейдем на закладку «Данные», где имеется список значений перечислений. Сейчас он пустой, и нам нужно добавить в него несколько значений, для этого необходимо выполнить команду «Добавить» в меню списка значений.
После выполнения команды, значение будет создано, и справа откроется палитра свойств этого значения. В неё вы можете задать имя конкретного значения, синоним и комментарий.
К имени значения перечисления мы будем обращаться при программной работе с перечислением, а синоним будет отображаться пользователю в интерфейсе.
Точно также добавим несколько других значений.
Перечисление в реквизите объекта 1С
Перечисление мы создали, но от самого перечисления нет ни какого смысла. Перечисление имеет смысл, когда ссылка на это перечисление указано в качестве типа какого-нибудь реквизита объекта. Для примера, я доработаю справочник Контрагенты в моей конфигурации: создам новый реквизит, тип которого будет ссылка на созданное ранее перечисление.
Создадим у справочника контрагенты реквизит Статус.
В палитре свойств этого реквизита установим для него тип ПеречислениеСсылка.ЮридическийСтатусКонтрегента.
На этом конфигурирование справочника будет закончено. Разберем, как работать с перечислением на управляемой форме.
Перечисление на управляемой форме 1С
У моего справочника не было основной формы элемента справочника. После того, как я создам форму элемента этого справочника, включив в неё новый реквизит Статус, то на форме по умолчанию будет размещен элемент поле ввода в виде выпадающего списка, которое будет связано с созданным нами реквизитом справочника.
Если мы откроем форму элемента этого справочника в пользовательском режиме «1С: Предприятия», то сможем посредством выпадающего списка выбрать нужное значение перечисления.
Заметьте, названия значений перечисления в пользовательском режиме соответствуют синонимам значений перечисления.
Кроме выпадающего списка есть другие интерфейсные механизмы работы с перечислениями. Перечисление на управляемой форме может быть в виде переключателя и в виде тумблера.
Для того, чтобы сделать другой вид перечисления, необходимо на форме найти поле ввода, которое связанно с реквизитом, имеющим тип ссылка на перечисление.
После этого необходимо зайти в палитру свойств этого элемента формы (поле ввода), и в этой палитре найти свойство Вид.
По умолчанию у этого свойства установлено значение «Поле ввода», но можно поменять на другие. Нас интересует значение «Поле переключателя».
Если мы установим это значение, то внешний вид формы поменяется.
Вы видите, что на форме сейчас нет рядом с переключателями названий значений перечислений (стоят Значение 1, Значение 2). Чтобы они отобразились, нам нужно ввести значения переключателя в список выбора. Сделать это нужно в свойстве «Список выбора» поля ввода. После нажатия на кнопку «…» этого свойства, откроется форма списка выбора.
Мы можем автоматически заполнить список всеми значениями перечисления, нажав на кнопку «Заполнить» этой формы.
Но представления значений, придется заполнить вручную.
После нажатия кнопки ОК формы списка выбора, свойство «Список выбора» поля будет заполнено, а внешний вид поля переключателя на форме поменяется.
Также другой вид будет в пользовательском режиме «1С: Предприятия» .
Кроме стандартного переключателя в платформе 1С есть возможность сделать тумблер, суть у него будет такая же, как и у переключателя, но внешний вид будет отличаться.
Для того, чтобы сделать тумблер, нужно у элемента формы поле переключателя найти свойство ВидПереключателя и установить в него значение Тумблер.
После установки этого значения, внешний вид формы опять поменяется.
Тумблер представлен в виде кнопок, причем пользователь может нажать только на одну из них. У разработчика имеется возможность управлять внешним видом тумблера при помощи свойств, которые расположены в категории «Расположения» палитры свойств поля переключателя. Например, можно сделать все кнопки тумблера одинаковыми по ширине.
После всех действий, внешний вид переключателя в пользовательском режиме «1С: Предприятия» будет другой.
Замечу, что кнопки тумблера это суть значения перечисления. И когда вы нажали на какую-то кнопку тумблера, то значит, что элементу справочника будет присвоено соответствующее значение перечисления.
Другие статьи по теме конфигурирования:
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Вступайте в мои группы:
One thought on “ Перечисления 1С ”
Читайте также: