Управляемое приложение. Управляемое приложение Программирование 1с под управляемое приложение

Внимание! Теперь курс проводится и в вечернее время с 18:30 до 21:30 в формате погружения.

Курс является составной частью комплексного курса "Эффективная работа в системе "1С:Предприятие 8" .

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

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

Курс предназначен: для специалистов, имеющих опыт конфигурирования прикладных решений на платформе "1С:Предприятие" (версий 7.7, 8.0, 8.1, 8.2 - обычное приложение).

Механизмы, рассматриваемые в курсе:

  • Принципы построения управляемого интерфейса
  • Новые модули, контекст исполнения модулей, механизм взаимодействия
  • Интерфейсные свойства объектов конфигурации
  • Настройка формы (в режиме конфигуратора, в режиме исполнения)
  • Директивы, клиент-серверное программирование, механизм работы управляемой формы
  • Механизм функциональных опций, функциональные опции форм
  • Формы списка, динамические списки
  • Механизм формирования печатных форм
  • Изменения в механизме компоновки данных (особенности работы в управляемом приложении)
  • Привилегированный /безопасный режимы
  • Временное хранилище, новая технология работы с файлами, картинками
  • Механизм взаимодействия форм, организация подбора
  • Работа с настройками системы, переопределение механизма хранения настроек
  • Внешние источники
  • Механизм разделения данных
  • Автоматизированное тестирование
  • Мобильная платформа

В стоимость очного дневного курса включено:

  • 2 дня с 10:00 до 17:00
  • методические материалы
  • обеды, кофе-брейки
  • свидетельство фирмы "1С"

В стоимость WEB-курса включено:

  • 5 недель курса, 5 вебинаров с преподавателем
  • свидетельство 1С-Учебного центра №3 (при условии выполнения практики)

В стоимость очного курса-погружения включено:

  • 5 дней с 10:00 до 17:00 или 9 вечеров с 18:30 по 21:30
  • конспект, наушники
  • обеды, кофе-брейки
  • доступ на 2 года к обновляемым видеоматериалам после окончания курса
  • свидетельство 1С-Учебного центра №3

Форматы обучения

Очное дневное

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

Продолжительность: 16 академических часов

WEB-обучение

Что это за формат: Предлагаемый формат сочетает многие преимущества дистанционного обучения с очной составляющей, представленной видеоматериалами и онлайн-консультациями.
WEB-курс состоит из видеороликов, практических задач и вебинаров с преподавателям. Ко всем материалам курса предоставляется круглосуточный доступ через Интернет – можно заниматься в удобное время. Курс разделен на занятия. В течение занятия изучаются материалы по текущей теме, выполняются практикумы, задаются вопросы преподавателю. В конце каждого занятия проводится вебинар, на котором преподаватель разбирает все поступившие вопросы, типовые ошибки, объясняет правильное решение. Запись вебинаров доступна в портале. Таким образом проходят несколько занятий одно за другим. В конце проводится итоговая самостоятельная работа и итоговый вебинар.

Продолжительность: 5 недель

Что это за формат:


Продолжительность: 40 академических часов

Что это за формат: Очный курс-погружение - формат, сочетающий в себе все плюсы очного обучения, дистанционных технологий и индивидуального обучения. Занятия проходят в оборудованном учебном классе, Вы самостоятельно изучаете материалы курса (пошаговые видеоролики) и выполняете практикумы. При этом в аудитории находится преподаватель, который готов в любой момент ответить на вопрос и помочь с решением практических задач, а также проверить правильность их выполнения.
Преимущества – индивидуальные консультации преподавателя по Вашим вопросам, подходящий лично для Вас темп прохождения материала.
Все это дает более глубокую проработку материала курса.
Этот курс возможно пройти со своего рабочего места с полным эффектом присутствия преподавателя там, где ученик! Если эта возможность Вас заинтересовала – позвоните нам!

Продолжительность: 40 академических часов

Программа курса

ЦЕЛИ И ЗАДАЧИ КУРСА

ВВЕДЕНИЕ

1. ВАРИАНТЫ ФУНКЦИОНИРОВАНИЯ

2. ТЕХНИЧЕСКАЯ СТРУКТУРА ВЗАИМОДЕЙСТВИЯ

  • Клиент-серверный вариант:
  • Файловый вариант:
  • Используемые протоколы
  • Структура кластера серверов
  • Сеансы
  • Виды модулей, возможности общих

3. КОМАНДНЫЙ ИНТЕРФЕЙС

  • Подсистемы
  • Команды
  • Предварительная настройка
  • Улучшение интерфейса

4. ИНТЕРФЕЙСНЫЕ СВОЙСТВА

  • Пользовательское представление объектов
  • Стандартные реквизиты
  • Контроль заполнения реквизитов объектов
  • Установка значения по умолчанию
  • Использование подчинения

5. ФУНКЦИОНАЛЬНЫЕ ОПЦИИ

6. УПРАВЛЯЕМАЯ ФОРМА

  • Настройка диалога
  • Определение обработчиков событий
  • Расчет суммы документа
  • Проверка заполнения, сообщения
  • Обработка заполнения
  • Использование тумблера
  • Управление привилегированным режимом
  • Безопасный режим
  • Новая методика проведения по регистрам
  • Событийная модель управляемой формы
  • Функциональные опции форм
  • Просмотр движений регистра

7. СОЗДАНИЕ ПЕЧАТНОЙ ФОРМЫ

  • Простая расшифровка

8. ФОРМЫ СПИСКА

  • Форма списка документа "Продажа товаров"
  • Форма выбора справочника "Номенклатура"
  • Использование обработчика «ПриПолученииДанныхНаСервере»
  • Получение данных, отображаемых динамическим списком

9. ОТКАЗ ОТ МОДАЛЬНЫХ ВЫЗОВОВ.

10. ВРЕМЕННОЕ ХРАНИЛИЩЕ

  • Работа с файлами (картинками)
  • Организация подбора

11. УПРАВЛЯЕМЫЕ ОТЧЕТЫ

  • Отчет "Остатки номенклатуры"
  • Варианты отчета
  • Пользовательские настройки
  • Получение значения расшифровки

12. ИСТОРИЯ ДАННЫХ

13. МЕХАНИЗМ АГРЕГАТОВ

14. ГРАНИЦЫ ИНТЕРВАЛА ХРАНЕНИЯ ИТОГОВ

15. ОПРЕДЕЛЯЕМЫЕ ТИПЫ

16. РАБОЧИЙ СТОЛ

17. ХРАНЕНИЕ НАСТРОЕК

  • Сохранение настроек отчетов

18. ОБЩИЕ РЕКВИЗИТЫ

  • Определение общих реквизитов у объектов
  • Механизм разделения данных

19. РАСШИРЕНИЯ КОНФИГУРАЦИИ

20. ПЛАНИРОВЩИК

21. ВНЕШНИЕ ИСТОЧНИКИ ДАННЫХ

  • Подключение к базе Access

22. АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ

23. МОБИЛЬНАЯ ПЛАТФОРМА

  • Введение (выдержки с "http://v8.1c.ru/overview/Term_000000818.htm")
  • Разработка базы данных
  • Предварительная настройка
  • Сборка мобильного приложения
  • Тестирование приложения

Технические требования:

  • доступ в Интернет (проверить свой канал связи Вы сможете подключившись к "тестовому" доступу),
  • наличие платформы 1С:Предприятие 8.3 для отработки практических заданий курса.

Можно использовать «1С:Предприятие 8.3» Версия для обучения программированию.

Предназначение каждого модуля 1С 8.2

Модуль управляемого приложения

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

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

Модуль обычного приложения

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

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

Модуль внешнего соединения

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

Модулем сеанса

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

Запускается в привилегированном режиме (не выполняется проверка прав доступа при обращении к БД). Модуль сеанса компилируется на сервере. Нет раздела описания переменных и раздела основной программы, нельзя описывать экспортные методы, используется только для установки параметров сеанса. Как видно у модуля сеанса очень узкое предназначение.

Общие модули

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

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

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

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

Модуль объекта

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

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

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

Модуль формы

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

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

Модуль менеджера объекта

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

Модуль менеджера значений

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

Модули наборов записей

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

  • Перед записью
  • При записи
  • Обработка проверки заполнения

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

Основные моменты 1С Модулей я думаю мы расмотрели, а если у вас есть какие-то дополнения пишите пожалуйста в коментариях.

С вами был 1С Программист

Мы все знаем, что у компании "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С значительно отличается от их открытия в обычном приложении. Рассмотрим для начала старый метод. Он заключается в получении формы и ее последующем открытии в обычном или модальном режиме (при открытии в модальном режиме форма блокирует работу программы).

ПолучитьФорму() . Открыть()

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

Форма= ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.ФормаДокумента" ) ;
//Тут выполняем действия с формой
Форма. Открыть() ;

Надо учитывать, что при получении формы будет выполняться еще процедура события ПриСозданииНаСервере.

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

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

В этом случае все предельно просто.

СпрСсылка= Справочники. Номенклатура. НайтиПоКоду("000000001" ) ;
ОткрытьЗначение(СпрСсылка) ;

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

Для этого существует функция ВвестиЗначение(). У функции 3 параметра:

  • Переменная, в которую будет записано выбранное значение;
  • Подсказка, которая будет отображена в окне выбора;
  • Описание типов выбираемых значений. Может быть несколько типов, тогда перед выбором конкретного значения будет предложено выбрать тип.

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

Перем Значение;
Массив= новый массив;
Массив. Добавить(Тип("СправочникСсылка.Номенклатура" ) ) ;
Массив. Добавить(Тип("СправочникСсылка.Контрагенты" ) ) ;

ОписаниеТипов= новый ОписаниеТипов(Массив) ;

Рез= ВвестиЗначение(Значение, "Подсказка" , ОписаниеТипов) ;

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

Эта функция имеет довольно много параметров. Рассмотрим некоторые из них:

  • Имя формы — тут можно выбрать либо одну из стандартных форм объекта, например, ФормаВыбора или ФормаСписка . Или конкретную, созданную разработчиками форму.
  • Параметры — позволяет передать в форму в виде структуры некоторые параметры перед ее открытием, тем самым определив выводимые данные. Параметры могут представлять собой любые данные, которые можно передавать с клиента на сервер. Переданные при открытии формы параметры можно обработать в процедуре ПриСозданииНаСервере() у открываемой формы.
  • Режим открытия формы — имеет 3 варианта: независимый, блокировать весь интерфейс, блокировать форму владельца.

Рассмотрим, как применяется функция ОткрытьФорму() в различных ситуациях.

3. Как открыть форму существующего объекта

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

&НаКлиенте
Процедура Команда1 (Команда)
Параметр= новый структура;
Параметр. Вставить("Ключ" , НайтиС() ) ;
ОткрытьФорму(, Параметр) ;
КонецПроцедуры

&НаСервере
Функция НайтиС() ;
Возврат Справочники. Контрагенты. НайтиПоРеквизиту ("ИНН" , "745107734623" )
КонецФункции

4. Как открыть форму нового объекта

Тут подойдет просто функция ОткрытьФорму() без всяких параметров.

&НаКлиенте
Процедура Команда1 (Команда)
ОткрытьФорму("Справочник.Контрагенты.ФормаОбъекта" ) ;
КонецПроцедуры

5. Как открыть форму нового объекта и заполнить ее на основании чего-либо

Нужно передать параметр Основание , значением которого будет являться ссылка на объект-основание заполнения. При этом будет запущена процедура ОбработкаЗаполнения().

&НаКлиенте
Процедура Команда1 (Команда)
Параметр= новый структура;
Параметр. Вставить("Основание" , СсылкаНаСчетПокупателю) ;
ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта" , Параметр) ;
КонецПроцедуры

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

6. Как открыть форму и задать на ней отбор

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

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

Например, откроем форму списка справочника НомераГТД и сделаем там отбор по владельцу — элементу справочника Номенклатура .

&НаКлиенте
Процедура Команда1 (Команда)
Параметр= новый структура;

Отбор= новый Структура;
Отбор. Вставить("Владелец" , СсылкаНаНоменклатуру) ;

Параметр. Вставить("Отбор" , Отбор) ;

ОткрытьФорму("Справочник.НомераГТД.ФормаСписка" , Параметр) ;
КонецПроцедуры

7. Как открыть форму записи регистра сведений

Для этого понадобится ключ записи регистра сведений.

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

Алгоритм открытия следующий:

  1. Заносим в структуру данные ключа записи с необходимыми значениями.
  2. Помещаем полученную структуру в массив.
  3. Из массива создаем ключ записи.
  4. Передаем в открываемую форму параметр Ключ с ключом записи из п.3 в качестве значения.

&НаКлиенте
Процедура Команда1 (Команда)
Параметр= новый структура;

ПараметрыКлюча= новый Структура;
ПараметрыКлюча. Вставить("Номенклатура" , СсылкаНаНоменклатуру) ;
ПараметрыКлюча. Вставить("ТипЦены" , СсылкаНаТипЦен) ;
ПараметрыКлюча. Вставить("Период" , Дата) ;

МассивКлюча = Новый Массив;
МассивКлюча. Добавить(ПараметрыКлюча) ;

КлючЗаписи = Новый("РегистрСведенийКлючЗаписи.ЦеныНоменклатуры" , МассивКлюча) ;

Параметр. Вставить("Ключ" , КлючЗаписи) ;

ОткрытьФорму("РегистрСведений.ЦеныНоменклатуры.ФормаЗаписи" , Параметр) ;
КонецПроцедуры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перейдем в Главное меню - Вид , где увидим целый ряд настроек, касающихся интерфейса.

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

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

Можно даже сравнить, как было и как стало:

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

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

Теперь снова войдем в программу под администратором и перейдем в Администрирование - Настройки пользователей и прав - Персональные настройки пользователей - Копирование настроек . Наша задача распространить сделанные нами изменения на оставшихся пользователей группы Кассиры. Сама операция достаточно проста: выбираем пользователя, настройки которого мы копируем, указываем кому и выбираем что именно.

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

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

  • Теги:

Please enable JavaScript to view the