Authorization, метаданные таблиц, HYDB, действия и запросы в Mobile SMARTS
Mobile SMARTS в рамках конфигурации *.mslx действительно работает как верхнеуровневый DSL: вы описываете интерфейс, поток выполнения и работу с данными декларативно и полу-скриптово, без классического "толстого" кода приложения.
1. За что отвечает Authorization.xml
В репозитории для баз используется файл вида:
База/<Продукт>/Data/.priv/Authorization.xml
Он хранит модель доступа пользователей к операциям (типам документов) и связь пользователей с группами.
Что в нем важно:
<Groups>/<UserGroup>:id,name,role(MobileDeviceUser,Administrator,User);autorunDocumentTypeName(какой тип документа запускать автоматически, если задан);onStartHandlerName/onFinishHandlerName(обработчики старта/завершения работы пользователя);DocumentTypeNames— список доступных типов документов для группы.
<Users>/<User>:id,name,groupId,barcode,password;- опционально
WarehouseIds(ограничение по складам/контексту работы).
Практический эффект: если тип документа не включен в DocumentTypeNames группы пользователя, операция для него недоступна на клиенте.
2. Метаданные таблиц (Configuration/Metadata/*.mslx)
Общие таблицы базы описываются в Configuration/Metadata/Table.*.mslx через DocumentTableInfo.
На уровне структуры задаются:
- имя таблицы (
name); - поля (
TableRowFieldInfo), их типы; - ключи и индексы (
primaryKey,indexed); - параметры обновления (
updatePeriod,autoExchangeDeviceOnUpdate).
Это источник схемы для запросов select ... from <TableName> и для обращения к таблице как к коллекции строк.