обычное приложение и управляемое приложение отличия
Управляемое приложение vs Обычное приложение
Платформа 1С:Предприятие позволяет определять режим запуска конфигураций. Данная настройка «Основной режим запуска» задается в свойствах конфигурации в режиме 1С:Конфигуратор. Это свойство можно установить в «Управляемое приложение» или «Обычное приложение». Управляемое и обычное приложения имеют ряд существенных отличий.
Пример управляемое приложение
Пример обычное приложение
Основные отличия в программировании
В зависимости от выбранного режима накладывается ряд правил для программирования. В управляемом приложении при написании программного кода требуется разделять код на клиентский и серверный с помощью специальных директив. Это обеспечивает полноценную реализацию клиент серверного приложения. В обычном приложении такого нет. Процесс создания форм отличается. В управляемом приложении работают обычные и управляемые формы. В обычном приложении работают только обычные формы.
Основные отличия в пользовательском интерфейсе
Окно конфигурации и формы в управляемом и обычном приложениях сильно отличаются. Поэтому даже в пользовательском интерфейсе можно сразу отличить конфигурации на управляемых и обычных формах. Конфигурации написанные на управляемых формах имеют два варианта оформления: стандартный и такси.
Новые конфигурации разрабатываются на управляемом приложении. Так как данная технология является более оптимизированной с точки зрения производительности. Это достигается благодаря реализации клиент серверной технологии. На рынке уже появились новые альтернативные конфигурации. конфигурации «Бухгалтерия предприятия 2.0» написана в обычном приложении, а «Бухгалтерия 3.0» в управляемом. «Управление торговлей 10.3» в обычном приложении, «Управление торговлей 11» уже в управляемом приложении. И так можно найти еще множество альтернатив обычному приложению.
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
Программирование в 1С для всех
Глава 2.Обычное и управляемое приложение 1С
В этой главе мы рассмотрим, что такое обычное и управляемое приложение и чем они отличаются друг от друга, но перед этим разберем такое понятие как «интерфейс».
Что вообще такое «интерфейс»? По сути, это общая граница между двумя взаимодействующими системами (очень часто одной системой является человек). Возьмем, например, автомобиль. Есть ли у него интерфейс? Да, конечно. Но что же является общей границей между автомобилем и человеком? Во-первых, это рабочее место, т.е. непосредственно водительское сиденье и органы управление (руль, педаль акселератора, педаль тормоза и т.д.). Во-вторых, это принципы взаимодействия человека с автомобилем, которые являются каким-то набором правил. Например, для того, чтобы ускорить автомобиль, нужно нажать педаль газа, замедлить – педаль тормоза, для поворота направо нужно выкрутить руль вправо и т.д. Благодаря двум этим сущностям человек может управлять автомобилем. Уберите что-то одно, и управление автомобилем не станет возможным.
В мире программного обеспечения все точно так же. Одна система это человек – оператор, пользователь. А вторая система это некоторое приложение, созданное для автоматизации определенного вида человеческой деятельности (мы рассматриваем прикладное программирование).
Например, нам нужно самостоятельно вести складской учет: осуществлять приход товара на склад, списание этого товара и следить за остатками. Что же будет являться общей границей между приложением, без разницы, как и где написанным, и пользователем? Во-первых, это органы ввода информации — иначе как Вы передадите в программу, что на склад пришло 5 штук какой-то продукции. В нашем случае это компьютерная клавиатура и компьютерная мышка. Во-вторых, это система взаимодействия между компьютером и человеком. Например, это может быть интерфейс командной строки: Вы будете с помощью клавиатуры вводить различные текстовые строки (команды) и с их помощью выполнять нужные действия (фиксировать приход товара, расход товара и пр.). Такой интерфейс выглядит примерно так: см. рис. 1.2.1.
Рис. 1.2.1 Пример командной строки
На этом рисунке приведена командная строка операционной системы Windows, с помощью неё Вы можете делать почти все операции, которые делаете в проводнике: копировать файлы, удалять файлы, создавать каталоги и т.п.
Данный вид интерфейса давно является архаичным, и на его смену пришел графический интерфейс пользователя (анг. graphical user interface GUI). В этом интерфейсе взаимодействие между пользователем и приложением происходит посредством различных графических элементов, нарисованных на дисплее (кнопки, иконки, переключатели и т.п). В графическом интерфейсе оператор имеет произвольный доступ посредством органов управления к любым графическим элементами. В нашем случае, когда автоматизируем складской учет, взаимодействие может выглядеть так: оператор нажимает кнопку «Приход», открывается форма подбора товара, где оператор выбирает нужный товар из списка и вводит его количество. Если нужно осуществить расход, то оператор нажимает кнопку «Расход», так же открывается форма подбора, где оператор так же выбирает нужный товар и вводит его количество. Когда нужно сверить остатки, оператор нажимает на кнопку «Остатки», и программа выводит ему остатки товара на складе. Тем самым с помощью данного графического интерфейса Вы можете вполне успешно вести учет товаров на складе.
Закончим с теоретической частью и перейдем непосредственно к теме данной главы. А именно к видам интерфейсов приложения программы 1С, которые все являются графическими интерфейсами пользователя. У программы «1С: Предприятие 8» существуют два глобальных вида графических интерфейсов приложений. Это режим обычного приложения и режим приложения под управляемыми формами (или управляемое приложение).
Платформы редакции 8.0 и 8.1. работали только под обычным режимом, более высокие версии платформы (8.2, 8.3 и т.д.) могут работать и в режиме обычного приложения, и в режиме управляемого приложения.
Режим обычного приложения
Практически все современные конфигурации уже работают под управляемым режимом, но все равно ещё встречаются организации, где используются устарелые конфигурации, которые работают в режиме обычного приложения. Поэтому принципы работы обычного приложения необходимо знать. Здесь мы коснемся только самых общих моментов.
В режиме обычного приложения используется интерфейс и формы, которые применялись в платформах 8.0 и 8.1. Раньше этот режим никак не назывался, сейчас же он называется «режим обычного приложения», а формы, которые используются в этом режиме, называются «обычные формы».
Посмотрим вкратце, как выглядит этот режим. Многим он уже будет знаком, но некоторые, особенно те, кто не застал работу под платформами 8.0 и 8.1, его увидят в первый раз.
После загрузки программы пользователь видит интерфейс с меню в его верхней части (см. рис. 1.2.2).
Рис 1.2.2 Вид интерфейса обычного приложения
Переходя по пунктам меню, пользователь может открывать различные формы. В основном это формы списков справочников и документов (см. рис. 1.2.3), но также могут быть отчеты, обработки, планы счетов и пр.
Рис.1.2.3. Форма списка документов
Из формы списка пользователь может открыть форму документа или справочника (см. рис. 1.2.4).
Рис. 1.2.4. Форма документа
Разработчик может использовать автоматически генерируемые формы, или самостоятельно конструировать их в конфигураторе 1С.
Обычные формы разработчику нужно конструировать мышкой: размещать на форме необходимые элементы (кнопку, поле, таблицу), передвигать их в удобное место и определять размер (см. рис. 1.2.5).
Рис 1.2.5. Конструирование обычных форм
Очень часто при разработке сложных форм приходилось учитывать взаимодействие элементов формы между собой. Для этого устанавливались привязки. Иногда они сбивались, и форма приобретала не совсем красивый вид. Не будем особо вдаваться в этот механизм и последствия его неправильного использования, поскольку в случае управляемых форм он утратил свою актуальность.
Напоследок отмечу, что в отличие от управляемого приложения, обычное может работать только под «толстым клиентом». По большому счету, это есть основное, самое кардинальное отличие обычных форм от управляемых. Поскольку режим управляемого приложения был разработан именно для работы под «тонким клиентом».
Режим управляемого приложения
Так в чем же особенность и кардинальное различие режима управляемого приложения от обычного? Основное отличие — это использование управляемого командного интерфейса и управляемых форм. Разберем каждую из этих сущностей отдельно. Что такое управляемый командный интерфейс? Для того, чтобы ответить на этот вопрос, необходимо углубиться опять в прошлое.
Рассмотрим в самом простом виде, как велась разработка конфигурации в обычном приложении. Сначала мы конструировали бизнес-логику: документы, справочники, отчеты, обработки и их взаимодействие между собой. Потом мы настраивали роли, например пользователь с ролью «Снабженец» имел доступ к документу «Приход товара», а к документу «Расход товара» — нет. И наоборот, пользователь с ролью «Продавец» имел доступ к документу «Расход товара», а к документу «Приход товара» — нет. Следующим шагом мы разрабатывали интерфейсы для каждого вида пользователя. Кто практиковал разработку под обычным приложением, помнит, что был такой объект конфигурации, как «Интерфейс», в котором можно было настроить каждое меню наподобие меню на рисунке 1.2.2. И в нашем случае разработчику нужно было потрудиться сделать два интерфейса: один для снабженца, а другой для продавца. Потому что если бы он разработал один общий интерфейс, в котором можно открыть и документ «Приход товара», и документ «Расход товара», то было бы не совсем правильно, если бы снабженец при попытке отрыть список документов «Расход товара», получил сообщение системы, что у него нет на это прав. Чтобы избежать этого, необходимо было сделать два интерфейса и для каждого пользователя указать, под каким интерфейсом он должен работать.
В режиме управляемого приложения все намного проще. Более подробно управляемый командный интерфейс мы будем изучать в следующей части. В этой части мы разберем его в самых общих чертах. В случае интерфейса «такси», управляемый командный интерфейс выглядит так:
Рис. 1.2.6. Управляемый командный интерфейс
При разработке управляемого приложения программисту придется идти немного другим путем. Прежде чем разрабатывать бизнес-логику, нам нужно определить подсистемы, в которые будут входить наши объекты (в обычном приложении они тоже есть, но носят больше декларативный характер). Например, документ «Приход товаров» будет входить в подсистему «Снабжение», а документ «Расход товаров» будет входить в подсистему «Продажи». В то же время некоторые объекты могут находиться в нескольких подсистемах одновременно: справочник «Товары» будет входить и в подсистему «Продажи», и в подсистему «Снабжение», и в подсистему «Маркетинг». В этом случае разработчику нет необходимости создавать объект «Интерфейс», система сама автоматически построит нужный вид интерфейса исходя из настроек прав пользователя и функциональных опций.
Если у какого-то пользователя будет роль, в которой нет прав на просмотр подсистемы, например «Снабжение», то при запуске приложения 1С он просто не увидит этот пункт меню. Так же он не увидит в списке меню документ, на который у него нет права хотя бы на просмотр.
На рисунке 1.2.6 Вы видели интерфейс пользователя с полными правами, а, например, интерфейс продавца будет выглядеть так:
Рис. 1.2.7. Интерфейс пользователя с ограниченными правами
Еще одно отличие от обычного интерфейса, что пользователь самостоятельно может определять вид своего интерфейса с помощью настроек навигаций, действий, разделов и пр. Например, из интерфейса на рисунке 1.2.7 мы можем убрать из функций текущего раздела (верхнее меню) пункты «Склад» и «Товар». Получится вот такой вид:
Рис. 1.2.8. Интерфейс пользователя с урезанными функциями текущего раздела
Более подробно настройку интерфейса пользователем мы разберем в следующих главах этой части, а взаимосвязь ролей и внешнего вида интерфейса мы изучим в следующей части этого курса. Пока же отметим для себя основные отличия управляемого командного интерфейса от обычного.
Теперь разберем, что же такое управляемые формы.
Как Вы уже знаете из предыдущей главы, развитие технологий заставило фирму 1С пересмотреть архитектуру платформы, и на свет появилась новая версия технологической платформы — 8.2. Основным ее отличием была возможность работать под «тонким клиентом» и web-клиентом. Эти оба вида клиентских приложения («тонкий клиент» и web-клиент) необходимы нам для работы через сеть интернет, а работа через интернет, в отличие от работы по обычной сети, накладывает существенные ограничения на скорость передачи данных и широту канала данных. Что в свою очередь от разработчиков платформы потребовало принципиально пересмотреть концепт работы формы. Если раньше на форме Вы напрямую могли обратиться к любому объекту справочника или документа, то теперь это стало слишком дорогим удовольствием. Поэтому был разработан механизм управляемых форм.
Основные отличия управляемых форм от обычных:
Окно настройки управляемой формы в конфигураторе 1С выглядит так:
Рис. 2.1.9 Вид настройки управляемой формы
На практике разрабатывать под управляемыми формами несколько легче, чем под обычными, но существуют и свои нюансы. Основная сложность, это определить, какой код будет выполняться на сервере, а какой на клиенте. Потому что если неправильно разработать клиент-серверную архитектуру управляемой формы, то будут иметь место проблемы с производительностью. В то же время и разработать форму нужно так, чтобы через месяц можно было разобрать, что там вообще происходит. Все эти вопросы мы будем затрагивать в 3 части нашего курса.
Мы закончили краткий обзор по отличиям управляемых форм от обычных и вернемся к управляемому приложению. Всего существует три режима работы управляемого приложения, это: «такси», формы в закладках и формы в отдельных окнах. Все примеры в этом курсе будут на режиме «такси».
Когда Вы создаете новую пустую конфигурацию, то по умолчанию она будет в режиме такси. Если захотите этот режим в будущем исправлять, то свойство конфигурации «Режим совместимости интерфейса» нужно поставить в свойство «Такси. Разрешить Версия 8.2» (см. рис. 2.1.11). Как зайти в свойство конфигурации, если кто не знает, показано на рисунке 2.1.10.
Рис. 2.1.10. Путь к свойствам конфигурации
Рис. 2.1.11. Режим совместимости интерфейса
После того, как Вы установите режим совместимости в значение «Такси. Разрешить Версия 8.2», в пользовательском интерфейсе будет доступно переключение режимов. Эта настройка дается в параметрах конфигурации: Главное меню – Сервис – Параметры (см рис. 2.1.12).
Рис. 2.1.12. Путь к настройкам параметров в приложении «1С: Предприятие»
В открывшейся форме настроек параметров пользователю будет доступна возможность переключения режима внешнего вида (рис. 2.1.13).
Рис. 2.1.13. Настройка режима внешнего вида приложения
Как выглядит режим внешнего вида «такси», Вы уже знаете (см. рис. 1.2.6). А на рисунках 1.2.14 и 1.2.15 можно увидеть, как выглядит режим внешнего вида «Формы в закладках» и «Формы в отдельных окнах».
Рис. 2.1.14. Режим внешнего вида «Формы в закладках»
Рис. 2.1.15. Режим внешнего вида «Формы в отдельных окнах»
Как видите из рисунков 2.1.6, 2.1.14 и 2.1.15, различия этих режимов существенные. Хотя самое сильное различие в режиме «Такси». Со всеми этими режимами мы ознакомимся в следующих главах этой части нашего курса.
В этой главе мы разобрали два вида приложений 1С — это обычное приложение и управляемое. Развитие технологий заставляет фирму 1С перестраивать работу своей платформы, поэтому на передний план вышла технология управляемого приложения, которая является более гибкой и совершенной в плане адаптации к новым требованиям рынка. Мы узнали, что управляемое приложение может работать в трех режимах: «Такси», «формы в закладках» и «формы в отдельных окнах». В следующих главах этой части мы разберем каждый из них.
Легкое и быстрое освоение программирования в 1С с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Уникальная авторская методика!
Иногда кажется, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Эта книга подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
Промо-код на скидку в 15% — 48PVXHeYu
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 11 шагов»
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
В чем преимущество управляемых форм?
(1) тонкий клиент это плюс, реальный плюс.
(5) Быстрая разработка только простых форм. Попробуй сделать форму объекта хотя бы средней степени упоротости, будешь приятно удивлён количеством процедур и функций обёрток клиент-серверного контекста.
Ниче не поделаешь. Чудес не бывает.
Лично мне сами управляемые формы нравятся, но если быстро чего-то дописать надо (а так по работе и выходит), то проще на обычных. Наверное привычка. Старею 🙁
Совет по итогу: управляемые формы. Они правильнее работают в клиент-сервере.
Ну кроме плюсов, есть еще и минусы, что-то про них молчат.
Думаю в перый раз будет не просто сформировать приличную форму,
в УФ это делается иначе, ну еще бы добавил что присутствуют разделные клин-серверные вызовы.
А в остальном красота..
+(25) Майкрософт продвигает облачную технологию, а 1С обеспечивает «генерацию спроса» давая народу поиграться с УФ. Цитата про «генерацию спроса»:
Фирма 1C заключила с Microsoft соглашение по развитию канала продвижения Microsoft Office 365 в России
Фирма 1С и Microsoft подписали соглашение, в соответствии с которым 1С будет развивать партнерский канал по продвижению Microsoft Office 365 в России.
В продажах Office 365 партнерам по-прежнему отводится очень важная роль. Они могут получать дополнительный доход, находя и консультируя клиентов, оказывая им услуги по подготовке и интеграции существующей IT-инфраструктуры клиента и облачных сервисов.
Среди участников канала по продвижению Microsoft Office 365 фирма 1С видит как свою существующую партнерскую сеть, так и новые компании, заинтересованные в продвижении облачных решений. Фирма 1С будет помогать партнерам налаживать «облачный» бизнес, оказывая информационную поддержку, предлагая обучение и помощь в генерации спроса.
Управляемые формы 1С 8.3
Больше всего переделали механизмы построения форм и процесс контакта пользователя программы и базы данных. Стандартный режим пока что поддерживается платформой, однако в скором времени всем, кто пользуется программой, придется перейти на управляемые формы.
Отличительные черты управляемых форм
Для обычных юзеров управляемая форма документа в программе отличается от стандартной лишь видом. А для разработчика это абсолютно другой механизм, имеющий свои законы, правила и условия. В приложении изменили многое, но по мнению опытных разработчиков программы главными являются такие нововведения, как:
Последнее значение достаточно остро стоит в режиме управляемых форм. В том случае, если разработчик не очень хорошо разбирается в директивах и во взаимодействии сервера и клиента, ему будет трудно создать управляемую форму.
Редактирование управляемой формы теперь тоже стало осуществляться по-другому. Поменялись некоторые аспекты, разработчики версии 7.7, в которой отсутствовали управляемые формы, могут удивиться.
Изменения претерпел тип конструктора форм. Вы с легкостью сможете его увидеть. Для этого требуется открыть одну из форм объекта конфигурации. При открытии показывается окно, разделенное на такие отделы, как:
Принципы разработки управляемых форм
Чтобы понять механизм управляемого режима в программе необходимо запомнить, что форма есть как на сервере, так и на стороне клиента. На клиенте данный объект является изображением интерфейса взаимодействия юзера с приложением. Все подсчеты, алгоритмы, математические операции и обработки должны происходить лишь на стороне сервера. Это обусловлено не только невозможностью применять многие опции и параметры на клиенте, но и требованием к быстродействию.
Разобраться, где осуществляется процедура, получится по названию директивы, которая прописана перед каждой процедурой и опцией в модуле формы. Формулировка «БезКонтекста» показывает, что сведения на управляемой форме не передаются в данную процедуру на сервер. А значит, в таких процедурах нельзя писать алгоритмы, которые опираются на значения, введенные юзером. Если формулировка не указана, тогда форма будет передаваться целиком с реквизитами и у вас получится обращаться к ним.
Разработчики программы советуют применять неконтекстные вызовы сервера, сокращать их число и пытаться не осуществлять вычислений на клиенте. Начинающие специалисты, которые не очень хорошо знают теоретическую часть, трудно соответствовать данным правилам и верно менять код. Перед тем, как начинать работать самостоятельно, необходимо открыть управляемую форму конфигурации, посмотреть на синтаксис и методы взаимодействия клиентской и серверной стороны.
Обновленные правила разработки форм приложения принесут огромную пользу, если разработчики будут ими пользоваться. Изменения к лучшему заметят все. Как программисты, так и фирмы, осуществляющие деятельность в 1С и разработчики программы. Главные последствия верного использования управляемых форм:
Базовый принцип программирования управляемой формы в 1С
Цель статьи – показать применение шаблонов Remote Facade и Data Transfer Object к структуризации кода, управляемой формы в среде 1С 8.2.
Введение
Начнем с небольшого описания понятия «управляемая форма» и связанных концепций платформы 1С. Знатоки платформы могут пропустить этот раздел.
Все дальнейшие рассуждения будут о правой части иллюстрации, о том, как структурировать код модуля и какие принципы позволят реализовать эффективное клиент-серверное взаимодействие.
Обозначим проблему
Прошло уже несколько лет как новая версия платформы 1С активно используется и выпущено множество решений (конфигураций) как фирмой 1С, так и ее многочисленными партнерами.
Сложилось ли за это время у разработчиков единое понимание принципов клиент-серверного взаимодействия при создании форм, и изменился ли подход к реализации программных модулей в новых архитектурных реалиях?
Рассмотрим структуру кода (модуль формы) в нескольких формах одной типовой конфигурации и попробуем найти закономерности.
Под структурой будем понимать секции кода (чаще всего это блоки комментариев) выделенные разработчиком для группировки методов и директивы компиляции этих методов.
Пример 1:
Зачем нужна структура кода?
Почему существующий стандарт разработки от фирмы 1С не помогает?
Шаблоны проектирования или мудрость поколений
Примеры шаблонов в платформе 1С
Прикладной программный интерфейс доступный разработчику при разработке управляемой формы, содержит много примеров данных принципов.
Например метод ОткрытьФорму(), типичный «огрубленный» интерфейс.
Сравните с принятым в v8.1 стилем.
Структурируем код
- объяснить назначение многооконных приложений принципы их работы
- обязан ли больной коронавирусом установить приложение