Домой / Скайп / Программное добавление и изменение элементов управляемых форм. Программное добавление и изменение элементов управляемых форм Настройка управляемых форм в 1с

Программное добавление и изменение элементов управляемых форм. Программное добавление и изменение элементов управляемых форм Настройка управляемых форм в 1с

В этой статье мы познакомимся с основными аспектам работы с управляемой формой в 1С 8.3. Что такое форма и для чего она нужна? Форма это основной объект, посредством которого осуществляется взаимодействие пользователя с программой. То есть с помощью формы пользователь осуществляет ввод информации в программу, а так же на форму выводиться нужная для пользователя информация.

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

Платформа 1С имеет возможность сгенерировать любую форму объекта, но обычно при разработке прикладных решений программисты самостоятельно конфигурируют формы.

Подробно вопросы работы с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов» . Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.

Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С

  1. Без сложных технических терминов;
  2. Более 600 страниц практического материала;
  3. Каждый пример сопровождается рисунком (скриншот);

Промо-код на скидку в 15% — 48PVXHeYu

Иногда кажется, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: и «Основы разработки в 1С: Такси»

Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 11 шагов»

  1. Без сложных технических терминов.
  2. Более 700 страниц практического материала.
  3. Каждое задание сопровождается рисунком (скриншот).
  4. Сборник задач для домашней проработки.
  5. Книга написана понятным и простым языком — для новичка.
  6. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы.

Формы, существующие в «1С:Предприятии», предназначены для интерактивной работы пользователя с данными информационной базы. Для обеспечения этой возможности форма «наполняется» необходимой функциональностью.


Функциональность формы определяется составом ее реквизитов и команд. Реквизиты формы – это данные, с которыми работает форма. Команды формы – это действия, которые может выполнить форма над данными. Однако наличие команды в форме еще не дает возможности использовать ее функциональность. Аналогично и реквизиты сами по себе не обеспечивают возможности отображения и редактирования данных.
Для использования команд, для отображения и редактирования данных, хранимых в реквизитах, служат элементы формы, связанные с соответствующими командами и реквизитами.
Не вдаваясь в детали, связь между командами, реквизитами и элементами формы можно представить схемой.

Связь между командами, реквизитами и элементами формы

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

  • определяет состав формы в виде дерева элементов
  • описывает поведение формы, задавая значения для ее свойств и/или реализуя процедуры на встроенном языке.

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

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

Функциональность по умолчанию

В «1С:Предприятии» можно не создавать формы для представления и обработки объектов данных. В этом случае при выполнении команд открытия форм система самостоятельно на лету создаст необходимую форму. Созданная форма будет обладать функциональностью и представлением по умолчанию. Что же определяет представление и функциональность формы?
Стандартное представление и функциональность формы определяют интерфейсный объект «Управляемая форма» (например, способность формы закрываться) и расширение формы (например, способность записывать данные формы в информационную базу).
Расширение формы – это дополнительные свойства, методы, параметры и команды, которые появляются у объекта Форма, когда ей назначен основной реквизит.

ВНИМАНИЕ!
В качестве основного может быть выбран только один реквизит
из состава реквизитов формы.

Важно понимать, что:

  • дополнительно предоставляемая функциональность включается в объект Управляемая форма, то есть становится ее неотъемлемой частью
  • состав дополнительных возможностей определяется типом основного реквизита формы, то есть типом тех данных, для редактирования которых предназначена форма.

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

Команды формы

Для знакомства с командами формы создадим еще одну форму для документа Расход товара. Из контекстного меню узла Формы этого документа выберем пункт Добавить.

Добавление подчиненной формы


В результате откроется окно конструктора форм. В окне конструктора выберем тип формы – Форма документа, установим флажок Назначить форму основной и зададим имя ОсновнаяФорма. Нажмем кнопку Готово.

Окно конструктора формы

1С8: Окно конструктора формы

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

Редактор формы с автоматически созданной формой документа


ПРИМЕЧАНИЕ
В редакторе форм основной реквизит формы выделяется жирным шрифтом.

Если открыть документ Расход товара в режиме 1С:Предприятие, мы увидим, что для работы с документом используется созданная нами форма .

