Содержание
Протокол обмена
Общее описание протокола и точки подключения
Grotem.Mobile имеет удобный API-интерфейс, позволяющий с помощью специальных запросов обмениваться данными со сторонними системами.
Обмен данными осуществляется посредством передачи сжатых в gzip JSON документов POST запросом по протоколу HTTP.
- Точка подключения находится по адресу:
http(s)://{адрес сервера GROTEM}/
- для отправки и получения данных{имя сервера
{имя решения}/admin/SyncSolutionDatabaseGROTEM
}/
- Порт подключения зависит от конфигурации 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.OrderStatus
Название | Enum.OrderStatus |
---|---|
Назначение | Статус заказа |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Paid | Оплачен (100% предоплата) | ||
PartPaid | С предоплатой | ||
Delivery | Только отгрузка товара (без предоплаты) | ||
Credit | Оплата по кредиту | ||
Advance | Аванс |
Enum.OrderPaymentTypes
Название | Enum.OrderPaymentTypes |
---|---|
Назначение | Статус оплаты |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Prepayment | Предоплата | ||
DeliveryPayment | Оплата при отгрузке | ||
CreditPayment | Оплата в кредит |
Enum.CashBalanceStatuses
Название | Enum.CashBalanceStatus |
---|---|
Назначение | Указание места, куда были сданы наличные деньги курьером |
Описание | При сдаче наличных денег (раздел "Рейс" мобильного приложения) из списка выбирается место, куда деньги сдаются. |
Id | Name | Description | Comments |
---|---|---|---|
MoneyInTransit | Деньги в пути | ||
MoneyInCashbox | Деньги сданы в кассу | ||
MoneyInTransportDepartment | Деньги сданы в ТО |
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.RouteStatuses
Название | Enum.RouteStatuses |
---|---|
Назначение | Статусы рейса |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
Open | Начат | Рейс начат | |
Closed | Завершен | Рейс завершен |
Enum.SettingType
Название | Enum.SettingType |
---|---|
Назначение | Настройки включения/отключения ряда фунций мобильного приложения (снятие трека перемещения) |
Описание |
Значения:
Id | Name | Description | Comments |
---|---|---|---|
GpsTrackingPermission | Разрешение отслеживания местоположения | Включение снятия gps-координат для отслеживания перемещений мобильного сотрдника |
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 | Не справились | ||
OnRefund | Возврат |
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 | ||
Percent110 | 5 | ||
Percent118 | 6 |
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 | Удаление товара из заказа | ||
ChangingDiscount | Изменение скидки |
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 | Идентификатор типа значения параметров (Enum.TypesDataParameters) |
Catalog.Actions_ValueList
Название | Catalog.Actions_ValueList |
---|---|
Назначение | Значения для вопросов чек-листов в с типом "Выбор из списка" |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор вопроса (Actions.Id) |
Val | String (100) | Значение |
Catalog.ChangeProductOrServiceCountReasons
Название | Catalog.ChangeProductOrServiceCountReasons |
---|---|
Назначение | Причины изменения количества товара/услуги в заказе |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование причины изменения количества товара/услуги. |
IsCompletelyRemoved | + | Boolean | Признак, что товар/услуга полностью удален из заказа |
Catalog.Client
Название | Catalog.Client |
---|---|
Назначение | Клиент |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
ClientINN | String (12) | ИНН клиента | |
Code | String (9) | Код | |
PassportData | String (256) | Серия и номер паспорта клиента. (Используется только при отсутствии ИНН клиента) | |
Latitude | Decimal (12.8) | Широта (географические координаты) | |
Longitude | Decimal (12.8) | Долгота (географические координаты) | |
Address | String (1000) | Адрес | |
Contractor | GUID | Идентификатор связанного контрагента (Accounts.Id) |
Catalog.Coefficients
Название | Catalog.Coefficients |
---|---|
Назначение | Коэффициенты для расчета стоимости услуг |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Description | + | String (100) | Наименование |
Catalog.Client_Contacts
Название | 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 | Идентификатор типа значения параметров (Enum.TypesDataParameters) |
DisplayingBMA | + | Boolean | Признак отображения в мобильном приложении |
EditingBMA | + | Boolean | Возможность редактирования в мобильном приложении |
Catalog.ClientOptions_ListValues
Название | Catalog.ClientOptions_ListValues |
---|---|
Назначение | Значения для параметров клиента в с типом "Выбор из списка" |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор параметра клиента (ClientOptions.Id) |
Val | String (100) | Значение |
Catalog.Coefficients
Название | Catalog.Coefficients |
---|---|
Назначение | Коэффициенты |
Описание | Список коэффициентов, применяемых для расчета стоимости услуг |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Description | + | 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 | Идентификатор статуса оборудования (Enum.StatusEquipment) | |
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 | Идентификатор результата выполнения работ (Enum.ResultEvent) | |
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.EquipmentNodes
Название | Catalog.EquipmentNodes |
---|---|
Назначение | Список узлов оборудования |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Description | + | String (100) | Наименование |
ParentId | GUID | Уникальный идентификатор родительского узла |
Catalog.EquipmentOptions
Название | Catalog.EquipmentOptions |
---|---|
Назначение | Список возможных параметров оборудования |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Code | String (9) | Код | |
DataTypeParameter | + | GUID | Идентификатор типа значения параметров (Enum.TypesDataParameters) |
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.OrderCorrectionReasons
Название | Catalog.OrderCorrectionReasons |
---|---|
Назначение | Список причин изменения заказа |
Описание |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Description | String (100) | Наименование причины корректировки заказа |
Catalog.Positions
Название | Catalog.Positions |
---|---|
Назначение | Должности |
Описание | Список должностей пользователей Catalog.User |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Name | + | String (256) | Краткое наименование должности |
Description | String (256) | Полное наименование должности | |
DeletionMark | Boolean | Признак пометки на удаление |
Catalog.Provider
Название | Catalog.Provider |
---|---|
Назначение | Поставщики |
Описание | Список поставщиков товаров и услуг Catalog.RIM |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
DeletionMark | + | Boolean | Признак пометки на удаление |
Name | + | String (256) | Наименование |
Tin | + | String (100) | ИНН |
LegalName | + | String (256) | Юридическое наименование |
PhoneNumber | + | String (256) | Номер телефона |
Catalog.RemoteChequeNomenclature
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (512) | Наименование номенклатуры |
Amount | Decimal (10,3) | ||
Price | Decimal (15,2) | Цена за единицу | |
TotalSum | Decimal (15,2) | ||
ObjectSign | GUID | ?? | |
VAT | + | GUID | Идентификатор перечисления "Ставки НДС" (Enum.VATS) |
Unit | String (10) | Наименование единицы измерения | |
PositionPaymentType | GUID | Идентификатор перечисления "Признак способа расчета" (Enum.PositionPaymentType) |
Catalog.RIM
Название | Catalog.RIM |
---|---|
Назначение | Список работ и материалов |
Описание | Список работ и материалов для добавления в Заказы и пробития чеков. Хранит в себе признак "Услуга" ("Service"), а также информацию о ценах и ставках НДС. Имеется возможность привязки к объектам "Номенклатура" ("SKU") для консолидации |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Predefined | + | Boolean | Признак предопределенного элемента |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (512) | Наименование |
Code | String (9) | Код | |
IsFolder | + | Boolean | Признак, что элемент является группой и может выступать в качестве родительского |
Parent | GUID | Идентификатор родительской записи (RIM.Id) | |
Price | Decimal (15.2) | Цена за единицу | |
Service | + | Boolean | Признак услуги |
SKU | GUID | Идентификатор элемента номенклатуры (SKU.Id) | |
Provider | GUID | Идентификатор элемента справочника "Поставщики" (Provider.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 | Признак, что пользователи с этой ролью могут модифицировать свои права |
Root | + | Boolean | Признак роли с "неограниченными" правами |
Catalog.RoleWebactions
Название | Catalog.RoleWebactions |
---|---|
Назначение | Права ролей |
Описание | Список, связывающий роли и имеющиеся у них права. Если в этом списке для роли имеется запись с определенным правом - значит роль данным правом обладает. Отсутствие записи означает, что у роли такого права нет |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Role | + | GUID | Идентификатор элемента ролей (Roles.Id) |
Webaction | + | GUID | Идентификатор элемента из списка прав (Enum.Webactions) |
Catalog.Subdivisions
Название | Catalog.Subdivisions |
---|---|
Назначение | Справочник подразделений. |
Описание | Используется для бригадных работ, чтобы бригадир мог добавить в наряд только членов своего подразделения |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование |
Number | Integer | Номер |
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.TimeIntervals
Название | Catalog.TypesDepartures |
---|---|
Назначение | Интервалы доставки |
Описание | Здесь можно задать интервалы доставки, их название и каким цветом они будут выделены |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
DeletionMark | + | Boolean | Признак пометки на удаление |
Description | + | String (100) | Наименование интервала |
Color | String (30) | Цвет | |
StartTime | DateTime | Время начала интервала | |
EndTime | DateTime | Время окончания интервала |
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) | |
INN | String (12) | ИНН пользователя (для передачи в чеке данных об ИНН кассира) |
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.Contract
Название | Document.Contract |
---|---|
Назначение | Договор с клиентом |
Описание | Договор с клиентом с указанием стоимости услуг |
Список полей:
Field | Req | Type | Desc |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Description | + | String (100) | Наименование |
ClientId | + | GUID | Идентификатор клиента (Client.Id) |
PricePerHour | Decimal (5.3) | Стоимость за час | |
PricePerKilometer | Decimal (5.3) | Стоимость за километр (сейчас не используется) | |
FixedRoadPrice | Decimal (5.3) | Стоимость за вызов инженера (фиксированная цена за проезд до клиента) (сейчас не используется) | |
DaysPorPay | Decimal (5.3) | Количество дней до оплаты |
Document.Contract_Coefficients
Название | Document.Contract |
---|---|
Назначение | Коэффициенты для расчета стоимости услуг в соответствии с договором |
Описание |
Список полей:
Field | Req | Type | Desc |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
ContractId | + | GUID | Идентификатор договора с клиентом (Contract.Id) |
CoefficientId | + | GUID | Идентификатор коэффициента (Coefficient.Id) |
Value | + | Decimal (8.3) | Значение коэффициента |
Document.CorrectionOrderPhotos
Название | Document.Contract |
---|---|
Назначение | Фото накладной и причина корректировки |
Описание |
Список полей:
Field | Req | Type | Desc |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
OrderId | + | GUID | Идентификатор заказа (Order.Id) |
PhotoId | + | GUID | Идентификатор фото накладной (Photo.Id) |
CorrectionReasonId | + | GUID | Идентификатор причины изменения заказа (OrderCorrectionReasons.Id) |
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) |
NumberOfExternalSystem | + | String (256) | Номер Заявки во внешней учетной системе |
Reward | - | Decimal(15,2) | Cумма вознаграждения комиссионера/агента, если включен компонент "Агент" в настройках |
TimeInterval | - | GUID | Идентификатор интервала доставки из таблицы [Catalog].[TimeIntervals] |
ContractId | - | GUID | Идентификатор контактного лица контрагента из таблицы [Catalog].[Contacts] |
SubdivisionId | - | GUID | Идентификатор подразделения из таблицы [Catalog].[Subdivisions] |
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 | Признак обязательности ответа на вопрос |
OrderId | + | GUID | Идентификатор Заказа (Order.ID) |
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) |
NomenclatureCode | String (64) | Код товарной номенклатуры | |
Price | Decimal (15.2) | Цена (без учета скидки), по которой отгружена позиция | |
AmountPlan | Decimal (10.3) | Плановое количество к отгрузке | |
SumPlan | Decimal (15.2) | Плановая сумма оплаты (без учета скидки) | |
Discount | Decimal (15.2) | Сумма скидки на текущую строку. Сумма к оплате рассчитывается как (SumPlan - Discount) | |
AmountFact | Decimal (10.3) | Фактически отгруженное количество | |
SumFact | Decimal (15.2) | Фактически оплаченная сумма | |
TS | GUID | Идентификатор СНО в Catalog.SettingMobileApplication (возможные значения: OSN, USNDebit, USNDebitMinusCredit, ESHN, PSN и null) | |
OrderId | GUID | Идентификатор документа Document.Order | |
PaidSum | Decimal (15.2) | Фактически оплаченна сумма (не используется, оставлена для совместимости. данные по оплатам нужно брать из чеков). | |
ChangeReasonId | GUID | Идентификатор причины изменения количества товара/услуги в заказе (ChangeProductOrServiceCountReasons.Id) | |
EquipmentNodeId | GUID | Идентификатор узла оборудования (EquipmentNodes.Id) | |
CustomsDeclaration | String (50) | Номер ГТД | |
CountryCode | String (3) | Код страны происхождения товара (по ОКСМ, код Альфа-3) | |
NomenclatureCode | String (64) | Код номенклатуры (не используется, оставлен для совместимости) |
Document.Event_ServicesMaterials_Marking
Название | Document.Event_ServicesMaterials_Marking |
---|---|
Назначение | Заявка - Коды маркировки |
Описание | В таблице хранятся серийные номера |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
id | + | GUID | Уникальный идентификатор |
ServicesMaterialsId | + | GUID | Внешний ключ. Указывает на идентификатор товара в таблице [Document].[Event_ServicesMaterials] |
GTIN | + | nvarchar(14) | GTIN - код товара |
IsDeleted | BOOLEAN | Признак, означающий, что позиция удалена | |
KeyFieldTimestamp | BIGINT | timestamp последнего изменения любого из ключевых полей таблицы | |
NomenclatureCode | + | nvarchar(50) | Cерийный номер товарной позиции |
ScanNomenclatureCode | nvarchar(150) | Полный штрихкод для товарной позиции | |
IsScanned | BOOLEAN | Признак, что данный маркировочный код отсканирован |
Document.Event_TypeDepartures
Название | Document.Event_TypeDepartures |
---|---|
Назначение | Заявка - Типы оплат |
Описание | В таблицу нужно добавить одну строку - тип оплаты, соотвествующую реквизиту Event.TypesDepartures |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID. | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заявки (Event.Id) |
TypeDeparture | + | GUID | Идентификатор "Тип оплаты" (TypesDepartures.Id) |
Active | + | Boolean | Признак активности строки. Активной может быть только одна строка |
Document.Order
Название | Document.Order |
---|---|
Назначение | Заказ |
Описание | В таблице хранятся записи о заказах сделаных в рамках наряда |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
Number | String (256) | Порядковый номер (для сортировки) | |
Description | String (256) | Описание заказа | |
DeletionMark | + | Boolean | Признак пометки на удаление |
Status | GUID | Идентификатор перечисления "Статуса Заказа" (Enum.OrderStatus) | |
State | GUID | Идентификатор перечисления "Состояния Заказа" (Enum.OrderStates) | |
EquipmentId | GUID | Идентификатор оборудования (Catalog.Equipment) |
Document.Order_OrderPayment
Название | Document.Order_OrderPaymentType |
---|---|
Назначение | Заказ - статус оплаты |
Описание | Перечень статусов оплаты заказа |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Заказа |
OrderPaymentType | + | GUID | Идентификатор "Статус оплаты" |
Sum | + | Decimal (15.2) | Сумма по указанному статусу оплаты |
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) | Сумма скидки на позицию | |
PositionPaymentType | GUID | Идентификатор перечисления "Признак способа расчета" (Enum.PositionPaymentType) |
Document.Cheque_Nomenclature_Marking
Название | Document.Event_Photos |
---|---|
Назначение | Чек - Коды маркировки |
Описание | Коды маркировки номенклатуры чека |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
id | + | GUID | Уникальный идентификатор |
ChequeNomenclatureId | + | GUID | Внешний ключ. Указывает на идентификатор номенклатуры из чека [Document].[Cheque_Nomenclature] |
GTIN | + | nvarchar(14) | GTIN - код товара |
IsDeleted | BOOLEAN | Признак, означающий, что позиция удалена | |
KeyFieldTimestamp | BIGINT | timestamp последнего изменения любого из ключевых полей таблицы | |
NomenclatureCode | + | nvarchar(50) | Cерийный номер товарной позиции |
ScanNomenclatureCode | nvarchar(150) | Полный штрихкод для товарной позиции |
Document.Cheque_Payment
Название | Document.Cheque_Payment |
---|---|
Назначение | Чек - Оплаты |
Описание | Перечень оплат и сумм |
Список полей:
Поле | Обяз. | Тип | Описание |
---|---|---|---|
Id | + | GUID | Уникальный идентификатор |
LineNumber | Integer | Порядковый номер (для сортировки) | |
Ref | + | GUID | Идентификатор Чека (Cheque.Id) |
PaymentType | + | GUID | Идентификатор "Тип оплаты" (Catalog.ListOfPayments) |
PaymentAmount | + | Decimal (15.2) | Сумма по указанному Типу оплаты |
RRN | String (50) | Номер транзации для выполнения возврата эквайринговой операции на ККТ Азур | |
TransactionId | String (80) | Идентификатор эквайринговой транзакции |
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()-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 SE.[Name] = 'OnRefund')
Таблица: “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 | Возможность работы с фискальным регистратором на мобильном устройстве |
IsMultipleTS | 1 | 0 | Возможность работы с различными системами налогообложения |
PaymentAgent | 1 | 0 | Возможность работы в режиме "Платежный агент" |
PaymentReward | 1 | 0 | Печать агентского вознаграждения в чеке |
EnableCodePrint | 1 | 0 | Передача кода товарной номенклатуры на фискальный регистратор |
Использование статусов заказа и оплаты при разных сценариях работы
Системой Grotem Express тот или иной сценарий работы с заказами, имеющими различные способы расчета, определяется через статусы заказов и статусы оплаты. Ниже рассмотрены сценарии работы с такими заказами.
Полная оплата и отгрузка
При отгрузке товара по заказу с получением полной его оплаты в Grotem Express выгружается заказ со статусом «Delivery»:
Статус заказа | Запись в таблицу | Таблица перечисления |
---|---|---|
Delivery | Document.Order | Enum.OrderStatus |
После получения курьером оплаты в таблицу Document.Order_OrderPayment делается запись со статусом «DeliveryPayment»:
Статус платежа | Запись в таблицу | Таблица перечисления |
---|---|---|
DeliveryPayment | Document.Order_OrderPayment | Enum.OrderPaymentTypes |
Отгрузка в кредит
При отгрузке товара по заказу без получения оплаты по нему, товар передается в кредит. При этом в Grotem Express выгружается заказ со статусом «Delivery»:
Статус заказа | Запись в таблицу | Таблица перечисления |
---|---|---|
Delivery | Document.Order | Enum.OrderStatus |
После получения курьером оплаты в таблицу Document.Order_OrderPayment делается запись со статусом «DeliveryPayment»:
Статус платежа | Запись в таблицу | Таблица перечисления |
---|---|---|
DeliveryPayment | Document.Order_OrderPayment | Enum.OrderPaymentTypes |
Оплата кредита
При получении оплаты кредита за заказ, который ранее был отгружен, в Grotem Express выгружается заказ со статусом «Credit»:
Статус заказа | Запись в таблицу | Таблица перечисления |
---|---|---|
Credit | Document.Order | Enum.OrderStatus |
После получения курьером оплаты в таблицу Document.Order_OrderPayment делается запись со статусом «CreditPayment»:
Статус платежа | Запись в таблицу | Таблица перечисления |
---|---|---|
CreditPayment | Document.Order_OrderPayment | Enum.OrderPaymentTypes |
Как настроить отправку пуш-уведомлений
В endpoint на Grotem сервере: /push/sendmessage надо отправить POST запрос следующего вида:
В теле запроса должен быть json:
{
"Data":"ххххххххх",
"AdditionalInfo":"ххххххх",
"Recipients":["71E1C7EF-1387-11E6-B0E4-6C71D97753D2"],
"EventId":"71E1C804-1387-11E6-B0E4-6C71D97753D2",
"EventNumber":"12234",
"ClientName":"ххххх"
}
где:
"Recipients" - это "UserId" (массив);
Примечание. EventNumber и ClientName указывать не обязательно.
Загрузка номенклатуры с кодами маркировки
В endpoint на Grotem сервере: http(s)://<внешний адрес клиента>:<порт >/<сервер>/<решение>/admin/SyncSolutionDatabase надо отправить POST запрос следующего вида:
В теле запроса должен быть json: пример json-файла
Версии документа и внесенные изменения
Версия | Дата публикации | Внесенные изменения |
---|---|---|
1.21.0 | 03.07.2019 | В Catalog.Client добавлено поле ИНН клиента (ClientINN); в Document.EventServicesMaterials добавлен код товарной номенклатуры (NomenclatureCode); в Catalog.SettingMobileApplication добавлена настройка EnableCodePrint (передавать код товарной номенклатуры) |
1.20.0 | 06.06.2019 | В связи с расширением объектной модели добавлено описание новых справочников и документов: Catalog.ChangeProductOrServiceCountReasons, Catalog.Coefficients, Document.Contract, Document.Contract_Coefficients, Catalog.EquipmentNodes, Catalog.TimeIntervals, Enum.CashBalanceStatuses, Enum.OrderPaymentTypes, Enum.RouteStatuses, Document.CorrectionOrderPhotos, Enum.SettingType, Catalog.Subdivisions Добавлены новые поля в Document.Cheque_Payment, Document.Event_CheckList, Document.Event_ServicesMaterials. |
1.14.1 | 12.12.2018 | Добавлен раздел "Использование статусов заказа и оплаты при разных сценариях работы". |
1.14 | 04.12.2018 | Добавлены документы: Document.Order, Document.Order_OrderPayment. В документ Document.Cheque_Nomenclature добавлено поле: PositionPaymentType. В перечисление Enum.VATs добавлены значения ставок 18/118 и 10/110. Добавлены перечисления Enum.OrderStatus (статусы заказа) и Enum.OrderPaymentTypes (статусы оплаты) |
1.13 | 09.10.2018 | Добавлено поле "ИНН кассира" в справочник "Сотрудники". |
1.10 | 12.04.2018 | Размер столбца "Description" Catalog.RIM увеличен до 512 символов включительно. Поле Root таблицы Catalog.User удалено. Вместо него используется поле Root таблицы ролей Catalog.Roles. Поле NumberOfExternalSystem таблицы Document.Event - стало обязательным. Используйте его для передачи номера заявки. |
1.9 | 07.02.2018 | Структура таблиц приведена в соответствие с релизом 1.9.0.0 Добавлен справочник "Поставщики" В "Заявку" добавлены "СНО" для каждой позиции В "Заявку" добавлен "Поставщик" для каждой позиции В "справочник работ и материалов" добавлен идентификатор элемента справочника "Поставщики" (Provider.Id) |
1.6 | 10.08.2017 | Описание TypeDeparture изменено с "Тип выезда" на "Тип оплаты" |
1.6 | 09.08.2017 | Структура таблиц приведена в соответствие с релизом 1.6.0.0
|
1.4 | 11.07.2017 | Структура таблиц приведена в соответствие с релизом 1.4.0.0
|
1.3 | 26.06.2017 | Структура таблиц приведена в соответствие с релизом 1.3.0.0 |
1.2 | 10.04.2017 |
|
1.1 | 17.03.2017 | Исходная публикация |
0 Комментариев