Управляемое приложение. Управляемое приложение Сохранение настроек динамических списков

Гаджеты

Мы все знаем, что у компании "1С" было много разных версий платформы 1С, нас сейчас будут интересовать одни из последних версий на момент написания этой статьи, это версии 1С 8.2 и 1С 8.3. Если Вам приходилось работать в обеих этих версиях то Вы, скорее всего, заметили различия в интерфейсах данных версий , для пользователей они отличаются только внешне. По сути, выбор обычного или управляемого приложения говорит системе, какие формы для отображения нужно запускать, обычные или управляемые , а также какой клиент приложения будет использоваться по умолчанию, толстый или тонкий. Более подробную информацию по клиентам читайте в статье «Что такое толстый и тонкий клиент в 1С, а также их различия».

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

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

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

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



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

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

Публикую вторую главу моей книги «Основы разработки в 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 и т.д.) могут работать и в режиме обычного приложения, и в режиме управляемого приложения.

Режим обычного приложения

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

В режиме обычного приложения используется интерфейс и формы, которые применялись в платформах 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.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С с помощью моей книги «Программировать в 1С за 11 шагов»

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


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

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

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

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

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

Применимость

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

Новое в управляемых формах в «1С:Предприятие 8.3»

Разработчики платформы «1С:Предприятие 8.3» в очередной раз основательно поработали над удобством работы пользователей с управляемыми формами.

Ввод по строке

Ранее, в полях ввода, при вводе с клавиатуры начальных символов, система искала подходящие элементы.

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

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

На ней представлены следующие возможности для формирования списка выбора при вводе по строке:

  • использование полнотекстового поиска;
  • поиск по вхождению подстроки или по началу строки;
  • выполнение поиска непосредственно или в фоновом режиме.

В свойстве “Способ поиска строки при вводе по подстроке” можно выбрать – следует ли искать только по первым символам строки или в любой ее части.

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

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

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

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

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

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

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

Результаты полнотекстового поиска, соответствующего введенной поисковой строке, приведены на рисунке:

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

При совместном использовании этого функционала и ввода по строке существует следующая особенность.

Указанные выше обработчики не влияют на представление значений в списке выбора – в списке отражается основное представление объекта.

Однако после выбора в поле отображается ожидаемое переопределенное представление объекта.

Для увеличения нажмите на изображение.

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

Рассмотренные выше свойства ввода по строке задавались на уровне всего объекта метаданных.

В конкретном месте конфигурации разработчик может переопределить эти свойства.

Например, при помощи обработчиков событий АвтоПодбор и ОкончаниеВводаТекста конкретного поля ввода или при помощи обработчика события ОбработкаПолученияДанныхВыбора в модуле менеджера объекта.

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

Для увеличения нажмите на изображение.

Выпадающий список для поля ввода

В платформе 8.3 выпадающий список для поля ввода получил дополнительную функциональность для повышения удобства работы с системой.

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

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

Для увеличения нажмите на изображение.

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

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

Также в списке поля ввода есть команда “Создать новый объект”. При этом будет открыта форма нового элемента.

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

Типовой шаблон использования команды “Создать новый элемент” выглядит следующим образом. Пользователь вводит название нужного элемента в поле ввода.

Если такого элемента в базе данных система не обнаружит – будет выведено сообщение об этом. После нажатия кнопки в списке, на экране откроется форма нового элемента с заполненным наименованием.

Рассмотренные новшества позволяют увеличить скорость ввода информации в систему.

Сохранение настроек динамических списков

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

У корневого элемента конфигурации появилось новое свойство – Хранилище пользовательских настроек динамических списков.

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

Для увеличения нажмите на изображение.

Настройка списков в пользовательском режиме вызывается при помощи соответствующего пункта меню:

Внешний вид формы похож на настройку отчетов.

Для увеличения нажмите на изображение.

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

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

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

При такой настройке форма будет иметь поля в виде “быстрых отборов”.

Для увеличения нажмите на изображение.

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

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

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

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

Для увеличения нажмите на изображение.

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

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

Для увеличения нажмите на изображение.

В пользовательском режиме эта кнопка будет выглядеть следующим образом:

Для увеличения нажмите на изображение.

