1С 8.x : Переключатель
Добавление и настройка (Выбираемое значение)
Добавляем на форму рамку группы и на нее размещаем переключатели через пункт меню:
В правой части окна добавляем значение переключателя столько, сколько нам необходимо, ставим галочку на «Акции – первый в группе», для того чтоб данный переключатель выбирался автоматически.
После того как добавим переключатели выберем тип данных для первого значения «Акции», в нашем случае присваиваем значение «ТипЦБ»:
Проверьте значение выбираемого значения переключателей после исправления порядка.
Остается только в событии переключателя «акции» «При изменении» написать код программы:
Теперь при выборе переключателя «Облигации» дается возможность редактировать значение колонки НКД:
Похожие FAQ
Еще в этой же категории
Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора
Как ограничить список выбора? 8
Ограничим список элементов, установив отбор в открываемой форме //Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = Форма Реквизит
Как сохранять и восстанавливать значения реквизитов на форме? 6
Как в Управляемом Приложении настроить автосохранение значений полей формы? Заходим в свойства формы и для значения АвтоматическоеСохранениеДанныхВНастройках устанавливаем значение » Использовать» : https://helpf.pro/uploads/img/_1-N3jf1dnRut.png Форма
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
Указание на обязательное следование «по порядку», на мой взгляд ключевой момент.
Переключатели, обычное приложение, управляемые формы
Клюев В.В.
http://prof1c.kklab.ru
РАБОТА С ПЕРЕКЛЮЧАТЕЛЯМИ
8.2 Управляемые формы
Во время изучения поведения управляемых форм перед программистами или разработчиками интерфейсов встаёт вопрос – а где переключатели в управляемых формах и как их добавить на форму. Мелочь, но неприятно много времени тратится на такие мелочи, хотя это время можно было бы потратить на разработку и оптимизацию алгоритма, а не проектирования формы.
Итак, давайте создадим пустую конфигурацию для понимания вопроса, или выберите любую типовую.
Перейдите на группу содержащую справочники, и для эксперимента добавьте новый справочник. Хочу заметить, что конфигурация должна иметь основной режим запуска – Управляемое приложение.
Итак, создадим новый справочник и добавим реквизит «Реквизит1», с типом «Булево»
Теперь перейдем на вкладку Формы и добавим новую форму.
Итак, управляемая форма создана, теперь поработаем с формой и найдем всё таки, где находится переключатель.
Вот наша форма, и на ней мы видим наш реквизит, но в виде флажка
Итак, что же мы сделали не так?
Давайте посмотрим в свойства реквизита, есть ли там переключение на вид элемента управления.
И мы видим, что Поле переключателя здесь нет!( В чем мы ошиблись?
Видимо, что вид элемента управления на форме – зависит от типа данных, вернемся к свойствам формы, а именно к вкладке реквизиты и изменим свойства нашего реквизита –а именно его тип «Булево», на тип «Число».
Теперь смотрим на форму, что мы видим:
Мы видим – 3 значения по умолчанию, 3 переключателя, но нам нужно их два, идем опять в свойства реквизита, и смотрим там свойств «Количество колонок»
Для 2 – поставьте Количество колонок – 2.
Это могло бы немного остановить уставшего программиста)), но теперь и он и мы это знаем!
8.2 Обычные формы.
Занудство с переключателями в обычных формах.
Бывают такие моменты, а они бывают) когда необходимо доработать какую-то уже готовую форму, в которой уже есть какие-то переключатели, и вам необходимо добавить еще переключателю на эту форму. Вот тут и возникает какое-то занудство, которое отнимает много времени, причем времени не на программирование кода – а пустая трата времени с тем, чтобы вывести для пользователя эти переключатели.
Итак, рассмотрим пример. Есть такой документ корректировка поступления в 1С УПП – он точно есть. Нам однажды понадобилось в него добавить переключатели, чтобы рисовались немного разные проводки для бухгалтерского учета. В чем проблема, казалось бы надо значит надо, сделаем. Но в этой форме уже есть 2 переключателя.
Вот так выглядит форма в которую нам нужно приладить еще переключатели
На вкладке дополнительно, мы бы хотели разместить еще два переключателя. Итак первое действие смело добавляем новый элемент управления в необходимо нам место его вставляем.
Казалось бы всё просто. Создаем новый реквизит, с типом – «Число» и вставляем 2 переключателя, один из которых будет иметь возможность записать данные в реквизит, а другой нет.
Добавляем новый элемент управления – Переключатель, в таблице с количеством и описанием переключателей добавляем Переключатель2, устанавливаем Переключатель1 первым в группе и нажимаем ок. Размещаем созданные элементы управления на форме. Обновляем конфигурацию базы данных (F7) и запускаем на отладку.
Для того, чтобы наши Переключатели заработали, необходимо нарушить автоматический порядок и согласиться на ручной. И в форме поставить так, чтобы наши переключатели шли – один за другим по порядку.
ОК. Обновите конфигурацию и попробуйте запустить на выполнение.
Отлично. Всё заработало.
Создание переключателей на обычных формах 1С
Рассмотрим ситуацию, когда у объекта существует реквизит, у которого может быть только определенный набор значения, и эти значения нужно задавать с помощью переключателей. Переключатели могу работать с примитивными типами данных (число, строка, дата, булево), а так же со ссылками, но только на предопределенные элементы.
Рассмотрим пример: нужно создать переключатель, который в дальнейшем будет определять порядок расчета временных промежутков либо по календарным дням, либо — по рабочим. У объекта имеется реквизит КалендарныеДни с типом Булево. Переключатель должен изменять значение этого реквизита.
Для создания переключателя воспользуемся меню: Форма — Вставить элемент управления. В открывшемся окне выберем Переключатель и заполним окно вариантов. Обязательно отметим, что вариант КалендарныеДни — первый в группе.
После этого нажимаем кнопку ОК и рисуем переключатели там, где это необходимо.
Теперь нужно убедиться, что переключатели идут один за другим при обходе элементов формы. Это делается через меню Форма — Список элементов управления формы. Список должен выглядеть следующим образом. Сначала идет переключатель Календарные дни, т.к. он был отмечен как первый в группе, а затем — Рабочие дни. Если у вас большее количество переключателей, то они все должны идти подряд, начиная с первого в группе. В противном случае вы не сможете назначить на каждый переключатель нужное значение реквизита.
Если порядок иной, то его необходимо исправить. Для этого нужно убедиться, что в свойствах формы отключен АвтоПорядокОбхода. А потом настроить нужный порядок через меню Форма — Порядок обхода.
После этого нужно для первого переключателя установить связь с реквизитом объекта (свойство Данные) и значение, которое будет установлено в этот реквизит при выборе переключателя (свойство ВыбираемоеЗначение). Для остальных переключателей устанавливается только ВыбираемоеЗначение.
Как работать с Переключателями?
Процедура ПосчитатьСуммуНажатие(Элемент)
Если ЭлементыФормы.Переключатель1.ВыбираемоеЗначение=0 Тогда
бла-бла-бла.
КонецЕсли;
КонецПроцедуры
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Помогите с переключателями
Как сделать так, чтобы в таблицу из формы вводилось не число 1,2,3. соответствующее нажатому.
Список с переключателями
Создал список с переключателями в виде когда щелкаешь на элемент списка, то правее появляется.
Работа с переключателями
Ситуация такая: есть два переключателя, предположим А и В, и два окна диалога С и D. Если мы.
fimbulwinter, фу ты блин, как всё просто Спасибо, получилось)
А почему такая разница? Вроде смысл тот же.
Переключатель (RadioButton)
ВыбираемоеЗначение (SelectionValue)
Использование:
Чтение и запись.
Описание:
Тип: Совпадает с описанием типа первого в группе переключателя. Определяет значение, которое будет присвоено связанному с группой переключателей переменной при выборе данного переключателя.
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
т.е при создании группы переключателей ты определила значения этих переключателей
Первый = 0, Второй = 1
метод ВыбираемоеЗначение может как считывать так и устанавливать значение Переключатель1 при его выборе. Т.е. например если ЭлементыФормы.Переключатель1.ВыбираемоеЗначение = 3 и ЭлементыФормы.Переключатель1.ВыбираемоеЗначение = 10, тогда при выборе первого в группе переключателя Переключатель1 будет равен 3, при выборе второго в группе переключателя Переключатель1 будет равен 10. Фактически эти значения ты задала программно. Зачем это нужно? для динамического (или программного, как угодно) добавления реквизитов на форму и определения его первоначальных параметров.
1с работа с переключателями обычные формы
Требуется положить в форму необходимое количество переключателей. Очень редко, когда используется всего один переключатель. Как правило в формах диалога они встречаются группами.
Для одного из переключателей в его свойствах надо установить признак «Первый в группе». Этому же переключателю надо присвоить идентификатор, который потом поможет нам обращаться к целой группе переключателей.
Важный момент, который часто забывают сделать: надо настроить порядок обхода реквизитов, таким образом, чтобы «первыйВгруппе» был первым по порядку обхода. А все остальные переключатели, которые должны быть одной группе должны следовать за ним в порядке обхода.
Переключатели считаются одной группой, если они расположены друг за другом в порядке обхода.
Как установить порядок обхода для реквизитов. Находясь в форме, в меню «Диалог» надо снять галку «Автоматический порядок обхода». После этого можно либо воспользоваться «Диалог»->»Настройка порядка обхода», либо «Диалог»->»Порядок обхода». Наиболее удобным, мне кажется второй способ. При этом способе у каждого реквизита появляется картинка с номером реквизита. Вам остается только щелкать мышкой по цифрам, выбирая реквизиты в том порядке, который нужен Вам.
Как работать с переключателями из языка. Обращение к группе переключателей осуществляется с помощью идентификатора первого в группе. Если пользователь выбирает «первыйВгруппе», то значение в идентификаторе будет равно 1. Для всех следующих по порядку обхода переключателей, значение идентификатора будет увеличиваться на единицу.
Рассмотрим пример. Будем работать по рисунку №2. Пусть в реквизите «сложение» стоит признак «первый в группе» и идентификатор «группа1». Пусть в реквизите «умножение» стоит признак «первый в группе» и идентификатор «группа2». По кнопке «Сформировать» будет выводиться название выбранного переключателя.
ПроцедураСформировать()
Сообщить(«В первой группе переключателей выбрано «);
Если группа1=1 тогда
сообщить(«Сложение»);
ИначеЕсли группа=2 тогда
сообщить(«Вычитание»);
иначе
сообщить(«Ничего не выбрано»);
конецЕсли;
Сообщить(«Во второй группе переключателей выбрано «);
Если группа2=1 тогда
сообщить(«Умножение»);
ИначеЕсли группа=2 тогда
сообщить(«Деление»);
иначе
сообщить(«Ничего не выбрано»);
конецЕсли;
КонецПроцедуры
В примере можно было бы использовать еще одно условие: Если ни один из переключателей в группе не выбран, то значение идентификатора будет равно нулю.
Задание для самостоятельной работы: