1с переключатель как работает

Обновлено: 04.07.2024

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

Реквизит формы с типом число

Перетащим этот реквизит в закладку элементы конструктора формы.

Перетаскиваем реквизит формы

По умолчанию для реквизитов с типом Число создается элемент формы Поле с видом ПолеВвода. Изменим значение свойства Вид на Поле переключателя. Вид реквизита на управляемой форме сразу же поменяется.

Значение свойства вид – Поле переключателя

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

Свойство элемента Список выбора

В левой колонки таблицы вносим значения реквизита (в нашем случае цифры), а в правой колонке представление этих значений на форме.

Значения в свойстве Список выбора

После этого поле переключателя на нашей форме изменится.

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

Сделаем для переключателя более красивый вид: уберем заголовок и установим в свойство Вид переключателя значение Тумблер.

Установили вид переключателя тумблер

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

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

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

На рисунке ниже результат работы этой команды.

Работа переключателя формы

Более подробно работа с элементами формы на практичных примерах дается в книге «Основы разработки в 1С:Такси. Разработка управляемого приложения за 12 шагов».


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

  1. Без сложных технических терминов;
  2. Более 600 страниц практического материала;
  3. Каждый пример сопровождается рисунком (скриншот);
  4. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!


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

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

Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования (Linus Torvalds).

понедельник, 2 декабря 2013 г.

Работа с переключателем в 1С 8

Работу с переключателем рассмотрим на следующем примере:

1) Создадим внешнюю обработку - в ней добавим пустую форму - выберем пункт меню "Форма" - "Вставить элемент управления. "


2) В окне вставки элемента управления выберем "Переключатель" - установим флаг "Первый в гурппе" - далее "ОК" - после чего разместим его на форме.


Сразу будет создан реквизит формы Переключатель1, тип - Число, а свойство "Выбираемое значение" станет равным 0 по-умолчанию. Собственно, данное свойство и характеризует выбранный в данный момент переключатель.

3) Теперь проделаем тоже, что и на шаге 2, только флаг "Первый в группе" ставить уже не будем, но в свойствах установим "Выбираемое значение" в 1.


4) В обработчике "ПриИзменении" элемента формы "Переключатель1" напишем простенький код:

Процедура Переключатель1ПриИзменении ( Элемент )
Если Переключатель1 = 0 Тогда
Сообщить ( "Выбран Переключатель1" );
ИначеЕсли Переключатель1 = 1 Тогда
Сообщить ( "Выбран Переключатель2" );
КонецЕсли;
КонецПроцедуры


Если же вам нужно сохранять значение флага, то для этого нужно создать уже реквизит объекта. В данном случае нужно создать реквизит объекта Переключатель1 с типом Число и в свойствах "Данные" элемента управления "Переключатель1" указать созданный реквизит. Можно также сначала создать реквизит объекта, а потом проделать шаги 1-4.

Добавляем на форму рамку группы и на нее размещаем переключатели через пункт меню:

Форма -> Вставить элемент управления… и в открывшемся окне выбираем переключатели:


В правой части окна добавляем значение переключателя столько, сколько нам необходимо, ставим галочку на «Акции – первый в группе», для того чтоб данный переключатель выбирался автоматически.

После того как добавим переключатели выберем тип данных для первого значения «Акции», в нашем случае присваиваем значение «ТипЦБ»:


А само значение переключателя вводится в Данные -> Выбираемое значение. Для Акции это 0, Облигации – 1, Векселя - 2 и Паи – 3. Но до введения этих данных необходимо проверить порядок.


Если переключатели идут не по порядку, то не будет осуществлено переключение, то есть не сможем выбрать значение облигации. Для того чтобы включить эту возможность, необходимо выбрать меню Форма -> Настройка порядка обхода и все переключатели разместить по порядку.


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

Остается только в событии переключателя «акции» «При изменении» написать код программы:

Теперь при выборе переключателя «Облигации» дается возможность редактировать значение колонки НКД:


Разместил: E_Migachev  Версии: | 8.x |  Дата: 20.08.2014   Прочитано: 43404

Распечатать

Похожие FAQ