Т.к. материал в статье описан для платформы 8.3.5, то актуализируем его.

  • До версии 8.3.7 ввод по строке работал недостаточно быстро, поэтому в этом релизе была изменена структура данных индекса полнотекстового поиска, что привело к повышению скорости при работе системы в тех местах, где используется данный механизм. Отметим, что новый формат полнотекстового поиска используется в том случае, если режим совместимости установлен в значение «Не использовать». В режиме совместимости с с версией 8.3.6 поведение не изменилось. Также отметим, что в следующем релизе платформы 1С (8.3.8) механизм ввода по строке и при использовании строки поиска динамического списка был также улучшен, и теперь он обеспечивает поиск данных, которые еще не попали в полнотекстовый поиск. Ранее такого поведения не наблюдалось.
  • Выпадающий список поля ввода управляемой формы также претерпел некоторые улучшения. В версии 8.3.8 он стал автоматически подстраивать свою ширину под ширину отображаемых в нем данных, плюс клавиши Home и End стали обрабатываться прямо в поле ввода. Благодаря этим улучшениям стало удобнее использовать поле ввода с выпадающим списком.
  • Механизм сохранения настроек динамических списков также был улучшен, и в версии 8.3.6 свойства расширения таблицы формы для динамического списка Период и Отображение стали храниться в тех же разрезах, что и другие настройки динамического списка, что сильно упростило работу с ними разработчику. Теперь они стали доступны в обработчике управляемой формы ПриЗагрузкеПользовательскихНастроекНаСервере() , чего ранее не было.

На этом знакомство с управляемыми формами в интерфейсе «Такси» мы завершим, но в следующей статье познакомимся с новыми возможностями, которые представила платформа «1С:Предприятие» редакции 8.3.

«1С: Предприятие 8. Управляемое приложение». Новые возможности

Никита Зайцев

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

Виды клиентского приложения

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

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

Работа через Web-интерфейс (строится на базе платформы «1С: Предприятие 8.Web-расширение»). Преимущества – возможность работы на низкоскоростных каналах связи, не требуется установка «1С: Предприятия 8» на компьютер пользователя. Недостатки – существенное функциональное обеднение пользовательского интерфейса по сравнению с «толстым клиентом», необходимость привлекать программистов, владеющих технологией ASP.NET, для разработки Web-приложения.

Удаленный доступ к информационной базе можно организовать и при помощи внесистемных средств:

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

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

Клиент-серверное взаимодействие

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

В «Управляемом приложении» можно использовать три разных вида клиентского приложения.

«Толстый клиент». Аналогичен клиентскому приложению предыдущих версий «1С: Предприятия 8», но совместим с двумя режимами работы – обычным и управляемым. Главное отличие между ними – принцип построения глобального командного интерфейса (подробнее о новой интерфейсной модели «Управляемого приложения» рассказано в предыдущей статье нашего цикла). «Толстый клиент» потребляет больше системных ресурсов на компьютере пользователя, но зато не накладывает никаких функциональных ограничений на работу с конфигурацией.

«Тонкий клиент». Абсолютно новое приложение, включенное в состав «1С: Предприятия». Функционирует только в управляемом режиме, предназначено для работы пользователей с информационными базами через Интернет (разумеется, может работать и по локальной сети предприятия). Для «тонкого клиента» предусмотрен режим «низкая скорость соединения», при работе в нем платформа оптимизирует процессы взаимодействия между клиентским приложением и сервером под низкоскоростные каналы связи. «Тонкий клиент» требует значительно меньше системных ресурсов, чем «толстый клиент», но функционально ограничен – работает только с управляемыми формами конфигурации, недоступен режим Конфигуратора.

Web-клиент. В этом случае на компьютере пользователя вообще не требуется устанавливать «1С: Предприятие 8» или какое-то дополнительное ПО. Работа с информационными базами «1С: Предприятия 8» производится через обычный Интернет-браузер (MS Internet Explorer или Mozilla FireFox). Функциональные ограничения у Web-клиента те же, что и у «тонкого клиента»: работа только с управляемыми формами, не поддерживается режим Конфигуратора. Декларируется практически полная (за исключением нескольких мелких ограничений) идентичность внешнего вида и поведения системы при работе с «тонким» и Web-клиентом. К сожалению, на момент подготовки статьи технология Web-клиента еще не была опубликована фирмой «1С», поэтому приведенная информация об этой технологии базируется только на сопроводительной документации «Управляемого приложения».

Командный интерфейс на базе подсистем

Чтобы не запутаться и четко понимать, какие способы подключения к информационным базам и какие модели интерфейса поддерживаются разными типами клиентского приложения «1С: Предприятия 8», информацию лучше всего представить в виде таблицы (см. табл. 1 и 2).

