1с видимость кнопки на форме

Как управлять расположением команд в командной панели формы?

В 1С Предприятии 8.2 внешний вид формы определяется расположением и свойствами элементов в дереве элементов формы. На основе этих свойств система сама «рисует» форму, в частности, командную панель формы.

Любая группа кнопок (командная панель, подменю, группа кнопок, контекстное меню) заполняется по одинаковым правилам:

Рассмотрим самый простой вариант, когда в форме элемента справочника созданы две команды и помещены в командную панель формы.

1

2

Однако у разработчика есть несколько способов существенно вмешаться в этот процесс и повысить удобочитаемость командной панели, контекстного меню и т.п. Какие же есть возможности изменить состав и порядок кнопок?

1. Можно отделить команды, созданные разработчиком, от других команд разделителем.

Для этого нужно создать в командной панели группу вида Группа кнопок и перенести в нее эти команды.

3

2. Можно расположить какие-то команды разработчика в начале группы команд.

4

В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.

5

3. Можно переместить автоматически заполняемые кнопки.

6

В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.

7

8

После установки этих свойств, Команда3 становится доступна закладке Командный интерфейс формы объекта, тип которого имеет команда и располагается в командной панели формы после стандартных команд, поставляемых формой элемента справочника.

9

В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.

10

11

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

12

Что же касается содержимого фрагмента командного интерфейса, то его редактирование доступно на закладке Командный интерфейс редактора формы.

Для этого нужно открыть окно Состав команд в палитре свойств формы.

13

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

Источник

Недоступны кнопки командной панели в обычных формах, управление видимостью кнопок

Недоступны кнопки командной панели в обычных формах, управление видимостью кнопок

3 причины недоступности кнопки

У каждой кнопки типа «Действие» командной панели существует свойство «Доступность», которое позволяет ограничить возможность нажатия пользователем в неподходящий момент, оно доступно на чтение и на запись.

Платформа также автоматически управляет доступностью кнопок, когда не действие не применимо для данной ситуации. Это справедливо для кнопок со стандартным действием, например «Отмена проведения» будет недоступно для не проведенного документа.

Другие стандартные действия приведены на фрагменте интерфейса:

%D0%AD%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%9F%D0%B0%D0%BD%D0%B5%D0%BB%D0%B8

Третий случай, когда кнопка недоступна для нажатия — отсутствие назначенного обработчика в коде модуля формы. Никаких ошибок при этом не возникает, поэтому это одна из неявных ошибок в процессе конфигурирования системы.

Чтобы убедится в причине, открываете свойства кнопки панели и в поле «Действие» нажимаете кнопку открытия («Лупу»). При наличии обработчика, конфигуратор откроет форму, при отсутствии выведет ошибку «Процедура не обнаружена»

%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D0%B0%D0%9D%D0%B5%D0%9E%D0%B1%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B0

Чтобы добавить обработчик очищаете поле, и повторно нажимаете «лупу», система создаст новый обработчик, код которого можно будет задать.

Управление видимостью кнопок

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

Поэтому, если все-таки хотите скрывать «ненужные» кнопки, придется использовать метод «Удалить» кнопок панели, для отображения — «Добавить«.

Удалять кнопки, добавленные системой по флажку «Автозаполнение» формы невозможно.

Пример добавления кнопки

Если вам требуется сохранять положение кнопки в нужной позиции, после добавления воспользуйтесь методом «Сдвинуть«.

«Куда» — это командная панель, в которой требуется внести изменения

«ОбработчикДопКнопокДействийФормы» — в примере выше, это название процедуры обработчика события, должна быть в форме, может отличаться для каждой из кнопок.

Пример удаления кнопки

Реклама магазина самообслуживания: треска, стоящая в очереди за cобственной печенью.

Источник

Гибкое управление свойствами доступности элементов управления в обычных формах 1С: Предприятия 8.х

Наверное, одной из самых непростых и скучных задач при проектировании обычной формы в «1С: Предприятии» является управление доступностью элементов в зависимости от того или иного набора данных. Мне встречалось очень много решений: от процедуры вроде УстановитьВидимостьДоступность() с включением в нее всех правил для элементов управления, до совершенно хаотично разбросанных по всему коду обращений к указанным свойствам.

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

Все началось с того, что поиск решения для этой задачи натолкнул меня на статью из «Методик разработки» под названием «Организация управления доступом в форме». Ключевым моментом в статье является то, что управление доступом сосредотачивается в одной лишь процедуре УстановитьДоступ(). И если необходимо изменить состояния элементов управления, вызывается только эта процедура. Сама процедура не занимается определением доступа, а работает с данными из списков, которые формируются следующими функциями:

То есть сами условия доступности устанавливаются в этих функциях, а уже процедура УстановитьДоступ() присваивает соответствующим свойствам элементов управления эти заранее установленные значения.

Я разделил код на три составляющих. Первая — это методы, которые как раз выполняют изменения значений свойств доступности элементов формы. Вынес их в общий модуль. Назовем его условно УправлениеДоступом. Ниже расположен код, который размещается в нем. Я постарался максимально прокомментировать малопонятные участки кода.

