Интерфейс платформы

Интерфейс платформы

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

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

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

Продолжим наш пример. В процедуру НастройкаИнтерфейса() общего модуля РаботаСИнтерфейсом добавим вызов процедур для формирования начальной страницы для пользователя с ролью Администратор и для пользователя с ролью Менеджер (листинг 3.189).

Листинг 3.189. Процедура «НастройкаИнтерфейса»

Процедура НастройкаИнтерфейса() Экспорт

ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();

Для Каждого РольПользователя Из ПользовательИБ.Роли Цикл

Если РольПользователя.Имя = «Администратор» Тогда

РасширенныйИнтерфейс();

СложнаяНачальнаяСтраница();

КонецЕсли;

Если РольПользователя.Имя = «Менеджер» Тогда

МинимальныйИнтерфейс();

ПростаяНачальнаяСтраница();

КонецЕсли;

КонецЦикла;

КонецПроцедуры

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

Поместим в общем модуле РаботаСИнтерфейсом процедуру ПростаяНачальнаяСтраница() и заполним ее следующим образом (листинг 3.190).

Листинг 3.190. Процедура «ПростаяНачальнаяСтраница»

Процедура ПростаяНачальнаяСтраница() Экспорт

НачальнаяСтраница = Новый НастройкиНачальнойСтраницы;

СоставФорм = НачальнаяСтраница.ПолучитьСоставФорм();

СоставФорм.ЛеваяКолонка.Очистить();

СоставФорм.ПраваяКолонка.Очистить();

СоставФорм.ЛеваяКолонка.Добавить(«Справочник.Товары.ФормаСписка»);

СоставФорм.ПраваяКолонка.Добавить(«Отчет.ЦеныТоваров.Форма.ФормаОтчета»);

НачальнаяСтраница.УстановитьСоставФорм(СоставФорм);

ХранилищеСистемныхНастроек.Сохранить(«Общее/НастройкиНачальнойСтраницы», «», НачальнаяСтраница);

КонецПроцедуры

В этой процедуре мы конструктором создаем пустой объект НастройкиНачальнойСтраницы. Затем с помощью метода этого объекта ПолучитьСоставФорм() мы получаем состав форм начальной страницы, заданный в конфигураторе.

В нашем случае в конфигураторе начальная страница настроена следующим образом (рис. 3.238).

Рис. 3.238. Состав форм на начальной странице, заданный в конфигураторе

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

При указании имени формы можно использовать как полные имена форм объектов конфигурации (например, Справочник.Товары.Форма.ИмяФормы), так и стандартные имена форм (например, Справочник.Товары.ФормаСписка).

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

После этого с помощью метода УстановитьСоставФорм() мы загружаем измененные настройки начальной страницы в пустой объект НастройкиНачальнойСтраницы.

И в заключение сохраняем эти настройки для текущего пользователя в хранилище системных настроек с ключом Общее/НастройкиНачальнойСтраницы.

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

Рис. 3.239. Начальная страница приложения для менеджера

Теперь рассмотрим формирование начальной страницы для пользователя с ролью Администратор на основе настроек, сделанных им в режиме 1С:Предприятие.

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

Рис. 3.240. Настройка начальной страницы администратором в режиме «1С:Предприятие»

После изменения эти настройки были сохранены в системном хранилище для пользователя с ролью Администратор. И теперь при старте прикладного решения на начальной странице администратора показывается тот вид, который он настроил для себя в режиме 1С:Предприятие (рис. 3.241).

Рис. 3.241. Начальная страница, настроенная администратором

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

Для этого настройки пользователя надо прочитать из системного хранилища, изменить и записать обратно.

Поместим в общем модуле РаботаСИнтерфейсом процедуру СложнаяНачальнаяСтраница() и заполним ее следующим образом (листинг 3.191).

Листинг 3.191. Процедура «СложнаяНачальнаяСтраница»

Процедура СложнаяНачальнаяСтраница() Экспорт

НастройкиНачальнойСтраницы = ХранилищеСистемныхНастроек.Загрузить(«Общее/НастройкиНачальнойСтраницы»);

СоставФорм = НастройкиНачальнойСтраницы.ПолучитьСоставФорм();

Левая = СоставФорм.ЛеваяКолонка;

Правая = СоставФорм.ПраваяКолонка;

ИмяФормы = «Справочник.Организации.Форма.ФормаСписка»;

ИндексФормы = Правая.Найти(ИмяФормы);

Если ИндексФормы <> Неопределено Тогда

Правая.Удалить(ИндексФормы);

КонецЕсли;

ИндексФормы = Левая.Найти(ИмяФормы);

Если ИндексФормы = Неопределено Тогда

Левая.Добавить(«Справочник.Организации.Форма.ФормаСписка»);

КонецЕсли;

ИмяФормы = «Обработка.ЗаполнениеДанных.Форма.Форма»;

ИндексФормы = Левая.Найти(ИмяФормы);

Если ИндексФормы <> Неопределено Тогда

Левая.Удалить(ИндексФормы);

КонецЕсли;

ИндексФормы = Правая.Найти(ИмяФормы);

Если ИндексФормы = Неопределено Тогда

Правая.Добавить(«Обработка.ЗаполнениеДанных.Форма.Форма»);

КонецЕсли;

НастройкиНачальнойСтраницы.УстановитьСоставФорм(СоставФорм);

ХранилищеСистемныхНастроек.Сохранить(«Общее/НастройкиНачальнойСтраницы», «», НастройкиНачальнойСтраницы);

КонецПроцедуры

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

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

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

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

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

После этого с помощью метода УстановитьСоставФорм() мы загружаем измененные настройки в пользовательские настройки начальной страницы.

В заключение сохраняем эти настройки для текущего пользователя в хранилище системных настроек с ключом Общее/НастройкиНачальнойСтраницы.

Запустим «1С:Предприятие» от имени пользователя с ролью Администратор. Мы видим, что на начальной странице администратора слева располагается форма списка справочника Организации, а справа – форма обработки Заполнение данных. Но над ней в правой колонке начальной страницы располагается форма списка справочника Расчетные счета – в соответствии с пользовательскими настройками, сделанными ранее (рис. 3.242).

Рис. 3.242. Начальная страница приложения для администратора

Быстрое подключение к другим системам
Благодаря микросервисной архитектуре Мета позволяет быстро подключаться к другим системам, используя различные сценарии (API, подключение напрямую к базе данных, файлы данных). Далее через интерфейс редактирования можно быстро построить отчет, либо отдельное приложение, обладая навыками SQL-запросов и Java Script.
Embed.js — технология контекстного встраивания, позволяет использовать преимущества МЕТА в рамках стороннего приложения.
Простое создание интерфейсов и высокая скорость разработки
В платформе реализован расширенный набор UI-элементов, упрощающий создание интерфейсов приложений, а средства разработки, встроенные в интерфейс платформы помогают поддерживать высокую скорость разработки.
Контроль выполнения задач компонентов платформы
Встроенный сервис запуска фоновых задач позволяет контролируемо выполнять задачи компонентов платформы. Для построения запросов к данным пользователям приложения предоставлен METAQL — язык защищенных SQL запросов к данным ваших приложений.
Системное окружение
Приложения на платформе META можно развернуть локально, либо в облаке, в том числе поддерживает работу в кластере.

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

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