Все-таки, программист - это не только техническая профессия, но и творческая, так как зачастую приходится самому создавать дизайн форм. Недавно мне захотелось поместить поле переключателя в командную панель управляемой формы, но не все так просто...
Элемент управления
КоманднаяПанель предназначен для размещения в форме набора команд, с помощью которых производится управление информацией, размещенной в форме. Командная панель представляет собой древовидную структуру кнопок командной панели.
Для примера, создайте внешнюю обработку, у обработки создайте управляемую форму.
 |
1. Управляемая форма обработки |
Форма уже имеет стандартную командную панель, но в неё мы можем добавить только кнопки, вообще, командные панели могут содержать только элементы формы кнопки и подменю.
Поэтому, в свойствах стандартной панели нужно снять галочку у свойства
Автозаполнение.
 |
2. Свойства командной панели |
Добавьте обычную группу в корень формы, в свойствах установите горизонтальную группировку, без отображения и заголовка.
 |
3. Свойства обычной группы |
В созданную группу добавьте две командных панели, для правой установите в свойстве
Источник команд - Форма, а для левой запретите растягивание по горизонтали. Создайте числовой реквизит формы. Должно получиться следующее:
 |
4. Командные панели формы |
Вставьте между командными панелями элемент формы
Поле переключателя, который связан с реквизитом формы, а стандартную команду формы
Закрыть поместите в левую командную панель. Теперь для пользователя создается впечатление, что командная панель содержит переключатель.
 |
5. Командная панель с элементом формы Поле переключателя |
В итоге получилась красивая форма:
 |
6. Итоговый вид формы |
Таким способом можно отображать почти все элементы формы в командной панели.
спасибо. полезно было. +++
ОтветитьУдалитьух тыш!
ОтветитьУдалитьа вот столкнулся с проблемкой, ответа ни где не нашел(
создаю переключатель програмно но не могу програмно прикрутить к нему програмно созданную команду( Подскажите, как
Команда=ЭтаФорма.Команды.Добавить("СправочникиПодбораПриИзменении");
Команда.Действие="СправочникиПодбораПриИзменении";
ДобавляемыеРеквизиты=Новый Массив;
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("СправочникиПодбора", Новый ОписаниеТипов("Число"), , "Справочники подбора"));
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
//Элемент=Элементы.Добавить("СправочникиПодбора", Тип("ПолеФормы"), Элементы.КоманднаяПанельПеренести);
Элемент=Элементы.Вставить("СправочникиПодбора", Тип("ПолеФормы"), Элементы.ГруппаКоманднаяПанельФормы, Элементы.СтраницыСоздать);
Элемент.ПутьКДанным="СправочникиПодбора";
Элемент.Вид=ВидПоляФормы.ПолеПереключателя;
Элемент.КоличествоКолонок=2;
Элемент.СписокВыбора.Добавить(1, "Номенклатура");
Элемент.СписокВыбора.Добавить(2, "Номенклатура поставщика");
Элемент.ПоложениеЗаголовка=ПоложениеЗаголовкаЭлементаФормы.Нет;
Элемент.ВидПереключателя=ВидПереключателя.Тумблер;
Элемент.ИмяКоманды="СправочникиПодбораПриИзменении"; - это не фурычит!
ЭтаФорма.СправочникиПодбора=Элемент.СписокВыбора[0].Значение;
разобрался
ОтветитьУдалитьЭлемент.УстановитьДействие("ПриИзменении","СправочникиПодбораПриИзменении");
вопрос снят
Спасибо, думал этого сделать невозможно.
ОтветитьУдалитьвсем привет
ОтветитьУдалитьБольшое спасибо за Ваше творчество!!! =)
ОтветитьУдалить