Как сделать форму видимой 1с

Добавил пользователь Алексей Ф.
Обновлено: 10.09.2024

Процедура ДоступностьЭлементовФормы ( ) Если Не РольДоступна ( "вх_МенеджерРядовый" ) Тогда Возврат ; КонецЕсли ; Для Каждого Элемент Из ЭлементыФормы Цикл Если Элемент . Имя = "ОсновныеДействияФормы" Или Элемент . Имя = "ДействияФормы" Тогда Продолжить ; КонецЕсли ; Если Элемент . Имя = "ОплатаПлатежнымиКартами" Тогда Для Каждого Колонка Из Элемент . Колонки Цикл Если Колонка . Имя = "ВидОплаты" Тогда Продолжить ; КонецЕсли ; Колонка . ТолькоПросмотр = Истина ; КонецЦикла ; Продолжить ; КонецЕсли ; Если ТипЗнч ( Элемент ) = Тип ( "ПолеВвода" ) Тогда Элемент . ТолькоПросмотр = Истина ; ИначеЕсли ТипЗнч ( Элемент ) = Тип ( "КоманднаяПанель" ) Тогда Элемент . Доступность = Ложь ; ИначеЕсли ТипЗнч ( Элемент ) = Тип ( "Надпись" ) Тогда Элемент . Доступность = Ложь ; ИначеЕсли ТипЗнч ( Элемент ) = Тип ( "ТабличноеПоле" ) Тогда Элемент . ТолькоПросмотр = Истина ; ИначеЕсли ТипЗнч ( Элемент ) = Тип ( "Флажок" ) Тогда Элемент . Доступность = Ложь ; КонецЕсли ; КонецЦикла ; КонецПроцедуры

Введение в управляемая форма 1С реквизиты элементы команды

Рекомендуется модифицировать управляемые формы типового решения 1С программно для удобного будущего обновления и исключения конфликтов, а также для удобной работы с изменениями и надежности при использовании механизма расширений.
В некоторых типовых конфигурациях 1С (ЕРП 2, УТ 11) используется механизм упрощенного изменения конфигурации. Статьи о типовом механизме можно найти в разделе полезных ссылок. Данный механизм используется в БСП, и его необходимо знать при модификации типовых конфигураций.
При добавлении элементов на форму программно можно отредактировать практически любое свойство из панель свойств, которое можно установить вручную в конфигураторе.
Также все описанные в текущем разделе процедуры и функции находятся во внешней обработке УпрФормы.

Программное переопределение обработчиков событий формы и элементов формы

В теле модуля формы:

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

Аналогично можно поступить и с обработчиками элементов формы:

Программное создание групп формы.

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


Программное добавление команды на форму.

Удалить команду можно при помощи метода коллекции формы команд: Команды.Удалить( ). Удалять можно только те команды, которые были созданы программно.

Программное создание декораций форм.

Программное добавление реквизита на форму.

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

Вывод реквизитов на форму.

Вызов процедур при создании на сервере 1С

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

Некоторые советы при программном редактировании формы


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

Форма — это основной инструмент взаимодействия пользователя с системой.

Существует два типа форм:

  • Форма — обычная форма, унаследованная от предыдущих версий платформы 1С:Предприятие 8.0 и 8.1.
  • УправляемаяФорма — более современная форма, которая появилась начиная с платформы 1С:Предприятие 8.2. Она основана на декларативном описании состава и расположения элементов управления;

Для программного открытия обоих типов форм используются всего пара функций:

    — открывает форму объекта; — возвращает объект типа Форма или УправляемаяФорма , который впоследствии можно открыть;

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

  • Основная форма объекта;
  • Вспомогательная форма объекта;
  • Произвольная форма (не привязана к конкретному объекту);

Основная форма объекта

Основная форма — это форма, назначенная объекту в качестве основной формы, которая и будет открываться по-умолчанию.

Чтобы программно открыть основную форму объекта достаточно выполнить следующий простенький код:

где Справочник.ФизическиеЛица.ФормаОбъекта — полный путь к основной форме объекта (ознакомьтесь со списком основных объектов платформы 1С:Предприятие 8), а ФормаОбъекта — зарезервированное имя основной формы объекта. Кроме этого имени, зарезервирован еще ряд имен:

  • ФормаКонстант (ConstantsForm) — форма констант по умолчанию;
  • ФормаОбъекта (ObjectForm) — форма объекта по умолчанию (элемента справочника, документа, плана счетов и т.п);
  • ФормаГруппы (FolderForm) — форма группы по умолчанию (группы справочника, плана счетов и т.п.);
  • ФормаСписка (ListForm) — форма списка по умолчанию (справочника, документа, плана счетов, регистра и т.п.);
  • ФормаВыбора (ChoiceForm) — форма выбора по умолчанию (справочника, документа, плана счетов и т.п);
  • ФормаВыбораГруппы (FolderChoiceForm) — форма выбора группы по умолчанию (справочника, документа, плана счетов и т.п);
  • ФормаЗаписи (RecordForm) — форма записи регистра сведений по умолчанию;
  • Форма (Form) — форма отчета или обработки по умолчанию;
  • ФормаНастроек (SettingsForm) — форма настроек отчета по умолчанию;
  • ФормаЗагрузки (LoadForm) — форма загрузки настроек отчета;
  • ФормаСохранения (SaveForm) — форма сохранения настроек отчета;
  • ФормаВарианта (VariantForm) — форма редактирования варианта отчета;
  • и т.п.

