Контент

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

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

Рассмотрим простой пример. Допустим, в прикладном решении существует документ Поступление товара , который фиксирует факт появления в организации некоторых позиций номенклатуры:

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

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

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

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

Для ввода и обработки информации, хранящейся в конфигурациях, написанных на платформе "1С:Предприятие 8.1", в пользовательском интерфейсе активно используются разнообразные формы. Если несколько упростить, то можно сказать, что формы - это те самые окна, которые открываются пользователем и которые отображают в том или ином виде необходимую ему информацию. В "1С:Предприятии 8.1" существует несколько основных типов форм. О назначении каждого из типов, о возможностях и особенностях работы с ними рассказывает в данной статье В.В. Рыбалка, фирма "1С".

формы списков


Рис. 1

Действие

Сочетание клавиш

Добавить новый элемент

Пометка на удаление

Ctrl+Стрелка вниз

Выход на уровень выше

Ctrl+Стрелка вверх

Изменить текущий элемент

Форма списка

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

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

Общее у всех форм такого типа - наличие одного или нескольких списков элементов конфигурации в качестве основного объекта отображения, с которым вам предлагается работать.

Например, вызывая справочник "Контрагенты", мы получаем на экране как раз такую форму-список (рис. 1).

Рис. 1

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

При наведении (не нажатии!) мышью на одно из действий, вы получите краткое пояснения этого действия и "горячую" клавишу (или комбинацию клавиш) для его выполнения, если имеется такая возможность.

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

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

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

Для часто используемых в форме списков действий назначены комбинации клавиш (подробнее об использовании "горячих" клавиш читайте в номере 10 (октябрь) "БУХ.1С" за 2007 год, стр. 8 ), использование которых повысит эффективность работы в программе:

Действие

Сочетание клавиш

Активация действия в командной панели

Добавить новый элемент

Пометка на удаление

Добавить группу (для справочников с иерархией)

Переместить элемент в другую группу (для справочников с иерархией)

Быстрый вход внутрь группы (для справочников с иерархией)

Ctrl+Стрелка вниз

Выход на уровень выше

Ctrl+Стрелка вверх

Добавить новый элемент копированием текущего

Изменить текущий элемент

В формах списков могут встречаться простые списки и деревья. Деревья - это иерархически подчиненные по определенному правилу элементы. На рис. 1 слева на форме видим как раз пример такого дерева - иерархический список вложенных друг в друга групп контрагентов.

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

Для этого можно использовать клавиши со стрелками (вверх, вниз, вправо, влево), включая привычное всем нам страничное листание (PageUp/PageDown) в сочетании с этими клавишами. Работают также общепринятые "горячие" клавиши:

Форма элемента

Форма элемента - еще один распространенный тип представления информации, используемые в конфигурациях, созданных на платформе "1С:Предприятие 8.1".

Форма элемента, по сути, - это отображение какого-либо одного логического объекта конфигурации так, чтобы можно было просмотреть и, часто, отредактировать всю необходимую информацию о нем. Примеров форм элементов предостаточно.Рассмотрим форму элемента справочника "Контрагенты" - "Свет (Чертаново)" (см. рис. 2). (Открытие формы элемента из формы списка можно произвести двойным кликом мыши, а можно нажатием клавиши Enter).

Рис. 2

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

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

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

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

Как правило, сверху расположены разнообразные возможные действия над открытым объектом (включая уже знакомый нам раздел "Действия"), а снизу - основные варианты обработки действий пользователя с данными формы (например, "ОК" - сохранить и закрыть; "Записать" - сохранить правки в информационной базе, не закрывая окна формы; "Закрыть" - закрытие окна формы).

Обычно одна из команд назначена "кнопкой по умолчанию". Она активируется комбинацией клавиш Ctrl+Enter. Такая кнопка выделяется жирным (в нашем примере, это кнопка "ОК" ).

Кроме этого, как правило, доступно еще одно действие по умолчанию - Ctrl+S, которое аналогично нажатию на "Записать".

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

Посмотрим на рис. 3 - яркими примерами таких вспомогательных панелей являются панели, расположенные над списком банковских счетов (свои варианты действий, относящиеся только к банковским счетам) и над списком договоров контрагента (свои варианты - только для договоров).

Рис. 3

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

Комбинация Alt+F10 работает и здесь, она активирует ту командную панель, с элементами которой пользователь работает в данный момент времени.

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

Клавиатурное управление, как правило, значительно ускоряет процесс работы с данными. Например, нажатие на клавишу Enter или Tab, позволяет "перескакивать" с одного элемента формы на другой (следующий за ним). Нажатие Shift+Tab позволяет "скакать" по элементам в обратном направлении. Если вы находитесь в каком-либо поле ввода (например, на рис. 2 в группе контрагентов), достаточно написать первые буквы нужного вам элемента и нажать Tab и программа автоматически подставит нужный элемент в поле ввода (если он уникален в системе), либо предоставит автоматический список для уточнения вашего варианта.

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

Действие

Сочетание клавиш

Открыть форму выбора нужного элемента

Открыть форму элемента уже выбранного объекта в поле ввода

Очистить поле ввода

Быстрое переключение между закладками на форме, если они есть

Ctrl+PageUp и Ctrl+PageDown

Переключение активного элемента типа "Флажок"

Отказаться от внесенных изменений в текстовых элементах формы

Вернуть отмененное действие

Закрытие практически любой формы

Закрытие/открытие окна служебных сообщений (того, которое может появляться внизу)

Ctrl+Shift+Z / Ctrl+Alt+O

При вводе новых объектов конфигурации при помощи форм элементов, обязательные для заполнения поля подчеркнуты красным. Например, для документа "Реализация товаров и услуг: Продажа, комиссия" такими полями являются поле "Контрагент" и поле "Договор" (рис. 4).

Рис. 4

Выделять текстовые блоки можно мышью, а можно курсорами с нажатой клавишей Shift. Это бывает полезно для операций с буфером обмена.

Кстати, практически для всех элементов вы можете использовать копирование в буфер. Достаточно активировать нужный элемент и нажать Ctrl+C - в буфер скопируется текстовое представление элемента, если такое для него возможно.

Форма выбора

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

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

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

Обратите внимание на то, что результат при нажатии клавиши Enter различается в форме списка и в форме выбора - там это правка текущего элемента, а здесь - его выбор.

Форма группы

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

Аналогично форме выбора (элемента), в конфигурации могут существовать формы выбора групп - иногда они доступны, когда разработчик конфигурации требует явного выбора только группы какого-то определенного справочника. Явных отличий (кроме заполнения данными) эти формы от "обычных" форм выбора не имеют.

Для каждого объекта конфигурации, может быть задано при разработке несколько форм: разнообразные формы элемента, выбора, вспомогательные формы. Необходимо это, в первую очередь, для облегчения ввода и обработки информации, хранящейся в этом объекте. То есть набор форм, как правило, определяется на этапе создания конфигурации и в разных конфигурациях может отличаться друг от друга даже для однотипных объектов (например, в типовых конфигурациях "Бухгалтерия предприятия" и "Управление торговлей").

В конфигурации могут встречаться и какие-то совсем специальные формы, решающие определенные задачи, заложенные в логику конкретной конфигурации. Они могут быть не привязаны к какому-либо конкретному объекту конфигурации - это так называемые "Общие формы". Что и как они отображают, решают разработчики конфигурации, а пользователь может понять их назначение из того контекста, в котором они открываются.

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

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

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

Вызвать справку можно, нажав клавишу F1.

Если в форме присутствует список, у которого возможно изменение порядка расположения элементов, вы увидите соответствующие действия в командной панели к нему относящейся - перемещение строк и их сортировка (рис. 5).

Рис. 5

Кроме этого, в таком случае всегда доступны "горячие" клавиши Ctrl+Shift+Стрелка вверх и Ctrl+Shift+Стрелка вниз.

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

  • Подстановка единственного значения
  • Подстановка значения по отбору
  • Заполнение реквизитов по статистике
  • Подстановка ранее введенных реквизитов
  • Подстановка значений по шаблону
  • Ввод нового документа копированием

Подстановка единственного значения на который у пользователя есть права.

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

Подстановка значения по отбору, указанному в форме списка.

Если в списке установлен отбор по какому-то реквизиту (касса, банковский счет, склад), то этот реквизит будет автоматически заполнен в новом документе. Например, вы в форме списка документов РКО устанавливаете отбор по кассе. При оформлении нового платежного документа из списка будет автоматически взята информация о выбранной кассе. И так как, для кассы указана организация, то будет автоматически заполнена информация об организации. Использовать отборы можно в любом списке документов.

Заполнение реквизитов по статистике.

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

будут заполнены все те данные, которые были определены в соглашении или договоре;

если в соглашении или договоре не было указано какое-либо значение (например, подразделение), то это значение будет заполнено в соответствии со статистикой. Если при вводе нового документа значения были заполнены в соответствии со статистикой, то они будут перезаполнены, если они определены в соглашении или договоре.

Подстановка значений по шаблону.

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

Ввод нового документа копированием.

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

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

Как быстро ввести значение реквизитов в 1С?

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

  • Неправильный выбор объекта;
  • Неверное количество или опечатка в наименовании;
  • Задвоение элементов справочников, их не уникальность или пересортица;
  • Игнорирование заполнения полей, критически важных для правильного расчета и бесперебойной работы программы.

Решением последней проблемы является, для восьмой версии программы 1С проверка заполнения реквизитов формы.

Проверка заполнения для обычной формы

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

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

Запись элементов справочников или проведение документов, содержащих незаполненные обязательные поля, будет вызывать исключительную ситуацию (Рис. 2).

Рис. 2

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

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

  1. Открываем форму в Конфигураторе;
  2. Кликаем правой кнопкой мышки по элементу формы, и вызываем окно «Свойства»;
  3. Необходимо проставить флажки АвтоОтметкаНезаполненного и АвтоВыборНезаполненного в подменю «Использование» (Рис.3);

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

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

Проверить отличается ли значение, переданное в поле от пустого (значения по умолчанию), можно с помощью функции ЗначениеЗаполнено(«Знач»). При этом следует иметь в виду, что если поле имеет составной тип данных, выполнение этой функции вызывает исключительную ситуацию.

Проверка в управляемых формах

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

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

Итак, после нажатия кнопки «Записать», «ОК», «Провести»:

  1. Вызывается процедура «Перед записью» на клиенте;
  2. Данные передаются на сервер и происходят события, прописанные в модуле формы на сервере (здесь можно запустить процедуру ОбработкаПроверкиЗаполненияНаСервере);
  3. Данные формы передаются в модуль объекта на сервер (появляется возможность запуска стандартной процедуры ОбработкаПроверкиЗаполнения);
  4. Данные из модуля возвращаются в модуль формы на сервер, и происходит процедура ПередЗаписьюНаСервере;
  5. Данные возвращаются в модуль объекта, и происходит еще одна процедура ПередЗаписью;
  6. Происходит непосредственная запись объекта в базу.

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

Различия между обработчиками ОбработкаПроверкиЗаполнения() и ОбработкаПроверкиЗаполненияНаСервере()

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

  1. Отказ (сюда после проверки передается ее результат);
  2. ПроверяемыеРеквизиты (тип данных – массив, если не заполнено, то будут проверяться все реквизиты, для которых в свойствах стоит «Проверять заполнение», в противном случае будут обрабатываться реквизиты, выбранные программно).

Процедура ОбработкаПроверкиЗаполненияНаСервере() позволяет выполнить проверку реквизитов, которые не относятся непосредственно к редактируемому объекту. Каждый программист сам решает, что и в каком объеме он хотел бы проверять.

Процедура ОбработкаПроверкиЗаполнения() проверяет основные реквизиты.

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

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

  • При доработке типовых конфигураций для облегчения процедуры последующего обновления. В этом случае будет изменен только модуль формы. Модули намного проще обновлять, чем форму.
  • При реализации некоторых общих алгоритмов. Например, в подсистеме «Запрет редактирования реквизитов объектов» для всех подключенных к подсистеме объектов предусмотрено программное создание кнопки для включения возможности редактирования реквизитов.
  • При реализации некоторых специфических алгоритмов. Например, в справочнике Номенклатура создаются поля для редактирования дополнительных реквизитов.

В управляемой форме можно программно добавить, изменить и удалить:

  • реквизиты;
  • локальные команды;
  • элементы.

Все указанные операции возможны только на сервере.

Программное изменение формы имеет ограничения:

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

Изменение команд формы

Для управления составом команд у объекта УправляемаяФорма есть коллекция Команды

    Добавить(< ИмяКоманды >)

    Количество ()

    Найти(< ИмяКоманды >)

    Удалить(< Команда >)

Коллекция Команды доступна как на клиенте, так и на сервере. Изменять коллекцию (методы Добавить () и Удалить () ) можно только на сервере. Искать и получать количество элементов (методы Найти () и Количество () ) можно как на клиенте, так и на сервере.

В качестве примера работы с командами формы создадим новую команду ИсторияИзменений с заголовком «История изменений…», которая будет вызвать обработчик ОтобразитьИсторию () . Создание выполняется при открытии формы.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Команда = Команды. Добавить(«ИсторияИзменений» );
Команда. Действие = ;
Команда. Заголовок = «История изменений…» ;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОтобразитьИсторию(Команда )
// действия команды
КонецПроцедуры

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

Изменение реквизитов формы

Чтение состава реквизитов формы выполняется функцией ПолучитьРеквизиты (< Путь >) , возвращающей массив типа РеквизитФормы . Параметр функции указывает путь к родительскому реквизиту (в виде строки). Если параметр опущен или указана пустая строка, возвращаются реквизиты верхнего уровня.

Изменение реквизитов выполняется методом ИзменитьРеквизиты (<ДобавляемыеРеквизиты >, <УдаляемыеРеквизиты >) объекта УправляемаяФорма . В параметры ДобавляемыеРеквизиты и УдаляемыеРеквизиты передаются массивы с элементами типа РеквизитФормы .

Внимание!

Процесс изменения состава реквизитов является достаточно ресурсоемким. Фактически выполняется пересоздание формы. В связи с этим работа с реквизитами формы выполняется в пакетном режиме.

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


ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты. Добавить(Новый РеквизитФормы («Покупатель», Новый ОписаниеТипов («СправочникСсылка.Контрагенты»), «Клиент»));

// Изменения состава реквизитов
);

Изменение элементов формы

Для управления составом элементов у объекта УправляемаяФорма есть коллекция Элементы . У коллекции есть несколько методов:

    Вставить(< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    Добавить(< Имя>, < ТипЭлемента>, < Родитель >)

    Количество ()

    Найти(< Имя >)

    Переместить(< Элемент>, < Родитель>, < МестоРасположения >)

    Удалить(< Элемент >)

Коллекция Элементы доступна как на клиенте, так и на сервере. Изменять коллекцию (методы Вставить() , Добавить () , Переместить () и Удалить () ) можно только на сервере. Искать и получать количество элементов (методы Найти () и Количество () ) можно как на клиенте, так и на сервере. Элементами коллекции могут быть:

  • ГруппаФормы;
  • ТаблицаФормы;
  • ПолеФормы;
  • КнопкаФормы.

Элементам формы можно программно назначить обработчики событий. Для этих целей предназначен метод УстановитьДействие(< ИмяСобытия>, < Действие >) .

Рассмотрим несколько наиболее распространенных на практике примеров работы с командами, реквизитами и элементами формы.

Добавление команды и связанной с ней кнопки:

// Создание команды
Команда = Команды. Добавить(«ИсторияИзменений» );
Команда. Действие = «Подключаемый_ОтобразитьИсторию» ; // В форме должна быть процедура с указанным наименованием
Команда. Заголовок = «История изменений…» ;
// Создание кнопки и связь ее с командой
Элемент = Элементы. Добавить(«ИсторияИзменений» , Тип(«КнопкаФормы» ));
Элемент.ИмяКоманды = «ИсторияИзменений» ;

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

// Описание добавляемых реквизитов
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты. Добавить (Новый РеквизитФормы («Покупатель» , Новый ОписаниеТипов («СправочникСсылка.Контрагенты» ), «Клиент» ));
// Изменение состава реквизитов
ИзменитьРеквизиты(ДобавляемыеРеквизиты );
// Создание поля ввода и связь с реквизитом
Элемент = Элементы. Добавить(«Покупатель» , Тип(«ПолеФормы» ));
Элемент. Вид = ВидПоляФормы. ПолеВвода;
Элемент. ПутьКДанным = «Покупатель» ;

Назначение элементу формы обработчика события:

ЭлементПокупатель. УстановитьДействие («ПриИзменении» , «Подключаемый_ПокупательПриИзменении» );

&НаКлиенте
Процедура Подключаемый_ПокупательПриИзменении (Элемент )
// Действия события
КонецПроцедуры

Внимание!

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

Внимание!

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