НЕКОТОРЫЕ ОСОБЕННОСТИ УПРАВЛЯЕМЫХ ФОРМ

10.09.10

Разработка - Работа с интерфейсом

Рассмотрены следующие отличительные особенности управляемых форм: • Форма существует и на клиенте и на сервере. Она осуществляет клиент-серверное взаимодействие • Форма не работает с прикладными объектами В форме используются специальные универсальные объекты ДанныеФормы

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

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

Допустимы следующие директивы:

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

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

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

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

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

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

При разработке необходимо заботиться об оптимизации клиент-серверного взаимодействия:

  • Основные вычисления должны выполняться в серверных процедурах;
  • Нужно уменьшать количество серверных вызовов, когда из процедур &НаКлиенте вызываются процедуры &НаСервереБезКонтекста и &НаСервере;
  • Количество контекстных серверных вызовов нужно минимизировать, лучше использовать процедуры &НаСервереБезКонтекста и передавать значения через параметры

 

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

Элементами данных формы могут быть

  • ДанныеФормаСтруктура (СправочникОбъект, ДокументОбъект)
  • ДанныеФормыКоллекция (Табличные части)
  • ДанныеФормыСтруктураСКоллекцией (НаборЗаписейРегистра).

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

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

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

 

 

См. также

Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

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

2400 руб.

29.06.2020    20066    28    6    

44

Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    8339    kalyaka    6    

34

Работа с интерфейсом Программист Пользователь Платформа 1С v8.3 8.3.14 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Ещё с времен платформы 8.3.13 можно изменять цвет стилей интерфейса главного окна. Данное расширение позволит вам выбрать из подготовленных десятка стилей на свой вкус.

1 стартмани

01.07.2022    27162    426    rpgshnik    72    

103

WEB-интеграция Работа с интерфейсом Пользователь Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для конфигурации 1С:Розница 2.3.

3600 руб.

29.04.2022    14482    2    10    

13

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

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

6000 руб.

18.01.2022    10356    1    2    

6

Работа с интерфейсом Программист Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

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

25.11.2021    11782    AtamanovYS    19    

150

Работа с интерфейсом Мобильная разработка Программист Платформа 1С v8.3 Мобильная платформа 1C:Бухгалтерия Бесплатно (free)

Разберем методы переноса HTML интерфейса на 1С на примере реализации нижнего меню для мобильного приложения. Сравним методы между собой. Данные методы можно применять не только для мобильной разработки, но и для веб-клиента и т.д

02.11.2020    18990    leobrn    83    

122

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

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

1500 руб.

06.10.2020    10934    7    7    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. fishca 1260 10.09.10 22:47 Сейчас в теме
(1)Автор: © afcm

(Информация с ресурса http://infostart.ru)
Обновлено 10.09.2010 14:22

внизу на страничке ;)
3. director04 3661 14.09.10 19:21 Сейчас в теме
Блин... так можно всего Радченко по страничкам опубликовать... В чем особенность то данной статьи? Что она может дать не читавшему документацию? Или это способ лишний раз повториться, для тех, кто уже все это знает?
4. Rusmus 45 15.09.10 17:15 Сейчас в теме
За "&НаКлиентеНаСервереБезКонтекста" спасибо.
adhocprog; +1 Ответить
5. ll13 1079 16.09.10 18:51 Сейчас в теме
Зачем Вы перепечатали книгу ?
6. afcm 63 21.09.10 15:29 Сейчас в теме
С Радченко не переписывала, очевидно он брал из того же источника, что и я. Это 1С документация. Просто там это все в разных главах. Статью писала, т.к. было задание дистанционного курса spec8 опубликовать статью. Удивило, на форумах непонимание этого вопроса. А как мне кажется это очень просто, но нужно всегда помнить про ЭТИ ДВА момента. Т.ч. не скрою - основное переписано из документации - нового ничего не придумано. Просто собрано в одном месте.
voneska7; SvetaSe; w-divin; +3 Ответить
7. o.nikolaev 216 23.09.10 22:08 Сейчас в теме
Не понимаю, зачем публиковать то что написано в документации? -
8. CaSH_2004 374 08.09.11 21:38 Сейчас в теме
Думаю было бы правильно указать источники откуда перепечатка, тогда у народа не будет вопросов откуда все, а также указать причину выкладки - это все экономит время на ответы на естественные вопросы.
9. pavel_pss 290 08.08.14 15:25 Сейчас в теме
спасибо. полезная инфа.
Оставьте свое сообщение