Содержание
Протокол обмена
Общее описание протокола и точки подключения
Grotem.Mobile имеет удобный API-интерфейс, позволяющий с помощью специальных запросов обмениваться данными со сторонними системами.
Обмен данными осуществляется посредством передачи сжатых в gzip JSON документов POST запросом по протоколу HTTP.
- Точка подключения находится по адресу:
http(s)://{адрес сервера GROTEM}/{имя решения}/admin/SyncSolutionDatabase
- для отправки и получеия данных
- Порт подключения зависит от конфигурации web-сервера
- Используется BASIC-авторизация:
- имя пользователя - всегда admin
- пароль - от решения на сервере Grotem.Mobile
- Кодировка файла - UTF-8
- Обязательные заголовки для HTTP-запроса:
- ‘content-type’: “application/json”,
- ‘configname’: “GrotemExpress”,
- ‘configversion’: “1.1.0.0”,
- ‘deviceId’: “{идентификатор внешнего клиента}”
{идентификатор внешнего клиента}
- уникальный идентификатор внешней БД. Должен быть уникальным и фискированным для каждой внешней системы.
Алгоритм синхронизации
Общее описание
При синхронизации сервер GROTEM.Mobile позволяет отслеживать изменения. Для этих целей у всех объектов в БД Grotem.Mobile используется служебное поле Timestamp
, где хранится время последнего изменения. При обмене данными в структуре файла обмена предусмотрены поля TimestampFrom
и TimestampTo
.
В поля Timestamp
, TimestampFrom
, TimestampTo
- записывается время в формате тиков.
Значение этого свойства представляет количество 100-наносекундных интервалов, истекших с полуночи в 12:00:00, 1 января 0001 года (00:00:00 UTC 1 января 0001 по григорианскому календарю)
Пример получения даты в формате тиков на платформе 1С
// Получает время TimeStamp
Функция ПолучитьТики()
// Получаем Универсальную дату в миллисекундах (с учетом часового пояса), затем приводим к наносекундам
Тики = (ТекущаяУниверсальнаяДатаВМиллисекундах() + СмещениеСтандартногоВремени(ЧасовойПояс(),ТекущаяУниверсальнаяДата())* 1000)* 10000;
Возврат Число(Тики);
КонецФункции // ПолучитьТики()
Обмен инициируется со стороны клиента (внешней системы).
Клиент отправляет свой документ с данными и заполненным полем
TimestampFrom
, в нем передается время последней успешной синхронизации с сервером. Если это поле = 0, то синхронизация считается начальной и клиент получит полный набор данных с сервера.Сервер обрабатывает полученные данные:
- получает документ с данными
- заполняет в нём поле
TimestampTo
текущей датой - выполняет обновление записей или помечает их как удаленные
- всем затронутым (обновленным или удаленным) записям присваивается одно и то же значение
Timestamp
=TimestampTo
Сервер формирует набор данных для клиента:
- получает список записей из всех таблиц изменённых после TimestampFrom (у которых
Timestamp
>=TimestampFrom
) - дополняет список записей связанными сущностями (подробнее см. “Выгрузка связанных данных”)
- производит фильтрацию данных в соответствии с настроенными для каждой таблицы фильтрами (подробнее см. “Фильтрация данных”)
- исключает из выгрузки объекты, которые пришли со стороны клиента в рамках текущей сессии обмена
- формирует JSON-файл, сжимает и возвращает клиенту.
- получает список записей из всех таблиц изменённых после TimestampFrom (у которых
Клиент обрабатывает полученные данные
- измененные записи обновляются в БД
- записи к удалению - удаляются из БД
Выгрузка связанных данных
У всех объектов БД добавлено служебное поле KeyFieldTimestamp
. При выгрузке сервер анализирует значение времени в этом поле. И если хотя бы у одного объекта это поле попадает в условия выгрузки (KeyFieldTimestamp
>= TimestampFrom
):
- сервер анализирует структуру базы данных и получает все связанные таблицы (опираясь на ForeignKey)
- для всех связанных таблиц получает связанные дерево связанных данных по ссылочным полям
- дополняет список выгрузки полученными объектами
Внимание
Установка поля
KeyFieldTimestamp
может приводить к увеличению времени синхронизации.
Фильтрация данных
Для уменьшения объема передаваемых данных, а также для ограничения доступа к ним на стороне сервера используется фильтрация выгружаемых клиенту данных.
Фильтрация основывается на данных пользователя, авторизованного при подключении к точке входа (см. “Общее описание протокола и точки подключения”)
Фильтры формируются на этапе проектирования структуры данных. Текущие фильтры описаны в разделе “Типовые фильтры”.
Структура файла обмена
Общее описание
Файл обмена формируется и получается в JSON-формате (кодировка UTF-8).
При передаче файл сжимается в gzip-формат.
Структура файла обмена одинакова и не зависит от направления обмена.
Общий формат файла выглядит следующим образом:
{
"Id":"2aedcc06-3d1b-4b29-b5af-d5bacf8326c7",
"TimestampFrom":0,
"TimestampTo":636062561934757950,
"DeletedEntities":[],
"ChangedEntities":[],
"FiltersToApply":[]
}
Описание параметров:
"Id"
- уникальный идентификатор сессии обмена. По этому идентификатору также в дальнейшем можно получать информацию о сессии."TimestampFrom"
- начальная граница промежутка времени для получения изменений (см. “Общее описание алгоритма синхронизации”)"TimestampTo"
- конечная граница промежутка времени для получения изменений (обычно сюда передается текущее время). Будет установлено в качестве метки времени “Timestamp” для всех объектов, переданных в файле"DeletedEntities"
- список удаленных объектов (подробнее см. “Формат выгрузки объекта”)"ChangedEntities"
- список измененных объектов (подробнее см. “Формат выгрузки объекта”)- перечень фильтров (не используется и в текущей версии протокола игнорируется)"FiltersToApply"
Формат выгрузки объекта
Для передачи в файле обмена в секциях "DeletedEntities"
и "ChangedEntities"
используются списки объектов. Каждый элемент списка представляет собой следующий формат
...
"ChangedEntities":[
{
"Id": "f365b190-1690-11e6-b0e4-6c71d97753d2",
"IsDeleted": false,
"Timestamp": 636217442594783700,
"Tablename": "Catalog.Contacts",
"SyncFilter": null,
"Fields": {
...
...
},
}
]
...
Описание полей:
Обязательные поля для всех объектов (независимо от типа)
"Id"
- Идентификатор объекта (в формате GUID)"IsDeleted"
- признак удаления объекта (такие объекты будут удалены из БД)"Timestamp"
- метка времени изменения объекта"Tablename"
- имя таблицы, к которой принадлежит объект (подробнее см. “Описание таблиц и полей”)- в текущей версии протокола не используется и игнорируется"SyncFilter"
"Fields"
- поля объекта, характерные для каждой таблицы (подробнее см. “Описание таблиц и полей”)
Пример файла выгрузки
Приведенный пример отображает передачу / получение измененных объектов таблиц:
- Клиент
- Список контактов, связанных с клиентом
- Контактные лица
{
"Id": "055c2053-8e2f-4b78-b83f-f60b9ecff815",
"TimestampFrom": 0,
"TimestampTo": 636219989844656600,
"DeletedEntities": [],
"ChangedEntities": [
{
"Id": "f4a4d5d0-1dd3-11e6-b0e7-6c71d97753d2",
"IsDeleted": false,
"Timestamp": 636219989755439200,
"Tablename": "Catalog.Client",
"SyncFilter": null,
"Fields": {
"Id": "f4a4d5d0-1dd3-11e6-b0e7-6c71d97753d2",
"IsDeleted": false,
"Timestamp": 636219989755439200,
"KeyFieldTimestamp": 636217442594783700,
"Predefined": false,
"DeletionMark": false,
"Description": "Иванов Михаил Петрович",
"Code": "000000003",
"Latitude": 0,
"Longitude": 0,
"Address": "г. Санкт-Петербург, ул. Почтамтская, д. 3-5",
"Contractor": null
}
},
{
"Id": "9e0d9b3d-71ef-4568-810f-d8e2bfdea923",
"IsDeleted": false,
"Timestamp": 636217442594783700,
"Tablename": "Catalog.Client_Contacts",
"SyncFilter": null,
"Fields": {
"Id": "9e0d9b3d-71ef-4568-810f-d8e2bfdea923",
"IsDeleted": false,
"Timestamp": 636217442594783700,
"KeyFieldTimestamp": 636217442594783700,
"Ref": "f4a4d5d0-1dd3-11e6-b0e7-6c71d97753d2",
"LineNumber": 1,
"Contact": "f4a4d5cd-1dd3-11e6-b0e7-6c71d97753d2",
"Actual": false
}
},
{
"Id": "f4a4d5cd-1dd3-11e6-b0e7-6c71d97753d2",
"IsDeleted": false,
"Timestamp": 636217442594783700,
"Tablename": "Catalog.Contacts",
"SyncFilter": null,
"Fields": {
"Id": "f4a4d5cd-1dd3-11e6-b0e7-6c71d97753d2",
"IsDeleted": false,
"Timestamp": 636217442594783700,
"KeyFieldTimestamp": 636217442594783700,
"Predefined": false,
"DeletionMark": false,
"Description": "Иванов Михаил",
"Code": "000000002",
"Position": "",
"Tel": "+7 (812) 325-49-49",
"EMail": ""
}
}
],
"FiltersToApply":[]
}
Примеры отправки запроса (полная синхронизация)
В приведенных ниже примерах HTTP-заголовок для авторизации ‘authorization’ считаем заранее известным
Предполагаем, что точка входа находится по адресу http://server.ru/grotem/admin/SyncSolutionDatabase
Формируемый файл запроса будет иметь следующий вид:
{
"Id":"f8685de0-b174-44ea-9d89-b36bab8e8043",
"TimestampFrom":0,
"TimestampTo":636219988969526110,
"DeletedEntities":[],
"ChangedEntities":[],
"FiltersToApply":[]
}
Python:
import http.client
import gzip
server_name = "server.ru"
connection_point = "/grotem/admin/SyncSolutionDatabase"
conn = http.client.HTTPConnection(server_name)
payload = '{ "Id":"f8685de0-b174-44ea-9d89-b36bab8e8043",
"TimestampFrom":0,
"TimestampTo":636219988969526110,
"DeletedEntities":[],
"ChangedEntities":[],
"FiltersToApply":[]}'
headers = {
'content-type': "application/json",
'configname': "GrotemExpress",
'configversion': "1.1.0.0",
'authorization': "Basic RGV2MTpEZXYx",
'deviceId': "66baa76a-71fe-4395-b4a6-0b77bee9526d"
}
conn.request("POST", connection_point, payload, headers)
res = conn.getresponse()
data = res.read()
print(gzip.decompress(data).decode("utf-8"))
C#:
var client = new RestClient("http://server.ru/grotem/admin/SyncSolutionDatabase");
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "Basic RGV2MTpEZXYx")
.AddHeader("configversion", "1.1.0.0")
.AddHeader("configname", "GrotemExpress")
.AddHeader("content-type", "application/json")
.AddHeader("deviceId", "66baa76a-71fe-4395-b4a6-0b77bee9526d")
.AddParameter("application/json", "{\"Id\":\"f8685de0-b174-44ea-9d89-b36bab8e8043\",\"TimestampFrom\":0,\"TimestampTo\":636219988969526110,\"DeletedEntities\":[],\"ChangedEntities\":[],\"FiltersToApply\":[]}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Описание таблиц и полей
Типы данных
Обозначение | Описание |
---|---|
Integer | Целое число без дробный знаков. Например, если поле описано как Latitude: Integer , то в файле обмена оно будет выглядеть как "Latitude": 0, |
GUID | Строка в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx . Например, при описании Id: GUID в файле будет "Id":"f8685de0-b174-44ea-9d89-b36bab8e8043" |
Boolean | Логический тип данных (ИСТИНА / ЛОЖЬ). При передачи в файл выгрузки возможны значения true или false . Напрмиер, при описании IsDeleted: Boolean в файле будет "IsDeleted": false или "IsDeleted": true |
DateTime | Поле содержит дату и время. Формат представления HHHH-MM-DDThh:mm:ss . Например, при объявлении StartDate: DateTime в файл попадает "StartDate": "2016-09-12T11:39:03" |
String (N) | Строка, длина которой не превышает N символов. Например, объявление Description: String (100) влечет "Description": "Массаж" |
Decimal (N.M) | Дробное число длиной N знаков, из которых M отводится под дробную часть. Разделитель дробной части - “.” (“точка”). Описание Price: Decimal (5.2) позволяет указывать числа в формате XXX.XX , например "Price": 100.00 |
Перечисления (ENum)
Для всех перечислений структура таблиц единая
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Name | + | String (100) | Наименование (значение) |
Description | + | String (100) | Текстовое представление значения |
Enum.ChequeType
Название | Enum.ChequeType |
---|---|
Назначение | Типы документов “Чек” |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
ChequeClosed | 0 | Чек закрыт | |
ChequeSell | 1 | Продажа | |
ChequeSellReturn | 2 | Возврат продажи | |
ChequeSellAnnulate | 3 | Аннулирование продажи | |
ChequeBuy | 4 | Покупка | |
ChequeBuyReturn | 5 | Возврат покупки | |
ChequeBuyAnnulate | 6 | Аннулирование покупки | |
ChequeSellCorrection | 7 | Коррекция продажи | |
ChequeSellReturnCorrection | 8 | Коррекция возврата продажи | |
ChequeBuyCorrection | 9 | Коррекция покупки | |
ChequeBuyReturnCorrection | 10 | Коррекция возврата покупки |
Enum.PositionPaymentType
Название | Enum.PositionPaymentType |
---|---|
Назначение | Признак способа расчета |
Описание | Признак способа расчета для каждой позиции документа “Чек” (в соответствии с ФФД 1.05) |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Prepayment100 | 1 | “Предоплата 100%” | |
Prepayment | 2 | “Предоплата” | |
PrepaidExpense | 3 | “Аванс” | |
FullCalculation | 4 | “Полный расчет” | |
PartialSettlementAndCredit | 5 | “Частичный расчет или кредит” | |
TransferToCredit | 6 | “Передача в кредит” | |
PaymentOfCredit | 7 | “Оплата кредита” |
Enum.CheckListStatus
Название | Enum.CheckListStatus |
---|---|
Назначение | Статусы “Чек-листов” |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Blank | Черновик | В этом статусе Чек-лист может редактироваться, но не выгружается в мобильные приложения | |
Active | Активен | Чек-листы выгружаются в мобильные приложения и не редактируются | |
Disactive | НеАктивен | Чек-листы не выгружаются в мобильные приложения и не редактируются |
Enum.FoReminders
Название | Enum.FoReminders |
---|---|
Назначение | Типы “Уведомлений” при завершении Заявки |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Sale | Продажа | Уведомление о продаже | |
Problem | Проблема | Уведомление о проблеме |
Enum.ResultEvent
Название | Enum.ResultEvent |
---|---|
Назначение | Результаты завершения “Заявок” |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
New | Новое | Заявка создана (новый) | |
Done | Выполнено | Заявка завершена успешно | |
NotDone | НеВыполнено | Заявка завершена неудачно |
Enum.StatsNeedNum
Название | Enum.StatsNeedNum |
---|---|
Назначение | Статусы “Заявок на материалы” |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
New | Новая | Заявка создана (новый) | |
Done | Отгружено | Заявка передана сотруднику, но не подтверждена | |
Confirmed | Подтверждено | Получение заявки подтверждено сотрудником | |
Cancel | Отменено | Заявка отклонена |
Enum.StatusEquipment
Название | Enum.StatusEquipment |
---|---|
Назначение | Статусы Оборудования при привязке к клиенту |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Rent | Аренда | Выдано в аренду | |
Seales | Продажа | Продано | |
Loan | Ссуда | Отгружено под ссуду | |
Died | Умер | Находится у клиента, но уже не работает |
Enum.StatusImportance
Название | Enum.StatusImportance |
---|---|
Назначение | Важность |
Описание | Важность (“Importance”) для “Заявки” |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Standart | Стандартная | ||
High | Высокая | ||
Critical | Критическая |
Enum.StatusTasks
Название | Enum.StatusTasks |
---|---|
Назначение | Статусы “Задач” |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
New | Новая | ||
Done | Выполнена | ||
Rejected | Отклонена |
Enum.StatusyEvents
Название | Enum.StatusyEvents |
---|---|
Назначение | Статусы “Заявок” |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
New | Создан | ||
OnHarmonization | На согласовании | ||
Agreed | Согласован | ||
Accepted | Просмотрен | ||
Cancel | Отклонен | ||
InWork | В работе | ||
Done | Выполнен | ||
DoneWithTrouble | Выполнен с проблемой | ||
OnTheApprovalOf | На утверждении | ||
Close | Закрыт | ||
NotDone | Не справились |
Enum.TypesDataParameters
Название | Enum.TypesDataParameters |
---|---|
Назначение | Типы значений для “Вопросов чек-листов”, параметров “Клиентов” и “Оборудования” |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
String | Текст | ||
Integer | Целое число | ||
Decimal | Дробное число | ||
Boolean | Логический | ||
DateTime | Дата | ||
ValList | Выбор из списка | ||
Snapshot | Снимок |
Enum.TypesEvents
Название | Enum.TypesEvents |
---|---|
Назначение | Типы “Заявок” |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Visit | Визит | ||
Task | Задача | ||
Call | Звонок | ||
Letter | Письмо |
Enum.VATS
Название | Enum.VATS |
---|---|
Назначение | Ставки НДС |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Percent18 | 1 | ||
Percent0 | 2 | ||
PercentWithoOut | 3 | ||
Percent10 | 4 |
Enum.Webactions
Название | Enum.Webactions |
---|---|
Назначение | Доступные права |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
EventsEditing | Создание и редактирование Заявок | ||
EventsDeleting | Удаление Заявок | ||
EventsOptionsEditing | Управление параметрами Заявок | ||
EventsAllAvaliable | Разрешить доступ ко всем Заявкам (иначе только к назначенным | ||
EventsShowAVR | Отображать АВР в Заявках | ||
UsersEditing | Редактирование сотрудников | ||
UsersDeleting | Удаление сотрудников | ||
UsersManageRoles | Управление ролями сотрудников | ||
ClientsEditing | Создание и редактирование клиентов | ||
ClientsDeleting | Удаление клиентов | ||
ClientsOptionsEditing | Управление параметрами клиентов | ||
TasksEditing | Редактирование задач | ||
EquipmentsEditing | Создание и редактирование оборудования | ||
EquipmentsDeleting | Удаление оборудования | ||
EquipmentsOptionsEditing | Управление параметрами оборудования | ||
RIMEditing | Создание и редактирование услуг и материалов | ||
RIMDeleting | Удаление услуг и материлов | ||
CheckListsEditing | Создание и редактирование чек-листов | ||
CheckListManageActivityStatus | Управление активностью чек-листов | ||
AnaliticAccess | Доступ к аналитике | ||
WebInterfaceAccess | Доступ к веб-приложению | ||
MobileAppAccess | Доступ к мобильному приложению | ||
MobileFPRAccess | Доступ к фискальному регистратору из мобильного приложения | ||
RemovingSKUFromCheque | Удаление позиций из заказа | ||
AddingSKUToCheque | Добавление позиций в заказ | ||
ChangingSKUPrice | Изменение цены позиции | ||
CreatingReturnCheque | Оформление чека на возврат | ||
AddServiceInOrder | Добавление услуги в заказ | ||
RemoveServiceFromOrder | Удаление услуги из заказа | ||
AddProductInOrder | Добавление товара в заказ | ||
RemoveProductFromOrder | Удаление товара из заказа |
Catalog.Accounts
Название | Catalog.Accounts |
---|---|
Назначение | Контрагенты |
Описание | Объекты, которые позволяют логически объединять Клиентов: к одному Контрагенту можно привязать несколько Клиентов (см. поле “Client.Contractor” |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined. | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
IsFolder | Boolean | Признак, что текущая запись является группой | |
Parent | GUID | Идентификатор родительского элемента | |
Description | + | String (100) | Наименование |
Code | String (9) | Код |
Catalog.Actions
Название | Catalog.Actions |
---|---|
Назначение | Вопросы чек-листов |
Описание | Общий список вопросов для всех чек-листов. Вопросы из этого списка привязываются к Чек-листам посредством таблицы “Чек-лист - Вопросы” |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
ActionType | + | GUID | Идентификатор типа значения параметров (Документация для интеграции в внешними системами (API v.1.3)) |
Catalog.Actions_ValueList
Название | Catalog.Actions_ValueList |
---|---|
Назначение | Значения для вопросов чек-листов в с типом “Выбор из списка” |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор вопроса (Actions.Id) |
Val | String (100) | Значение |
Catalog.Client
Название | Catalog.Client |
---|---|
Назначение | Клиент |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
Latitude | Decimal (12.8) | Широта (географические координаты) | |
Longitude | Decimal (12.8) | Долгота (географические координаты) | |
Address | String (1000) | Адрес | |
Contractor | GUID | Идентификатор связанного контрагента (Accounts.Id) |
Catalog.Client_Contacts
Название | Catalog.Client_Contacts |
---|---|
Назначение | Список контактов, связанных с клиентом |
Описание | “Контактные лица” - это отдельный список. В этой таблице указывается ссылка на элемент списка “Контактных лиц”, что позволяет привязать одно и то же контактное лицо к нескольким клиентам |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор клиента (Client.Id) |
Contact | + | GUID | Идентификатор контактного лица (Contact.Id) |
Actual | Boolean | Признак актуальности |
Catalog.Client_Files
Название | Catalog.Client_Files |
---|---|
Назначение | Связанные с клиентом файлы |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор клиента (Client.Id) |
FullFileName | String (1000) | Полный путь к файлу | |
FileName | GUID | имя файла (автоматически генерируется в формате GUID) |
Catalog.Client_Parameters
Название | Catalog.Client_Parameters |
---|---|
Назначение | Параметры клиента и их значения |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор клиента (Client.Id) |
Parameter | GUID | Идентификатор параметра клиента (ClientOptions.Id) | |
Val | String (100) | Значение параметра |
Catalog.ClientOptions
Название | Catalog.ClientOptions |
---|---|
Назначение | Список возможных параметров клиента |
Описание | Полный список параметров клиентов. К каждому Клиенту параметры подбираются из этого списка (см. “Catalog.Client_Parameters”) |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
DataTypeParameter | + | GUID | Идентификатор типа значения параметров (Документация для интеграции в внешними системами (API v.1.3)) |
DisplayingBMA | Boolean | Признак отображения в мобильном приложении | |
EditingBMA | Boolean | Возможность редактирования в мобильном приложении |
Catalog.ClientOptions_ListValues
Название | Catalog.ClientOptions_ListValues |
---|---|
Назначение | Значения для параметров клиента в с типом “Выбор из списка” |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор параметра клиента (ClientOptions.Id) |
Val | String (100) | Значение |
Catalog.Contacts
Название | Catalog.Contacts |
---|---|
Назначение | Контактные лица |
Описание | Полный список контактных лиц в системе, которые могут быть привязаны к одному или нескольким клиентам (см. таблицу “Catalog.Client_Contacts”) |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
Position | String (100) | Должность | |
Tel | String (100) | Телефон | |
String (100) | Адрес электронной почты |
Catalog.Equipment
Название | Catalog.Equipment |
---|---|
Назначение | Оборудование |
Описание | Полный список оборудования в системе. В дальнейшем это оборудования может быть привязано к конкретному клиенту, передано от одного клиента к другому. |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
SKU | GUID | Идентификатор номенклатуры, связанной с оборудованием (SKU.Id) |
Catalog.Equipment_Equipments
Название | Catalog.Equipment_Equipments |
---|---|
Назначение | Привязка оборудования к Клиенту |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор оборудования (Equipment.Id) |
Clients | GUID | Идентификатор клиента, к которому привязано оборудование (Client.Id) | |
Equipment | + | GUID | Идентификатор оборудования (совпадает с Ref ) (Equipment.Id) |
Period | DateTime | Дата закрепления оборудования за клиентом | |
StatusEquipment | GUID | Идентификатор статуса оборудования (Документация для интеграции в внешними системами (API v.1.3)) | |
ContractSale | GUID | Идентификатор договора (продажи) (ServiceAgreement.Id) | |
CantractService | GUID | Идентификатор договора (обслуживания) (ServiceAgreement.Id) | |
ContactForEquipment | String (100) | Данные контактного лица, ответственного за оборудование у клиента (ServiceAgreement.Id) | |
Info | String (1000) | Дополнительная информация по оборудованию |
Catalog.Equipment_EquipmentsHistory
Название | Catalog.Equipment_EquipmentsHistory |
---|---|
Назначение | История оборудования |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор оборудования (Equipment.Id) |
Period | DateTime | Дата выполнения работ | |
Client | GUID | Идентификатор клиента, к которому было привязано оборудование на момент выполнения работ (Client.Id) | |
Equipments | + | GUID | Идентификатор оборудования (совпадает с Ref ) (Equipment.Id) |
Target | String (100) | Описание работ, которые необходимо было выполнить | |
Result | GUID | Идентификатор результата выполнения работ (Документация для интеграции в внешними системами (API v.1.3)) | |
ObjectGet | String (1000) | ||
Comment | String (1000) | Комментарий исполнителя | |
Executor | GUID | Идентификатор пользователя - исполнителя работ (User.Id) |
Catalog.Equipment_Files
Название | Catalog.Equipment_Files |
---|---|
Назначение | Связанные с оборудованием файлы |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор оборудования (Equipment.Id) |
FullFileName | String (1000) | Полный путь к файлу | |
FileName | GUID | имя файла (автоматически генерируется в формате GUID) |
Catalog.Equipment_Parameters
Название | Catalog.Equipment_Parameters |
---|---|
Назначение | Параметры оборудования и их значения |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор оборудования (Equipment.Id) |
Parameter | GUID | Идентификатор параметра оборудования (EquipmentOptions.Id) | |
Val | String (100) | Значение параметра |
Catalog.EquipmentOptions
Название | Catalog.EquipmentOptions |
---|---|
Назначение | Список возможных параметров оборудования |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
DataTypeParameter | + | GUID | Идентификатор типа значения параметров (Документация для интеграции в внешними системами (API v.1.3)) |
DisplayingBMA | Boolean | Признак отображения в мобильном приложении | |
EditingBMA | Boolean | Возможность редактирования в мобильном приложении |
Catalog.EquipmentOptions_ListValues
Название | Catalog.EquipmentOptions_ListValues |
---|---|
Назначение | Значения для параметров оборудования в с типом “Выбор из списка” |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор параметра клиента (EquipmentOptions.Id) |
Val | String (100) | Значение |
Catalog.EventOptions
Название | Catalog.EventOptions |
---|---|
Назначение | Список возможных параметров “Заявок” |
Описание | К каждой конкретной Заявке параметры из этой таблицы привязываются посредствам таблицы “Заявка - Параметры” |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
DataTypeParameter | + | GUID | Идентификатор типа значения параметров (Enum.TypesDataParameters) |
DisplayingBMA | Boolean | Признак отображения в мобильном приложении | |
EditingBMA | Boolean | Возможность редактирования в мобильном приложении |
Catalog.EventOptions_ListValues
Название | Catalog.EventOptions_ListValues |
---|---|
Назначение | Значения для параметров Заявки в с типом “Выбор из списка” |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор параметра клиента (EventOptions.Id) |
Val | String (100) | Значение |
Catalog.ListOfPayments
Название | Catalog.ListOfPayments |
---|---|
Назначение | Список типов оплат |
Описание | Типы оплат для указания в таблице Оплат Document.Cheque_Payment документа “Чек” |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Description | + | String (50) | Наименование типа оплаты |
FrNumber | + | Integer | Номер типа оплаты в настройках ФР |
Catalog.Positions
Название | Catalog.Positions |
---|---|
Назначение | Должности |
Описание | Список должностей пользователей Catalog.User |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Name | + | String (256) | Краткое наименование должности |
Description | String (256) | Полное наименование должности | |
DeletionMark | Boolean | Признак пометки на удаление |
Catalog.RIM
Название | Catalog.RIM |
---|---|
Назначение | Список работ и материалов |
Описание | Список работ и материалов для добавления в Заказы и пробития чеков. Хранит в себе признак “Услуга” (“Service”), а также информацию о ценах и ставках НДС. Имеется возможность привязки к объектам “Номенклатура” (“SKU”) для консолидации |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (256) | Наименование |
Code | String (9) | Код | |
IsFolder | Boolean | Признак, что элемент является группой и может выступать в качестве родительского | |
Parent | GUID | Идентификатор родительской записи (RIM.Id) | |
Price | Decimal (15.2) | Цена за единицу | |
Service | Boolean | Признак услуги | |
SKU | GUID | Идентификатор элемента номенклатуры (SKU.Id) | |
Unit | String (5) | Наименование единицы измерения | |
VAT | + | GUID | Идентификатор перечисления “Ставки НДС” (Enum.VATS) |
Favorites | Boolean | Признак “избранного” товара |
Catalog.Roles
Название | Catalog.Roles |
---|---|
Назначение | Роли |
Описание | Список ролей в системе |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
DeletionMark | + | Boolean | Признак пометки на удаление |
Name | + | String (9) | Наименование роли |
Ident | + | String (50) | Признак пометки на удаление |
Description | + | String (100) | Подробное описание |
CanManageSelf | + | Boolean | Признак, что пользователи с этой ролью могут модифицировать свои права |
Catalog.RoleWebactions
Название | Catalog.RoleWebactions |
---|---|
Назначение | Права ролей |
Описание | Список, связывающий роли и имеющиеся у них права. Если в этом списке для роли имеется запись с определенным правом - значит роль данным правом обладает. Отсутствие записи означает, что у роли такого права нет |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Role | + | GUID | Идентификатор элемента ролей (Roles.Id) |
Webaction | + | GUID | Идентификатор элемента из списка прав (Enum.Webactions) |
Catalog.ServiceAgreement
Название | Catalog.ServiceAgreement |
---|---|
Назначение | Договоры |
Описание | Список договоров, которые могут быть указаны как договоры продажи и договоры обслуживания при привязки Оборудования к Клиентам |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
Client | GUID | Идентификатор Клиента, с которым заключен Договор (Client.Id) | |
Organization | String (500) | Наименование организации, от имени которой заключен договор | |
DateStart | DateTime | Дата начала действия договора | |
DateEnd | DateTime | Дата окончания действия договора |
Catalog.SettingMobileApplication
Название | Catalog.SettingMobileApplication |
---|---|
Назначение | Настройки мобильного приложения |
Описание | Список настроек, которые передаются в мобильные приложения. Актуальные наименования настроек см. в разделе “Настройки мобильного приложения” |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
DataType | + | GUID | Идентификатор типа значения параметров (Enum.TypesDataParameters) |
LogicValue | Boolean | Поле для хранения значений настроек с булевым типом | |
NumericValue | Integer | Поле для хранения значений настроек с числовым типом |
Catalog.SKU
Название | Catalog.SKU |
---|---|
Назначение | Номенклатура |
Описание | Список номенклатуры. Используется для интеграции с внешними учетными системами для возможности консолидации информации об услугах, товарах, оборудовании. Позволяет вести иерархическую структуру |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
IsFolder | Boolean | Признак, что элемент является группой и может выступать в качестве родительского | |
Parent | GUID | Идентификатор родительской записи (SKU.Id) |
Catalog.TypesDepartures
Название | Catalog.TypesDepartures |
---|---|
Назначение | Типы выездов |
Описание | Список возможных типов выезда для указания в Заявках |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код |
Catalog.User
Название | Catalog.User |
---|---|
Назначение | Сотрудники |
Описание | Список сотрудников (пользователей системы) |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
UserName | + | String (100) | Логин |
Password | + | String (100) | Пароль |
UserDB | String (500) | Идентификатор пользователя во внешней системе (используется при интеграциях) | |
String (100) | Адрес электронной почты | ||
GUID | В текущей версии не используется | ||
Phone | String (100) | Телефон | |
Role | + | GUID | Идентификатор элемента ролей (Roles.Id) |
Language | String (5) | Идентификатор языка (поддерживаются ru, en cz) | |
AspNetUserID | String (128) | Внутренний идентификатор пользователя | |
Position | GUID | Идентификатор должности (Positions.Id) | |
Root | + | Boolean | Признак пользователя с “неограниченными” правами |
Catalog.User_Bag
Название | Catalog.User_Bag |
---|---|
Назначение | Рюкзак |
Описание | Список материалов, доступных мобильному сотруднику. Если в системе используется функционал “Рюкзак” - то также ведется учет остатков материалов у мобильного сотрудника |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор сотрудника (User.Id) |
Materials | + | GUID | Идентификатор услуги / материала (RIM.Id) |
Count | + | Decimal (38.3) | Количество (остаток) |
Catalog.User_RemainsNorms
Название | Catalog.User_RemainsNorms |
---|---|
Назначение | Нормы остатков |
Описание | Список и количество материалов, которые должны быть у мобильного сотрудника в соответствии со стандартами. Если используется “Рюкзак” - при оформлении заявки на материалы количество заказываемых материалов автоматически доводится до количества нормы |
Список полей:
Field | Req | Type | Desc | ||
---|---|---|---|---|---|
Id | + | GUID | Уникальный идентификатор | ||
LineNumber | Integer | Порядковый номер (для сортировки) | |||
Ref | + | GUID | Идентификатор сотрудника (User.Id) | ||
Materials | + | GUID | Идентификатор услуги / материала (RIM.Id) | ||
Count | + | Decimal (38.3) | Количество (норма) |
Document.CheckList
Название | Document.CheckList |
---|---|
Назначение | Чек-Лист |
Описание |
Список полей:
Field | Req | Type | Desc | ||
---|---|---|---|---|---|
Id | + | GUID | Уникальный идентификатор | ||
Posted | + | Boolean | Признак “проведенного” документа | ||
DeletionMark | + | Boolean | Признак пометки на удаление | ||
Date | + | DateTime | Дата создания документа | ||
Number | String (9) | Номер документа | |||
Description | String (100) | Описание чек-листа | |||
Project | String (100) | Проект (дополнительный реквизит) | |||
Status | + | GUID | Идентификатор статуса чек-листа (Enum.CheckListStatus) |
Document.CheckList_Actions
Название | Document.CheckList |
---|---|
Назначение | Чек-лист - Вопросы |
Описание | Хранит привязанные “Вопросы чек-листов” к конкретному Чек-листу |
Список полей:
Field | Req | Type | Desc | ||
---|---|---|---|---|---|
Id | + | GUID | Уникальный идентификатор | ||
LineNumber | Integer | Порядковый номер (для сортировки) | |||
Ref | + | GUID | Идентификатор Чек-листа (CheckList.Id) | ||
Action | + | GUID | Идентификатор “Вопроса чек-листов” (Actions.Id) | ||
Required | Boolean | Признак обязательности |
Document.Event
Название | Document.Event |
---|---|
Назначение | Заявка |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Posted | + | Boolean | Признак “проведенного” документа |
DeletionMark | + | Boolean | Признак пометки на удаление |
Date | + | DateTime | Дата создания документа |
Number | String (9) | Номер документа | |
ApplicationJustification | String (500) | ||
Client | + | GUID | Идентификатор Клиента (Client.Id, на которого назначена Заявка) |
DivisionSource | String (500) | Наименование подразделения, из которого поступила Заявка | |
KindEvent | + | GUID | Тип Заявки(Enum.TypesEvents) |
AnySale | Boolean | В рамках Заявки имеется одно или несколько “Уведомлений” с типом “Продажа” | |
AnyProblem | Boolean | В рамках Заявки имеется одно или несколько “Уведомлений” с типом “Проблема” | |
StartDatePlan | DateTime | Плановая дата начала Заявки | |
EndDatePlan | DateTime | Плановая дата окончания Заявки | |
ActualStartDate | DateTime | Фактическая дата начала Заявки | |
ActualEndDate | DateTime | Фактическая дата окончания Заявки | |
Author | + | GUID | Идентификатор сотрудника (User.Id, создавшего Заявку) |
UserMA | GUID | Идентификатор Исполнителя - сотрудника (User.Id) | |
Comment | String (1000) | Комментарий | |
DetailedDescription | String (1000) | Подробное описание | |
CommentContractor | String (1000) | Комментарий исполнителя | |
TargInteractions | String (100) | Дата создания документа | |
ResultInteractions | String (100) | Дата создания документа | |
Status | + | GUID | Идентификатор перечисления “Статуса Заявки” (Enum.StatusyEvents) |
LatitudeStart | Decimal (12.8) | Широта (координаты начала выполнения Заявки) | |
LongitudeStart | Decimal (12.8) | Долгота (координаты начала выполнения Заявки) | |
LatitudeEnd | Decimal (12.8) | Широта (координаты закрытия Заявки) | |
LongitudeEnd | Decimal (12.8) | Долгота (координаты закрытия Заявки) | |
GPSTime | DateTime | Время закрытия Заявки по данным GPS | |
ContactVisiting | GUID | Контактное лицо (Contacts.Id) | |
TypesDepartures | + | GUID | Идентификатор “Типа выезда” (TypesDepartures.Id) |
Importance | + | GUID | Важность Заявки - идентификатор перечисления “Важность” (Enum.StatusImportance) |
Document.Event_CheckList
Название | Document.Event_CheckList |
---|---|
Назначение | Заявка - Чек-листы |
Описание | Хранит привязанные “Вопросы Чек-листов” с привязкой к “Чек-листу” к конкретной Заявке |
Список полей:
Field | Req | Type | Desc | ||
---|---|---|---|---|---|
Id | + | GUID | Уникальный идентификатор | ||
LineNumber | Integer | Порядковый номер (для сортировки) | |||
Ref | + | GUID | Идентификатор Заявки (Event.Id) | ||
Action | + | GUID | Идентификатор “Вопроса чек-листов” (Actions.Id) | ||
CheckListRef | + | GUID | Идентификатор Чек-листа, из которого подставлен вопрос (CheckList.Id) | ||
Result | String (1000) | Значение - ответ на вопрос Чек-лиса | |||
ActionType | + | GUID | Идентификатор типа значения параметров (Enum.TypesDataParameters) | ||
Required | Boolean | Признак обязательности ответа на вопрос |
Document.Event_Equipments
Название | Document.Event_Equipments |
---|---|
Назначение | Заявка - Привязанное оборудование |
Описание | Хранит элементы “Оборудования”, по которому требуется провести работы в рамках Заявки |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Event.Id) |
Equipment | + | GUID | Идентификатор Оборудования (Equipment.Id) |
Terget | String (1000) | Описание работ, которые требуется произвести по оборудованию | |
Result | + | GUID | Идентификатор результата по работам (Enum.ResultEvent) |
Comment | String (1000) | Комментарий исполнителя | |
SID | + | GUID |
Document.Event_EventFiskalProperties
Название | Document.Event_EventFiskalProperties |
---|---|
Назначение | Заявка - Реквизиты фискальных чеков |
Описание | При успешном пробитии чека в таблицу записываются фискальные реквизиты кассового чека. Если для Заявки есть хотя бы одна запись в этой таблице - чек считается пробитым, и повторное пробитие невозможно. |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Event.Id) |
CheckNumber | Integer | Фискальный номер чека | |
Date | DateTime2 | Дата пробития чека | |
ShiftNumber | Integer | Номер кассовой смены, в которой пробит чек | |
NumberFtpr | String (100) | Заводской номер фискального регистратора | |
PaymentType | Integer | Идентификатор типа оплаты | |
PaymentAmount | Decimal (15.2) | Сумма оплаты | |
User | + | GUID | Идентификатор сотрудника, пробившего чек (User.Id) |
Document.Event_Files
Название | Document.Event_Files |
---|---|
Назначение | Заявка - Прикрепленные файлы |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Event.Id) |
FullFileName | + | String (1000) | Полное имя файла |
FileName | + | GUID | Внутренне имя файла (автоматически формируется в формате GUID) |
Document.Event_Parameters
Название | Document.Event_Parameters |
---|---|
Назначение | Заявка - Параметры |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Event.Id) |
Parameter | + | GUID | Идентификатор “Параметра заявки” (EventOptions.Id) |
Val | + | String (100) | Значение параметра |
Document.Event_Photos
Название | Document.Event_Photos |
---|---|
Назначение | Заявка - Фотографии оборудования |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Event.Id) |
UIDPhoto | + | GUID | Идентификатор файла “FileName” из таблицы “Заявка - Прикрепленные файлы” |
Equipment | + | GUID | Идентификатор Оборудования (Equipment.Id) |
Document.Event_ServicesMaterials
Название | Document.Event_ServicesMaterials |
---|---|
Назначение | Заявка - Услуги и Материалы |
Описание | В таблице содержатся услуги и материалы, которые должны были планово отгрузиться клиенту, а также информация о фактически отгруженных позициях и суммах. Состав таблицы является основанием для пробития фискального чека |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Event.Id) |
SKU | + | GUID | Идентификатор “Услуги и материала” (RIM.Id) |
Price | Decimal (15.2) | Цена, по которой отгружена позиция | |
AmountPlan | Decimal (10.3) | Плановое количество к отгрузке | |
SumPlan | Decimal (15.2) | Плановая сумма оплаты | |
AmountFact | Decimal (10.3) | Фактически отгруженное количество | |
SumFact | Decimal (15.2) | Фактически оплаченная сумма |
Document.Event_TypeDepartures
Название | Document.Event_TypeDepartures |
---|---|
Назначение | Заявка - Типы оплат |
Описание | В таблицу нужно добавить одну строку - тип оплаты, соотвествующую реквизиту Event.TypesDepartures |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID. | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Event.Id) |
SKU | + | GUID | Идентификатор “Услуги и материала” (TypesDepartures.Id) |
Active | Boolean | Признак активности строки. Активной может быть только одна строка |
Document.Cheque
Название | Document.Cheque |
---|---|
Назначение | Документ “Чек” |
Описание | В таблице оформленные документы “Чек” с необходимыми фискальными реквизитами |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
IsFiscalCheque | Boolean | Порядковый номер (для сортировки) | |
ChequeType | GUID | Идентификатор перечисления “Тип чека” (Enum.ChequeType) | |
PositionPaymentType | GUID | Идентификатор перечисления “Признак способа расчета” (Enum.PositionPaymentType) (в текущей версии задается для чека в целом) | |
Client | GUID | Идентификатор “Клиента” (Catalog.Client) | |
IsMainCheque | Boolean | Признак чека “Основой” - оформлен в рамках отгрузки Заказа (в текущей версии всегда True) | |
OriginalSalesCheck | GUID | Только для чеков возврата - Идентификатор документа “Чек” (Document.Cheque), по которому оформлялся возврат | |
ApplicationForDelivery | GUID | Идентификатор документа “Заявка” (Document.Event), в рамках которой оформлялся Чек | |
DateOfCheckPrinting | DateTime | Дата и время оформления Чека | |
ShiftNumber | Integer | Номер смены фискального регистратора (ФР) | |
TotalAmount | Decimal (15.2) | Сумма чека | |
FptrNumber | String (100) | Заводской номер ФР | |
FiscalStorageNumber | String (100) | Номер фискального накопителя (ФН) | |
DocumentNumberWithinTheShift | Integer | Номер чека в рамках смены | |
FiscalSignOfTheDocument | Decimal (15.3) | Фискальный номер документа | |
Latitude | Decimal (12.8) | Географические координаты (широта) | |
Longitude | Decimal (12.8) | Географические координаты (долгота) | |
GPSDateTime | DateTime2 | Дата и время по данным датчика GPS | |
ClientAddress | String (1000) | Адрес клиента (как он был отпечатан на чеке) | |
Comment | String (1000) | Коммментарий | |
PhoneOrEmail | String (1000) | Телефон или email покупателя (если был указан) | |
AppliedTaxSystem | String (1000) | Система налогообложения | |
AuthorMA | GUID | Идентификатор Исполнителя - сотрудника (User.Id) |
Document.Cheque_Nomenclature
Название | Document.Cheque_Nomenclature |
---|---|
Назначение | Чек - Товары и услуги |
Описание | Перечень позиций чека, цены, количество, суммы |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Cheque.Id) |
RIM | + | GUID | Идентификатор “Услуги и материала” (RIM.Id) |
PriceFact | + | Decimal (15.2) | Фактическая цена |
AmountFact | + | Decimal (10.3) | Фактическое количество |
SumFact | + | Decimal (15.2) | Фактическая сумма |
VAT | + | GUID | Идентификатор переисления “Ставки НДС” (Enum.VAT) |
DiscountAmount | Decimal (15.2) | Сумма скидки на позицию |
Document.Cheque_Payment
Название | Document.Cheque_Payment |
---|---|
Назначение | Чек - Оплаты |
Описание | Перечень оплат и сумм |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Cheque.Id) |
PaymentType | + | GUID | Идентификатор “Тип оплаты” (Catalog.ListOfPayments) |
PaymentAmount | + | Decimal (15.2) | Сумма по указанному Типу оплаты |
Document.Cheque_ChequePhoto
Название | Document.Cheque_ChequePhoto |
---|---|
Назначение | Заявка - Фотографии оборудования |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Cheque.Id) |
PhotoId | + | GUID | Внутренне имя файла (автоматически формируется в формате GUID) |
Comment | String (1000) | Комментарий к фото |
Document.EventHistory
Название | Document.EventHistory |
---|---|
Назначение | История оборудования |
Описание | В таблице хранятся записи о всех работах, проведенных с оборудованием |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Date | DateTime | Порядковый номер (для сортировки) | |
DeletionMark | + | Boolean | Признак пометки на удаление |
Status | + | GUID | Идентификатор перечисления “Статуса Заявки” (Enum.StatusyEvents) |
Event | + | GUID | Идентификатор “Заявки” (Event.Id) |
Author | GUID | Идентификатор сотрудника (User.Id, создавшего Заявки) | |
UserMA | GUID | Идентификатор Исполнителя - сотрудника (User.Id) |
Document.NeedMat
Название | Document.NeedMat |
---|---|
Назначение | Заявка на материалы |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Posted | + | Boolean | Признак “проведенного” документа |
DeletionMark | + | Boolean | Признак пометки на удаление |
Date | + | DateTime | Дата создания документа |
Number | String (9) | Номер документа | |
DocIn | GUID | Идентификатор “Заявки” (Event.Id), в рамках которого оформлена “Заявка на материалы” | |
StatsNeed | + | GUID | Идентификатор значения перечисления “Статусы Заявки на материалы” (Enum.StatsNeedNum) |
SR | + | GUID | Идентификатор сотрудника (User.Id, создавшего Заявку) |
FillFull | Boolean | Признак, что Заявка создана “по норме”. При обработке такой заявки игнорируется кол-во затребованных позиций, а состав заявки формируется с учетом норм и остатков | |
SRMComment | String (1000) | Комментарий сотрудника, обрабатывающего Заявку | |
SRComment | String (1000) | Комментарий автора Заявки |
Document.NeedMat_Matireals
Название | Document.NeedMat_Matireals |
---|---|
Назначение | Заявка на материалы - Состав |
Описание | Список и количество затребованных и отгруженных материалов |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки на материалы (NeedMat.Id) |
SKU | + | GUID | Идентификатор “Услуги и материала” (RIM.Id) |
Count | + | Decimal (15.3) | Количество затребованных / отгруженных материалов |
Document.Reminder
Название | Document.Reminder |
---|---|
Назначение | Уведомление |
Описание | Список уведомлений о продажах и проблемах в рамках Заявкок |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Posted | + | Boolean | Признак “проведенного” документа |
DeletionMark | + | Boolean | Признак пометки на удаление |
Date | + | DateTime | Дата создания документа |
Number | String (9) | Номер документа | |
Reminders | + | GUID | Идентификатор “Заявки” (Event.Id), в рамках которого оформлено Уведомление |
ViewReminder | + | GUID | Идентификатор значения перечисления “Типы Уведомлений” (Enum.FoReminders) |
Comment | String (1000) | Комментарий |
Document.Reminder_Photo
Название | Document.Reminder_Photo |
---|---|
Назначение | Уведомление - Фотографии |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Reminder.Id) |
IDPhoto | + | GUID | Идентификатор файла |
Document.Task
Название | Document.Task |
---|---|
Назначение | Задача |
Описание | Задачи - это отдельные сущности, исполнение которых можно отслеживать в рамках Заявки. Задачи могут быть назначены: - на Клиента (будет отображаться во всех Заявках по клиенту) - на Оборудование (будет отображаться во всех Заявках, где есть указанное Оборудование), - на Заявку (будет отображаться в конкретной Заявке) |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Posted | + | Boolean | Признак “проведенного” документа |
DeletionMark | + | Boolean | Признак пометки на удаление |
Date | + | DateTime | Дата создания документа |
Number | String (9) | Номер документа | |
Description | String (1000) | Описание Задачи | |
Client | GUID | Идентификатор Клиента (Client.Id, на которого назначена Задача) | |
Equipment | GUID | Идентификатор Оборудования (Equipment.Id), на которое назначена Задача | |
Event | GUID | Идентификатор “Заявки” (Event.Id), на который назначена Задача | |
TaskType | String (100) |
Document.Task_Status
Название | Document.Task_Status |
---|---|
Назначение | Задача - Статусы |
Описание | Таблица для отслеживания статусов Задач. Дополнительно зраним исполнителя, который выполнил Задачу, и Заявка, в рамках которой Задача была выполнена |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки на материалы (NeedMat.Id) |
CommentContractor | + | String (1000) | Комментарий исполнителя |
Status | + | GUID | Идентификатор значения перечисления “Статусы Задач” (Enum.StatusTasks) |
UserMA | + | GUID | Идентификатор выполнившего Исполнителя (User.Id) |
ActualEndDate | + | DateTime | Дата выполнения Задачи |
CloseEvent | + | GUID | Идентификатор “Заявки” (Event.Id), в рамках которого выполнена Задача |
Document.Task_Targets
Название | Document.Task_Targets |
---|---|
Назначение | Задача - Цели |
Описание | По каждой задаче может быть поставлено несколько целей. В таблице отслеживается исполнение этих целей. |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки на материалы (NeedMat.Id) |
Description | + | GUID | Описание целей |
IsDone | + | Boolean | Признак, что цель достигнута |
Типовые фильтры
Для уменьшения данных, хранимых на мобильном устройстве, а также для минимизации трафика при обмене между мобильным приложением и сервером в решении на таблицы накладываются дополнительные фильтры, отсекающие лишние данные.
Ниже приведены фильтры, наложенные на основные таблицы. На таблицы, связанные с основными (у которых имя представляет собой <ИмяОсновной>_<ИмяСвязанной>
) - дублируются фильтры основных таблиц
Таблица: “Catalog.TypesDepartures”
Описание фильтра:
“Типы выездов” никак не фильтруются - на все устройства таблица с типами выездов попадает полностью.
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Catalog.RIM”
Описание фильтра:
“Услуги и материалы” не фильтруются. На все устройства попадают все “Услуги и материалы”, чтобы мобильные сотрудники могли в рамках Заявки отгружать клиенту любые услуги и материалы.
При включенном функционале “Рюкзак” дополнительная фильтрация отображаемых услуг и материалов выполняется на мобильном устройстве.
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Document.Reminder”
Описание фильтра:
Уведомления не фильтруются. Их передача осуществляется только с мобильного приложения на сервер
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Document.Event”
Описание фильтра:
На мобильное устройство уходят Заявки, соответствующие следующим условиям:
- назначенный исполнитель соотвествует пользователю, авторизованному на мобильном устройстве
- плановая дата Заявки находится текущая либо в будущем и статус один из: ....
- плановая дата Заявки на 31 день в прошлом и статус один из: …
Запрос для фильтрации (в формате SQL):
t.[Id] IN(SELECT DISTINCT EV.[Id] FROM [Document].[Event] EV JOIN [Enum].[StatusyEvents] SE ON EV.[Status] = SE.[Id] LEFT JOIN [Document].[EventHistory] EH ON EH.Event = EV.Id WHERE (EV.[UserMA] = @UserId OR (EH.UserMA = @UserId AND EH.Date >(getDate()-30))) AND EV.[StartDatePlan] >(getDate() - 31) AND (NOT (SE.[Name] = 'New')) AND (NOT (SE.[Name] = 'Done' OR SE.[Name] = 'Cancel' OR SE.[Name] = 'DoneWithTrouble' OR SE.[Name] = 'Close' OR SE.[Name] = 'NotDone' OR SE.[Name] = 'OnTheApprovalOf') OR ((SE.[Name] = 'Done' OR SE.[Name] = 'Cancel' OR SE.[Name] = 'DoneWithTrouble' OR SE.[Name] = 'Close' OR SE.[Name] = 'NotDone' OR SE.[Name] = 'OnTheApprovalOf') AND EV.[ActualEndDate] >(getDate() - 1))))
Таблица: “Document.EventHistory”
Описание фильтра:
“История по Заявкам” не фильтруется. Любой сотрудник может увидеть, что происходило по любой Заявке, которая ему назначена. Доступ к истории возможен только из Заявок, которые в свою очередь фильтруются. Таким образом сотрудник не получит доступа к чужим Заявкам.
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Document.Cheque”
Описание фильтра:
На мобильное устройство уходят Чеки, соответствующие следующим условиям:
- автор чека соотвествует пользователю, авторизованному на мобильном устройстве
- Дата пробития Чека на 31 день в прошлом
Запрос для фильтрации (в формате SQL):
t.[Id] IN (SELECT DC.[Id] From [Document].[Cheque] DC WHERE DC.[AuthorMA] = @UserId AND DC.[DateOfCheckPrinting] > getDate()-31)
—
Таблица: “Catalog.SKU”
Описание фильтра:
“Номенклатура” попадет на мобильное устройство только та, которая используется в привязанных к Завяке “Услугах и материалах”
Запрос для фильтрации (в формате SQL):
t.Id IN (SELECT DE.SKU FROM [Document].[Event_ServicesMaterials] DE WHERE DE.Ref IN (SELECT SE.Id FROM [Document].[Event] SE WHERE SE.UserMA = @UserId))
Таблица: “Catalog.ServiceAgreement”
Описание фильтра:
На мобильное устройство выгружаются только те “Договоры”, которые привязаны к Оборудованию, имеющемуся в Заявках текущего пользователя.
Запрос для фильтрации (в формате SQL):
t.Id IN (SELECT SE.CantractService FROM [Catalog].[Equipment_Equipments] SE WHERE SE.Clients IN (SELECT DE.Client FROM [Document].[Event] DE WHERE DE.UserMA = @UserId))
Таблица: “Catalog.EquipmentOptions”
Описание фильтра:
“Параметры оборудования” не фильтруются и полностью уходят на мобильные устройства.
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Catalog.Equipment”
Описание фильтра:
На мобильное устройство выгружается только “Оборудование”, имеющееся в Заявках текущего пользователя
Запрос для фильтрации (в формате SQL):
t.Id IN (SELECT DE.Equipment FROM [Catalog].[Equipment_Equipments] DE WHERE DE.Clients IN (SELECT SE.Client FROM [Document].[Event] SE WHERE SE.UserMA = @UserId))
Таблица: “Catalog.Client”
Описание фильтра:
На мобильное устройство выгружаются “Клиенты” имеющиеся в Заявках текущего пользователя
Запрос для фильтрации (в формате SQL):
t.Id IN (SELECT DE.Client FROM [Document].[Event] DE WHERE DE.UserMA = @UserId)
Таблица: “Catalog.SettingMobileApplication”
Описание фильтра:
Настройки мобильного приложения не фильтруются и попадают на все мобильные устройства всем пользователям
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Catalog.User”
Описание фильтра:
На мобильное устройство выгрузятся только “Сотрудники”, которые участвовали в истории оборудования, связанного с Заявками текущего пользователя
Запрос для фильтрации (в формате SQL):
t.[Id] = @UserId OR t.[Id] IN (SELECT Executor FROM [Catalog].[Equipment_EquipmentsHistory] WHERE Equipments IN ( SELECT DE.Equipment FROM [Catalog].[Equipment_Equipments] DE WHERE DE.Clients IN (SELECT SE.Client FROM [Document].[Event] SE WHERE SE.UserMA = @UserId))) OR t.[Id] IN (SELECT [Author] FROM [Document].[Event] WHERE [UserMA] = @UserId)
Таблица: “Catalog.Accounts”
Описание фильтра:
“Контрагенты” не фильтруются и попадают на все мобильные устройства. В рамках решения эти данные на мобильном устройстве нигде не отображаются и служат лишь для сохранения целостности данных
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Catalog.ClientOptions”
Описание фильтра:
“Параметры клиента” не фильтруются и выгружаются всем мобильным пользователям
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Catalog.EventOptions”
Описание фильтра:
“Параметры заявок” не фильтруются и выгружаются на все мобильные устройства
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Document.CheckList”
Описание фильтра:
На мобильнее устройства выгружаются только те “Чек-листы”, которые присутствуют в Заявках текущего пользователя
Запрос для фильтрации (в формате SQL):
t.Id IN (SELECT DEC.[CheckListRef] FROM [Document].[Event_CheckList] DEC LEFT JOIN [Document].[Event] DE ON DEC.Ref = DE.Id WHERE DE.[UserMA] = @UserId)
Таблица: “Catalog.Actions”
Описание фильтра:
“Вопросы чек-листов” уйдут на мобильное устройство только при условии, что они присутствуют в Чек-листе или в Заявке, назначенной текущему пользователю
Запрос для фильтрации (в формате SQL):
t.Id IN (SELECT DEC.Action FROM [Document].[Event_CheckList] DEC LEFT JOIN [Document].[Event] DE ON DEC.Ref = DE.Id WHERE DE.[UserMA] = @UserId)
Таблица: “Catalog.Contacts”
Описание фильтра:
“Контактные лица” не фильтруются
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Document.NeedMat”
Описание фильтра:
“Заявки на материалы” - выгружаются только созданные текущим пользователем
Запрос для фильтрации (в формате SQL):
t.[SR] = @UserId
Таблица: “Document.Task”
Описание фильтра:
“Задачи” не фильтруются, так как могут быть связаны не только с Заявками, но и с Клиентами и Оборудованием. Поэтому они все должны быть доступны всем пользователям
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Catalog.RIM”
Описание фильтра:
Выгружаются товары, имещиеся в Заказах текущего пользователя за последние 14 дней
Запрос для фильтрации (в формате SQL):
t.[Id] IN ( SELECT DESM.SKU FROM [Document].[Event] as EV JOIN Document.Event_ServicesMaterials DESM ON DESM.Ref = EV.Id WHERE EV.Id IN (SELECT DISTINCT EV.[Id] FROM [Document].[Event] EV JOIN [Enum].[StatusyEvents] SE ON EV.[Status] = SE.[Id] LEFT JOIN [Document].[EventHistory] EH ON EH.Event = EV.Id WHERE (EV.[UserMA] = @UserId OR (EH.UserMA = @UserId AND EH.Date > (getDate()-14))) AND EV.[StartDatePlan] > (getDate() - 14) AND (NOT (SE.[Name] = 'New')) AND (NOT (SE.[Name] = 'Done' OR SE.[Name] = 'Cancel' OR SE.[Name] = 'DoneWithTrouble' OR SE.[Name] = 'Close' OR SE.[Name] = 'NotDone' OR SE.[Name] = 'OnTheApprovalOf') OR ((SE.[Name] = 'Done' OR SE.[Name] = 'Cancel' OR SE.[Name] = 'DoneWithTrouble' OR SE.[Name] = 'Close' OR SE.[Name] = 'NotDone' OR SE.[Name] = 'OnTheApprovalOf') AND EV.[ActualEndDate] >(getDate() - 1)))) ) OR t.Favorites = 1
Таблица: “Catalog.Roles”
Описание фильтра:
“Роли” не фильтруются - контроль прав должен выполняться для всех ролей
Запрос для фильтрации (в формате SQL):
<отсутствует>
Таблица: “Catalog.RoleWebactions”
Описание фильтра:
“Права ролей” - выгружаются полностью для корректного контроля прав
Запрос для фильтрации (в формате SQL):
<отсутствует>
Настройки мобильного приложения
Настройки мобильного приложения являются общими для всех устройств и не зависят от текущего пользователя.
Наименование настройки | Значение (логическое) | Значение (числовое) | Описание |
---|---|---|---|
AddUnPlanMaterials | 1 | 0 | Возможность добавлять материалы кроме плановых |
AddUnPlanService | 1 | 0 | Возможность добавлять услуги роме плановых |
AllowGalery | 1 | 0 | Возможность вставлять фотографии не только с камеры, но и из галереи мобильного устройства |
EditPlanMaterials | 1 | 0 | Возможность редактирования количество материалов относительно планового |
EditPlanService | 1 | 0 | Возможность редактирования количество услуг относительно планового |
HistoryLength | 1 | 90 | Видимость истории и ее длительность в днях |
PictureSize | 0 | 2500 | Максимальный размер фотографии в точках по длинной стороне |
UsedCalculate | 1 | 0 | Отображать цену и сумму |
UsedCalculateMaterials | 1 | 0 | Отображать цену и сумму по материалам |
UsedCalculateService | 1 | 0 | Отображать цену и сумму по услугам |
UsedCheckLists | 1 | 0 | Использование чек-листов |
UsedEquipment | 1 | 0 | Возможность работы с оборудованием |
UsedGpsFix | 0 | 0 | Использование GPS |
UsedServiceBag | 0 | 0 | Использование “Рюкзака” |
EnableFPTR | 1 | 0 | Возможность работы с фискальным регистратором на мобильном устройстве |
Версии документа и внесенные изменения
Версия | Дата публикации | Внесенные изменения |
---|---|---|
1.3 | 26.06.2017 | Структра таблиц приведена в соответствие с релизом 1.3.0.0 |
1.2 | 10.04.2017 |
|
1.1 | 17.03.2017 | Исходная публикация |