1С переключатель на обычной форме

1С переключатель на обычной форме

  • Добавить свою публикацию
  • для этого требуется регистрация

Клюев Вячеслав 28.01.2013 +1

Клюев В.В.

РАБОТА С ПЕРЕКЛЮЧАТЕЛЯМИ Прошу учесть всех пользователей сервиса 1clancer.ru — материалы размещаю в разделе Начинающим!!! 8.2 Управляемые формы

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

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

Итак, создадим новый справочник и добавим реквизит «Реквизит1», с типом «Булево»

Теперь перейдем на вкладку Формы и добавим новую форму.

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

Итак, что же мы сделали не так?
Давайте посмотрим в свойства реквизита, есть ли там переключение на вид элемента управления.
И мы видим, что Поле переключателя здесь нет!( В чем мы ошиблись?

Видимо, что вид элемента управления на форме – зависит от типа данных, вернемся к свойствам формы, а именно к вкладке реквизиты и изменим свойства нашего реквизита –а именно его тип «Булево», на тип «Число».

Теперь вернемся опять к свойствам элемента управления и проверим, добавился ли Вид элемента управления в его свойствах — — — И урра, мы видим там вид – Поле переключателя.

Теперь смотрим на форму, что мы видим:

Мы видим – 3 значения по умолчанию, 3 переключателя, но нам нужно их два, идем опять в свойства реквизита, и смотрим там свойств «Количество колонок»

Для 2 – поставьте Количество колонок – 2.

Это могло бы немного остановить уставшего программиста)), но теперь и он и мы это знаем!

8.2 Обычные формы.

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

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

Вот так выглядит форма в которую нам нужно приладить еще переключатели

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

Казалось бы всё просто. Создаем новый реквизит, с типом – «Число» и вставляем 2 переключателя, один из которых будет иметь возможность записать данные в реквизит, а другой нет.

Добавляем новый элемент управления – Переключатель, в таблице с количеством и описанием переключателей добавляем Переключатель2, устанавливаем Переключатель1 первым в группе и нажимаем ок. Размещаем созданные элементы управления на форме. Обновляем конфигурацию базы данных (F7) и запускаем на отладку.

При выполнении (при создании нового документа в режиме 1С:Предприятие) мы видим, что сколько бы мы ни старались нажать на Переключатель2 – ничего не происходит. Элементы не работают так как им нужно. Тут есть одна фишка.
Вернитесь в конфигуратор. Выберите пункт в меню Форма -> Настройка порядка обхода … (важно чтобы форма была открыта на экране)

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

ОК. Обновите конфигурацию и попробуйте запустить на выполнение.
Отлично. Всё заработало.

Все-таки, программист — это не только техническая профессия, но и творческая, так как зачастую приходится самому создавать дизайн форм. Недавно мне захотелось поместить поле переключателя в командную панель управляемой формы, но не все так просто…
Элемент управления КоманднаяПанель предназначен для размещения в форме набора команд, с помощью которых производится управление информацией, размещенной в форме. Командная панель представляет собой древовидную структуру кнопок командной панели.
Для примера, создайте внешнюю обработку, у обработки создайте управляемую форму.

1. Управляемая форма обработки

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

2. Свойства командной панели

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

3. Свойства обычной группы

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

4. Командные панели формы

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

5. Командная панель с элементом формы Поле переключателя

В итоге получилась красивая форма:

6. Итоговый вид формы

Таким способом можно отображать почти все элементы формы в командной панели.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *