Не отображается элемент формы
1С программа которая есть абсолютно в каждой организации. Как и все в нашем мире она не совершенна. Типовые конфигурации не всегда отвечают всем требованиям предприятий. Поэтому очень часто их дорабатывают дописывают сторонние программисты. Вот после таких доработок можно столкнуться с проблемой. Когда на форме не видно какого либо элемента. Давайте расскажу вам как можно исправить данную ситуацию и сделать так чтобы все элементы отображались.
И так что делать если у пользователей не отображается какой либо элемент на форме. Для начала нужно войти в 1С под администратором и если у него все ОК, проверяем настройки видимости.
На форме не видно элемент
Для примера возьму один самописный документ. Пользователь открывает его и не видит поле «Подразделение».
Открываем конфигуратор, ищем этот документ, открываем его форму и кликаем на элементе который не отображается ПКМ и выбираем «Свойства».
В окне свойств ищем пункт «Пользовательская видимость» открываем. В настройка видимость отмечаем пункт «Видимость».
Закрываем сохраняем и обновляем конфигурацию. Обязательно нужно перезайтив в 1С чтобы увидеть изменения.
Недоступны кнопки командной панели в обычных формах, управление видимостью кнопок
Недоступны кнопки командной панели в обычных формах, управление видимостью кнопок
3 причины недоступности кнопки
У каждой кнопки типа «Действие» командной панели существует свойство «Доступность», которое позволяет ограничить возможность нажатия пользователем в неподходящий момент, оно доступно на чтение и на запись.
Платформа также автоматически управляет доступностью кнопок, когда не действие не применимо для данной ситуации. Это справедливо для кнопок со стандартным действием, например «Отмена проведения» будет недоступно для не проведенного документа.
Другие стандартные действия приведены на фрагменте интерфейса:
Третий случай, когда кнопка недоступна для нажатия — отсутствие назначенного обработчика в коде модуля формы. Никаких ошибок при этом не возникает, поэтому это одна из неявных ошибок в процессе конфигурирования системы.
Чтобы убедится в причине, открываете свойства кнопки панели и в поле «Действие» нажимаете кнопку открытия («Лупу»). При наличии обработчика, конфигуратор откроет форму, при отсутствии выведет ошибку «Процедура не обнаружена»
Чтобы добавить обработчик очищаете поле, и повторно нажимаете «лупу», система создаст новый обработчик, код которого можно будет задать.
Управление видимостью кнопок
В обычных формах явно управлять видимостью кнопками невозможно.
Поэтому, если все-таки хотите скрывать «ненужные» кнопки, придется использовать метод «Удалить» кнопок панели, для отображения — «Добавить«.
Удалять кнопки, добавленные системой по флажку «Автозаполнение» формы невозможно.
Пример добавления кнопки
Если вам требуется сохранять положение кнопки в нужной позиции, после добавления воспользуйтесь методом «Сдвинуть«.
«Куда» — это командная панель, в которой требуется внести изменения
«ОбработчикДопКнопокДействийФормы» — в примере выше, это название процедуры обработчика события, должна быть в форме, может отличаться для каждой из кнопок.
Пример удаления кнопки
Реклама магазина самообслуживания: треска, стоящая в очереди за cобственной печенью.
Нет кнопки печати в управляемой форме
Нет кнопки печати в управляемой форме
В стандартном документе отсутствует кнопка команд печати (группа командной панели).
На что следует обратить внимание для решения проблемы
В случае, лежащем в основе статьи, проблема оказалась на последнем этапе:
верно указанная группа, но не указан тип параметра команды — должен быть ДокументСсылка.УстановкаЦенНоменклатуры.
Скорее всего документ был в эту базу скопирован из другой конфигурации и данное свойство очистилось, либо другая невыясненная причина.
Как проверить остальные варианты:
Для начала определитесь была ли эта кнопка вообще или же пропала кнопка печати в 1с после каких-либо действий (вспомните их). Проверьте: у всех пользователей проявляется, либо же у отдельных, форме объекта, в форме списка (в обоих) не видна? Все команды отсутствуют или же нет одной конкретной? Ответы на эти вопросы локализует проблему быстрее.
Команды объекта находятся в дереве метаданных (под формами, над макетами)
Права на команду доступны из диалога роли, а также по вкладке дополнительно при активной команде (правой кнопкой или же горячими клавишами Alt+Shift+Enter)
Затем справа в панели свойств перейти на вкладке права и найти требуемое/проверяемое полномочие:
Использовать стандартные команды в карточке объекта на вкладке «Команды» (внизу под списком)
В диалоге редактирования управляемой форме при активной командной панели объекта, нажимаете свойства и проверяете установку флаг «Автозаполнение»
У меня во всех вышестоящих примерах объекты недоступны для редактирования не по причине нахождения на поддержке, а использования хранилища конфигурации — для самописной конфигурации всё будет доступно для правки.
Если же у вас обычные формы, возможно вам поможет эта статья
Можно дурачить всех все время, — при условии, что реклама ведется правильно, а расходы на нее достаточно велики.
Как управлять расположением команд в командной панели формы?
В 1С Предприятии 8.2 внешний вид формы определяется расположением и свойствами элементов в дереве элементов формы. На основе этих свойств система сама «рисует» форму, в частности, командную панель формы.
Любая группа кнопок (командная панель, подменю, группа кнопок, контекстное меню) заполняется по одинаковым правилам:
Рассмотрим самый простой вариант, когда в форме элемента справочника созданы две команды и помещены в командную панель формы.
Однако у разработчика есть несколько способов существенно вмешаться в этот процесс и повысить удобочитаемость командной панели, контекстного меню и т.п. Какие же есть возможности изменить состав и порядок кнопок?
1. Можно отделить команды, созданные разработчиком, от других команд разделителем.
Для этого нужно создать в командной панели группу вида Группа кнопок и перенести в нее эти команды.
2. Можно расположить какие-то команды разработчика в начале группы команд.
В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.
3. Можно переместить автоматически заполняемые кнопки.
В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.
После установки этих свойств, Команда3 становится доступна закладке Командный интерфейс формы объекта, тип которого имеет команда и располагается в командной панели формы после стандартных команд, поставляемых формой элемента справочника.
В результате в режиме 1С:Предприятия командная панель формы и подменю Все действия будут иметь следующий вид.
В этом случае автоматическое размещение фрагмента будет отменено (по аналогии со стандартной кнопкой, добавленной вручную), и фрагмент командного интерфейса будет выводиться в новой группе.
Что же касается содержимого фрагмента командного интерфейса, то его редактирование доступно на закладке Командный интерфейс редактора формы.
Для этого нужно открыть окно Состав команд в палитре свойств формы.
В заключение заметим, что возможности изменить порядок кнопок, предоставляемых источником команд, нет. Если такая необходимость появится, нужно отменить источник у группы команд, и полностью заполнить группу вручную.
Решение ошибок «Нет кнопки Создать на основании» или «Задвоились пункты в меню Создать на основании»
Задача: добавить два новые документа в типовую конфигурацию “Bas small business” (УНФ). Причем один из документов должен вводиться на основании другого.
Ошибка №1 В пользовательском режиме кнопка «Создать на основании» не появилась
В итоге мне пришлось добавить согласно инструкции процедуры и функции в модуль формы и в модуль менеджера нового документа.
Вот пример модуля менеджера моего нового документа. Привожу этот пример, т.к. поменял процедуру ДобавитьКомандуСоздатьНаОсновании не так, как в инструкции.
После этого, о чудо! Кнопка «Создать на основании» появилась, но тут появилась вторая ошибка №2:
Меню задвоилось! Вспомнил, что подобную ошибку встречал уже в своей практике, но решение сразу не нашел. Тогда решил упереться и докопаться до причины. Оказалось
Общий.Модуль.ПодключаемыеКоманды процедура ВывестиКоманды
В этом месте в таблице значений ВидыКоманд две строки СозданиеНаОсновании!
Вот тут я понял, что если убрать одну из строк в этой таблице, тогда задвоения пунктов меню не будет! Все дело в том, что одну команду создает одна процедура, другую вторая. Причину мне сформулировать трудно, т.к. могу ошибаться. Но по-моему мнению, выполняется штатная процедура УНФ, которая добавляет команду и процедура которая относится к программной прорисовке команд от БСП.
В итоге задача решается двумя вариантами:
1. ОбщийМодуль.СозданиеНаОснованииПереопределяемый отключаем использование добавления команд ввода на основании в одном из случаев.
Но этот способ может повлиять на работу в других местах программы, где этот механизм нужен. Хотя я проверил документ ЗаказПокупателя (стандартный документ) и убедился, что кнопки Создать на основании остались. Но, на всякий случай, решил задачу вторым вариантом:
2. Там где формируется ТЗ ВидыКоманд таблицу нужно аккуратно свернуть, но для этого нужно поменять две процедуры ОбщийМодуль. ПодключаемыеКомандыПереопределяемый
И ОбщийМодуль.ПодключаемыеКоманды процедура ВидыКоманд()
Вывод: для сопровождения типовых конфигураций крайне важно знать, как работает БСП