Клюев В.В.
http://prof1c.kklab.ru
Во время изучения поведения управляемых форм перед программистами или разработчиками интерфейсов встаёт вопрос – а где переключатели в управляемых формах и как их добавить на форму. Мелочь, но неприятно много времени тратится на такие мелочи, хотя это время можно было бы потратить на разработку и оптимизацию алгоритма, а не проектирования формы.
Итак, давайте создадим пустую конфигурацию для понимания вопроса, или выберите любую типовую.
Перейдите на группу содержащую справочники, и для эксперимента добавьте новый справочник. Хочу заметить, что конфигурация должна иметь основной режим запуска – Управляемое приложение.
Итак, создадим новый справочник и добавим реквизит «Реквизит1», с типом «Булево»
Теперь перейдем на вкладку Формы и добавим новую форму.
Итак, управляемая форма создана, теперь поработаем с формой и найдем всё таки, где находится переключатель.
Вот наша форма, и на ней мы видим наш реквизит, но в виде флажка
Итак, что же мы сделали не так?
Давайте посмотрим в свойства реквизита, есть ли там переключение на вид элемента управления.
И мы видим, что Поле переключателя здесь нет!( В чем мы ошиблись?
Видимо, что вид элемента управления на форме – зависит от типа данных, вернемся к свойствам формы, а именно к вкладке реквизиты и изменим свойства нашего реквизита –а именно его тип «Булево», на тип «Число».
Теперь вернемся опять к свойствам элемента управления и проверим, добавился ли Вид элемента управления в его свойствах - - - И урра, мы видим там вид – Поле переключателя.
Теперь смотрим на форму, что мы видим:
Мы видим – 3 значения по умолчанию, 3 переключателя, но нам нужно их два, идем опять в свойства реквизита, и смотрим там свойств «Количество колонок»
Для 2 – поставьте Количество колонок – 2.
Это могло бы немного остановить уставшего программиста)), но теперь и он и мы это знаем!
Занудство с переключателями в обычных формах.
Бывают такие моменты, а они бывают) когда необходимо доработать какую-то уже готовую форму, в которой уже есть какие-то переключатели, и вам необходимо добавить еще переключателю на эту форму. Вот тут и возникает какое-то занудство, которое отнимает много времени, причем времени не на программирование кода – а пустая трата времени с тем, чтобы вывести для пользователя эти переключатели.
Итак, рассмотрим пример. Есть такой документ корректировка поступления в 1С УПП – он точно есть. Нам однажды понадобилось в него добавить переключатели, чтобы рисовались немного разные проводки для бухгалтерского учета. В чем проблема, казалось бы надо значит надо, сделаем. Но в этой форме уже есть 2 переключателя.
Вот так выглядит форма в которую нам нужно приладить еще переключатели
На вкладке дополнительно, мы бы хотели разместить еще два переключателя. Итак первое действие смело добавляем новый элемент управления в необходимо нам место его вставляем.
Казалось бы всё просто. Создаем новый реквизит, с типом – «Число» и вставляем 2 переключателя, один из которых будет иметь возможность записать данные в реквизит, а другой нет.
Добавляем новый элемент управления – Переключатель, в таблице с количеством и описанием переключателей добавляем Переключатель2, устанавливаем Переключатель1 первым в группе и нажимаем ок. Размещаем созданные элементы управления на форме. Обновляем конфигурацию базы данных (F7) и запускаем на отладку.
При выполнении (при создании нового документа в режиме 1С:Предприятие) мы видим, что сколько бы мы ни старались нажать на Переключатель2 – ничего не происходит. Элементы не работают так как им нужно. Тут есть одна фишка.
Вернитесь в конфигуратор. Выберите пункт в меню Форма -> Настройка порядка обхода … (важно чтобы форма была открыта на экране)
Для того, чтобы наши Переключатели заработали, необходимо нарушить автоматический порядок и согласиться на ручной. И в форме поставить так, чтобы наши переключатели шли – один за другим по порядку.
ОК. Обновите конфигурацию и попробуйте запустить на выполнение.
Отлично. Всё заработало.
Дополнительно - видео(без звука, итак все понятно)