Интерфейс системы

ERP предоставляет пользователям два варианта Web-интерфейса:

  • Обычный - предназначен для работы через браузер ПК с большим монитором, мышью и клавиатурой, полнофункционален и необходим для конфигурирования системы;

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

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

Для обращения к запущеной системе введите в строке браузера адрес: http://<host>:<port>;, где:

<host> - адрес сервера с запущенной системой:

<port> - порт сервера, по-умолчанию это 9088.

interface 1

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

При создании БД в системе присутствует единственный пользователь admin, пароль - admin.

interface 2

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

Открытый интерфейс не предлагается при входе на корневую страницу ERP, но доступен по адресу /open. Открытый интерфейс работает в обход средств стандартной авторизации клиента.

Обычный интерфейс

Основные элементы обычного интерфейса пользователя.

interface 3
  1. Кнопка вызова меню;

  2. Панель запущенных оснасток;

  3. Буфер открытых объектов;

  4. Пример запущенной оснастки.

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

interface 4

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

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

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

Всплывающие подсказки

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

interface 5

Профиль

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

interface 6

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

Значения по-умолчанию опций интерфейса доступны для изменения в конфигурации. Для этого в с помощью инспектора кода (FireBug, встроенное средство браузера, либо просмотр исходного кода фрагмента) узнать имя hidden поля параметра и значений. Например, для свойства "Порядок объектов в буфере" это будет:

<input name="iface_buffer_behavior" value="2" type="hidden">
...
<li selected="selected" value="1">Подсветка строки / клик</li>
<li value="0">Кнопка со звёздочкой</li>

Заменой нижнего подчёркивания на точки получается имя значения по-умолчанию данной опции для конфигурации. В данном случае, установка:

iface.buffer.behavior=2

Включит для всех пользователей редактирование с помощью отдельной кнопки со звёздочкой как поведение поумолчанию.

Мобильный интерфейс

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

  • фильтрация и сортировка жёстко заданы;

  • значения колонок со ссылками (открытие контрагент, пользователя) отображаются простым текстом, как при выводе очереди на печать;

  • нет постраничного деления, предполагается, что фильтр ограничивает весь необходимый набор процессов для исполнителя.

interface 7

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

showIn=usermob

Для всех фильтров должны быть определены жёстко значения, например:

filter.1.type=openClose
filter.1.values=open
filter.4.type=executors
filter.4.values=current
#
sort.combo.count=3
sort.mode.2.column.id=2
sort.mode.2.title=Создан обр.
sort.mode.2.desc=1
sort.mode.3.column.id=6
sort.mode.3.title=Статус

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

createAllowedProcessList=72:Подключение;74:Подключение1

В данном примере 72 и 74 - коды процессов, для каждого создаваемого типа будет отображена своя кнопка.

interface 8

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

createWizard.step.1.title=Статус
createWizard.step.1.class=ru.bgcrm.model.process.wizard.SetStatusStep
#
createWizard.step.2.title=Описание
createWizard.step.2.class=ru.bgcrm.model.process.wizard.SetDescriptionStep
interface 9

Коды объектов

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

interface 10

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

Конфигурации

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

Конфигурации вводятся либо в текстовых .properties - файлах (опции подключения к БД, базовые настройки), либо в редакторах конфигурации, сохраняясь в базе данных.

Переменные

В значениях параметров конфигурации возможна подстановка ранее указанных значений с помощью подстановок {@имя параметра}. Рассмотрим пример подстановки.

# определение значения
howYou=how you
# использование подстановки
some.kind.of.config.record=Thats {@howYou} should use macro!

Т.е. при такой конфигурации при взятии значения some.kind.of.config.record получаем в результате строку "Thats how you should use macro!". Подставляемое значение должно быть обязательно определено ранее подстановки.

Счётчики

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

Например:

object.1.id=1
object.1.title=Title1
object.2.id=2
object.2.title=Title2

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

index=1
object.{@index}.id=1
object.{@index}.title=Title1
object.{@inc:index}.id=2
object.{@index}.title=Title2

Склеивание значений

Помимо присвоения параметр конфигурации можно приклеивать к уже существующему под таким ключём значению. Для этого используется оператор +=. Например:

key=1
key+=,2
key+=,3

В этом случе под ключом key будет храниться строка "1,2,3".

Склеивание помогает разбить длинную строку конфигурации на несколько более читаемых. Например:

# дата рожд., с.-н. пасп., д.в. пасп., кем выд. пасп, адрес проп., тел. гор, тел. сот, адрес(а) усл., перс. данные
bgbilling:creator.importParameters=73,74,75,76,77,78,14,12,115
# ИНН, КПП, ФИО руководителя, полное название, должность рук.-ля, E-Mail(ы)
bgbilling:creator.importParameters+=,248,249, 252, 428, 429, 15

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

Многострочные значения

Ещё один способ разбития на несколько строк значения конфигурации.

value=<<END
Line1
Line2
END

Значение value будет Line1Line2. Переносы строк не участвуют в склеивании.Вместо END можно использовать любую строку.