Форма редактирования документа «Расход товара»


Элементы, обеспечивающие доступ к командам, расположены в командных панелях. В нашем случае система сформировала командную панель формы и командную панель таблицы товаров. Выбор любой из доступных команд можно осуществить из меню Все действия соответствующей командной панели. Для ускорения доступа к командам часть из них (наиболее важные или часто используемые) представлена кнопками непосредственно в командных панелях.
Чем «руководствуется» система при формировании состава команд формы? Какие команды должны быть в форме? Для ответа на эти вопросы нужно вспомнить основное назначение формы – интерактивная обработка данных. Следовательно, в форме должны присутствовать команды, предоставляющие пользователю возможность обработать данные формы и возможность обратиться к данным, связанным с обрабатываемыми.

Для обработки данных формы – стандартные команды форм ы

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

Стандартные команды формы в редакторе и интерфейсе

1С8: Стандартные команды формы в редакторе и интерфейсе

Эти команды предоставлены формой и расширением формы. Состав команд, предоставляемых формой, является стандартным и не зависит от данных формы – это команды:

  • Справка
  • Изменить форму…
  • Закрыть
  • Сохранить параметры…
  • Восстановить параметры…

Состав команд, предоставляемых расширением, зависит от типа основного реквизита формы. В нашем случае основным реквизитом формы назначен реквизит Объект с типом данных ДокументОбъект.РасходТовара (см. рис. выше) Расширение, соответствующее этому типу данных, предоставило команды:

  • Провести и закрыть
  • Записать
  • Перечитать
  • Скопировать
  • Пометить на удаление
  • Снять пометку удаления
  • Удалить
  • Провести
  • Отмена проведения.

ВНИМАНИЕ!
Необходимо различать стандартные команды объекта конфигурации и стандартные команды формы. Первые используются в глобальном командном интерфейсе и предоставляются объектом конфигурации. Вторые же используются в форме и предоставляются самой формой, ее расширением и расширениями элементов формы, имеющих тип Таблица.

Для облегчения разработки алгоритмов управления формами в стандартные команды формы включены команды:

  • Нет,
  • Отмена,
  • Прервать,
  • Пропустить,
  • Повторить.

Если такая команда добавлена в форму, то при ее выборе пользователем выполняются следующие действия:

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

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

Стандартные команды таблицы в редакторе и интерфейсе


Для работы со связанными данными – глобальные параметризованные команды

При обработке данных формы может возникнуть необходимость просмотреть данные, связанные с обрабатываемыми. Это может быть, например, набор записей в регистре взаиморасчетов с контрагентами, подчиненный обрабатываемому документу, или список цен на продаваемый товар и др. Также может потребоваться выполнить какую-либо обработку связанных данных, например, ввести документ оплаты на основании документа продажи или напечатать штрихкоды продаваемого товара и др.

Доступ к связанным данным обеспечивают глобальные параметризуемые навигационные команды, а обработку связанных данных – глобальные параметризуемые команды действий. В редакторе форм они представлены на закладке Глобальные команды редактора команд.

Глобальные параметризуемые команды в редакторе и интерфейсе


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

Глобальные независимые команды в редакторе и интерфейсе


Глобальные независимые команды предоставлены глобальным командным интерфейсом. В редакторе команд глобальные независимые команды сгруппированы по разделам глобального командного интерфейса. Команда будет доступна из всех разделов глобального командного интерфейса, в которые она включена.

Способы формирования состава команд формы

Познакомившись с источниками команд формы, давайте посмотрим, какие варианты предоставляет нам система для формирования состава команд формы.

ПРИМЕЧАНИЕ
Для формы есть еще один источник команд – разработчик, который может создавать произвольные локальные команды формы. Об этих командах мы поговорим немного позже (см. «Если не хватает стандартных команд»).

В самом общем случае существует три варианта:

  • автоматический – состав команд формы определяется системой полностью автоматически
  • комбинированный – состав команд формы определяется системой автоматически, а разработчик, используя редактор форм, корректирует его
  • ручной – состав команд формы определяется полностью разработчиком.

