Версия 1.4 от 11.07.2017
Содержание
Протокол обмена
Общее описание протокола и точки подключения
Grotem.Mobile имеет удобный API-интерфейс, позволяющий с помощью специальных запросов обмениваться данными со сторонними системами.
...
{идентификатор внешнего клиента}
- уникальный идентификатор внешней БД. Должен быть уникальным и фискированным для каждой внешней системы.
Алгоритм синхронизации
Общее описание
При синхронизации сервер GROTEM.Mobile позволяет отслеживать изменения. Для этих целей у всех объектов в БД Grotem.Mobile используется служебное поле Timestamp
, где хранится время последнего изменения. При обмене данными в структуре файла обмена предусмотрены поля TimestampFrom
и TimestampTo
.
...
Обмен инициируется со стороны клиента (внешней системы).
Клиент отправляет свой документ с данными и заполненным полем TimestampFrom
, в нем передается время последней успешной синхронизации с сервером. Если это поле = 0, то синхронизация считается начальной и клиент получит полный набор данных с сервера.
Сервер обрабатывает полученные данные:
- получает документ с данными
- заполняет в нём поле
TimestampTo
текущей датой - выполняет обновление записей или помечает их как удаленные
- всем затронутым (обновленным или удаленным) записям присваивается одно и то же значение
Timestamp
= TimestampTo
Сервер формирует набор данных для клиента:
- получает список записей из всех таблиц изменённых после TimestampFrom (у которых
Timestamp
>= TimestampFrom
) - дополняет список записей связанными сущностями (подробнее см. “Выгрузка связанных данных”)
- производит фильтрацию данных в соответствии с настроенными для каждой таблицы фильтрами (подробнее см. “Фильтрация данных”)
- исключает из выгрузки объекты, которые пришли со стороны клиента в рамках текущей сессии обмена
- формирует JSON-файл, сжимает и возвращает клиенту.
Клиент обрабатывает полученные данные
- измененные записи обновляются в БД
- записи к удалению - удаляются из БД
Выгрузка связанных данных
У всех объектов БД добавлено служебное поле KeyFieldTimestamp
. При выгрузке сервер анализирует значение времени в этом поле. И если хотя бы у одного объекта это поле попадает в условия выгрузки (KeyFieldTimestamp
>= TimestampFrom
):
...
Установка поля KeyFieldTimestamp
может приводить к увеличению времени синхронизации.
Фильтрация данных
Для уменьшения объема передаваемых данных, а также для ограничения доступа к ним на стороне сервера используется фильтрация выгружаемых клиенту данных.
...
Фильтры формируются на этапе проектирования структуры данных. Текущие фильтры описаны в разделе “Типовые фильтры”.
Структура файла обмена
Общее описание
Файл обмена формируется и получается в JSON-формате (кодировка UTF-8).
...
{
"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
...
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
...
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
...
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.34)) |
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 |
---|
Назначение | Список контактов, связанных с клиентом |
Описание | “Контактные лица” - это отдельный список. В этой таблице указывается ссылка на элемент списка “Контактных лиц”, что позволяет привязать одно и то же контактное лицо к нескольким клиентам |
...
Поле | Обяз. | Тип | Описание |
---|
Id | + | GUID | Уникальный идентификатор |
LineNumber |
| Integer | Порядковый номер (для сортировки) |
Ref | + | GUID | Идентификатор клиента (Client.Id) |
Contact | + | GUID | Идентификатор контактного лица (Contact.Id) |
Actual |
| Boolean | Признак актуальности |
Catalog.Client_AdditionalAddresses
Название | Catalog.Client_AdditionalAddresses |
---|
Назначение | Список адресов клиента |
Описание | Список адресов клиента, котрые можно указывать при доставке |
Список полей:
Поле | Обяз. | Тип | Описание |
---|
Id | + | GUID | Уникальный идентификатор |
LineNumber |
| Integer | Порядковый номер (для сортировки) |
Ref | + | GUID | Идентификатор клиента (Client.Id) |
Description |
| String(100) | Краткое описание адреса |
Latitude |
| Decimal (12.8) | Широта |
Longitude |
| Decimal (12.8) | Долгота |
Address |
| String(1000) | Полный адрес |
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.34)) |
DisplayingBMA |
| Boolean | Признак отображения в мобильном приложении |
EditingBMA |
| Boolean | Возможность редактирования в мобильном приложении |
Catalog.ClientOptions_ListValues
Название | Catalog.ClientOptions_ListValues |
---|
Назначение | Значения для параметров клиента в с типом “Выбор из списка” |
Описание |
|
...
Поле | Обяз. | Тип | Описание |
---|
Id | + | GUID | Уникальный идентификатор |
LineNumber |
| Integer | Порядковый номер (для сортировки) |
Ref | + | GUID | Идентификатор параметра клиента (ClientOptions.Id) |
Val |
| String (100) | Значение |
Название | Catalog.Contacts |
---|
Назначение | Контактные лица |
Описание | Полный список контактных лиц в системе, которые могут быть привязаны к одному или нескольким клиентам (см. таблицу “Catalog.Client_Contacts”) |
...
Поле | Обяз. | Тип | Описание |
---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code |
| String (9) | Код |
Position |
| String (100) | Должность |
Tel |
| String (100) | Телефон |
EMail |
| 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.34)) |
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.34)) |
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.34)) |
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) | Идентификатор пользователя во внешней системе (используется при интеграциях) |
EMail |
| String (100) | Адрес электронной почты |
UserID |
| 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, на которого назначена Заявка) |
Address |
| GUID | Идентификатор строки с дополнительным адресом клиента |
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
...
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 |
---|
Назначение | Заявка - Фотографии оборудования |
Описание |
|
...
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 | Признак, что цель достигнута |
Типовые фильтры
Для уменьшения данных, хранимых на мобильном устройстве, а также для минимизации трафика при обмене между мобильным приложением и сервером в решении на таблицы накладываются дополнительные фильтры, отсекающие лишние данные.
...
t.[Id] IN (SELECT DC.[Id] From [Document].[Cheque] DC WHERE DC.[AuthorMA] = @UserId AND DC.[DateOfCheckPrinting] > getDate()-31)
—
Таблица: “Catalog.SKU”
Описание фильтра:
...
Запрос для фильтрации (в формате 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.4 | 11.07.2017 | Структра таблиц приведена в соответствие с релизом 1.4.0.0- Добавлена таблица с адресами Клиента ("Catalog.Client_AdditionalAddresses")
- В документ “Заявка” добалена возможность указать адреса клиента - поле "Document.Event.Address"
|
1.3 | 26.06.2017 | Структра таблиц приведена в соответствие с релизом 1.3.0.0 |
1.2 | 10.04.2017 | - Добавлено описание документа “Чек” и связанных с ним таблиц
- Добавлено перечисление “Типы чеков”
- Добавлено перечисление “Признак способа расчета”
- Добавлен справочник “Типы оплат”
- Добавлен справочник “Должности”. Добавлена связка с Пользователями.
- Исключено описание для отправки подтверждения
- Исправлены заголовки
- Новый адрес точки подключения
- Небольшие исправления
- Исправлены реквизиты Заявки (добавлены координаты начала и окончания)
- Исправлены ошибки
- Актуализирована обязательность полей
|
1.1 | 17.03.2017 | Исходная публикация |
...