Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Версия 1.4 6 от 1109.0708.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
НазначениеТипы документов 
“Чек”
"Чек"
Описание

Значения:

IdNameDescriptionComments

ChequeClosed0Чек закрыт

ChequeSell1Продажа

ChequeSellReturn2Возврат продажи

ChequeSellAnnulate3Аннулирование продажи

ChequeBuy4Покупка

ChequeBuyReturn5Возврат покупки

ChequeBuyAnnulate6Аннулирование покупки

ChequeSellCorrection7Коррекция продажи

ChequeSellReturnCorrection8Коррекция возврата продажи

ChequeBuyCorrection9Коррекция покупки

ChequeBuyReturnCorrection10Коррекция возврата покупки

Enum.PositionPaymentType

НазваниеEnum.PositionPaymentType
НазначениеПризнак способа расчета
ОписаниеПризнак способа расчета для каждой позиции документа 
“Чек”
"Чек" (в соответствии с ФФД 1.05)

Значения:

IdNameDescriptionComments

Prepayment1001
“Предоплата 100%”
"Предоплата 100%"

Prepayment2
“Предоплата”
"Предоплата"

PrepaidExpense3
“Аванс”
"Аванс"

FullCalculation4
“Полный расчет”
"Полный расчет"

PartialSettlementAndCredit5
“Частичный
"Частичный расчет или
кредит”
кредит"

TransferToCredit6
“Передача
"Передача в
кредит”
кредит"

PaymentOfCredit7
“Оплата кредита”
"Оплата кредита"

Enum.CheckListStatus

НазваниеEnum.CheckListStatus
НазначениеСтатусы 
“Чек
"Чек-
листов”
листов"
Описание

Значения:

IdNameDescriptionComments

BlankЧерновикВ этом статусе Чек-лист может редактироваться, но не выгружается в мобильные приложения

ActiveАктивенЧек-листы выгружаются в мобильные приложения и не редактируются

DisactiveНеАктивенЧек-листы не выгружаются в мобильные приложения и не редактируются

Enum.FoReminders

НазваниеEnum.FoReminders
НазначениеТипы 
“Уведомлений”
"Уведомлений" при завершении Заявки
Описание

Значения:

IdNameDescriptionComments

SaleПродажаУведомление о продаже

ProblemПроблемаУведомление о проблеме

Enum.ResultEvent

НазваниеEnum.ResultEvent
НазначениеРезультаты завершения 
“Заявок”
"Заявок"
Описание

Значения:

IdNameDescriptionComments

NewНовоеЗаявка создана (новый)

DoneВыполненоЗаявка завершена успешно

NotDoneНеВыполненоЗаявка завершена неудачно

Enum.StatsNeedNum

НазваниеEnum.StatsNeedNum
НазначениеСтатусы 
“Заявок
"Заявок на
материалы”
материалы"
Описание

Значения:

IdNameDescriptionComments

NewНоваяЗаявка создана (новый)

DoneОтгруженоЗаявка передана сотруднику, но не подтверждена

ConfirmedПодтвержденоПолучение заявки подтверждено сотрудником

CancelОтмененоЗаявка отклонена

Enum.StatusEquipment

НазваниеEnum.StatusEquipment
НазначениеСтатусы Оборудования при привязке к клиенту
Описание

Значения:

IdNameDescriptionComments

RentАрендаВыдано в аренду

SealesПродажаПродано

LoanСсудаОтгружено под ссуду

DiedУмерНаходится у клиента, но уже не работает

Enum.StatusImportance

НазваниеEnum.StatusImportance
НазначениеВажность
ОписаниеВажность (
“Importance”
"Importance") для 
“Заявки”
"Заявки"

Значения:

IdNameDescriptionComments

StandartСтандартная

HighВысокая

CriticalКритическая

Enum.StatusTasks

НазваниеEnum.StatusTasks
НазначениеСтатусы 
“Задач”
"Задач"
Описание

Значения:

IdNameDescriptionComments

NewНовая

DoneВыполнена

RejectedОтклонена

Enum.StatusyEvents

НазваниеEnum.StatusyEvents
НазначениеСтатусы 
“Заявок”
"Заявок"
Описание

Значения:

IdNameDescriptionComments

NewСоздан

OnHarmonizationНа согласовании

AgreedСогласован

AcceptedПросмотрен

CancelОтклонен

InWorkВ работе

DoneВыполнен

DoneWithTroubleВыполнен с проблемой