Автоматический вариант является самым быстрым и наименее затратным с точки зрения разработки прикладного решения – система все делает самостоятельно. Комбинированный вариант, вероятно, используется чаще всего. При таком подходе разработчик вмешивается в работу системы только тогда, когда набор команд, сформированный системой, не обеспечивает требуемых функциональных возможностей по обработке данных формы. В подавляющем большинстве случаев вмешательство выражается в простом расширении состава команд формы. Ручной же вариант предоставляет максимум возможностей по управлению составом команд формы и их размещением. Однако он требует от разработчика выполнения значительного объема кропотливой работы.

Платформа содержит большое количество механизмов, которые облегчают процесс внедрения и предоставляют более широкие возможности по настройке прикладного решения. То, что в других системах приходится делать путем дописывания или переписывания программного кода, в 1С:Предприятии 8 может быть выполнено несколькими нажатиями мыши. Иногда даже прямо в пользовательском режиме работы. Без модификации самого прикладного решения, без изменения его программного кода.

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

Настройка панели разделов

Изменить состав панели разделов можно в Конфигураторе в режиме 1С:Предприятие .

Настройка начальной страницы

Состав форм, находящихся на начальной странице, можно изменить в Конфигураторе с детализацией по ролям, или индивидуально для одного или нескольких пользователей в режиме 1С:Предприятие .

Настройка командного интерфейса основного раздела

Изменить состав команд, отображающихся в основном разделе, можно в Конфигураторе с детализацией по ролям.

Настройка командных интерфейсов разделов

Состав команд, отображающихся в том или ином разделе прикладного решения, можно изменить в Конфигураторе с детализацией по ролям. При этом есть возможность настраивать как все разделы сразу (редактор "Все подсистемы"), так и каждый раздел по-отдельности (редактор командного интерфейса).

Настройка форм

1С создаются системой автоматически при использовании прикладного решения. Являются основой представления (отображения) информации в системе "1С:Предприятие".

Структура формы 1С

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

Отображаемая часть формы (видимая пользователю) описывается как дерево, включающее элементы формы (см. рис. ниже, поле "Элементы формы"):

  • группы, включающей другие элементы,
  • поля ввода,
  • флажки,
  • переключатели,
  • кнопки,
  • таблицы, которые включают элементы-колонки и т. д.

"Элементы формы 1С"

[свернуть]

Группа элементов формы может представляться как

  1. панель с рамкой,
  2. панель со страницами (закладками),
  3. собственно страница,
  4. командная панель.

Вся функциональность формы описывается в виде:

  • реквизитов (данных, с которыми работает форма);
  • команд (выполняемых действий).

Настройка внешнего вида управляемой формы

Настройка внешнего вида управляемой формы пользователем

Настройка внешнего вида управляемой формы может осуществляться на пользовательском уровне. Для данной возможности в действиях формы существует команда "Ещё" - "Изменить форму" (управление только теми элементами формы, которые определены на этапе разработки или по стандартным правилам автогенерации формы).

"Ещё" - "Изменить форму"

Команда "Ещё" - "Изменить форму":

После нажатия "Изменить форму" показывается окно настройки формы 1С:

[свернуть]

Кроме того, в пользовательском режиме возможно:


  • изменять порядок следования форм, переносить их из одной колонки в другую (если рабочий стол организован в две колонки), однако изменить количество колонок на рабочем столе нельзя;
  • выводить информацию в виде отдельных окон (при вызове навигационной команды нужно удерживать клавишу Shift).

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

Настройка внешнего вида управляемой формы разработчиком

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

  • команды самой формы;
  • глобальные команды, используемые в всей конфигурации;
  • параметризуемые команды, которые будут открывать другие формы с учетом конкретных данных текущей формы.

Рисунок (изменение формы 1С разработчиком)

[свернуть]

При разработке формы 1С необходимо:

  1. в редакторе формы включить в форму необходимые реквизиты и команды;
  2. создать отображающие их элементы формы, определить порядок элементов, указать ширину и высоту (при необходимости);
  3. скомпоновать элементы в группы (если необходимо).
  1. Использовать ролевую настройку видимости в элементах форм (просмотр и редактирование реквизитов по , пользовательскую видимость полей формы по ролям, использование команд по ролям) в случае большого количества ролей в конфигурации (от нескольких десятков). Вместо этого следует придерживаться следующих подходов:
    • при сильных различиях внешнего вида и функциональности формы в зависимости от наличия тех или иных ролей у пользователя – разрабатывать отдельные формы , специализированные под конкретный набор прав пользователя;
    • при незначительных отличиях – выполнять проверку прав в коде . При этом следует иметь в виду, что программное управление видимостью может снизить скорость открытия формы, что нужно учитывать при выборе между предлагаемыми подходами.
  2. Использовать ролевую настройку видимости в командном интерфейсе конфигурации, командном интерфейсе основного раздела, а также рабочей области начальной страницы. Вместо этого следует использовать настройку прав на разделы командного интерфейса, и объекты, включенные в командный интерфейс или в рабочую область. Это позволяет повысить предсказуемость поведения управляемого интерфейса для пользователя, а также упростить расследование ошибок.

Более подробную информацию по работе с формами в курсе "Работа с формами в "1С:Предприятии 8.3", http://www.1c.ru/rus/partners/training/uc1/course.jsp?id=161.

Статья продолжает цикл «Первые шаги в разработке на 1С».

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

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

Применимость

В статье рассматривается Управляемый интерфейс в варианте «Версии 8.2» конфигурации, разработанной на платформе 1C 8.3.4.482.

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

Если же вы работаете в новом интерфейсе «Такси», то названия некоторых команд настройки, а также общая последовательность действий может несколько отличаться.

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

Настройка форм и возможности работы со списками

Для элементов управляемых форм существует возможность изменять видимость и некоторые другие свойства. Для этих целей в управляемой форме в меню Все действия служит пункт Изменить форму .

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

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

Можно изменять порядок реквизитов. Добавлять новую группу и помещать в нее некоторые реквизиты (элементы), определяя вариант их группировки (горизонтальная, вертикальная).

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

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

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

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

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

Для возврата к стандартным настройкам в окне «Настройка формы» в меню Все действия следует выбрать пункт Установить стандартные настройки .

Кроме настройки форм в управляемом интерфейсе существует возможность настройки списков (элементов справочников, документов).

В форме списка в меню Все действия содержится специальная команда Настроить список .

Откроется окно «Настройка списка». В данном окне можно производить отбор, сортировку, определять условное оформление и группировку.

На рисунке представлена форма для редактирования отбора.

Отбор можно производить по нескольким полям. В этом случае по умолчанию отбор будет работать по условию И. Можно также использовать условия ИЛИ и НЕ.

Для использования условия ИЛИ (НЕ) нужно с помощью команды Сгруппировать условия добавить соответствующую группу (Группу ИЛИ, Группу НЕ).

На рисунке представлена форма для определения полей сортировки.

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

На очередном рисунке представлено, как будет выполняться группировка.

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

На рисунке представлен результат условного оформления фоном поля Сумма .
Когда сумма > 100000.

Следует отметить, что существует возможность просмотра справочников в режиме иерархии.

Иерархический просмотр справочников возможно настраивать через пункт Режим просмотра в меню Все действия . Можно выбрать один из вариантов: Иерархический список , Список , Дерево .

Также имеется возможность настраивать собственную группировку элементов справочников по некоторым реквизитам.

Например, можно сгруппировать номенклатуру по поставщику. Пример аналогичен тому, где мы рассматривали группировку документов «Реализация товаров и услуг» по контрагентам.

Удобная возможность – множественное выделение в списках с последующим выполнением групповых действий (проведение, отмена проведения, снятие пометки удаления).

Выделение объектов в списке осуществляется с удержанием клавиши Shift или Ctrl .

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

Для поиска по значению в текущей колонке достаточно спозиционировать курсор на нужной колонке и нажать на кнопку Найти в командной панели. Появится окно, в котором следует также нажать на кнопку Найти .

Для повышения конкретизации поиска можно использовать флажок Искать в найденном .

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

На этом заканчиваем со списками и способами их настройки. В следующей статье мы продолжим знакомиться с интерфейсом и рассмотрим удобный инструмент для информирования пользователя, о котором мы раньше не говорили. Что это за инструмент? :)