При работе с «Управляемым приложением» организация онлайнового доступа к информационной базе «1С: Предприятия 8» в основном сводится к настройке Web-сервера. Для каждой информационной базы дополнительно потребуется:

Создать файл-дескриптор информационной базы (две строчки XML);

Настроить на стороне Web-сервера (MS IIS или Apache) приложение (виртуальный каталог), соответствующее информационной базе.

Эти операции выполняются один раз для каждой информационной базы, с которой предполагается удаленная работа. Разумеется, чтобы удаленные пользователи могли работать с информационной базой в режиме «тонкого клиента» или Web-клиента, конфигурация должна быть разработана и (или) модифицирована под новую интерфейсную модель «Управляемого приложения» и должна содержать управляемые формы тех объектов, с которыми будут работать удаленные пользователи.

Отметим, что с появлением технологии Web-клиента «1С: Предприятие 8» обретает полноценную многоплатформность. Теперь все элементы информационной системы могут работать под управлением как Windows, так и Linux (см. табл. 3).

Единственное рабочее место, где обязательно должна быть ОС Windows, – это рабочее место администратора информационной системы, где требуется запускать «1С: Предприятие 8» в режиме Конфигуратора.

Настройка видимости команд по умолчанию

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

Настройка интерфейса пользователем

В «Управляемом приложении» при работе с «тонким клиентом» или Web-клиентом применяется более гибкая схема клиент-серверного взаимодействия: сеанс работы пользователя. Каждое обращение клиентского приложения к серверу является обособленным и обрабатывается кластером серверов независимо от предыдущих обращений. Такая схема позволяет:

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

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

Подсистемы конфигурации

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

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

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

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

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

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

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

Механизм функциональных опций

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

Воздействие функциональных опций на интерфейс

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

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

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

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

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

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

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

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

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

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

Управляемые отчеты Форма управляемого отчета

Механизм отчетов «Управляемого приложения» сохранил «фамильные черты» механизма отчетов предыдущей версии «1С: Предприятия 8»:

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

В пользовательском режиме каждый пользователь при желании может изменить некоторые настройки схемы компоновки, создать и сохранить свои личные «варианты отчета».

Настройка варианта отчета

Управляемые отчеты (так называются отчеты, реализованные по технологии «Управляемого приложения») имеют ряд важных отличий от своих предшественников.

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

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

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

Пользовательская настройка отчета

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

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

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

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

Разработка вариантов отчета

Удобство новой структуры настроек отчета по сравнению с предыдущими версиями «1С: Предприятия 8» заключается в том, что:

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

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

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

Многоуровневая настройка отчета

Если попробовать сформулировать преимущества управляемых отчетов перед «обычными» отчетами «1С: Предприятия 8» в трех словах, то этими словами будут: производительность, гибкость, удобство. Управляемые отчеты работают быстрее – все операции по формированию отчета выполняются на стороне сервера. Они предоставляют гораздо более гибкий механизм настройки благодаря разделению настроек на два уровня. И наконец, с управляемыми отчетами просто удобнее работать. А ведь отчеты, точнее, представленная в отчетах информация – это конечный продукт работы информационной системы, это результат, выдаваемый системой потребителю.

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

Новости. С 15 по 15

Компьютеры

Компания ASUS (http://asus.com.ru) объявила о выпуске персонального компьютера Eee Box. Изделие собрано в сверхкомпактном корпусе, Eee Box можно установить на крепление VESA. В системе реализованы средства скоростной загрузки и подключения к Интернету (ASUS Express Gate), имеется беспроводной адаптер WiFi 802.11n.

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

Что же изменилось в управляемом приложении, по сравнению с обычным?

Интерфейс

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

Повышение масштабируемости

Масштабируемость - это способность системы адаптироваться к расширению предъявляемых требований и возрастанию объёмов решаемых задач. Управляемое приложение увеличивает масштабируемость системы за счет нескольких пунктов:

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

Удалённая работа (онлайн)

Удалённая работа с информационной базой в управляемом приложении представлена в двух режимах:

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

Быстрая настройка системы при внедрении

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

Снижение трудоёмкости описания интерфейсов и отчетов

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

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

Возможность централизованного управления интерфейсом

Управление командным интерфейсом и формами осуществляется настройками ролей пользователя , составом функциональных опций и персональными настройками пользователя.

Развитие системы разграничения прав доступа

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

Пользовательские настройки

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