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

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

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

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

Описание:

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

Например, в конфигурации можно задать перечисление «ВидыКонтрагентов», определяющее допустимые виды контрагентов, со значениями «Организация» и «ФизЛицо».

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

Перечисления в языке 1С 8.3, 8.2 (в примерах)

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

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Milkin Vladimir Photo 180

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

Нажмите одну из кнопок, чтобы поделиться:

Источник

Программирование в 1С для всех

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

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

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

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

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

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

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

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

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

1 2

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

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

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

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

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

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

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

2 2

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

3 2

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

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

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

4 2

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

5 2

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

6 2

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

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

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

7 2

8 2

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

9 2

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

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

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

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

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

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

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

10 2

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

11 2

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

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

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

12 2

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

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

13 2

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

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

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

14 2

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

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

15 2

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

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

16 2

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

%D0%9E%D0%B1%D0%BB%D0%BE%D0%B6%D0%BA%D0%B0 3D %D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B0%D1%8F 19 %D1%83%D1%80%D0%BE%D0%BA%D0%BE%D0%B2

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

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

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

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

1C %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D

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

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

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

1C taxi blog

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

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


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

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

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

Источник

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

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

perechisleniya1

perechisleniya2

perechisleniya3

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

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

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

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

perechisleniya4

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

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

perechisleniya5

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

perechisleniya6

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

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

perechisleniya7

Далее необходимо задать значение НашаСтавка. Мы видим, что оно появилось в списке. Таким образом можно ввести новые ставки НДС.

perechisleniya8

perechisleniya9

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

perechisleniya10

perechisleniya11

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

perechisleniya12

Объект изменен, нужно принять предложение об изменении.

perechisleniya13

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

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

perechisleniya14

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

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

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

perechisleniya15

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

perechisleniya16

perechisleniya17

Для активации данного окна, мы открыли форму элемента для просмотра.

perechisleniya18

perechisleniya19

Источник

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

reklama http

Создание перечисления

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

Перечисления находятся в узле Перечисления:

perechislenie

Значения перечисления добавляются на закладке Данные:

perechislenie 1

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

perechislenie 2

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

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

perechislenie 3

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

На уровне базы данных будет создана одна таблица с колонкой Значение, в которой будут храниться все значения:

Значение
Товар
Услуга

Формы перечисления

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

perechislenie 4 perechislenie 5

Если снять данный флаг, то значение перечисления можно выбирать из формы выбора:

perechislenie 6

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

ПеречисленияМенеджер

С помощью данного объекта можно получить доступ ко всем менеджерам перечислений конфигурации. Можно перебрать их в цикле:

Источник

Программирование в 1С для всех

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

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

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

1 1

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

2 1

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

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

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

3 1

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

4 1

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

5 1

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

6 1

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

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

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

7 1

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

8 1

9 1

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

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

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

10 1

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

11 1

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

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

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

12 1

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

13 1

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

14 1

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

15 1

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

16 1

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

17 1

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

18 1

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

19 1

20 1

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

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

21 1

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

22 1

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

23 1

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

24 1

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

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

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

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

1C %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D

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

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

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

1C taxi blog

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

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


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

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

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

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с форма выбора номенклатуры
  • 1с форма выбора документа это