Чем реквизиты формы отличаются от параметров формы

Формы предназначены для отображения и редактирования информации, содержащейся в базе данных. Работа с формами – одна из важнейших тем, с которой сталкивается любой разработчик.

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

В самых основах и разбирался наш слушатель в Мастер-группе.

Вопрос

При разработке формы есть объекты формы (реквизиты) и элементы формы. Это не одно и то же?

Ответ тренера

Нет, это не одно и то же. Реквизиты формы предназначены для хранения данных, с которыми работает форма. Элементы формы предназначены для отображения и редактирования реквизитов формы, а также для отображения и выполнения команд.

Набор реквизитов формы описывает состав данных, которые отображаются, редактируются и хранятся в форме. При этом реквизиты формы сами по себе не обеспечивают возможности отображения и редактирования данных. Для отображения и редактирования служат элементы формы, связанные с реквизитами формы.

Чем отличаются реквизиты формы от реквизитов объекта (обработки, документы)

Я
   Jabbers

04.10.04 — 12:29

и т.д..

т.е допустим есть внешняя обработка. У нее есть реквизиты объекта, и есть реквизиты формы. Так вот: чем они принципиально отличаются? Спасибо

  

Партнерская программа EFSOL Oblako

   Волшебник

1 — 04.10.04 — 12:34

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

   Волшебник

2 — 04.10.04 — 12:35

Реквизиты внешней обработки не хранятся в БД, а имеют смысл как параметры выполнения обработки. Они доступны в модуле объекта и в модуле формы если у формы основной реквизит имеет тип ОбработкаОбъект.

   Волшебник

3 — 04.10.04 — 12:37

При создании объекта ОбработкаОбъект из другого программного модуля, реквизиты обработки доступны как свойства этого объекта. Реквизиты формы доступны только после получения объекта Форма (метод ПолучитьФорму). Т.е. обработку можно вызывать и выполнять ее процедуры/функции из модуля объекта без создания и уж тем более открытия формы.

  

Jabbers

4 — 04.10.04 — 13:23

ясно, большое спасибо.

Быстрый старт в Python для 1С Разработчиков | 1s-to-python.ru

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

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

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

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

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

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

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

Управляемое приложение 1С 8.3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Реквизиты управляемой формы 1С 8.3

Открытие управляемой формы с передачей параметров

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

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

Управляемое приложение 1С 8.3

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

Книга «Основы разработки в 1С: Такси»

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

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

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

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

Книга «Программировать в 1С за 11 шагов»

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

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


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

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

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

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

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

Содержание

Формы

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

Типы форм

Формы делятся на два типа: обычные и управляемые, обычные формы это формы которые были в линейке 8 с самого начала и по текущий момент. Смысл этих форм заключается в том что форма в прямом смысле рисуется разработчиком, он указывает на то место (вплоть до пикселя)где будут располагаться элементы формы. Обычные формы работают только в толстом клиенте, в то время когда управляемые формы работают и в толстом и в тонком клиенте. Управляемые формы доступны в версии 1С начиная с 8.2 и выше и только когда конфигурация настроена как «Управляемое приложение». В тонком клиенте возможно использование только управляемых форм. Управляемую форму нельзя нарисовать мышкой. Элементы в ней не рисуются, а декларируются или объявляются, что накладывает некоторые ограничения. Вы можете указать что реквизиты будут группироваться горизонтально а не вертикально к примеру, но нельзя указать системе: «вон то поле ввода на 2пикселя выше пусть будет». В управляемых формах код делится строго на клиентский и серверный. В обычных формах можно встретить некоторые серверные ограничения только в режиме клиент-сервер и только для функций которые не расположены в модулях форм.

Программное открытие формы

Программно открыть форму можно с помощью метода «Открыть форму». Этот метод доступен в различных контекстах(форма может существовать и быть открыта только на клиенте) и отличается при использовании обычного и управляемого приложения(в толстом клиенте нельзя передать параметру в форму) но в целом имеет следующие основные параметры:
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>)

  • Имя формы: имя открываемой формы, так как для объекта метаданных могут быть не определены никакие формы, возможно указать просто тип формы который надо открыть, например «ФормаСписка» или «ФормаЭлемента».

  • Параметры — параметры передаваемые в форму, с их помощью можно управлять отборами, устанавливать строку в нужном месте, или просто передавать в форму нужные параметры.

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

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

Принадлежность форм

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

  • Форма элемента справочникадокумента

  • Форма группы справочника

  • Форма списка справочникадокумента

  • Форма выбора справочникаъдокумента

  • Форма выбора группы справочника

Разница между элементами формы, и реквизитами объекта.

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

Обращение к данным формы из модуля объекта.

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

«Толстые» объекты на управляемой форме.

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

Преобразование Реквизит – Данные формы и обратно.

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

РеквизитФормыВЗначение (ИмяРеквизита, ТипКоторыйМыХотимПолучитьНаВыходе)

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

ЗначениеВРеквизитФормы(ЗначениеКотороеНадоПоложитьНаФорму, ИмяРеквизитаНаФорме)

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

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

ТекущийОбъект = РеквизитФормыВЗначение ("Объект")
ИмяМодуля.КакаяТоПроцедура(ТекущийОбъект);
//или
ТекущийОбъект.ПроцедураФункцияМодуля();

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

ЗначениеВРеквизитФормы(ТекущийОбъект, "Объект")

Введение

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

Немного истории

Исторически сложилось, что клиентское приложение 1С всегда было реализовано в виде так называемого «толстого» клиента – программы, которая сама все делает в плане обработки данных. Это создавало заметную нагрузку на сеть, а кроме того, требовало наличия мощных клиентских машин.

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

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

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

В основном, все оставалось по-старому, и клиентское приложение так и оставалось «толстым» клиентом, гоняющим сотни мегабайт по сети.

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

Волшебный зверь Клиент-сервер

С выходом версии 8.0 все учебные курсы, книжки, статьи на ИТС и прочее, и прочее, все в один голос твердили нам – «обработка данных должна идти на сервере», «все нужно выполнять на сервере». Волшебное заклинание «на сервере» плотно забило мозг, так сильно, что на него уже никто внимания не обращал, как на информационный шум.

Опыт показывает, что рядовой программист практически никогда не знал, как нужно перенести код на сервер и что это вообще значит – «на сервер». Удивительно часто встречался код, который переносился «на сервер», но был написан с явным непониманием того, что это в итоге принесет.

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

Однако многие уже опытные разработчики запросто писали такой код:

  • — Выбирается локальный файл
  • — Его путь передается на сервер
  • — Там по этому пути файл пытается открыться и падает с ошибкой «Файл не найден» (еще бы, он же остался на клиенте).

Переход на сервер

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

Суть всех флагов модуля сводится к простым правилам:

  1. Флаг показывает, где будет скомпилирован код модуля (на клиенте, на сервере, во внешнем соединении)
  2. Если модуль скомпилирован в нескольких местах, то он будет виден только в соответствии с флагами. Клиентский – на клиенте, серверный на сервере. Переноса исполнения с машины на машину не будет.
  3. Перенос исполнения кода возможен только если в текущем контексте исполнения нет вызываемого модуля, но он есть в другом месте (если – модуль есть только на сервере, а на клиенте его нет, то будет сделан вызов сервера)

Флаг «Вызов сервера»

В версии 8.2 добавился флаг «вызов сервера», который помогает разрулить условия перехода на другую машину. Если модулю назначить этот флаг, то модуль будет виден с клиента, если нет – то попытка вызова с клиента приведет к ошибке. Код модуля виден не будет, как будто его нет совсем.

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

  1. Установлен флажок «Сервер»
  2. Установлен флажок «Вызов сервера»
  3. Сняты все «клиентские» флажки

Особенности перехода на сервер

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

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

Это объясняет, почему не все объекты можно передавать на сервер. Это все потому, что не все они поддерживают сериализацию (превращение в строку и обратно). На сервер нельзя передать, например, «ДокументОбъект», т.к. у него в модуле объекта могут быть глобальные переменные, а в них записаны какие-нибудь сложные несериализуемые значения, вроде COM-объектов… Короче, ограничения по обмену с сервером понятны и обоснованны. Нужно следить за тем, что мы передаем на сервер и что возвращаем назад.

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

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

Отсутствие контекста (состояния) на сервере

Существует такая модель серверных приложений, когда сервер только отвечает на запросы, но ничего не сохраняет у себя в промежутке между двумя запросами. Эта модель называется моделью «без состояния» (англ. state-less).

Все HTTP-серверы современного интернета работают именно так. Клиенты посылают запросы, сервер выдает ответ и забывает все, что получал от клиента. Разумеется, есть вариации, но общая модель именно такая: сервер отрабатывает запрос и очищает все данные.

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

Есть специальные объекты, в которых можно хранить очень незначительную часть данных – так называемые «параметры сеанса», но это именно специально выделенное место для хранения состояния. Каждый серверный вызов выполняет некоторую работу, возвращает результат и забывает все свои данные. В управляемом режиме про это всегда необходимо помнить.

Управляемое приложение

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

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

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

Тонкий клиент

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

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

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

Чтение данных из ИБ в форму и запись из формы в ИБ выполняется практически явно, этот момент можно отловить в событиях формы.

Тонкий клиент стал поистине «клиентом». Он больше не обрабатывает данные, он их показывает и позволяет редактировать. Всю обработку мы теперь явно переносим на сервер.

Устройство управляемой формы

Давайте рассмотрим, из каких частей состоит управляемая форма.

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

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

Данные формы

Есть старая уже хохма проПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокументИмениНуралиеваБорисаГеоргиевича.

Управляемая форма добавляет очередного претендента на звание длинного и непонятного идентификатора: ДанныеФормыСтруктураСКоллекцией и еще ряд новых классов с именами вида «ДанныеФормы….что-то там». Давайте попробуем выяснить, что это за новые объекты.

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

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

Здесь стоит немного вспомнить обычные формы. Ведь как мы привыкли – В форме справочника достаточно присвоить переменной «Наименование» какой-то текст и этот текст попадет в СправочникОбъект, а оттуда – в информационную базу.

У управляемой форме все почти так, за исключением того, что все совсем не так :).Платформа предпринимает массу усилий, чтобы в повседневной работе программиста ему не приходилось с этим заморачиваться. Как правило, мы, как и раньше, присваиваем свойства реквизитам формы, а они попадают в СправочникОбъект, а оттуда – в ИБ.

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

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

Адресация данных формы

Данные формы доступны непосредственно в коде по тем именам, как они расположены в дереве реквизитов формы (в окне редактора)

Реквизиты верхнего уровня доступны сразу. Вложенные реквизиты доступны через точку. Раньше в обычной форме мы обращались к данным объекта напрямую. Мы писали «Наименование = «АААААА» и данные попадали в объект. Теперь надо писать «Объект.Наименование = «ААААА», потому, что реквизит «Наименование» вложен внутрь реквизита «Объект».

Обмен формы с сервером

Основным «двигателем» всех аспектов управляемой формы является то, что у нас state-less сервер. На нем не сохраняется ничего, никаких промежуточных данных. Всё состояние формы (текст в полях ввода, строки табличных частей и т.п.) хранится на клиенте. Вся совокупность данных формы называется контекстом формы.

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

Жизненный цикл формы объекта

Давайте рассмотрим, что происходит, когда мы открываем форму существующего элемента справочника.

  1. На клиенте вызывается метод «ОткрытьФорму» или мы просто открываем форму из какого-либо списка справочника. Начинается серверный вызов
  2. В памяти сервера создается новый СправочникОбъект, выполняется код модуля объекта (тот, что написан в самом низу модуля)
  3. Данные объекта считываются из базы данных, присваиваются значения реквизитов, наполняются табличные части объекта СправочникОбъект.
  4. В памяти сервера создается новая управляемая форма элемента
  5. Вызывается событие формы ПриЧтенииНаСервере, куда передается свежесозданный СправочникОбъект в параметре ТекущийОбъект
  6. Основной реквизит формы «Объект», тот, что в списке реквизитов выделен жирным шрифтом наполняется данными на основании данных СправочникОбъект. Здесь происходит обычное поэлементное присваивание свойствам объекта ДанныеФормы значений, записанных в одноименных свойствах объекта СправочникОбъект. По сути, происходит «ЗаполнитьЗначенияСвойств(ДанныеФормы, СправочникОбъект)
  7. СправочникОбъект уничтожается. Все его данные стираются из памяти сервера.
  8. Вызывается событие формы «ПриСозданииНаСервере», в котором мы получаем уже заполненные ДанныеФормы
  9. Данные формы сериализуются и отправляются на клиента, где форма отображается пользователю

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

Сохранить что-либо в данных объекта больше нельзя, все сохранение состояния должно выполняться в ДанныхФормы.

Теперь, давайте рассмотрим процесс записи данных справочника:

  1. Пользователь нажимает кнопку «Записать»
  2. Выполняется обработчик формы «ПередЗаписью» (на клиенте)
  3. Происходит серверный вызов
  4. В памяти сервера создается новый СправочникОбъект, он наполняется данными на основании данных текущей формы (что-то вроде ЗаполнитьЗначенияСвойств, но в обратном направлении – пишется из формы в объект)
  5. Вызывается обработчик события формы «ПередЗаписьюНаСервере», куда передается свежесозданный СправочникОбъект. С этого момента, если мы хотим что-то записать в базу данных, то менять нужно именно СправочникОбъект. Изменения данных формы не отразятся в записываемом объекте.
  6. Вызывается обработчик «ПередЗаписью» самого СправочникОбъект (в модуле объекта)
  7. Вызывается обработчик «ПриЗаписи» самого СправочникОбъект (в модуле объекта)
  8. Вызывается обработчик события формы «ПриЗаписиНаСервере», транзакция записи еще не завершена и можно отменить запись
  9. Вызывается обработчик события формы «ПослеЗаписиНаСервере», транзакция записи уже завершена
  10. СправочникОбъект уничтожается
  11. Выполняется возврат на клиента, где вызывается обработчик события формы «ПослеЗаписи»

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

Конвертация данных формы

Для упрощения жизни существуют простые способы преобразования универсальных объектов «ДанныеФормы….» в привычные прикладные объекты и наоборот.

Так, например, можно получить наполненный данными СправочникОбъект на основании данных формы, если вызвать метод «РеквизитФормыВЗначение(«Объект»). При этом произойдет то, что описано выше – будет создан новый СправочникОбъект и наполнен данными из указанного реквизита данных формы.

Обратное преобразование выполняется методом «ЗначениеВРеквизитФормы». Если мы произвели какие-то действия с данными СправочникОбъект, например, очистили табличную часть, то мы должны поместить наши изменения обратно в форму, иначе будет что?

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

Не все так плохо ;)

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

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

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

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

Каждая команда может быть размещена в командной панели, подменю, или на самой форме. Создаются команды на закладке «Команды» в редакторе формы.

Параметры формы

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

Управление открытием формы

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

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

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

Для этого и нужны Параметры формы. Это структура, которую можно передать в метод «ОткрытьФорму». Переданные параметры можно проанализировать в серверном коде формы и предпринять какие-то действия на основании переданных параметров.

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

УсловияОтбора = Новый Структура;
УсловияОтбора.Вставить(«ТипКонтрагента», «Поставщик»);
УсловияОтбора.Вставить(«Лояльность», «Надежный»);
ОткрытьФорму(«Справочник.Контрагенты.ФормаСписка», УсловияОтбора);

Существуют системные параметры, на которые реагирует сама платформа. Упомянутый параметр «Отбор» как раз является системным, если он передан форме списка, то платформа сама установит отбор на список.

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

Жизненный цикл параметров

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

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

Процедура ПриСозданииНаСервере(Отказ)

    Если Параметры.ЗапуститьЯдерныйРеакторПриОткрытии Тогда
        УправлениеРеактором.Запустить();
    КонецЕсли;

КонецПроцедуры

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

Модуль формы

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

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

Для модуля форм возможны следующие директивы:

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

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

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

Содержание:

1.    Реквизиты объекта и реквизиты формы в 1С

2.    Как получить значения из элементов формы 1С  

1.    Реквизиты объекта и реквизиты формы в 1С

В обычном приложении у элемента формы 1С 8.3 было свойство «Значение», доступное как для чтения, так и для записи. Какой аналог в управляемом приложении?

Элементы формы 1С 8.3 могут содержать реквизиты двух видов: реквизиты объекта 1С и реквизиты формы.

Красным помечен реквизит объекта 1С Контрагент, а зеленым – реквизит формы в 1С.

Интерактивно выберем эти элементы в пользовательском режиме 1С и попробуем прочитать их «программно» кнопкой «Прочитать».

Если читать значения реквизитов в клиентской процедуре, то код для 1С Предприятия будет следующий:


Все бы хорошо: мы получили на клиенте значения реквизитов объекта 1С и формы, но – не значения элементов формы 1С. На клиенте значение элементов формы 1С получить нельзя. 

2.    Как получить значения из элементов формы 1С

Чтобы получить значения из элементов формы 1С, нам потребуется серверный вызов:

Именно на сервере у элемента формы 1С 8.3 становится доступно свойство ПутьКДанным, по которому его можно извлечь либо из Объекта, который имеет тип ДанныеФормыСтруктура:

…либо из Формы, которая имеет тип ФормаКлиентскогоПриложения:


Форма и ее элементы не видны на сервере без контекста. То есть код для 1С:Предприятия выдаст множество ошибок.

Также Форму нельзя передать как параметр в процедуру и функцию на сервер или в общий модуль.


            Еще хочется разобрать момент, когда нам возможно увидеть состояние различающихся значений в элементе форме 1С и в объекте. Это возможно в событии элемента ОбработкаВыбора.
Например, при значении поля Контрагент — Ассоль, мы выбрали контрагента Бакалея:


Новое значение доступно как параметр процедуры ВыбранноеЗначение.


Система дает шанс что-то сделать в этой ситуации.

Специалист компании ООО «Кодерлайн»

Добрыгин Михаил

Чем отличается ключевой параметр формы от обычного?

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

  1. Что такое параметры формы?
  2. Что такое ключевой параметр формы 1С?
  3. Зачем нужны параметры формы 1С?
  4. Для чего используются привязки в обычной форме?
  5. Какие существуют параметры?
  6. Для чего используют параметры?
  7. Чем массив отличается от структуры 1С?
  8. Чем редактирование отличается от изменения 1С?
  9. Какие типы данных есть в 1С?
  10. Чем отличаются управляемые формы от обычных?
  11. Какие параметры нужны для 1С?
  12. Кому подходит 1С?
  13. Для чего нужны реквизиты формы?
  14. Для чего предназначены элементы формы?
  15. Что такое быстрые привязки?
  16. Где посмотреть параметры формы 1с?
  17. Что такое управляемые формы?
  18. Как передать параметр при открытии формы 1с?
  19. Что такое характеристика 1С?
  20. Что такое параметр 1С?
  21. Что такое Скуд 1С?
  22. Для чего нужен модуль формы 1С?
  23. Какие форматы поддерживает 1С?
  24. Как создать формы в 1С?
  25. Как можно определить набор доступных форм для начальной страницы?
  26. Можно ли одновременно создать элемент управления поле ввода в обычной форме вместе с поясняющей надписью представляющей элемент управления надпись?
  27. Что такое привязки?
  28. Как открыть форму в 1с?
  29. Как открыть форму существующего документа 1с?
  30. Как открыть форму модально 1с?
  31. Что такое параметры в 1с?

Что такое параметры формы?

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

Что такое ключевой параметр формы 1С?

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

Зачем нужны параметры формы 1С?

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

Для чего используются привязки в обычной форме?

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

Какие существуют параметры?

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

  • Нормированный параметр
  • Действительный параметр
  • Номинальный параметр

Для чего используют параметры?

Параметр — свойство или показатель объекта или системы, которое можно измерить; результатом измерения параметра системы является число или величина параметра, а саму систему можно рассматривать как множество параметров, которое исследователь посчитал необходимым измерить для моделирования её поведения.

Чем массив отличается от структуры 1С?

Массив структур в программах 1С

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

Чем редактирование отличается от изменения 1С?

Кратко: Изменение — определяет возможность/невозможность вообще изменить объект. Редактирование — несет интерактивный смысл. Все права, поддерживаемые системой 1С:Предприятие, можно разделить на две большие группы: основные и интерактивные.

Какие типы данных есть в 1С?

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

Чем отличаются управляемые формы от обычных?

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

Какие параметры нужны для 1С?

  • Процессор Intel Pentium Celeron 2700 Мгц и выше
  • Оперативная память 4 Гбайт и выше
  • Жесткий диск 40Гб и выше
  • Устройство чтения компакт-дисков
  • USB-порт
  • Видеокарта, поддерживающая монитор с минимальным разрешением 1280×768 точек

Кому подходит 1С?

Подходит любому бизнесу.

«1С:Бухгалтерия 8» позволяет вести учет в компаниях, занимающихся оптовой, розничной, комиссионной и интернет-торговлей, производством, выполнением подрядных работ, оказанием профессиональных и бытовых услуг, строительством.

Для чего нужны реквизиты формы?

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

Для чего предназначены элементы формы?

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

Что такое быстрые привязки?

Быстрые привязки — это привязки эскиза, которые выполняются мгновенно за одну операцию. Вычерчивание любого объекта эскиза (например, линии) от начала до конца является одной операцией.

Где посмотреть параметры формы 1с?

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

Что такое управляемые формы?

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

Как передать параметр при открытии формы 1с?

В управляемых формах теперь есть возможность сразу передавать параметры при получении формы. Параметры передаются в виде структуры: Параметры = Новый Структура(«ТекущееЗначение», ПоследнийЭлемент); ФормаВыбора = ПолучитьФорму(«Справочник.

Что такое характеристика 1С?

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

Что такое параметр 1С?

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

Что такое Скуд 1С?

Программа БИТ. Управление доступом (СКУД) 8 предназначена для разграничения прав доступа лиц в помещения, контроля посещаемости рабочих мест сотрудниками, расчета отработанного времени по данным регистрации сотрудников в точках прохода и формирования табеля рабочего времени.

Для чего нужен модуль формы 1С?

Модуль объекта 1С предназначен, в общем случае, для обработки событий объектов (например, события записи и удаления объектов, событие проведения документов и т. д.). Некоторые события модуля объекта дублируют события модуля формы (например, события связанные с записью).

Какие форматы поддерживает 1С?

Поддерживаются следующие форматы файлов:

  • текстовый документ (*. txt);
  • табличный документ (*. mxl);
  • HTML документ (*. htm, *. html);
  • графическая схема (*. grs);
  • географическая схема (*. geo);

Как создать формы в 1С?

Создание формы объекта конфигурации:

  • Нажмите Создать > Форма в контекстном меню на ветке Формы справочника Товары. Запустится мастер создания формы.
  • Задайте основные свойства формы: Переключите тип формы на Форма списка справочника. Нажмите Готово.

Как можно определить набор доступных форм для начальной страницы?

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

Можно ли одновременно создать элемент управления поле ввода в обычной форме вместе с поясняющей надписью представляющей элемент управления надпись?

Можно ли одновременно создать элемент управления »Поле ввода« вместе с поясняющей надписью, представляющей элемент управления »Надпись«? Можно, для этого необходимо создавать поле ввода через пункт главного меню »Форма-Вставить элемент управления«

Что такое привязки?

Привязка — это энергетический канал, образующийся во время взаимодействия человека с другими людьми, объектами или эгрегорами.

Как открыть форму в 1с?

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

  • Для открытия форм следует применять метод глобального контекста ОткрытьФорму (при использовании версии платформы 1С:Предприятие 8.2 и более ранних версий — также ОткрытьФормуМодально).
  • В случаях когда форма требует параметризации при открытии, все ее параметры следует указывать в наборе параметров формы.

Как открыть форму существующего документа 1с?

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

Как открыть форму модально 1с?

Используй: ОткрытьФорму(). В последнем параметре »БлокироватьФормуВладельца«. Если там будет »БлокироватьВесьИнтерфейс» то будет в окошке (типа модально).

Что такое параметры в 1с?

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

Ответить

Понравилась статья? Поделить с друзьями:
  • Через какое время стаж работы считается прерванным
  • Через сколько часов работы положен перерыв на обед
  • Черемушкинский суд реквизиты для уплаты госпошлины
  • Череповецкий государственный университет реквизиты
  • Черногорская горнорудная компания официальный сайт