OnTheApprovalOfНа утверждении

CloseЗакрыт

NotDoneНе справились

OnRefundВозврат

Enum.TypesDataParameters

НазваниеEnum.TypesDataParameters
НазначениеТипы значений для 
“Вопросов
"Вопросов чек-
листов”
листов", параметров 
“Клиентов” и “Оборудования”
"Клиентов" и "Оборудования"
Описание

Значения:

IdNameDescriptionComments

StringТекст

IntegerЦелое число

DecimalДробное число

BooleanЛогический

DateTimeДата

ValListВыбор из списка

SnapshotСнимок

Enum.TypesEvents

НазваниеEnum.TypesEvents
НазначениеТипы 
“Заявок”
"Заявок"
Описание

Значения:

IdNameDescriptionComments

VisitВизит

TaskЗадача

CallЗвонок

LetterПисьмо

Enum.VATS

НазваниеEnum.VATS
НазначениеСтавки НДС
Описание

Значения:

IdNameDescriptionComments

Percent181

Percent02

PercentWithoOut3

Percent104

Enum.Webactions

НазваниеEnum.Webactions
НазначениеДоступные права
Описание

Значения:

IdNameDescriptionComments

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
"Client.
Contractor”
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.4)
Enum.TypesDataParameters)

Catalog.Actions_ValueList

НазваниеCatalog.Actions_ValueList
НазначениеЗначения для вопросов чек-листов в с типом
“Выбор
"Выбор из
списка”
списка"
Описание

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор вопроса (Actions.Id)
Val
String (100)Значение

Catalog.Client

НазваниеCatalog.Client
НазначениеКлиент
Описание

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Predefined+BooleanПризнак предопределенного элемента
DeletionMark+BooleanПризнак пометки на удаление
Description+String (100)Наименование
Code
String (9)Код
Latitude
Decimal (12.8)Широта (географические координаты)
Longitude
Decimal (12.8)Долгота (географические координаты)
Address
String (1000)Адрес
Contractor
GUIDИдентификатор связанного контрагента (Accounts.Id)

Catalog.Client_Contacts

НазваниеCatalog.Client_Contacts
НазначениеСписок контактов, связанных с клиентом
Описание
“Контактные лица”
"Контактные лица" - это отдельный список. В этой таблице указывается ссылка на элемент списка 
“Контактных лиц”
"Контактных лиц", что позволяет привязать одно и то же контактное лицо к нескольким клиентам

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор клиента (Client.Id)
Contact+GUIDИдентификатор контактного лица (Contact.Id)
Actual
BooleanПризнак актуальности

Catalog.Client_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
"Catalog.Client_
Parameters”
Parameters")

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Predefined+BooleanПризнак предопределенного элемента
DeletionMark+BooleanПризнак пометки на удаление
Description+String (100)Наименование
Code
String (9)Код
DataTypeParameter+GUIDИдентификатор типа значения параметров (
Документация для интеграции в внешними системами (API v.1.4))
Enum.TypesDataParameters)
DisplayingBMA
BooleanПризнак отображения в мобильном приложении
EditingBMA
BooleanВозможность редактирования в мобильном приложении

Catalog.ClientOptions_ListValues

НазваниеCatalog.ClientOptions_ListValues
НазначениеЗначения для параметров клиента в с типом
“Выбор
"Выбор из
списка”
списка"
Описание

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор параметра клиента (ClientOptions.Id)
Val
String (100)Значение


Catalog.Contacts

НазваниеCatalog.Contacts
НазначениеКонтактные лица
ОписаниеПолный список контактных лиц в системе, которые могут быть привязаны к одному или нескольким клиентам (см. таблицу 
“Catalog
"Catalog.Client_
Contacts”
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.4))
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Идентификатор результата выполнения работ (
Документация для интеграции в внешними системами (API v.1.4)
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.EquipmentOptions

НазваниеCatalog.EquipmentOptions
НазначениеСписок возможных параметров оборудования
Описание

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Predefined+BooleanПризнак предопределенного элемента
DeletionMark+BooleanПризнак пометки на удаление
Description+String (100)Наименование
Code
String (9)Код
DataTypeParameter+GUIDИдентификатор типа значения параметров (
Документация для интеграции в внешними системами (API v.1.4)
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.Positions

НазваниеCatalog.Positions
НазначениеДолжности
ОписаниеСписок должностей пользователей Catalog.User

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Name+String (256)Краткое наименование должности
Description
String (256)Полное наименование должности
DeletionMark
BooleanПризнак пометки на удаление

Catalog.RIM

НазваниеCatalog.RIM
НазначениеСписок работ и материалов
ОписаниеСписок работ и материалов для добавления в Заказы и пробития чеков. Хранит в себе признак
“Услуга” (“Service”
"Услуга" ("Service"), а также информацию о ценах и ставках НДС. Имеется возможность привязки к объектам 
“Номенклатура” (“SKU”
"Номенклатура" ("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
НазначениеНормы остатков
ОписаниеСписок и количество материалов, которые должны быть у мобильного сотрудника в соответствии со стандартами. Если используется
“Рюкзак”
"Рюкзак" - при оформлении заявки на материалы количество заказываемых материалов автоматически доводится до количества нормы

Список полей:

FieldReqTypeDesc
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор сотрудника (User.Id)
Materials+GUIDИдентификатор услуги / материала (RIM.Id)
Count+Decimal (38.3)Количество (норма)

...

Document.CheckList

НазваниеDocument.CheckList
НазначениеЧек-Лист
Описание

Список полей:

FieldReqTypeDesc
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
НазначениеЧек-лист - Вопросы
ОписаниеХранит привязанные 
“Вопросы
"Вопросы чек-
листов”
листов" к конкретному Чек-листу

Список полей:

FieldReqTypeDesc
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)
NumberOfExternalSystem
String (256)Номер Заявки во внешней учетной системе

Document.Event_CheckList

НазваниеDocument.Event_CheckList
НазначениеЗаявка - Чек-листы
ОписаниеХранит привязанные 
“Вопросы
"Вопросы Чек-
листов”
листов" с привязкой к 
“Чек
"Чек-
листу”
листу" к конкретной Заявке

Список полей:

FieldReqTypeDesc
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (Event.Id)
Action+GUIDИдентификатор
“Вопроса
"Вопроса чек-
листов”
листов" (Actions.Id)
CheckListRef+GUIDИдентификатор Чек-листа, из которого подставлен вопрос (CheckList.Id)
Result
String (1000)Значение - ответ на вопрос Чек-лиса
ActionType+GUIDИдентификатор типа значения параметров (Enum.TypesDataParameters)
Required
BooleanПризнак обязательности ответа на вопрос

Document.Event_Equipments

НазваниеDocument.Event_Equipments
НазначениеЗаявка - Привязанное оборудование
ОписаниеХранит элементы 
“Оборудования”
"Оборудования", по которому требуется провести работы в рамках Заявки

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (Event.Id)
Equipment+GUIDИдентификатор Оборудования (Equipment.Id)
Terget
String (1000)Описание работ, которые требуется произвести по оборудованию
Result+GUIDИдентификатор результата по работам (Enum.ResultEvent)
Comment
String (1000)Комментарий исполнителя
SID+GUID

Document.Event_EventFiskalProperties

НазваниеDocument.Event_EventFiskalProperties
НазначениеЗаявка - Реквизиты фискальных чеков
ОписаниеПри успешном пробитии чека в таблицу записываются фискальные реквизиты кассового чека. Если для Заявки есть хотя бы одна запись в этой таблице - чек считается пробитым, и повторное пробитие невозможно.

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (Event.Id)
CheckNumber
IntegerФискальный номер чека
Date
DateTime2Дата пробития чека
ShiftNumber
IntegerНомер кассовой смены, в которой пробит чек
NumberFtpr
String (100)Заводской номер фискального регистратора
PaymentType
IntegerИдентификатор типа оплаты
PaymentAmount
Decimal (15.2)Сумма оплаты
User+GUIDИдентификатор сотрудника, пробившего чек (User.Id)

Document.Event_Files

НазваниеDocument.Event_Files
НазначениеЗаявка - Прикрепленные файлы
Описание

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (Event.Id)
FullFileName+String (1000)Полное имя файла
FileName+GUIDВнутренне имя файла (автоматически формируется в формате GUID)

Document.Event_Parameters

НазваниеDocument.Event_Parameters
НазначениеЗаявка - Параметры
Описание

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (Event.Id)
Parameter+GUIDИдентификатор
“Параметра заявки”
"Параметра заявки" (EventOptions.Id)
Val+String (100)Значение параметра

Document.Event_Photos

НазваниеDocument.Event_Photos
НазначениеЗаявка - Фотографии оборудования
Описание

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (Event.Id)
UIDPhoto+GUIDИдентификатор файла 
“FileName”
"FileName" из таблицы 
“Заявка
"Заявка - Прикрепленные
файлы”
файлы"
Equipment+GUIDИдентификатор Оборудования (Equipment.Id)

Document.Event_ServicesMaterials

НазваниеDocument.Event_ServicesMaterials
НазначениеЗаявка - Услуги и Материалы
ОписаниеВ таблице содержатся услуги и материалы, которые должны были планово отгрузиться клиенту, а также информация о фактически отгруженных позициях и суммах. Состав таблицы является основанием для пробития фискального чека

Список полей:

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (Event.Id)
SKU+GUIDИдентификатор
“Услуги
"Услуги и
материала”
материала" (RIM.Id)
Price
Decimal (15.2)Цена (без учета скидки), по которой отгружена позиция
AmountPlan
Decimal (10.3)Плановое количество к отгрузке
SumPlan
Decimal (15.2)Плановая сумма оплаты (без учета скидки)
Discount
Decimal (15.2)Сумма скидки на текущую строку. Сумма к оплате рассчитывается как (SumPlan - Discount)
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 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()-3014))) AND EV.[StartDatePlan] >(getDate() - 3114) 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)))) 
) - 1))) OR SE.[Name] = 'OnRefund') 

...

Таблица: “Document.EventHistory”

...

t.[Id] IN (SELECT DC.[Id] From [Document].[Cheque] DC WHERE DC.[AuthorMA] = @UserId AND DC.[DateOfCheckPrinting] > getDate()-31)

Таблица: “Catalog.SKU”

Описание фильтра:

...

Запрос для фильтрации (в формате SQL):

<отсутствует>


Настройки мобильного приложения

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

Наименование настройкиЗначение (логическое)Значение (числовое)Описание
AddUnPlanMaterials10Возможность добавлять материалы кроме плановых
AddUnPlanService10Возможность добавлять услуги роме плановых
AllowGalery10Возможность вставлять фотографии не только с камеры, но и из галереи мобильного устройства
EditPlanMaterials10Возможность редактирования количество материалов относительно планового
EditPlanService10Возможность редактирования количество услуг относительно планового
HistoryLength190Видимость истории и ее длительность в днях
PictureSize02500Максимальный размер фотографии в точках по длинной стороне
UsedCalculate10Отображать цену и сумму
UsedCalculateMaterials10Отображать цену и сумму по материалам
UsedCalculateService10Отображать цену и сумму по услугам
UsedCheckLists10Использование чек-листов
UsedEquipment10Возможность работы с оборудованием
UsedGpsFix00Использование GPS
UsedServiceBag00Использование “Рюкзака”
EnableFPTR10Возможность работы с фискальным регистратором на мобильном устройстве


Версии документа и внесенные изменения

ВерсияДата публикацииВнесенные изменения
1.609.08.2017Структра таблиц приведена в соответствие с релизом 1.6.0.0
  • В "Заявку" добавлена скидка для каждой позиции
  • Для "Заявок" есть возможность указывать номер из внешней системы
  • Добавлено новое право на работу со скидками
  • Добавлен новый статус "Заявки" - "Возврат"
1.411.07.2017Структра таблиц приведена в соответствие с релизом 1.4.0.0
  • Добавлена таблица с адресами Клиента
("Catalog.Client_AdditionalAddresses")
  • В документ
“Заявка”
  • "Заявка" добалена возможность указать адреса клиента
- поле "Document.Event.Address"
1.326.06.2017Структра таблиц приведена в соответствие с релизом 1.3.0.0
1.210.04.2017
  • Добавлено описание документа
“Чек”
  • "Чек" и связанных с ним таблиц
  • Добавлено перечисление
“Типы чеков”
  • "Типы чеков"
  • Добавлено перечисление
“Признак
  • "Признак способа
расчета”
  • расчета"
  • Добавлен справочник
“Типы оплат”
  • "Типы оплат"
  • Добавлен справочник
“Должности”
  • "Должности". Добавлена связка с Пользователями.
  • Исключено описание для отправки подтверждения
  • Исправлены заголовки
  • Новый адрес точки подключения
  • Небольшие исправления
  • Исправлены реквизиты Заявки (добавлены координаты начала и окончания)
  • Исправлены ошибки
  • Актуализирована обязательность полей 
1.117.03.2017Исходная публикация