Обычная группа без отображения 1с что это
Отличий обычных форм от управляемых множество. Давайте пройдемся по основным:
- Управляемую форму можно открыть в "вебе", обычную нет.
- Управляемые формы не могут работать под толстым клиентом.
- Управляемые формы имеют четкое разделение выполнения кода. Клиент-серверное разделение. В толстом клиенте весь код будет исполнен на сервере, в управляемых формах нужно разделять операции с интерфейсом и базой данных с помощью директив.
- Настройка интерфейса формы очень отличается от обычных форм. Произвольно двигать и размещать элементы по форме больше не получится. В этом есть и плюс. Понятие привязок элементов на форме уходит в более автоматизированную область.
- Появляется возможность поиска по строке при подборе и использование закладки общей палитры свойств объекта «Поле ввода»
- Динамический список – широкое применение по замене обычных списков. Богатые возможности настройки отображения списка (отбор, упорядочивание, группировка, условное оформление).
Это далеко не полный список отличий и возможностей, но уже этого достаточно, чтобы понять насколько сильно отличаются управляемые формы от обычных.
Давайте добавим справочнику «Номенклатура» управляемую форму элемента и назначим ее основной дополнительной формой, на закладке «Формы»
Дадим ей название «ФормаЭлементаУпр», назначать основной не будем. Нажмем «Готово».
Сильно отличается визуально, правда? Пройдемся по основным окнам, их три.
Обозреватель элементов формы – расположен слева вверху. Тут список всех элементов формы. Для группировки и изменения положения элементов на форме добавлен новый тип «Группа» в группу добавляются элементы или еще группы, и группам уже задается ориентация, горизонтальная или вертикальная и прочие настройки отображения.
Обозреватель состоит из двух вкладок. «Элементы» мы обсудили выше, но есть еще вкладка «Командный интерфейс». На этой вкладке можно задать вывод дополнительных данных и сделать настройку видимости по ролям.
Обозреватель объекта и реквизитов – расположен правее обозревателя элементов формы. Тут расположен перечень всех реквизитов, как объекта, так и формы. Можно перетаскивать отсюда элементы в обозреватель элементов, чтобы быстро добавить их на форму.
Предварительный просмотр формы – нижнее окошко. Тут можно посмотреть результат вашей настройки элементов и групп из обозревателя элементов.
Наша форма стала очень длинной и не очень-то красивой.
Продолжим наводить красоту. Создадим группу «Шапка» - тип обычная группа, расположение горизонтальное. В группе «Шапка» создадим группу «Шапка левая сторона» - тип обычная группа, расположение вертикальное. Переименуем нашу группу «Основная информация» в «Шапка правая сторона» и поменяем ориентацию на вертикальную, а также, поместим ее в группу «Шапка». Переместим элементы «Код» и «Наименование» в группу «Шапка левая сторона».
Должно получиться так:
Уже лучше. Но, у нас получилось много надписей «Группа шапка», «Группа шапка левая сторона», «Шапка правая сторона». Для пользователя такая информация бесполезна и отвлекает. Эти надписи это «Заголовки». Давайте уберем свойства «Заголовок» и «Отображение» у всех групп, кроме группы «Шапка», а шапке, напротив, установим «Отображение в положение» «Сильное выделение». Заголовок изменим на «Основные реквизиты».
Ну вот, теперь все смотрится хоть немного гармонично. Вот так настраивается интерфейс формы.
Давайте посмотрим на наши труды в режиме предприятия. Для этого нам нужно имитировать вход в предприятие под тонким клиентом, а не как обычно под толстым. Есть несколько различных способов, о них мы говорили в начале курса в теоретической части. Но самый простой - это добавить кнопку тонкой отладки, если она еще не добавлена, на панель. Вот так.
Запустим отладку в тонком клиенте. После старта системы нас встретит серый и безликий «пустой» интерфейс управляемый. Его настройку рассмотрим позже.
Перейдем в режим «Все функции». Если этого пункта меню нет, тогда зайдите в пункт меню «Сервис» и там, в пункт «Параметры». Внизу списка параметров будет галочка для включения режима «Все функции». Если такой галочки нет, пользователь под которым вы зашли, не обладает достаточными правами для ее включения.
Из открывшегося списка, который очень напоминает меню обычных форм «Операции», выбираем Справочники и далее номенклатура. Нам открылась форма списка справочника номенклатура, но форма управляемая. Как же так, назревает вопрос. А ответ очень прост.
Автогенерируемые формы
Важной особенностью системы «1С:Підприємство» является механизм «автогенерируемых форм». Этот механизм освобождает разработчика от необходимости создания всех возможных форм для каждого из объектов конфигурации. Разработчику достаточно добавить новый объект конфигурации, а система сама сгенерирует в нужные моменты работы пользователя необходимые формы для отображения информации, содержащейся в этом объекте.
Таким образом, разработчику нужно создавать собственные формы объектов прикладного решения лишь в том случае, если они должны иметь отличия (другой дизайн или специфическое поведение) от форм, автоматически генерируемых системой.
Перейдем в форму элемента и удостоверимся, что наши изменения групп отражены.
Все как мы и создавали. Элементы с левой стороны нашей формы это элементы командного интерфейса.
Так же, наша компания проводит обучение по курсам:
Обучение проводится в вечернее время, что позволит вам не отрываться от работы или обучения, практикующим программистом нашей компании.
Понадобилось мне для удобства расположения элементов на управляемой форме использовать свертываемые группы (группа с установленным свойством «Поведение» = Свертываемая).
Я смог выделить 5 видов отображения данной группы на форме.
Смотрите пример отображения всех развернутых групп:
И тут же как выглядят свернутые группы:
Вариант I. Это вариант по умолчанию. Группа отображается на форме в виде гиперссылки (Свойство "ОтображениеУправления" = "Гипперссылка заголовка"), что новым пользователям совсем не очевидно, а уже бывалым – тоже не сразу понятно.
Визуально это видно по скриншотам на примере "Сворачиваемая группа наша группа 1"
Согласитесь, довольно непросто догадаться, что эту группу можно свернуть.
Вариант II. Благо у нас есть еще один режим отображения свертываемой группы - картинкой (Свойство "ОтображениеУправления" = "Гипперссылка заголовка"). При этом все становится намного лучше и понятнее всем. (Визуально это видно по скриншотам на примере "Сворачиваемая группа наша группа 1")
Как мы видим, возле заголовка появилась стрелочка, которая подсказывает, что все таки тут есть смысл пытаться нажать.
Вариант III. Если же вам хочется использовать вид гиперссылки с соответствующим подчеркиванием, то тут можно использовать один прием, который позволит вам показать пользователю, что тут все-таки не просто надпись. Для реализации следующего метода нам понадобится значки спецсимволов треугольников (В нашем примере мы используем следующую строку заголовка: " Сворачиваемая группа наша группа 3". А в заголовке свернутого отображения (соответствующее свойство) укажем следующую строку " Сворачиваемая группа наша группа 3". При этом Свойство "ОтображениеУправления" должно быть установлено в значение "Гиперссылка заголовка". Тогда мы получим поведение как у нашей группы 3 на скриншотах. Так же данный вид используется для сворачиваемых групп в конфигурации 1С: Деньги
Данный простой прием позволяет сочетать уже привычный практически для всех вид гипперссылки и визуализации в виде треугольничков.
Вариант IV. Так же в типовой УТ я нашел еще одно интересное решение. Визуально решение представляет собой следующие вариант группы № 5 на скриншоте.
Как вы видите данное решение похоже на стандартный вид отображения свертываемой группы в виде картинки. Но это визуально.
Тут используются 2 картинки со стрелками и рамками:
По факту же тут могут использоваться абсолютно любые картинки подходящего размера, что дает нам свободу в выборе не просто цвета ссылки и картинки.
Но тут уже без программирования не обойтись.
В модуль формы необходимо будет добавить следующий код:
На форме же нам необходимо сделать следующее:
1) Добавить реквизит формы с названием "ИмяГруппыСвернутьРазвернуть" и Типом Строка (0).
2) У нашей сворачиваемой группы установить название вида "СворачиваемаяГруппаНашеНазваниеГруппы" - у меня в примере это "СворачиваемаяГруппаНашаГруппа4"
3) У сворачиваемой группы установить свойство "Поведение" в значение "Свертываемая" и снять флажок в свойстве группы "ОтображатьЗаголовок" - чтобы не было видно название группы
4) Нам надо добавить вторую группу. Особо требований к названию нет, оно должно быть уникальным. У нас мы назвали ее "ГруппаЗаголовокНашаГруппа4"
5) В данную группу необходимо добавить 3 декорации. 2 с видом "Картинка" и одна с видом "Надпись". Картинки будут хранить изображения стрелок (либо других изображений) для открытой и закрытой группы. Надпись - будет эмулировать заголовок группы. При этом есть требования к названию данных элементов (как видно из приложенного кода). Картинки должны иметь названия вида "ДекорацияОткрытьНашеНазваниеГруппы" и "ДекорацияЗакрытьНашеНазваниеГруппы". Элемент с надписью должен иметь название вида "ЗаголовокГруппыНашеНазваниеГруппы"
У нас, как видно из картинки, видно, что элементы называются соответственно "ДекорацияОткрытьНашаГруппа4", "ДекорацияЗакрытьНашаГруппа4", "ЗаголовокГруппыНашаГруппа4".
6) Для Декораций с видом "Картинка" нам необходимо естественно установить саму картинку, установить флаг свойства декорации "Гиперссылка" в значение "Истина", а в качестве обработчика события "Нажатия" выбрать процедуру модуля "СвернутьРазвернутьГруппу".
По желанию так же можно установить флаг "Гиперссылка" для декорации вида "Надпись" и эту же процедуру выбрать в качестве обработчика нажатия.
7) в модуле формы в функции "ИменаСворачиваемыхГрупп" необходимо задать массив элементов, которые необходимо включить в данный механизм обработки. Имя должно быть вида "НашеНазваниеГруппы". В примере кода вы можете видеть строку вида:
8) При создании формы (и по желанию при совершении любых других действий) скрыть либо раскрыть все группы добавить вызов функции "СкрытьРаскрытьВсеГруппы". Например, для того, чтобы скрыть все группы нужно использовать следующий код:
Структура отображаемых элементов формы будет иметь следующий вид:
Вариант V. Отличается от 4-го варианта тем, что мы декорация вида "Надпись" сделали гиперссылкой и раскрыть группировку можно и по нажатию на заголовок, а не только как в варианте 4 только по клику на изображение.
В данной статье я хочу рассказать о отборе на формах в режимах Предприятия и Конфигуратора и отключение видимости ненужных групп на управляемой форме в 1С.
Видимостью элементов можно управлять программно через свойство Видимость при открытии формы:
В случае если нужно скрыть некоторые строки списка с определенным значением нужно работать через отбор.
Первый способ работает при открытии формы.
У формы есть параметр Отбор, который является структурой, где:
Если нужно открыть форму без отбора, но скрыть несколько элементов можно это реализовать следующим образом:
Второй способ заключается в добавлении кода в обработчике события формы списка оплата счетов ПриСозданииНаСервере
Для этого в нужной процедуре открываем форму
и уже в модуле открываемой формы
Данный метод имеет больше возможностей для отбора по сравнению с предыдущим, потому, что ВидСравнения у отбора можно задавать не только Равно, но и Больше, Меньше и т.п.
ВидСравненияКомпоновкиДанных определяет набор видов сравнения, которые могут быть использованы в условиях отбора. Но стоит учитывать, что на мобильной платформе игнорируются следующие виды сравнения: НачинаетсяС, НеНачинаетсяС, СоответствуетШаблону, НеСоответствуетШаблону.
РежимОтображенияЭлементаНастройкиКомпоновкиДанных определяет режим отображения.
Используется при отображении списка в зависимости от режима отображения табличного поля.
Кроме того, если элемент принадлежит пользовательскому отбору, свойство используется при формировании начального состава пользовательского отбора и при применении пользовательского отбора к базовому.
РежимОтображенияЭлементаНастройкиКомпоновкиДанных содержит режимы отображения элемента настройки компоновки данных:
Для этого в форме списка создадим команду и соответствующую ей кнопку Оплата счетов.
В обработчике команды пишем следующее:
Затем создадим форму списка оплаченных счетов и создадим реквизит формы ФильтрПоНДС, который мы будем использовать в качестве параметра формы при ее открытии. Теперь откроем палитру свойств основного реквизита формы Счета. Установим флаг ПроизвольныйЗапрос и в строке Настройка списка нажмем Открыть.
Создаем запрос со следующим текстом запроса, где указываем передаваемый параметр, по которому делаем отбор:
Имя параметра в запросе может отличаться, так как сама передача данных будет в процедуре ПриОткрытии().
В этом обработчике событий формы списка внесем код установки значения параметра запроса ФильтрПоНДС,
Таким образом по нажатию на кнопку Оплата счетов в форме списка,результатом на форме будет список счетов с отбором по Ставке НДС с тем же значением, что и в выделенной в строке в списке счетов.
Настройка отбора в режиме 1С:Предприятие
В режиме Предприятия также можно настроить отбор. Пользователь может самостоятельно настроить состав и расположение колонок в списке, отборы документов и цвет фона строк и шрифта по определенным условиям.
Для настройки отборов нужных документов: на панели настроек списка документов доступны отборы по: активности, дате оплаты, организации, ставка НДС, сумма НДС, счет фактура и т. д.
Не могу сделать видимость группы в форме 1с вот так получается с предопределенными данными из справочника.
А по наименованию не могу. Вот так не работает:
Подскажите как написать условие что бы элементы группы стали видны.
Открываем синтакс-помощник, переходим по разделам:
Прикладные объекты - Справочники - СправочникМенеджер.<ИмяСправочника> - Методы - НайтиПоНаименованию
СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>)
НайтиПоНаименованию (FindByDescription)
Синтаксис:
НайтиПоНаименованию(<Наименование>, <ТочноеСоответствие>, <Родитель>, <Владелец>)
Параметры:
<Наименование> (обязательный)
Тип: Строка.
Строка, содержащая искомое наименование.
<ТочноеСоответствие> (необязательный)
Тип: Булево.
Определяет режим поиска по полному соответствию.
Поиск будет успешным, если строка поиска: в случае значения параметра Ложь - будет соответствовать левой части наименования; в случае значения параметра Истина - будет полностью совпадать с наименованием (за исключением "хвостовых" пробелов в наименовании).
Значение по умолчанию: Ложь.
<Родитель> (необязательный)
Тип: СправочникСсылка.<Имя справочника>.
Родитель, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
<Владелец> (необязательный)
Тип: СправочникСсылка.<Имя справочника>.
Владелец, в пределах которого нужно выполнять поиск. Если не указан, то поиск будет проводиться во всем справочнике.
Возвращаемое значение:
Тип: СправочникСсылка.<Имя справочника>; Неопределено.
Ссылка на найденный элемент справочника.
Если не существует ни одного элемента с требуемым наименованием, то будет возвращена пустая ссылка.
Если для справочника наименование не задано (длина = 0) и поиск выполняется по полному соответствию, то будет возвращено Неопределено.
Описание:
Осуществляет поиск элемента по его наименованию.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:
Если существует несколько элементов с указанным наименованием, то будет найден только один из них.
Читайте также: