Управляемая форма 1с что это
Перейти к содержимому

Управляемая форма 1с что это

  • автор:

Управляемая форма 1С 8.3

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

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

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

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

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

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

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

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

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

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

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

На клиентской машине может быть установлено какое-то приложение 1С, которое запускается под толстым или тонким клиентом, а может быть и ни чего не установлено, вся работа будет осуществляться посредством веб-клиента из Интернет-браузера. Толстый или тонкий клиент, а так же работу под веб-клиентом называют клиентским приложением . Т.е. на клиентской машине осуществляется взаимодействие пользователя программы с самой программой 1С. Это взаимодействие осуществляется при помощи механизмов платформы 1С, а так же при помощи кода, который написан разработчиками прикладного решения. Выполняясь, этот код задействует ресурсы клиентского компьютера. В этом случае говорят, что он выполняется «на клиенте». А контекст выполнения этого кода, называют клиентским.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Name already in use

1C-developer / 03.02-Формы.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink
  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents

Copy raw contents

Copy raw contents

Приложение может быть:

  • Обычное;
  • Управлямое;
  • Такси.

Формы могут быть управляемые и обычные

alt text

Обычные формы:

  • Только толстый клиент;
  • Нет разделения на клиент-сервере;
  • Привязки;

alt text

Управляемые формы:

Управляемые формы 1С 8.3

Начиная с версии 8.2 в программе начали применяться новые принципы разработки интерфейса и взаимодействия юзеров с базой данных. Наименование этой технологии — «Управляемое приложение».

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

Отличительные черты управляемых форм

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

  • Платформа самостоятельно формирует структуры формы и местоположение полей. До этого разработчики описывали расположение поля, указывали пиксели. Сейчас же получится только указать тип группировки.
  • Форма представляет собой реквизиты (ее данные) и команды (выполняемые опции).
  • Код формы делается на каждой стороне. Форма — это объект конфигурации, который создается на сервере и отображается на клиенте. То есть, она объединяет клиентскую и серверную часть.
  • На клиентской стороне перестали функционировать многие виды данных и теперь нет возможности поменять сведения в информационной базе.
  • Для каждой операции или опции нужно указывать директиву компиляции (она представляет из себя специальную настройку). Необходима для определения места выполнения кода и может принимать несколько значений:
  1. Наклиенте;
  2. НаСервере;
  3. НаСервереБезКонтекста;
  4. НаКлиентеНаСервере;
  5. НаКлиентеНаСервереБезКонтекста.

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

Обновленные основы построения управляемых форм в приложении имеют общую черту — трехзвенную архитектуру. В нее включены клиентские устройства, сервер 1С и СУБД, где хранится информация.

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

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

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

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

Принципы разработки управляемых форм

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

Разобраться, где осуществляется процедура, получится по названию директивы, которая прописана перед каждой процедурой и опцией в модуле формы. Формулировка «БезКонтекста» показывает, что сведения на управляемой форме не передаются в данную процедуру на сервер. А значит, в таких процедурах нельзя писать алгоритмы, которые опираются на значения, введенные юзером. Если формулировка не указана, тогда форма будет передаваться целиком с реквизитами и у вас получится обращаться к ним.

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

Обновленные правила разработки форм приложения принесут огромную пользу, если разработчики будут ими пользоваться. Изменения к лучшему заметят все. Как программисты, так и фирмы, осуществляющие деятельность в 1С и разработчики программы. Главные последствия верного использования управляемых форм:

  1. Легкость сопровождения конфигурации и улучшенная читаемость кода. Таким образом можно сделать вывод, что последовательность действий, написанная одним сотрудником, получится поправить другим разработчикам, не тратя время.
  2. Разделение кода, который выполняется на сервере и клиентской стороне. Учитывая отличие функционала, доступного на каждой стороне, разделить их — наиболее правильный этап.
  3. Наиболее глубокое представление разработчиков о логике платформы, взаимодействия клиента, сервера, а также алгоритмов, которые они пишут. В версиях 8.0 и более ранних довольно часто можно было встретить формы справочников или документов, разработанные без понимания клиент-серверной части.
  4. Повышение быстродействия конфигураций и понижение нагрузки на компьютеры клиентов.
  5. Более низкие траты на закупку компьютеров для рабочих мест из-за отсутствия необходимости покупки мощного оборудования.

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

Разработка Управляемых форм 1С:Предприятие 8.3

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

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

Клиент-серверная архитектура

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

  • На Клиенте
  • На Сервере
  • В Запросе

Диалоговые окна и Управляемые формы

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

И говоря о сообщениях, можно вскользь упомянуть функцию НСтр(), которая несколько упрощает задачу локализации сообщений:

Простые конструкции

Проверка значений реквизитов формы

Проверка отсутствия значения в реквизите в модуле формы

Перечисления

Перечисления полноценно доступны только &НаСервере в коллекции объектов метаданных Перечисления, которое недоступно &НаКлиенте и в запросе непосредственно, а только через

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

Формы

В конфигураторе набор отображаемых свойств формы существенно зависит от реквизита с установленным свойством Основной реквизит.

Передача данных управляемой формы между Сервером и Клиентом

Ограничения при передаче данных в управляемую форму

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

Оптимизация ресурсоемкости передачи данных между Сервером и Клиентом

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

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

  • РеквизитФормыВЗначение()
  • ЗначениеВРеквизитФормы(),

При оптимизации серверного вызова для выполнения процедур &НаСервереБезКонтекста используется другая пара процедур:

  • ДанныеФормыВзначение()
  • ЗначениеВДанныеФормы().

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

Динамический список

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

Режим отображения иерархии в динамическом списке

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

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

Программное управление порядком сортировки динамического списка

Код установки сортировки по ДатаРеализации и Клиент:

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

Отбор данных в динамическом списке

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

Отбор в основной таблице

Для отбора следует добавить элемент отбора в коллекцию .Отбор.Элементы, как показано на примере:

Отбор в произвольном запросе

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

Таблица значений

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

Элементы.<элемент-таблица>.ОтборСтрок = Новый ФиксированнаяСтруктура(<строка реквизитов>, <значение реквизита>);

Важно! Строковое значение используется для поиска по подстроке

Дерево значений

Для отображения в управляемой форме иерархической структуры в форме должен быть создан реквизит типа ДеревоЗначений, который может отображаться на форме элементами типа Таблица. В списке реквизитов формы реквизит отображается типом (ДеревоЗначений) в скобках, потому что он проявляет амбивалентность. Реквизит дерева создается и обладает типом ДеревоЗначений на Сервере, но на Клиенте он имеет тип ДанныеФормыДерево, эти два типа отличаться по составу свойств, методов и типов хранимых данных.

При вызове методов формы &НаСервере xdto-преобразование реквизита от типа к типу выполняется прозрачно, но при передаче в возвращаемых параметра серверных вызовов необходимо применять преобразование функциями ЗначениеВРеквизитФормы(), ЗначениеВДанныеФормы(), РеквизитФормыВЗначение(), ДанныеФормыВЗначение().

Типы, свойства и методы для работы с ДеревоЗначений &НаКлиенте и &НаСервере

&НаКлиенте &НаСервере
Тип Дерева ДанныеФормыДерево ДеревоЗначений
колонки .Колонки
корневые строки .ПолучитьЭлементы() .Строки
методы Скопировать()
.
Тип коллекции строк ДанныеФормыКоллекцияЭлементовДерева КоллекцияСтрокДереваЗначений
Ссылка на владельца коллекции . .Родитель
Изменение состава . .Добавить(), Вставить(), Сдвинуть(), Удалить(), Очистить()
Управление порядком . .Сортировать()
Анализ содержания . .Итог(), Количество()
. .ВыгрузитьКолонку(), ЗагрузитьКолонку()
. .
. .
. .
Тип строки ДанныеФормыЭлементДерева СтрокаДереваЗначений
Коллекция строк верхнего уровня . .Родитель
Коллекция строк нижнего уровня . .Строки
. .Владелец()
Свойства строки .ПолучитьИдентификатор()* .Уровень()*
Тип коллекции колонок КоллекцияКолонокДереваЗначений
. .
. .
. .
. .
Тип колонки КолонкаДереваЗначений
. .
. .
. .
. .
Тип элемента формы
.
.
.
.

&НаСервере

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

  • ДеревоЗначений
          • Колонки
          • Строки
          • Скопировать()
              • Родитель
              • Добавить(), Вставить(), Сдвинуть(), Удалить(), Очистить()
              • Сортировать(),
              • Итог(), Количество()
              • ВыгрузитьКолонку(), ЗагрузитьКолонку()
              • .
                • Родитель
                • Строки
                • Владелец()
                • Уровень()
                • .
                • КолонкаДереваЗначений

                Табличный документ

                Диаграмма

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

                Блокировка данных

                Открытие форм

                Форма нового объекта с заполнением

                Новый объект (справочника, документа) может быть создан в форме до того, как он будет записан в ИБ (а возможно, не будет записан вовсе). При этом форме можно передать данные для начального заполнения. Общие свойства создаваемого объекта задаются структурой ПараметрыФормы, с предопределенным набором свойств, среди которых есть свойство ЗначенияЗаполнения типа структура, задающая значения для заполнения реквизитов объекта (ключи свойств должны соответствовать именам реквизитов заполняемого объекта):

                • ПараметрыФормы (Структура)
                  • Ключ — (ссылка) — определяемый ссылкой объект будет загружен в форму для изменения
                  • ЗакрыватьПриВыборе — (Булево) — в форме списка выбор в списке завершится закрытием формы списка
                  • ЗакрыватьПриЗакрытииВладельца (Булево) — если форма А владелец формы Б, то при закрытии А, закроется и Б.
                  • ЗначениеКопирования (ссылка) — объект, копию которого мы хотим открыть. копия будет не сохранена.
                  • ЗначенияЗаполнения (Структура) — Это мы отобразили в самом начале. Структура с данными заполнения
                    • Код, Наименование, . — реквизиты объекта
                    • Владелец (ссылка) — на объект владельца
                    • Родитель (ссылка) — на объект родителя
                    • ЭтоГруппа — признак группы заданный в значениях заполнения игнорируется и должен быть определено на уровень выше

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

Добавить комментарий

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