Например, у нас есть табличное поле Товары, в котором присутствует колонка СкидкаПоДисконтнойКарте. Колонка видна только тогда, когда дисконтная карта проставлена в документ, т.е. реквизит ДисконтнаяКарта является заполненным. Соответственно, условие списока управления видимостью для колонки СкидкаПоДисконтнойКарте будет следующим:

Вторая часть когда — это функции, которые отвечают за формирование списков доступности. Они располагаются непосредственно в форме и являются экспортируемыми. Я немного отошел от стандарта 1С и заменил метод ПолучитьСписокДоступаКУправлениюВидимостью() на ПолучитьСписокУправлениеРедактированиемТекста(). Просто мне кажется, что так удобнее и логичнее. Ниже приведен шаблон кода с этими функциями:

И, наконец, третья часть — это процедура УстановитьДоступ(), которая тоже расположена в модуле формы. Именно эту процедуру мы вызываем в любом месте кода нашей формы, чтобы переопределить доступность элементов формы.

Чтобы было все нагляднее и понятнее, давайте рассмотрим следующий пример. Допустим, что у нас есть форма. На ней расположен флажок НаличнаяПродажа (булево), флажок ПробиватьФискальныйЧек (булево), поле ввода ДисконтнаяКарта (ссылка на справочник ДисконтныеКарты), поле ввода Комментарий (строка) и табличное поле Товары. Все связаны с одноименными реквизитами. У табличного поля есть колонка с именем СкидкаПоДисконтнойКарте (число). Кроме этого, есть командная панель ОсновныеДействияФормы, на которой размещена кнопка ПробитьЧек. Определим некоторые условия:

Теперь достаточно вызвать процедуру формы УстановитьДоступ(), и мы получим то состояние элементов, которые задали.

Хочется выделить следующий момент. В списки можно можно добавлять пути к элементам формы. Например, для вышеприведенного примера с таблицей Товары имя элемента определяем как «Товары.Колонки.СкидкаПоДисконтнойКарте». Или путь к кнопке ПробитьЧек. Можно использовать множественные вложения, вроде «ИмяКоманднойПанели.Кнопки.ИмяПодменю.Кнопки.ИмяКнопки».

Предлагаемый вариант не конечный. Можно внести множество мелких дополнений, вроде указаний, какие списки обрабатывать, а какие нет. Но это уже зависит от точечных потребностей разработчика.

Источник

Заметки из Зазеркалья

Реализовано в версии 8.3.8.1652.

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

09

Кнопка гиперссылка

Появился новый вид кнопки – Гиперссылка командной панели.

01

Положение картинки справа

Стало возможным задавать расположение картинки справа или слева от заголовка. Для этого у кнопки мы сделали новое свойство ПоложениеКартинки.

02

Компактная группа кнопок

Группу кнопок теперь можно отображать компактно, без зазоров между ними. Для этого группе кнопок мы добавили новое свойство Отображение.

03

Овальная кнопка

04

Отображение кнопки при активности

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

05

Цвет рамки, фона, заголовка и шрифт заголовка

При желании вы можете теперь раскрашивать рамку, фон и заголовок кнопки, и даже менять шрифт заголовка. Для этого предназначены новые свойства кнопки ЦветРамки, ЦветФона, ЦветТекстЗаголока и ШрифтЗаголовка.

06

Изменение стандартного отображения команд

Для некоторых команд мы изменили правила стандартного отображения. Например, команда Скопировать теперь отображается картинкой в командной панели.

07

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

08

Мы надеемся, что эти возможности позволят сделать ваши решения более привлекательными и приятными в использовании.

Источник

Видимости кнопки

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Ограничение видимости в журналах документов
Ребя помогите. Нужно чтобы определенная группа пользователей не могла изменять интервал выборки в.

Программное задание видимости колонкам списка
На форме списка документа есть кнопка «Настройки». При нажатии на неё открывается список значений.

tickИзменение видимости кнопки при наведении на элемент списка
Есть список, элементы в котором это stackpanel с textblock и кнопкой. Когда наводишь на элемент.

РольДоступна (IsInRole)
Синтаксис:

Тип: Строка; ОбъектМетаданных: Роль.
Название роли как она задана в конфигураторе или объект описания метаданного роли.
Возвращаемое значение:

Определяет доступность указанной роли текущему пользователю.

Роли (Roles)
Использование:

Только чтение.
Описание:

Тип: РолиПользователя.
Содержит коллекцию ролей пользователя информационной базы.

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:

НО
Доступно только пользователю с административными правами.

Посему остаётся вариант перебора по РольДоступна()
Для Каждого Роль ИЗ Роли Цикл
Если РольДоступна(Роль) Тогда
или
Если РольДоступна(Роль.Имя) Тогда

Область видимости
Почему выпадает ошибка, что переменная scanner не инициализирована? По идее она не должна быть.

Область видимости
Доброго времени суток. Есть скрипт регистрации (который уже наверно всем надоел :D), в нем я.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с вид операции перевод с другого счета
  • 1с вернуть параметры при закрытии формы