Вспомогательная форма объекта

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

Чтобы программно открыть вспомогательную форму объекта необходимо выполнить следующий код:

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

Произвольная форма

Произвольная форма — это форма, в которой не выбран основной реквизит.

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

Открытие формы существующего объекта

Для открытия формы существующего объекта необходимо модифицировать наш код. Забегая вперед, скажу, что мы будем использовать параметры формы:

Служебный параметр Ключ обозначает ссылку на объект информационной базы, которую требуется открыть

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

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

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

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

Конструктор управляемой формы 1С

У конструктора управляемой формы 7 закладок:

  • Элементы – перечислены по порядку все элементы управляемой формы. Посредством элементов осуществляется взаимодействие пользователя с программой.
  • Командный интерфейс – в этой закладке настраивается видимость глобальных и локальных команд.
  • Реквизиты — в реквизитах храниться информация, с которыми работает форма. В большинстве случаев эта информация после закрытия формы уничтожается (если не имеем дело с основным реквизитом элемента справочника, документа и т.д.).
  • Команды – в данной закладке команды, с которыми можно работать на форме. Это могут быть команды формы, которые создал разработчик, стандартные команды формы при помощи которых можно настраивать стандартный функционал (закрытие, сохранение и т.ж) и глобальные команды.
  • Параметры – список параметров, которые предназначены для настройки формы при открытии. С помощью параметром можно передавать данные с одной формы в другую.
  • Форма – закладка, в которой разработчик может видеть предварительный вариант отображения формы в пользовательском режиме. Нельзя на форме работать непосредственно с элементами! Всё взаимодействие осуществляется посредством закладки Элементы.
  • Модуль – содержит алгоритмы взаимодействия

Рассмотрим основные принципы работы управляемой формы.

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

Для этого рассмотрим классическую трехзвенную архитектуру 1С: Предприятия. У вас есть клиентские компьютеры, где работают все пользователи, есть кластер серверов 1С: Предприятия, где выполняются все вычисления, и есть SQL-база (СУБД), где хранятся все данные.

Клиент-серверная архитектура работы 1С: Предприятия

Клиентский и серверный контекст

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

В управляемом приложении все кардинально поменялось. Теперь на стороне клиентского компьютера форма должна только прорисовывается. Связано это с возникновением тонкого и веб-клиента, которые осуществляют взаимодействие с серверной частью по средством сети Internet. Этот канал связи накладывает существенные ограничения на широту передаваемых данных. И если раньше мы могли на форме делать практически всё: обращаться к базе данных, создавать документы, справочники и т.п., то теперь это стало слишком дорогим удовольствием. Поэтому для нормального функционирования тонкого клиента и веб-клиента был существенно переделан механизм работы форм. Форма только прорисовывается на клиенте, а все обработки данных, вычисления и т.п. должны выполняться на сервере.

Что же из себя представляет форма? Форма это программный объект, который создается на сервере согласно настройкам сделанными в конфигураторе (если формы нет в конфигураторе, то она генерируется автоматически платформой), а потом выводится в клиентском приложении. Таким образом, форма одновременно существует и на сервере и на клиенте! А как следствие у формы есть и серверный и клиентский контекст выполнения кода.

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

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

  • &НаКлиенте
  • &НаСервере
  • &НаСервереБезКонтекста
  • &НаКлиентеНаСервереБезКонтекста
  • &НаКлиентеНаСервере

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

&НаСервере — код процедуры или функции под этой директивой будет выполняться в серверном контексте, т.е. на машине, где запущен сервер 1С. Все данные формы будут передаваться на сервер, а потом обратно на форму, после завершения выполнения метода. Из процедуры под этой директивой будет доступен весь серверный контекст формы, т.е. все процедуры или функции, которые выполняются на сервере, можно вызвать из метода предваренного этой директивой.

&НаСервереБезКонтекста — код процедуры или функции под этой директивой как и в случае с директивой &НаСервере будет выполняться в серверном контексте, т.е. на машине, где запущен сервер 1С. Но в отличие от серверного вызова методов, при внеконтекстном серверном вызове, данные формы не будут передаваться на сервер.

Это три частоприменяемые директивы компиляции.

Резюмирую: управляемая форма это объект конфигурации 1С, который создается на сервер, а потом загружается на клиентский компьютер. Основное взаимодействие пользователя с формой осуществляется посредством элементов формы, которые размещаются на форме. На форме могут храниться различные данные в реквизитах, а так же при помощи параметров можно передавать информацию с одной формы на другую при её открытии. Форма одновременно существует и в клиентском и серверном контексте, и при разработке программист должен самостоятельно решить какой код будет выполняться на сервере, а какой на клиенте.


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

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

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


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

Читайте также: