Содержание:
1. Формы в системе 1С
2. Привязка к элементам
1. Формы в системе 1С
В 1С инструмент «Формы» выполняет функцию отображения и редакции данных из базы. Они могут находится в некоторых объектах внутри конфигурации, но также находятся и отдельно. Как пример, в справочнике «Номенклатура» находится много форм, которые используются чтобы редактировать элементы, отображать списки и так далее. Путь к формам системы 1С показан на скриншоте ниже:
Рис. 1 Формы в системе 1С
Также прилагается пример нахождения в системе 1С общих форм, не принадлежащих объектам внутри конфигурации, смотреть скриншот ниже:
Рис. 2 Общие формы в 1С
Пускай уже созданы и заполнены нужные формы, но требуется сделать привязки форм, с этим возникает много проблем у разработчиков.
2. Привязка к элементам
В системе 1С готовые формы вывода и элементы для управления отделены от объектов конфигурации. Как раз из этого «вытекает» необходимость привязки формы к справочнику для их корректной работы. Чаще всего связку делают при помощи режима конструктора для форм, но следует понимать, как именно это происходит. Благодаря этому можно будет самим сделать коррекцию привязки и «подогнать» ее под себя:
1. есть стандартные объекты внутри конфигурации, которые имеют реквизиты и таблицы;
2. есть объекты вида «Форма» с элементами, которые ею управляют (например, поля таблиц, вводные поля и так далее).
Эти два аспекта показаны на скриншоте ниже, можно наглядно сравнить:
Рис. 3 Сравнение стандартных объектов внутри конфигурации и форм в системе 1С
В случае, когда форма является составляющей объекта из конфигурации, только этот факт является необходимым и достаточным условием для реализации привязки формы. Есть возможность сделать стандартную форму, которая не будет относится ни к какому из объектов внутри конфигурации, она станет отражать перечень с элементами из справочника, также будет доступно редактирование документа. Но данную форму нельзя сделать основной для некоторых действий.
Для обеспечения отображения списка с элементами из табличного поля в форме демонстрации это поле обязано быть связано с объектом вида «СправочникСписок.ИмяСправочника». Рассмотрим, как реализовать привязку к элементам.
Данная привязка обеспечивается при помощи создания реквизитов. Далее устанавливаем свойства в «Данные», элементы по управлению, а также саму форму. Рассмотрим пример: пусть необходимо сделать форму для справочника, а также форму для элемента, которую будем создавать вручную, без режима конструктора форм. Делаем новую форму в справочнике «Номенклатура»:
Рис. 4 Новая форма справочника и элемента
Избираем у формы тип «Произвольная», перед нами появится самостоятельная форма, без привязки к данным, у которой не будет реквизитов:
Рис. 5 Самостоятельная форма в системе 1С
Замечание: не стоит спутывать реквизиты внутри объекта в конфигурации и реквизиты в форме.
Создаём новый реквизит формы: «СпрСписок», у которого будет тип «СправочникСписок.Номенклатура»:
Рис. 6 Новый реквизит формы
Стоит заметить, что данный реквизит – не основной реквизит формы.
Замечание: при наличии в форме основного реквизита меняется её поведение – в данном случае она будет главной формой в списке или в элементе.
Сделаем наш реквизит «СпрСписок» главным в форме: необходимо открыть свойства этой формы и заполнить графу «Данные» так, как показано ниже:
Рис. 7 Главная форма при наличии в форме основного реквизита
Когда указываем свойство «Данные», автоматом меняется «Тип значения».
При переходе на вкладку «Реквизиты» в форме видно, что данный реквизит теперь основной (выделяется жирным шрифтом):
Рис. 8 Основной реквизит в форме
Теперь мы получили форму списка, что и было необходимо. Тип основного реквизита формы влияет на появление новых событий – расширений формы; также могут добавиться различные кнопки на панели.
Рис. 9 Появление новый свойств формы в системе 1С
В диалоге у формы поместим элемент по управлению «Табличное поле»:
Рис. 10 Табличное поле формы в системе 1С
После этого появляется реквизит (в примере это «ТабличноеПоле1»). Далее необходимо привязать данное поле к новому реквизиту в форме. Во вкладке со свойствами указываем «Данные», как показано на скриншоте ниже:
Рис. 11 Привязка поля к новому реквизиту в форме
Меняем название элемента на «тпСписок». Это ни на что не влияет, но в дальнейшем будет удобнее читать.
Замечание: свойство «Тип значения» теперь недоступно, это значит, что в свойствах у элемента не получится сменить тип значения у реквизита.
Также можем пронаблюдать, что произошли такие перемены:
· появились столбцы «Код» и «Наименование», они привязаны к реквизитам справочника по умолчанию;
· командная панель наверху теперь заполнена: имеет набор кнопок по умолчанию;
· в форме «ТабличноеПоле1» удалён реквизит.
Рис. 12 Перемены в форме системы 1С
Получаем, что в форме всё есть и теперь она стала формой для списка элементов из справочника. Дадим ей название «Список Номенклатура», далее определим её назначение основной формой в списке (для того чтобы она автоматически открывалась).
Рис. 13 Основная форма в системе 1С
Запускаем систему 1С и сверяем корректность формы и ее работы:
Рис. 14 Корректность работы формы
Следующим этапом станет добавление формы элемента справочника. Всё создаётся вручную, не используя конструктор. Создаём форму, которая будет принадлежать справочнику. По аналогии указываем тип «Произвольная», название дадим «ФормаЭлементаНовая»:
Рис. 15 Добавление формы элемента справочника
Переходим во вкладку «Реквизиты», делаем новый реквизит формы, под названием «СпрОбъект», у него обязательно должен быть тип «СправочникОбъект.Номенклатура»:
Рис. 16 Создание нового реквизита формы в системе 1С
Данный реквизит ещё не принадлежит форме, так как не записан в свойстве «Данные» внутри формы. Исправим это, как показано на скриншоте ниже:
Рис. 17 Добавление принадлежности к форме нового реквизита
Замечание: при изменении «Тип значений» поменяется тип реквизита из формы, этого делать не стоит на данном этапе.
Теперь реквизит с названием «СпрОбъект» – главный внутри формы. Из-за его типа поменялись такие элементы формы:
· кнопки на командных панелях;
· увеличилось количество методов и свойств.
Далее стоит поместить свойства управления, чтобы в дальнейшем редактировать элемент формы после создания. Создаём в форме поле ввода и около него пишем «Наименование»:
Рис. 18 Свойства управления при создании элемента формы
Установим свойство «Данные» и привяжем его к реквизиту «Наименование» (из объекта «СпрОбъект»):
Рис. 19 Привязка формы к реквизиту в 1С
После этой процедуры видим, что тип в поле ввода не может быть изменён, тип значения находится в структуре справочника:
Рис. 20 Тип в поле ввода не может быть изменен
По аналогии размещаем внутри диалогового окна формы другие поля и элементы формы и привязываем их к реквизитам и таблицам в справочнике.
Замечание: учитывая то, что существует главный реквизит внутри формы, то кликнем на «Размещение данных», данная кнопка настроит связь элементов, появится такое окно:
Рис. 21 Окно Размещение формы в 1С
В данном окне находится перечень реквизитов и таблиц из объекта конфигурации, который является основным реквизитом в форме. В «Данные» ставим отметку для реквизитов, которые станут находится внутри формы. А в «Элементы формы» выбираем тип элемента по управлению.
При помощи верного размещения элементов формы имеем такой вид формы:
Рис. 22 Правильное размещение элементов формы
Последний шаг – назначение данной формы основной формой у элемента из справочника, после чего можно все проверить:
Рис. 23 Проверка работы формы в системе 1С
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Ну, вроде руки дошли за посмотреть.
Сообщение от Raptor80
мало совсем
Да, мало, но общую тенденцию можно увидеть.
Значит комментарии:
— Если есть масло и мясо, значит надо сразу предполагать, что будет неизвестное количество других ингредиентов. Поэтому нельзя для них выделять отдельные поля, а надо запихать их в табличную часть.
— Если граммовка различается для разных корпусов, и можно предположить, что она будет различаться по времени (например, директор может сказать, что первому корпусу с ноября по апрель больше класть крупы, потом вернуть обратно), то логично её организовать в виде документа. Назовём его ТТК (Технико-технологическая карта), и искать на момент расчёта последнюю, но не позднее этого момента, чтобы можно было заранее предусматривать изменения на будущее.
— ТТК составляется обязательно с указанием выхода готового продукта в граммах. Некоторые продукты во время готовки сильно теряют в весе (вода), а некоторые вообще потом изымаются (кости для бульона).
— Сразу нужно предусмотреть, что в состав блюда могут входить уже составные элементы (Заготовки), тогда при расчете они тоже должны разбираться, причём с учётом выхода блюда, выхода заготовки и количества заготовки в блюде. Выходит, рекурсия.
Теперь по наваяному:
Справочники.
— Корпус. Ну, тут понятно.
— Номенклатура. В нём и блюда, и заготовки, и ингредиенты. Справочник иерархический, так что одно от третьего отделить можно. Есть реквизит ЭтоБлюдо. Ставится вручную, или при проведении евоного ТТК с указанием количества порций в выходе. В документ Меню попадают только блюда с этим признаком.
Документы.
— ТТК.
Дата. С какого момента начинает действовать. И до момента следующей ТТК. ТТК можно задавать заранее, передним числом.
Корпус. Можно не указывать. Тогда действует на все корпуса.
Номенклатура. Какое собсно блюдо или заготовку делаем.
Выход. Обязательно. Масса готового блюда из всех указанных ингредиентов.
Порций. Только для блюд. Не для заготовок. На сколько порций делится указанный выход.
— Меню.
По реквизитам понятно. Считает общую граммовку на указанное количество порций всех указанных блюд. Результат не хранит, т.к. к следующему расчету граммовки могут измениться.
Всё проверил. Граммовки рассчитал вручную, вроде совпадает.
Порядок действий: Заводим ингредиенты, заготовки, блюда. Заводим ТТК для заготовок и блюд с учётом даты документа. Заводим меню по аналогии. Жмём кнопку Рассчитать. Поминаем меня незлым тихим словом.
Предупреждаю. Оптимизацию кода и запросов не делал. Есть смертные грехи вроде запроса в цикле. На взаимовложенность заготовок не проверяю (если заготовка А вложена в заготовку Б, а та в заготовку А, то зациклится). Но работает, и уже надоело возиться.
Знакомство с управляемой формой 1С лучше всего начинать с реквизитов. Что такое реквизит управляемой формы? По своей сути, это данные, которые привязаны именно к форме: они создаются, хранятся, отображаются (по возможности) и редактируются на форме. Вне контекста формы эти данные не могут существовать. Сам по себе реквизит не может отображаться на форме. Для этого служат элементы формы, которые связаны с реквизитами форм.
Научимся создавать простые реквизиты формы и размещать их на форме.
Для этого в конфигураторе 1С создадим пустую форму. Пусть это будет форма некой внешней обработки. В этой форме нас интересует закладка Реквизиты
В этой закладке сейчас только один реквизит – основной. Он нас пока не интересует, работа с основным реквизитом эта тема отдельной статьи. Пока разберемся с простыми реквизитами.
Для того, чтобы добавить реквизит необходимо нажать на кнопку «Добавить реквизит» командной панели закладки «Реквизиты»
После этого будет добавлен реквизит управляемой формы 1С с типом по умолчанию (строка) и справа откроется палитра свойств этого реквизита.
В этой палитре мы можем установить имя, заголовок, а так же тип реквизита управляемой формы.
Для тренировки создадим четыре реквизита с типом строка: Фамилия, Имя, Отчество и ФИО. И один реквизит с типом дата: ДатаРождения.
Разместим реквизиты на форме. Сделать это просто: необходимо нужный реквизит мышкой «перетащить» из закладки «Реквизиты» на закладку «Элементы»
Перетащим все реквизиты на формы, и с помощью кнопок «Вверх», «Вниз» удобно расположим их на форме.
Сейчас мы сделали такую примитивную форму, на которой расположили реквизиты. После того, как мы «перетащили» реквизит в элементы, то на форме был создан элемент формы. В нашем случае это поле формы. Если мы сейчас зайдем в палитру свойств поля ввода, то увидим, что он связан с реквизитом посредством свойства ПутьКДанным.
Если нажать на кнопку «…» свойства ПутьКДанным, то у разработчика есть возможность поменять привязанный к этому элементу реквизит формы.
Сейчас научимся использовать реквизиты в программном коде. Из статьи, посвященной архитектуре управляемой формы 1С 8.3 Вы знаете, что выполнение кода на форме возможно под директивами &НаКлиенте &НаСервере и &НаСервереБезКонтекста. Доступ к реквизитам формы возможен только в процедурах и функциях, которые выполняются на &НаКлиенте и &НаСервере.
Для наглядности выполним небольшую задачу: создадим команду, при выполнении которой Фамилия, Имя, Отчество и дата Рождения будут складываться в ФИО + Дата рождения.
Создадим локальную команду формы. Для этого на закладке «Команды» в подзакладке «Команды формы» необходимо нажать на кнопку «Добавить»
После создания команды, справа откроется палитра свойств новой команды, где мы зададим её название.
Но команда – это выполнение некоторых действий на форме. Чтобы действия осуществились необходимо создать обработчик команды. Для создания обработчика команды нужно нажать на кнопку «Лупа» свойства действия. После этого откроется окно выбора места размещения обработчика.
Мы выберем расположение НаКлиенте, поскольку для тех действий, которые мы хотим осуществить вполне хватит клиентского контекста.
После выбора места расположения обработчика, в модуле формы будет создана процедура под директивой &НаКлиенте, в которой мы напишем несложный код. В этом коде к реквизитам формы мы будем обращаться просто как к переменным. Мы можем это делать в клиентском и серверном контексте.
&НаКлиенте Процедура СформироватьФИО(Команда) ФИО = Фамилия + " " + Имя + " " + Отчество + ", д.р. " + Формат(ДатаРождения, "ДЛФ=D"); КонецПроцедуры
В этом коде, я преобразовал дату в строку при помощи функции формат.
Обратите внимание, после создание процедуры в палитре свойств команды свойство Действие заполнилось названием нашей новой процедуры.
И последним шагом нам осталось нашу команду разместить на управляемой форме. Просто перетащим её мышкой в закладку Элементы
При этом на форме появится кнопка.
Сохраним обработку и попробуем выполнить нашу команду.
Как видите, к реквизитам формы в модуле формы можно обращаться напрямую, как к переменным, но только если процедура или функция выполняется под директивами &НаКлиенте и &НаСервере.
Подробно вопросы работы с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.
Книга «Основы разработки в 1С: Такси»
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 15% — 48PVXHeYu
Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009
|
|||
DCKiller
05.04.15 — 12:42 |
Дано: Бухгалтерия 3.0, справочник договоров контрагентов, у справочника — дополнительный реквизит типа «Номенклатура» и реквизит типа «Справочник.Спецификации» (объект метаданных), подчиненный справочнику «Номенклатура». Вопрос: как прописать подчинение реквизита-объекта МД дополнительному реквизиту по владельцу? Т.е. чтобы было так: пользователь в форме договора выбирает в доп. реквизит номенклатуру, потом выбирает значение в реквизит «Спецификация», и при открытии формы выбора справочника спецификаций у него там все записи отфильтрованы по владельцу (выбранной номенклатуре)? Или такое замутить не получится? |
||
GROOVY
1 — 05.04.15 — 12:52 |
У реквизита есть свойство «Параметры связи данных», укажи там номенклатуру, как значение отбора по владельцу. |
||
zak555
2 — 05.04.15 — 12:59 |
GROOVY рассказал бы лучше про Метаданные незаписанного объекта |
||
GROOVY
3 — 05.04.15 — 13:01 |
(2) Это тебе к Нуралиеву, я тут не помогу. |
||
GROOVY
4 — 05.04.15 — 13:02 |
Хотя, скорее всего, свойство «Пометка удаления» нужно для работы стандартных команд формы, потому и читается всегда. Попробуй у объекта снять галку «Основной реквизит», тогда, ИМХО, пометка удаления читаться не будет. |
||
zak555
5 — 05.04.15 — 13:05 |
(4) не помогло |
||
DCKiller
6 — 05.04.15 — 14:18 |
(1) Нет такого. Есть «ПараметрыВыбора» и «СвязиПараметровВыбора». |
||
GROOVY 7 — 05.04.15 — 14:28 |
(6) Ну извини, нет под рукой платформы, думаю, что ТС по наводке нашел все. |
TurboConf — расширение возможностей Конфигуратора 1С
Как привязать изменение одного реквизита другому?
Входные данные на форме:
Реквизит1
Реквизит2
При изменении Реквизит1.Наименование необходимо автоматическое изменение Реквизит2.Наименование. Чтобы их значения были одинаковыми.
На примере справочника «Номенклатура поставщиков». Есть привязка к справочнику «Номенклатура». В это поле указывается наименование номенклатуры. При изменении наименования должно автоматически меняться поле «Наименование» для справочника «Номенклатура поставщиков».
Как это сделать в конфигураторе?
-
Вопрос заданболее года назад
-
407 просмотров
На примере справочника «Номенклатура поставщиков» такой кейс вообще странный, потому что оно для того и сделано разными справочниками, чтобы решить проблему, когда одна и та же номенклатура, у нас и у поставщика по разному называется.
Если формально решать задачу; «при изменении реквизита изменить другой», то решение зависит от того, обычные у вас формы или управляемые. Предположу что управляемые, поскольку они используются практически во всех современных конфигурациях. Тогда нужно для реквизита1 добавить обработчик события ПриИзменении, и в нем описать алгоритм заполнения реквизита2. Чтобы в управляемых формах добавить обработчик события, нужно вызвать контектное меню реквизита1 и в пункте «События» выбрать <ПриИзменении> После чего выбрать, какой обработчик события вам нужен, на клиенте, или на клиенте с обработкой на сервере.
Пригласить эксперта
-
Показать ещё
Загружается…
23 мар. 2023, в 23:49
1000 руб./за проект
23 мар. 2023, в 23:46
2000 руб./за проект
23 мар. 2023, в 23:39
5000 руб./за проект
Минуточку внимания
Файлы материала
Описание
Новый реквизит на форму, можно добавить программно через расширение, при этом не забирать саму форму в расширение (это удобно тем, что последующие обновления внешнего вида формы не смогут сломать наше расширение). В типовых конфигурациях, данный способ можно реализовывать в процедуре “ПриСозданииНаСервере” общего модуля “УправлениеСвойствами” .
Программное добавление реквизита на форму
Для примера, стоит задача в конфигурации ЗУП 3.1 добавить реквизит «Способ отражения зарплаты в БУ» для позиции штатного расписания в группе “Дополнительные данные”.
Создадим расширение и выполним следующую последовательность действий:
- Добавим в расширение справочник “Штатное расписание” и создадим реквизит “АВ_СпособОтражения” с типом данных “СправочникСсылка.СпособыОтраженияЗарплатыВБухУчете”
2. Заберем в расширение процедуру “ПриСозданииНаСервере” из общего модуля “УправлениеСвойствами”, программно добавим поле в форму и свяжем его с реквизитом объекта добавленного на первом шаге.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
&После(«ПриСозданииНаСервере») Процедура АВ_ПриСозданииНаСервере(Форма, ДополнительныеПараметры) Если Форма.ИмяФормы = «Справочник.ШтатноеРасписание.Форма.ФормаЭлемента» Тогда #Область ДобавлениеЭлементовФормы ИмяГруппы = «ГруппаДополнительныеРеквизиты»; ГруппаФормы = Форма.Элементы.Найти(ИмяГруппы); Если ГруппаФормы <> Неопределено Тогда ИмяЭлемента = «АВ_СпособОтражения»; Если Форма.Элементы.Найти(ИмяЭлемента) = Неопределено Тогда ЭлементФормы = Форма.Элементы.Добавить(ИмяЭлемента, Тип(«ПолеФормы»), ГруппаФормы); //Вместо Добавить() можно использовать метод Вставить() //в 4-й параметре указывается Элемент перед которым должен быть вставлен новый элемент. //ЭлементФормы = Форма.Элементы.Вставить(ИмяЭлемента, Тип(«ПолеФормы»), ГруппаФормы, Форма.Элементы.Найти(«ИмяСледующегоЭлементаФормы»)); ЭлементФормы.Вид = ВидПоляФормы.ПолеВвода; ЭлементФормы.ПутьКДанным = «Объект.АВ_СпособОтражения»; //ЭлементФормы.МногострочныйРежим = Истина; //ЭлементФормы.Высота = 3; КонецЕсли; КонецЕсли; #КонецОбласти КонецЕсли; КонецПроцедуры |
Образец расширения для скачивания в начале описания.
Программное добавление реквизита в табличную часть формы
Например, таким же способом, добавим в табличную часть “Рабочие места” реквизит “Спецжиры” с типом “Булево”.
&После(«ПриСозданииНаСервере») Процедура АВ_ПриСозданииНаСервере(Форма, ДополнительныеПараметры) Если Форма.ИмяФормы = «Документ.РезультатыСпецоценкиУсловийТруда.Форма.ФормаДокумента» Тогда #Область ДобавлениеЭлементовФормы ИмяЭлемента = «АВ_ЕстьСпецжиры»; Если Форма.Элементы.Найти(ИмяЭлемента) = Неопределено Тогда ЭлементФормы = Форма.Элементы.Добавить(«Спецжиры», Тип(«ПолеФормы»), Форма.Элементы.РабочиеМеста); ЭлементФормы.Вид = ВидПоляФормы.ПолеФлажка; ЭлементФормы.ПутьКДанным = «Объект.РабочиеМеста.АВ_ЕстьСпецжиры»; //ЭлементФормы.ТолькоПросмотр = Истина; КонецЕсли; #КонецОбласти КонецЕсли; КонецПроцедуры |
В результате получим табличную часть с новой колонкой.
Программное добавление табличной части на форму
Аналогично добавим табличную часть “АВ_ВредныеФакторы” на форму справочника “Профессии”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
&После(«ПриСозданииНаСервере») Процедура АВ_ПриСозданииНаСервере(Форма, ДополнительныеПараметры) Если Форма.ИмяФормы = «Справочник.ПрофессииРабочих.Форма.ФормаЭлемента» Тогда #Область ДобавлениеЭлементовФормы ИмяГруппы = «ГруппаДополнительныеРеквизиты»; ГруппаФормы = Форма.Элементы.Найти(ИмяГруппы); Если ГруппаФормы <> Неопределено Тогда ИмяЭлемента = «АВ_ВредныеФакторы»; Если Форма.Элементы.Найти(ИмяЭлемента) = Неопределено Тогда ЭлементФормыТаблица = Форма.Элементы.Добавить(ИмяЭлемента, Тип(«ТаблицаФормы»), ГруппаФормы); ЭлементФормыТаблица.ПутьКДанным = «Объект.АВ_ВредныеФакторы»; ЭлементФормы = Форма.Элементы.Добавить(«ВредныйФактор», Тип(«ПолеФормы»), ЭлементФормыТаблица); ЭлементФормы.Вид = ВидПоляФормы.ПолеВвода; ЭлементФормы.ПутьКДанным = «Объект.АВ_ВредныеФакторы.ВредныйФактор»; КонецЕсли; КонецЕсли; #КонецОбласти КонецЕсли; КонецПроцедуры |
Связь реквизитов формы с элементами формы
Кроме того, реквизиты формы можно создавать программно и связывать их с элементами формы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#Область ДобавлениеРеквизитовФормы // Массив для новых реквизитов ДобавляемыеРеквизиты = Новый Массив; // Опишем ревизиты формы Реквизит_РабочееМесто = Новый РеквизитФормы(«АВ_РабочееМесто», Новый ОписаниеТипов(«СправочникСсылка.РабочиеМестаОхраныТруда»), , «Рабочее место»); // Заполним массив после описания реквизитов формы ДобавляемыеРеквизиты.Добавить(Реквизит_РабочееМесто); // Добавим новые реквизиты в форму Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты); #КонецОбласти #Область ДобавлениеЭлементовФормы ... #КонецОбласти #Область ЗаполнениеДанных Форма.АВ_РабочееМесто = Форма.Объект.АВ_РабочееМесто; #КонецОбласти |
Расширения, Типовые приемы, Шаблоны и заготовки