управляемое приложение 1с предприятие

Программирование в 1С для всех

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

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

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

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

управляемое приложение 1с предприятие. 1 1. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1 1. картинка управляемое приложение 1с предприятие. картинка 1 1.

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

управляемое приложение 1с предприятие. %D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 2. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-%D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 2. картинка управляемое приложение 1с предприятие. картинка %D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 2.

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

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

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

управляемое приложение 1с предприятие. 2 1. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-2 1. картинка управляемое приложение 1с предприятие. картинка 2 1.

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

управляемое приложение 1с предприятие. 3 1. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-3 1. картинка управляемое приложение 1с предприятие. картинка 3 1.

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

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

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

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

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

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

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

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

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

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

управляемое приложение 1с предприятие. %D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 2. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-%D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 2. картинка управляемое приложение 1с предприятие. картинка %D0%91%D0%B0%D0%BD%D0%BD%D0%B5%D1%80 2.

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

управляемое приложение 1с предприятие. 1 %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D %D0%BC%D0%B0%D0%BB%D0%B5%D0%BD%D1%8C%D0%BA%D0%B0%D1%8F. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1 %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D %D0%BC%D0%B0%D0%BB%D0%B5%D0%BD%D1%8C%D0%BA%D0%B0%D1%8F. картинка управляемое приложение 1с предприятие. картинка 1 %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D %D0%BC%D0%B0%D0%BB%D0%B5%D0%BD%D1%8C%D0%BA%D0%B0%D1%8F.

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

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

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

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


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

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

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

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

1С:Предприятие 8. Настраиваем права и интерфейс пользователя в управляемом приложении

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

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

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

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

управляемое приложение 1с предприятие. 1cv83 interface 001 thumb 600xauto 7923. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 001 thumb 600xauto 7923. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 001 thumb 600xauto 7923.Недостатки данного подхода очевидны: это и усложнение обслуживания информационных баз, и возможные конфликты при последующих обновлениях, когда измененные объекты конфигурации требуют изменения прав доступа.

управляемое приложение 1с предприятие. 1cv83 interface 002 thumb 600xauto 7926. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 002 thumb 600xauto 7926. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 002 thumb 600xauto 7926.Пользователь может входить сразу в несколько групп доступа, в этом случае итоговые права будут суммироваться. В общем все достаточно понятно и привычно, разве настройки теперь выполняются в пользовательском режиме, а не в конфигураторе.

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

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

управляемое приложение 1с предприятие. 1cv83 interface 004 thumb 600xauto 7930. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 004 thumb 600xauto 7930. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 004 thumb 600xauto 7930.Т.е. нам предлагают зайти непосредственно под пользователем и настроить рабочий интерфейс от его имени. Спорное решение, особенно если пользователей не два и не три. К счастью разработчики предусмотрели возможность копирования настроек пользователя, что позволяет, настроив интерфейс одного из пользователей так, как нам надо быстро применить настройки для всех остальных.

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

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

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

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

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

управляемое приложение 1с предприятие. 1cv83 interface 006. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 006. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 006.В принципе уже довольно неплохо, но в нашем случае все только начинается. К нашему удивлению очень многие пользователи и администраторы до сих пор не имеют понятия как настраивается интерфейс «Такси» продолжая жаловаться на его «неудобства».

управляемое приложение 1с предприятие. 1cv83 interface 007. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 007. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 007.Начнем с настройки панели разделов, в нашем случае ассортимент был ограничен коротким списком услуг, поэтому раздел склад оказался лишним, чтобы не усложнять и не утяжелять интерфейс просто уберем его.

управляемое приложение 1с предприятие. 1cv83 interface 008 thumb 600xauto 7938. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 008 thumb 600xauto 7938. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 008 thumb 600xauto 7938.Затем в каждом разделе, нажав на шестеренку в верхнем правом углу, последовательно настроим навигацию и действия. Здесь также уберем все не нужное в повседневной работе, а нужное, наоборот, вынесем на первый план.

управляемое приложение 1с предприятие. 1cv83 interface 009 thumb 600xauto 7941. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 009 thumb 600xauto 7941. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 009 thumb 600xauto 7941.Можно даже сравнить, как было и как стало:

управляемое приложение 1с предприятие. 1cv83 interface 010. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 010. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 010.И в заключение выполним настройку панелей. Так как разделов у нас немного, то панель разделов имеет смысл переместить вверх, а панель открытых вниз, тем самым расширив рабочее пространство по горизонтали, что актуально для мониторов с небольшой диагональю или формата 4:3.

управляемое приложение 1с предприятие. 1cv83 interface 011 thumb 600xauto 7945. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 011 thumb 600xauto 7945. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 011 thumb 600xauto 7945.После завершения следует еще раз проверить все настройки, лучше всего это сделать, имитируя реальные действия кассира, что сразу поможет оценить удобство работы с интерфейсом. В нашем случае получилось простое и удобное рабочее место кассира, во всяком случае проблем с его освоением персоналом не возникло:

управляемое приложение 1с предприятие. 1cv83 interface 013 thumb 600xauto 7951. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 013 thumb 600xauto 7951. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 013 thumb 600xauto 7951.Ну и напоследок можно запретить пользователю самостоятельно настраивать интерфейс, для этого снова вернитесь к профилю группы и снимите галочку с действия Сохранение данных пользователя.

управляемое приложение 1с предприятие. 1cv83 interface 014. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1cv83 interface 014. картинка управляемое приложение 1с предприятие. картинка 1cv83 interface 014.Как видим, настройка интерфейса и прав пользователей в управляемом приложении достаточно проста и несмотря на некоторые недостатки предоставляет администраторам гораздо большую гибкость и удобство, позволяя быстро создавать удобные и безопасные рабочие среды.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

управляемое приложение 1с предприятие. y100g. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-y100g. картинка управляемое приложение 1с предприятие. картинка y100g.

Или подпишись на наш Телеграм-канал: управляемое приложение 1с предприятие. telegram36. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-telegram36. картинка управляемое приложение 1с предприятие. картинка telegram36.

Источник

Управляемые и неуправляемые формы 1с

Обычное приложение 1С (обычные формы, обычный интерфейс, версия 1С 8.2)

В 1С 8.2 возможна работа только с обычными формами, в режиме обычного приложения. На изображении ниже показана база в режиме работы «обычное приложение 1С» (обычные формы).

управляемое приложение 1с предприятие. obychnye formy 1s 8.2. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-obychnye formy 1s 8.2. картинка управляемое приложение 1с предприятие. картинка obychnye formy 1s 8.2.

Управляемое приложение 1С (управляемые формы, управляемый интерфейс, версия 1С 8.3)

управляемое приложение 1с предприятие. upravljaemye formy 1s 8.3. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-upravljaemye formy 1s 8.3. картинка управляемое приложение 1с предприятие. картинка upravljaemye formy 1s 8.3.

управляемое приложение 1с предприятие. upravljaemoe prilozhenie taksi 1s 8.3. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-upravljaemoe prilozhenie taksi 1s 8.3. картинка управляемое приложение 1с предприятие. картинка upravljaemoe prilozhenie taksi 1s 8.3.

управляемое приложение 1с предприятие. person49. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-person49. картинка управляемое приложение 1с предприятие. картинка person49.

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

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

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

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

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

управляемое приложение 1с предприятие. 1. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-1. картинка управляемое приложение 1с предприятие. картинка 1.

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

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

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

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

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

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

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

Цель статьи – показать применение шаблонов Remote Facade и Data Transfer Object к структуризации кода, управляемой формы в среде 1С 8.2.

Введение

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

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

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

Перечислим директивы компиляции методов формы:

Проиллюстрируем перечисленное. На скриншоте пример управляемой формы и ее модуля в режиме разработки. Найдите декларативное описание, реквизиты, директивы компиляции и т.д.
управляемое приложение 1с предприятие. 67333d21. управляемое приложение 1с предприятие фото. управляемое приложение 1с предприятие-67333d21. картинка управляемое приложение 1с предприятие. картинка 67333d21.

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

Обозначим проблему

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

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

По сути, структура кода отсутствует, или мягче говоря, она аналогична тому, что было в формах 8.1:

Зачем нужна структура кода?
Почему существующий стандарт разработки от фирмы 1С не помогает?

Посмотрим опубликованные на дисках ИТС и в различных «Пособиях разработчика…» принципы, рекомендуемые при написании управляемой формы.

Это лозунги, абсолютно верные, но как их реализовать? Как минимизировать число вызовов, что значит программировать в клиент-серверном режиме?

Шаблоны проектирования или мудрость поколений

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

Слово Мартину Фаулеру, его описание данных принципов:

Примеры шаблонов в платформе 1С

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

Сравните с принятым в v8.1 стилем.

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

Преобразование системных объектов переноса данных в прикладные типы и обратно выполняется методами:

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

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

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

Структурируем код

Главные цели, которые должен отражать модуль управляемой формы и подходы к решению.

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

Источник

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

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