Как отключить элемент на форме 1С 8.3
Если вам нужно отключить какой нибудь элемент на форме, кнопку, поле ввода, дату и т.д, то сделать это достаточно просто. Можно например, не просто отключить элемент а вообще скрыть его. Делается это очень легко и просто, не нужно даже знать программирование.
Отключаем или убираем любой элемент формы
Для примера возьмем вот такую форму, на которой отключим доступ к полю «Сумма».
Для этого необходимо открыть конфигуратор, найти и открыть форму документа. Далее открыть свойства элемента, к которому хотим ограничить доступ. В нашем случае это «Сумма». Найти пункт «Доступность» и снять галочку.
Сохраняем изменения и проверяем что получилось. Теперь в поле «Сумма» нельзя внести изменения.
Для того чтобы вообще скрыть элемент на форме, необходимо в свойствах элемента отключить пункт «Видимость».
После чего данное поле исчезнет с формы.
Вот так просто можно отключить доступность любого элемента на форме, либо вообще скрыть его.
@#$@#! Да сто раз уже сказали, как! Читать (18), только, блин, с открытыми глазами и включённым мозгом!
(23) vasyak319, Да, я в курсе что создается
Глобальный контекст (Global context)
ПравоДоступа (AccessRight)
Синтаксис:
А опции в 8.2 работать будут? А на обічніх формах тоже реквизит не покажут?
(1) alex_4x, Вопрос, на чём предполагается реализовывать? (Релиз платформы). Ну и конечно неплохо бы узнать для какой конфигурации (что бы понять какой функционал там уже есть).
Платформа 1С:Предприятие 8.2 (8.2.19.83)
Конфа УПП 1.3 (но мне кажется это совершенно не принципиально)
Закладка Функциональные опции в конфигураторе есть и там даже что то уже сделано (в базовом решении)
Но я никогда с этими функциональными опциями не работал. Может посоветуете почитать где, чтобы понятно и с примерами было.
Спасибо!
НА ТОЛСТОМ КЛИЕНТЕ НЕ РАБОТАЕТ (не только на формах, но самое главное в форме выбора поля отчета на СКД)!
(32) alex_4x, в настройку включен.
Конечно каждый чих требуют зализывать, но зато это много меньший объем работы, чем базу всякий раз проглядывать под разными углами перед релизом.
(34) alex_4x, УФ.
Делаю подсистемы и вывожу туда, только «правильные» формы, нужные для работы.
Пользователи видят только то, что относится к работе их отдела.
Внешние отчеты не разрешены.
Аналитики могут пользоваться и наблюдать все.
У базы есть вьюхи, через которые можно вытянуть ВСЕ. Но для этого нужен доступ к консоли SQL и голова программиста. Чтоб собрать секретные сведения не достаточно просто пары документов, нужно анализировать внушительный массив данных, чтоб построить сколько-нибудь чистый экономический показатель.
Я не прячу цену закупки, я просто даю на нее смотреть тем, кто ее может видеть в документе. Отчета по ней у простого юзака нет (ему придется открывать документы), а у аналитика есть отчет.
Пример очень сложной установки привязок ПРОГРАММНО элементам формы, для их скрытия/ отображения. Скрытие элементов на форме. Программная свертка элементов на форме
Нужно было программно установить видимость таблице посредине формы, долго мучался, пока разобрался с этим механизмом.
Решение, понятно, для обычных форм) в управляемых за нас делают разрабы)
Нашел типовое решение через изменение высоты элементов. Но, как я и думал, можно проще, только привязками и сверткой.
И нашел рабочий алгоритм действий. Обработка с открытым кодом, можете посмотреть реализацию и использовать для своих творческих нужд.
Так как сам на данную публикацию потратил день для создания примера, не считаю ее дорогой! Ваше время ценнее. Надеюсь, кому-то пригодится для примера работы с программным изменением видимости на форме!
Тестировал на 8.2.19.
Скачать файлы
Специальные предложения
Программная свертка элементов на форме
К тому же цена в 5 стартмани как бы намекает, что автор толкает этот антиквариат в расчете на Буратино.
у меня пост-праздничный синдром и все кажется кривым, корявым и недосказанным, простите.
К тому же цена в 5 стартмани как бы намекает, что автор толкает этот антиквариат в расчете на Буратино.
у меня пост-праздничный синдром и все кажется кривым, корявым и недосказанным, простите.
Сейчас с похожим вожусь, но там сразу несколько элементов нужно сворачивать, а они привязанны друг к другу
Левый эл1
Левый эл2
Эл свертки 1
Эл свертки 2
Эл свертки 3
Эл свертки 4
Эл свертки 5
И сворачивает любые элементы хорошо, но вот когда разворачивает, тч1 которая привязана к нижней границе Эл свертки 5, через раз остаётся на месте, а элементы все на неё лезут ), не сталкивались с таким?
P.S. Даже если закрыть и открыть форму ей всё так же плохо) только перезапуск помогает)
Обновление 13.05.19 17:00
См. также
Альтернативный способ добавления элементов и реквизитов на формы Промо
Предлагаю альтернативный вариант добавления динамически создаваемых элементов и реквизитов на форму.
09.09.2019 17666 34 bmk74 7
Выделение текущей строки в отчете (сделать сразу во всех отчетах и ничего не сломать)
Как за 10 минут упростить работу с отчётами программистам и пользователям. Добавить ВО ВСЕ ОТЧЁТЫ механизм автоматического выделения текущей строки отчёта (той, на которой установлен курсор). И ПРИ ЭТОМ НИЧЕГО НЕ СЛОМАТЬ.
17.10.2021 2247 4 Патриот 48
Самые красивые шахматы для 1С на управляемых формах
Здравствуйте, представляем Вашему вниманию классическую игру – Шахматы! Написана игра средствами 1С, на управляемых формах. Программный код представляет собой с аккуратностью составленную систему, содержащую лаконичные логические приемы и описательные имена переменных, объектов и функций. Программа полностью отлажена и многократно протестирована. Оригинальный авторский дизайн фигур, иконок и кнопок приятен глазу. Игра содержит большое количество функций, настроек и режимов игры, включая сетевую игру, тренировку с ботом или игру на двоих. Не упустите возможность найти ряд технических решений, применимых для реализации различных задач, а также поиграть в вечную игру с отличным оформлением! Желающие научиться программировать на управляемых формах могут многое почерпнуть в этой конфигурации.
18.02.2021 5430 13 compmir 30
Интерактивная справка по объектам 1С (подключаемое расширение)
База знаний, подключаемая к объектам основной базы. Пополняется интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.
29.09.2020 15553 82 sapervodichka 45
Расширенная настройка динамического списка УФ Промо
Открывая управляемую форму выбора и не увидев там видимых в форме списка элементов, часто хочется узнать причину их отсутствия там, т. е. какой наложен отбор. Но стандартная настройка списка управляемой формы показывает только пользовательские настройки, скрывая от пользователя фиксированный отбор. Предлагаю вам расширение конфигурации с расширенной настройкой динамического списка, отображающей пользователю кроме пользовательских настроек еще фиксированные.
31.05.2017 38982 161 tormozit 25
Есть некий объект с данными (справочник/документ/регистр), необходимо закрыть доступ к одному реквизиту. Т.е. скрывать не записи целиком, а один реквизит. Как это можно реализовать?
Пробовал через RLS, там можно выбирать, на какие поля распространяется ограничение доступа, но пока не получается, либо я что-то неправильно делаю.
(1) слишком много таких изменений будет, это ЗУП. прийдется все механизмы расчета переписывать, отчеты и т.д.
лучше кодом делать
Типовые конфигурации, к сожалению, предоставляют доступ ко всем реквизитам, всех объектов, во всех ролях.
Поэтому, если пользователь, кроме специальной (своей) роли с ограничением по реквизитам, получает еще и типовые роли, то он получает доступ и к реквизиту.
Если дать пользователю только свои роли, в которых отключен доступ к реквизитам, то все заработает.
В ЗУП есть регистр ПлановыеНачисления, в котором нужно убрать видимость реквизита Показатель1. Добавляю ограничение: поле «Показатель1», условие «ГДЕ ЛОЖЬ». Не показывает вообще записей.
(14) Похоже, что оно так и работает
(17) Мне нужно это поле спрятать, т.е. чтобы данные этого поля не подтягивалась запросами в документы, регистры и т.д. Чтобы были видны просто нули.
(21) Нашел доступное описание:
«Механизм позволяет накладывать ограничение не только на всю запись базы данных
целиком, но и на отдельные ее поля. При этом можно указать имя конкретного поля или
специальное поле Прочие поля.
В первом случае условие будет накладываться только в том случае, если в запросе
присутствует поле, для которого задано ограничение.
Во втором случае ограничение будет накладываться для всех полей объекта, кроме полей,
(0) Ответ уже дали в (14).
Если простым языком, то.
RLS умеет закрывать или не закрывать запись целиком. Условие RLS либо отрабатывает либо нет в зависимости к обращению полям, на которые наложено условие. Если среди полей, которые из БД считываются есть поля, на которые наложены условия, то эти RLS отрабатывают, но действует условие всегда на всю запись.
В (23) говориться что условие можно привязывать к отдельным полям, но не говориться, что это условие будет действовать только на отдельные поля.
Отбор на формах и отключение видимости ненужных групп на управляемой форме в 1С
В данной статье я хочу рассказать о отборе на формах в режимах Предприятия и Конфигуратора и отключение видимости ненужных групп на управляемой форме в 1С.
Видимостью элементов можно управлять программно через свойство Видимость при открытии формы:
В случае если нужно скрыть некоторые строки списка с определенным значением нужно работать через отбор.
Открыть форму с отбором можно для любых объектов и несколькими способами в режиме 1С:Конфигуратор, рассмотрим на примере регистра накопления “Оплата счетов”:
Первый способ работает при открытии формы.
У формы есть параметр Отбор, который является структурой, где:
Ключ структуры – имя параметра,
Значение – значение параметра формы или как в данном случае предопределенное значение, как в данном случае. Если отбор берется со значением элемента формы, то имя элемента должно совпадать с именем параметра структуры.
Если нужно открыть форму без отбора, но скрыть несколько элементов можно это реализовать следующим образом:
Второй способ заключается в добавлении кода в обработчике события формы списка оплата счетов ПриСозданииНаСервере
Для этого в нужной процедуре открываем форму
и уже в модуле открываемой формы
Данный метод имеет больше возможностей для отбора по сравнению с предыдущим, потому, что ВидСравнения у отбора можно задавать не только Равно, но и Больше, Меньше и т.п.
ВидСравненияКомпоновкиДанных определяет набор видов сравнения, которые могут быть использованы в условиях отбора. Но стоит учитывать, что на мобильной платформе игнорируются следующие виды сравнения: НачинаетсяС, НеНачинаетсяС, СоответствуетШаблону, НеСоответствуетШаблону.
РежимОтображенияЭлементаНастройкиКомпоновкиДанных определяет режим отображения.
Используется при отображении списка в зависимости от режима отображения табличного поля.
Кроме того, если элемент принадлежит пользовательскому отбору, свойство используется при формировании начального состава пользовательского отбора и при применении пользовательского отбора к базовому.
Если использовать такой способ – то форма будет открываться всегда с таким отбором – независимо от места вызова формы.
РежимОтображенияЭлементаНастройкиКомпоновкиДанных содержит режимы отображения элемента настройки компоновки данных:
Авто – значение режима нужно получать из основных настроек,
БыстрыйДоступ – этот элемент настройки предназначен для режима быстрого доступа. Он будет доступен в табличном поле, если у расширения табличного поля отбора свойство РежимОтображения будет установлено в значение Все или БыстрыйДоступ,
Недоступный – этот элемент настройки не предназначен для изменения в составе пользовательской настройки,
Обычный – указывает на обычный режим отображения. Он будет доступен в табличном поле, если у расширения табличного поля отбора, свойство РежимОтображения будет установлено в значение Все.
Третий способ – возможность поместить условие отбора в произвольный запрос, выбирающий данные для динамического списка.
Для этого в форме списка создадим команду и соответствующую ей кнопку Оплата счетов.
В обработчике команды пишем следующее:
ТекущаяСтрока – это строка динамического списка, на которую будет установлен курсор после открытия формы. В качестве значения для параметра используются значения ссылок на объекты, которые содержит главная таблица динамического списка.
В результате мы получаем форму списка оплаченных счетов и с отбором по параметру ФильтрПоНДС, который передаем на форму, где значение параметра – это ссылка на текущий элемент в списке счетов и открываем форму с этим параметром.
Затем создадим форму списка оплаченных счетов и создадим реквизит формы ФильтрПоНДС, который мы будем использовать в качестве параметра формы при ее открытии. Теперь откроем палитру свойств основного реквизита формы Счета. Установим флаг ПроизвольныйЗапрос и в строке Настройка списка нажмем Открыть.
Создаем запрос со следующим текстом запроса, где указываем передаваемый параметр, по которому делаем отбор:
Имя параметра в запросе может отличаться, так как сама передача данных будет в процедуре ПриОткрытии().
В этом обработчике событий формы списка внесем код установки значения параметра запроса ФильтрПоНДС,
“ФильтрПоТовару” – параметр из запроса динамического списка,
ФильтрПоТовару – ссылка на текущую строку в списке оплата счетов,
Список.Параметры – это список параметров запроса динамического списка для реквизита Счета,
УстановитьЗначениеПараметра – устанавливает значение параметра и включает свойство Использование. Если параметр с указанным именем не найден, будет вызвано исключение.
Таким образом по нажатию на кнопку Оплата счетов в форме списка,результатом на форме будет список счетов с отбором по Ставке НДС с тем же значением, что и в выделенной в строке в списке счетов.
Настройка отбора в режиме 1С:Предприятие
В режиме Предприятия также можно настроить отбор. Пользователь может самостоятельно настроить состав и расположение колонок в списке, отборы документов и цвет фона строк и шрифта по определенным условиям.
Рассмотрим настройку списка документов на примере регистра накопления “Книга продаж”.
Для настройки состава и расположения колонок: в правой верхней части списка документов по кнопке “Еще” выберите “Настроить список”, а также есть кнопка “Изменить форму”
В окне “Настройка формы” по кнопке “Еще”можно изменить расположение колонок по кнопкам с синими стрелочками “вверх-вниз” (“вверх” – колонка сдвинется вверх, “вниз” – колонка сдвинется вправо), удалить колонку (по кнопке с красным крестиком), скрыть или установить видимость колонки.
Для настройки отборов нужных документов: на панели настроек списка документов доступны отборы по: активности, дате оплаты, организации, ставка НДС, сумма НДС, счет фактура и т. д.
Если нет нужного фильтра, можно настроить свой: по кнопке “Еще” на форме списка выберите “Настроить список”, на закладке “Отбор” настройте отбор по нужному полю