Использование Web-сервисов для синхронизации баз данных в режиме online 1с 8.х  11
Часто при ведении учета в различных конфигурациях 1с возникает необходимость выполнения обмена данных. Для решения этой задачи принято использовать Универсальный обмен данными XML или другие внешние обработки, общим у которых является использование Использование предложения ДЛЯ ИЗМЕНЕНИЯ  0
Предложение ДЛЯ ИЗМЕНЕНИЯ позволяет заблаговременно заблокировать некоторые данные (которые могут читаться транзакцией другого соединения) уже при считывании, чтобы исключить взаимные блокировки при записи. ДЛЯ ИЗМЕНЕНИЯ дает возможность указать в Использование транзакций  2
Использование транзакций в 1С Транзакция предназначена для записи в информационную базу согласованных изменений. Все изменения, внесенные в информационную базу после начала транзакции, будут затем либо целиком записаны, либо целиком отменены. Ключе Как заблокировать считываемые в транзакции данные, чтобы они не могли читаться из другой транзакции  0
Используется режим управляемых транзакционных блокировок (в автоматическом режиме для этой цели используется конструкция ДЛЯ ИЗМЕНЕНИЯ). Для того чтобы запретить чтение данных другими управляемыми транзакциями, следует устанавливать исключительный ре Как заблокировать считываемые в транзакции данные,чтобы они не могли изменяться из другой транзакции  0
Используется режим управляемых транзакционных блокировок (в автоматическом режиме ничего делать не нужно, система сама блокирует все считываемые данные). Для того чтобы запретить изменение данных другими транзакциями, следует устанавливать разделяемы Посмотреть все результаты поиска похожих

Еще в этой же категории

Программное создание таблицы значений с условным оформлением  12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Поле выбора

Как ограничить список выбора?  8
Ограничим список элементов, установив отбор в открываемой форме //Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = Форма Реквизит

Как активизировать, перевести фокус на необходимый элемент на форме?  6
//Текущему Элементу формы присваиваем элемент котровый необходимо активизировать ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле; Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Добавляем на форму рамку группы и на нее размещаем переключатели через пункт меню:

Форма -> Вставить элемент управления… и в открывшемся окне выбираем переключатели:


В правой части окна добавляем значение переключателя столько, сколько нам необходимо, ставим галочку на «Акции – первый в группе», для того чтоб данный переключатель выбирался автоматически.

После того как добавим переключатели выберем тип данных для первого значения «Акции», в нашем случае присваиваем значение «ТипЦБ»:


А само значение переключателя вводится в Данные -> Выбираемое значение. Для Акции это 0, Облигации – 1, Векселя - 2 и Паи – 3. Но до введения этих данных необходимо проверить порядок.


Если переключатели идут не по порядку, то не будет осуществлено переключение, то есть не сможем выбрать значение облигации. Для того чтобы включить эту возможность, необходимо выбрать меню Форма -> Настройка порядка обхода и все переключатели разместить по порядку.


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

Остается только в событии переключателя «акции» «При изменении» написать код программы:

Теперь при выборе переключателя «Облигации» дается возможность редактировать значение колонки НКД:


Разместил: E_Migachev  Версии: | 8.x |  Дата: 20.08.2014   Прочитано: 43405

Распечатать

Похожие FAQ

Использование Web-сервисов для синхронизации баз данных в режиме online 1с 8.х  11
Часто при ведении учета в различных конфигурациях 1с возникает необходимость выполнения обмена данных. Для решения этой задачи принято использовать Универсальный обмен данными XML или другие внешние обработки, общим у которых является использование Использование предложения ДЛЯ ИЗМЕНЕНИЯ  0
Предложение ДЛЯ ИЗМЕНЕНИЯ позволяет заблаговременно заблокировать некоторые данные (которые могут читаться транзакцией другого соединения) уже при считывании, чтобы исключить взаимные блокировки при записи. ДЛЯ ИЗМЕНЕНИЯ дает возможность указать в Использование транзакций  2
Использование транзакций в 1С Транзакция предназначена для записи в информационную базу согласованных изменений. Все изменения, внесенные в информационную базу после начала транзакции, будут затем либо целиком записаны, либо целиком отменены. Ключе Как заблокировать считываемые в транзакции данные, чтобы они не могли читаться из другой транзакции  0
Используется режим управляемых транзакционных блокировок (в автоматическом режиме для этой цели используется конструкция ДЛЯ ИЗМЕНЕНИЯ). Для того чтобы запретить чтение данных другими управляемыми транзакциями, следует устанавливать исключительный ре Как заблокировать считываемые в транзакции данные,чтобы они не могли изменяться из другой транзакции  0
Используется режим управляемых транзакционных блокировок (в автоматическом режиме ничего делать не нужно, система сама блокирует все считываемые данные). Для того чтобы запретить изменение данных другими транзакциями, следует устанавливать разделяемы Посмотреть все результаты поиска похожих

Еще в этой же категории

Как обновить динамический список или реквизит на форме клиента?  19
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Динамический список

Как на управляемой форме разместить список регистра сведений с отбором?  18
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Как установить параметр динамического списка?  14
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением  12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Читайте также: