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

Ключ

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

Версия 1.3 21.0 от 2603.0607.20172019


Содержание

Оглавление



Протокол обмена


Общее описание протокола и точки подключения

Grotem.Mobile имеет удобный API-интерфейс, позволяющий с помощью специальных запросов обмениваться данными со сторонними системами.

...

  • Точка подключения находится по адресу: 

http(s)://{адрес сервера GROTEM}/{имя сервера GROTEM}/{имя решения}/admin/SyncSolutionDatabase - для отправки и получеия получения данных

  • Порт подключения зависит от конфигурации web-сервера
  • Используется BASIC-авторизация:
    • имя пользователя - всегда admin
    • пароль - от решения на сервере Grotem.Mobile
  • Кодировка файла - UTF-8
  • Обязательные заголовки для HTTP-запроса:
    • ‘content-type’: “application/json”,
    • ‘configname’: “GrotemExpress”,
    • ‘configversion’: “1.1.0.0”,
    • ‘deviceId’: “{идентификатор внешнего клиента}”

{идентификатор внешнего клиента} - уникальный идентификатор внешней БД. Должен быть уникальным и фискированным фиксированным для каждой внешней системы.


Алгоритм синхронизации


Общее описание

При синхронизации сервер GROTEM.Mobile позволяет отслеживать изменения. Для этих целей у всех объектов в БД Grotem.Mobile используется служебное поле Timestamp, где хранится время последнего изменения. При обмене данными в структуре файла обмена предусмотрены поля TimestampFrom и TimestampTo.

...

  • Обмен инициируется со стороны клиента (внешней системы).

  • Клиент отправляет свой документ с данными и заполненным полем TimestampFrom, в нем передается время последней успешной синхронизации с сервером. Если это поле = 0, то синхронизация считается начальной и клиент получит полный набор данных с сервера.

  • Сервер обрабатывает полученные данные:

    • получает документ с данными
    • заполняет в нём поле TimestampTo текущей датой 
    • выполняет обновление записей или помечает их как удаленные
    • всем затронутым (обновленным или удаленным) записям присваивается одно и то же значение Timestamp = TimestampTo
  • Сервер формирует набор данных для клиента:

    • получает список записей из всех таблиц изменённых после TimestampFrom (у которых Timestamp >= TimestampFrom)
    • дополняет список записей связанными сущностями (подробнее см. “Выгрузка связанных данных”)
    • производит фильтрацию данных в соответствии с настроенными для каждой таблицы фильтрами (подробнее см. “Фильтрация данных”)
    • исключает из выгрузки объекты, которые пришли со стороны клиента в рамках текущей сессии обмена
    • формирует JSON-файл, сжимает и возвращает клиенту.
  • Клиент обрабатывает полученные данные

    • измененные записи обновляются в БД
    • записи к удалению - удаляются из БД

Image Added

Выгрузка связанных данных

У всех объектов БД добавлено служебное поле 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.

...

OrderStatus


НазваниеEnum.
ChequeType
OrderStatus
Назначение
Типы документов “Чек”
Статус заказа
Описание


Значения:


IdNameDescriptionComments
ChequeClosed0Чек закрытChequeSell1ПродажаChequeSellReturn2Возврат продажиChequeSellAnnulate3Аннулирование продажиChequeBuy4ПокупкаChequeBuyReturn5Возврат покупкиChequeBuyAnnulate6Аннулирование покупкиChequeSellCorrection7Коррекция продажиChequeSellReturnCorrection8Коррекция возврата продажиChequeBuyCorrection9Коррекция покупкиChequeBuyReturnCorrection10Коррекция возврата покупки

Enum.PositionPaymentType

...


PaidОплачен (100% предоплата)

PartPaidС предоплатой

DeliveryТолько отгрузка товара (без предоплаты)

CreditОплата по кредиту

AdvanceАванс



Enum.OrderPaymentTypes


НазваниеEnum.OrderPaymentTypes
НазначениеСтатус оплаты
Описание


Значения:


IdNameDescriptionComments

PrepaymentПредоплата

DeliveryPaymentОплата при отгрузке

CreditPaymentОплата в кредит

Enum.CashBalanceStatuses

НазваниеEnum.CashBalanceStatus
НазначениеУказание места, куда были сданы наличные деньги курьером
ОписаниеПри сдаче наличных денег (раздел "Рейс" мобильного приложения) из списка выбирается место, куда деньги сдаются.


Значения:
IdNameDescriptionComments

MoneyInTransitДеньги в пути

MoneyInCashboxДеньги сданы в кассу

MoneyInTransportDepartmentДеньги сданы в ТО


Enum.ChequeType

НазваниеEnum.ChequeType
НазначениеТипы документов "Чек"
Описание

Значения:

IdNameDescriptionComments
Prepayment100

ChequeClosed0Чек закрыт

ChequeSell1
“Предоплата 100%”
Продажа
Prepayment

ChequeSellReturn2
“Предоплата”
Возврат продажи
PrepaidExpense

ChequeSellAnnulate3
“Аванс”
Аннулирование продажи
FullCalculation

ChequeBuy4
“Полный расчет”
Покупка
PartialSettlementAndCredit

ChequeBuyReturn5
“Частичный расчет или кредит”TransferToCredit
Возврат покупки

ChequeBuyAnnulate6
“Передача в кредит”PaymentOfCredit7“Оплата кредита”

...

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

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

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

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

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


Enum.PositionPaymentType

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

Значения:

IdNameDescriptionComments

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

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

PrepaidExpense3"Аванс"

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

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

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

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


Enum.CheckListStatus

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

Значения:

IdNameDescriptionComments

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

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

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


Enum.FoReminders

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

Значения:

IdNameDescriptionComments

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

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


Enum.ResultEvent

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

Значения:

IdNameDescriptionComments

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

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

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

Enum.

...

RouteStatuses

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

Значения:

IdNameDescriptionComments

OpenНачатРейс начат

ClosedЗавершенРейс завершен

Enum.SettingType

НазваниеEnum.SettingType
НазначениеНастройки включения/отключения ряда фунций мобильного приложения (снятие трека перемещения)
Описание

Значения:

IdNameDescriptionComments

GpsTrackingPermissionРазрешение отслеживания местоположенияВключение снятия gps-координат для отслеживания перемещений мобильного сотрдника

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

Percent1105

Percent1186


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.3))
Enum.TypesDataParameters)

Catalog.Actions_ValueList

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

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

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

Catalog.

...

ChangeProductOrServiceCountReasons

НазваниеCatalog.
Client
ChangeProductOrServiceCountReasons
Назначение
Клиент
Причины изменения количества товара/услуги в заказе
Описание

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

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

Catalog.Client_Contacts

...

причины изменения количества товара/услуги.
IsCompletelyRemoved+BooleanПризнак, что товар/услуга полностью удален из заказа

Catalog.Client

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

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

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

...

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.
Client_Files
Coefficients
Назначение
Связанные с клиентом файлы
Коэффициенты для расчета стоимости услуг
Описание

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
Description
Integer
+
Порядковый номер
String (
для сортировки
100)
Ref+GUIDИдентификатор клиента (Client.Id)FullFileNameString (1000)Полный путь к файлуFileNameGUIDимя файла (автоматически генерируется в формате GUID)

Catalog.Client_Parameters

Наименование

Catalog.Client_Contacts

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

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

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


Catalog.

...

Client_AdditionalAddresses

НазваниеCatalog.
ClientOptions
Client_AdditionalAddresses
НазначениеСписок
возможных параметров
адресов клиента
Описание
Полный список параметров клиентов. К каждому Клиенту параметры подбираются из этого списка (см. “Catalog.Client_Parameters”)
Список адресов клиента, котрые можно указывать при доставке

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Predefined
LineNumber
+BooleanПризнак предопределенного элементаDeletionMark

IntegerПорядковый номер (для сортировки)
Ref+
BooleanПризнак пометки на удаление
GUIDИдентификатор клиента (Client.Id)
Description
Description+

String(100)
Наименование
Краткое описание адреса
Code
Latitude
String

Decimal (
9
12.8)
Код
Широта
DataTypeParameter+GUIDИдентификатор типа значения параметров (Документация для интеграции в внешними системами (API v.1.3))DisplayingBMABooleanПризнак отображения в мобильном приложенииEditingBMABooleanВозможность редактирования в мобильном приложении

...

Longitude
Decimal (12.8)Долгота
Address
String(1000)Полный адрес

Catalog.Client_Files

НазваниеCatalog.
ClientOptions
Client_
ListValues
Files
Назначение
Значения для параметров клиента в с типом “Выбор из списка”
Связанные с клиентом файлы
Описание

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

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

Catalog.

...

Client_Parameters

НазваниеCatalog.
Contacts
Client_Parameters
Назначение
Контактные лица
Параметры клиента и их значения
Описание
Полный список контактных лиц в системе, которые могут быть привязаны к одному или нескольким клиентам (см. таблицу “Catalog.Client_Contacts”)

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Predefined
LineNumber
+BooleanПризнак предопределенного элементаDeletionMark

IntegerПорядковый номер (для сортировки)
Ref+
BooleanПризнак пометки на удалениеDescription+String (100)НаименованиеCodeString (9)КодPosition
GUIDИдентификатор клиента (Client.Id)
Parameter
GUIDИдентификатор параметра клиента (ClientOptions.Id)
Val
String (100)
ДолжностьTelString (100)ТелефонEMailString (100)Адрес электронной почты

Catalog.Equipment

Значение параметра


Catalog.ClientOptions

НазваниеCatalog.ClientOptions
НазначениеСписок возможных параметров клиента
НазваниеCatalog.EquipmentНазначениеОборудование
ОписаниеПолный список
оборудования в системе. В дальнейшем это оборудования может быть привязано к конкретному клиенту, передано от одного клиента к другому.
параметров клиентов. К каждому Клиенту параметры подбираются из этого списка (см. "Catalog.Client_Parameters")

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Predefined+BooleanПризнак предопределенного элемента
DeletionMark+BooleanПризнак пометки на удаление
Description+String (100)Наименование
Code
String (9)Код
SKU
DataTypeParameter+GUIDИдентификатор
номенклатуры, связанной с оборудованием (SKU.Id)

...

типа значения параметров (Enum.TypesDataParameters)
DisplayingBMA+BooleanПризнак отображения в мобильном приложении
EditingBMA+BooleanВозможность редактирования в мобильном приложении

Catalog.ClientOptions_ListValues

НазваниеCatalog.
Equipment
ClientOptions_
Equipments
ListValues
Назначение
Привязка оборудования к КлиентуОписание
Значения для параметров клиента в с типом "Выбор из списка"
Описание

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор
оборудования
параметра клиента (
Equipment
ClientOptions.Id)
ClientsGUIDИдентификатор клиента, к которому привязано оборудование (Client.Id)Equipment+GUIDИдентификатор оборудования (совпадает с Ref) (Equipment.Id)PeriodDateTimeДата закрепления оборудования за клиентомStatusEquipmentGUIDИдентификатор статуса оборудования (Документация для интеграции в внешними системами (API v.1.3))ContractSaleGUIDИдентификатор договора (продажи) (ServiceAgreement.Id)CantractServiceGUIDИдентификатор договора (обслуживания) (ServiceAgreement.Id)ContactForEquipmentString (100)Данные контактного лица, ответственного за оборудование у клиента (ServiceAgreement.Id)InfoString (1000)Дополнительная информация по оборудованию

Catalog.Equipment_EquipmentsHistory

...

Val
String (100)Значение

Catalog.Coefficients

НазваниеCatalog.Coefficients
НазначениеКоэффициенты
ОписаниеСписок коэффициентов, применяемых для расчета стоимости услуг

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Description+String (100)Наименование

Catalog.Contacts

НазваниеCatalog.Contacts
НазначениеКонтактные лица
ОписаниеПолный список контактных лиц в системе, которые могут быть привязаны к одному или нескольким клиентам (см. таблицу "Catalog.Client_Contacts")

...

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
Predefined+
IntegerПорядковый номер (для сортировки)Ref
BooleanПризнак предопределенного элемента
DeletionMark+
GUIDИдентификатор оборудования (Equipment.Id)PeriodDateTimeДата выполнения работClientGUIDИдентификатор клиента, к которому было привязано оборудование на момент выполнения работ (Client.Id)Equipments+GUIDИдентификатор оборудования (совпадает с Ref) (Equipment.Id)Target
BooleanПризнак пометки на удаление
Description+String (100)Наименование
Code
String (9)Код
Position
String (100)
Описание работ, которые необходимо было выполнитьResultGUIDИдентификатор результата выполнения работ (Документация для интеграции в внешними системами (API v.1.3))ObjectGetString (1000)CommentString (1000)Комментарий исполнителяExecutorGUIDИдентификатор пользователя - исполнителя работ (User.Id)

...

Должность
Tel
String (100)Телефон
EMail
String (100)Адрес электронной почты


Catalog.Equipment

НазваниеCatalog.Equipment
_Files
Назначение
Связанные с оборудованием файлы
Оборудование
ОписаниеПолный список оборудования в системе. В дальнейшем это оборудования может быть привязано к конкретному клиенту, передано от одного клиента к другому.

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
Predefined
IntegerПорядковый номер (для сортировки)Ref+GUIDИдентификатор оборудования (Equipment.Id)FullFileNameString (1000)Полный путь к файлуFileNameGUIDимя файла (автоматически генерируется в формате GUID
+BooleanПризнак предопределенного элемента
DeletionMark+BooleanПризнак пометки на удаление
Description+String (100)Наименование
Code
String (9)Код
SKU
GUIDИдентификатор номенклатуры, связанной с оборудованием (SKU.Id)

Catalog.Equipment_

...

Equipments

НазваниеCatalog.Equipment_
Parameters
Equipments
Назначение
Параметры оборудования и их значения
Привязка оборудования к Клиенту
Описание

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор оборудования (Equipment.Id)
Parameter
Clients
GUIDИдентификатор
параметра оборудования (EquipmentOptions
клиента, к которому привязано оборудование (Client.Id)
Equipment
ValString (100)Значение параметра

Catalog.EquipmentOptions

...

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

...

+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
НазначениеИстория оборудования
Описание

...

Catalog.EquipmentOptions_ListValues

...

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

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

Catalog.EventOptions

НазваниеCatalog.EventOptions
НазначениеСписок возможных параметров “Заявок”
ОписаниеК каждой конкретной Заявке параметры из этой таблицы привязываются посредствам таблицы “Заявка - Параметры”

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

...

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
НазначениеСвязанные с оборудованием файлы

...

Catalog.EventOptions_ListValues

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

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

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

Catalog.

...

Equipment_Parameters

НазваниеCatalog.
ListOfPayments
Equipment_Parameters
Назначение
Список типов оплат
Параметры оборудования и их значения
Описание
Типы оплат для указания в таблице Оплат Document.Cheque_Payment документа “Чек”

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Description
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+
String (50)Наименование типа оплатыFrNumber+IntegerНомер типа оплаты в настройках ФР

...

GUIDИдентификатор оборудования (Equipment.Id)
Parameter
GUIDИдентификатор параметра оборудования (EquipmentOptions.Id)
Val
String (100)Значение параметра


Catalog.EquipmentNodes

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

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

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

Catalog.

...

EquipmentOptions

НазваниеCatalog.
RIM
EquipmentOptions
НазначениеСписок
работ и материаловОписаниеСписок работ и материалов для добавления в Заказы и пробития чеков. Хранит в себе признак “Услуга” (“Service”), а также информацию о ценах и ставках НДС. Имеется возможность привязки к объектам “Номенклатура” (“SKU”) для консолидации
возможных параметров оборудования
Описание

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

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

Catalog.EquipmentOptions_ListValues

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

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref
SKUGUIDИдентификатор элемента номенклатуры (SKU.Id)UnitString (5)Наименование единицы измеренияVAT
+GUIDИдентификатор
перечисления “Ставки НДС” (Enum.VATS
параметра клиента (EquipmentOptions.Id)
FavoritesBooleanПризнак “избранного” товара
Val
String (100)Значение


Catalog.

...

EventOptions

НазваниеCatalog.
Roles
EventOptions
Назначение
Роли
Список возможных параметров "Заявок"
Описание
Список ролей в системе
К каждой конкретной Заявке параметры из этой таблицы привязываются посредствам таблицы "Заявка - Параметры"

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

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

Catalog.

...

EventOptions_ListValues

НазваниеCatalog.
RoleWebactions
EventOptions_ListValues
Назначение
Права ролей
Значения для параметров Заявки в с типом "Выбор из списка"
Описание

Список

...

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Role
LineNumber
+GUIDИдентификатор элемента ролей (Roles.Id)Webaction

IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор
элемента из списка прав (Enum.Webactions)

...

параметра клиента (EventOptions.Id)
Val
String (100)Значение


Catalog.ListOfPayments

НазваниеCatalog.
ServiceAgreement
ListOfPayments
Назначение
ДоговорыОписаниеСписок договоров, которые могут быть указаны как договоры продажи и договоры обслуживания при привязки Оборудования к Клиентам
Список типов оплат
ОписаниеТипы оплат для указания в таблице Оплат Document.Cheque_Payment документа "Чек"

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Predefined
Description+
BooleanПризнак предопределенного элементаDeletionMark+BooleanПризнак пометки на удалениеDescription+String (100)НаименованиеCodeString (9)КодClientGUIDИдентификатор Клиента, с которым заключен Договор (Client.Id)OrganizationString (500)Наименование организации, от имени которой заключен договорDateStartDateTimeДата начала действия договораDateEndDateTimeДата окончания действия договора

Catalog.SettingMobileApplication

String (50)Наименование типа оплаты
FrNumber+IntegerНомер типа оплаты в настройках ФР


Catalog.OrderCorrectionReasons

Название

Catalog.OrderCorrectionReasons

НазначениеСписок причин изменения заказа
Описание

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Description
String (100)Наименование  причины корректировки заказа

Catalog.Positions

НазваниеCatalog.Positions
НазначениеДолжности
ОписаниеСписок должностей пользователей Catalog.User
НазваниеCatalog.SettingMobileApplicationНазначениеНастройки мобильного приложенияОписаниеСписок настроек, которые передаются в мобильные приложения. Актуальные наименования настроек см. в разделе “Настройки мобильного приложения”

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

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

BooleanПризнак пометки на удаление


Catalog.Provider

Description
Название
+String (100)НаименованиеCodeString (9)КодDataType+GUIDИдентификатор типа значения параметров (Enum.TypesDataParameters)LogicValueBooleanПоле для хранения значений настроек с булевым типомNumericValueIntegerПоле для хранения значений настроек с числовым типом

Catalog.SKU

НазваниеCatalog.SKU
НазначениеНоменклатура
ОписаниеСписок номенклатуры. Используется для интеграции с внешними учетными системами для возможности консолидации информации об услугах, товарах, оборудовании. Позволяет вести иерархическую структуру

...

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 (
100
512)Наименование номенклатуры
Code

Amount

String

Decimal (
9
10,3)
КодIsFolderBooleanПризнак, что элемент является группой и может выступать в качестве родительскогоParentGUIDИдентификатор родительской записи (SKU.Id)

...


Price
Decimal (15,2)Цена за единицу
TotalSum
Decimal (15,2)
ObjectSign
GUID??
VAT+GUIDИдентификатор перечисления "Ставки НДС" (Enum.VATS)
Unit
String (10)Наименование единицы измерения
PositionPaymentType
GUIDИдентификатор перечисления "Признак способа расчета" (Enum.PositionPaymentType)

Catalog.RIM

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

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

...

Catalog.User

НазваниеCatalog.UserНазначениеСотрудникиОписаниеСписок сотрудников (пользователей системы)
работ и материалов для добавления в Заказы и пробития чеков. Хранит в себе признак "Услуга" ("Service"), а также информацию о ценах и ставках НДС. Имеется возможность привязки к объектам "Номенклатура" ("SKU") для консолидации

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Predefined+BooleanПризнак предопределенного элемента
DeletionMark+BooleanПризнак пометки на удаление
Description+String (
100
512)Наименование
Code
String (9)Код
UserName
IsFolder+
String (100)ЛогинPassword+String (100)ПарольUserDBString (500)Идентификатор пользователя во внешней системе (используется при интеграциях)EMailString (100)Адрес электронной почтыUserIDGUIDВ текущей версии не используетсяPhoneString (100)ТелефонRole+GUIDИдентификатор элемента ролей (Roles.Id)LanguageString (5)Идентификатор языка (поддерживаются ru, en cz)AspNetUserIDString (128)Внутренний идентификатор пользователяPositionGUIDИдентификатор должности (Positions.Id)Root+BooleanПризнак пользователя с “неограниченными” правами

Catalog.User_Bag

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Признак "избранного" товара
IsMarked-BitПризнак маркируемой продукции, 1 - маркируется, 0 или null - не маркируется


Catalog.Roles

НазваниеCatalog.Roles
НазначениеРоли
ОписаниеСписок ролей в системе
НазваниеCatalog.User_BagНазначениеРюкзакОписаниеСписок материалов, доступных мобильному сотруднику. Если в системе используется функционал “Рюкзак” - то также ведется учет остатков материалов у мобильного сотрудника

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

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

Catalog.User_RemainsNorms

НазваниеCatalog.User_RemainsNorms
НазначениеНормы остатков
ОписаниеСписок и количество материалов, которые должны быть у мобильного сотрудника в соответствии со стандартами. Если используется “Рюкзак” - при оформлении заявки на материалы количество заказываемых материалов автоматически доводится до количества нормы

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

DeletionMark+BooleanПризнак пометки на удаление
Name+String (9)Наименование роли
Ident+String (50)Признак пометки на удаление
Description+String (100)Подробное описание
CanManageSelf+BooleanПризнак, что пользователи с этой ролью могут модифицировать свои права
Root+BooleanПризнак роли с "неограниченными" правами


Catalog.RoleWebactions

НазваниеCatalog.RoleWebactions
НазначениеПрава ролей
ОписаниеСписок, связывающий роли и имеющиеся у них права. Если в этом списке для роли имеется запись с определенным правом - значит роль данным правом обладает. Отсутствие записи означает, что у роли такого права нет

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

ПолеОбяз.ТипОписание
FieldReqTypeDescRef
Id+GUIDУникальный идентификатор
LineNumberIntegerПорядковый номер (для сортировки)
Role
+GUIDИдентификатор
сотрудника
элемента ролей (
User
Roles.Id)
Materials
Webaction+GUIDИдентификатор
услуги / материала (RIM.Id)Count+Decimal (38.3)Количество (норма)

Document.CheckList

...

элемента из списка прав (Enum.Webactions)

Catalog.Subdivisions

НазваниеCatalog.Subdivisions
НазначениеСправочник подразделений.
ОписаниеИспользуется для бригадных работ, чтобы бригадир мог добавить в наряд только членов своего подразделения

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

ПолеОбяз.ТипОписание

...

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

FieldReqTypeDesc
Id+GUIDУникальный идентификатор
Posted+BooleanПризнак “проведенного” документа
DeletionMark+BooleanПризнак пометки на удаление
Date
Description+
DateTimeДата создания документа
String (100)Наименование
Number
String (9)

IntegerНомер
документа
DescriptionString (100)Описание чек-листаProjectString (100)Проект (дополнительный реквизит)Status+GUIDИдентификатор статуса чек-листа (Enum.CheckListStatus)

Document.CheckList_Actions

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

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

...

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
НазначениеНастройки мобильного приложения
ОписаниеСписок настроек, которые передаются в мобильные приложения. Актуальные наименования настроек см. в разделе "Настройки мобильного приложения"

Список

...

Document.Event

...

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Posted
Predefined+BooleanПризнак
“проведенного” документа
предопределенного элемента
DeletionMark+BooleanПризнак пометки на удаление
Date
Description+
DateTimeNumber
Дата создания документа
String (
9
100)
Номер документа
Наименование
ApplicationJustification
Code
String (
500
9)Код
Client
DataType+GUIDИдентификатор
Клиента
типа значения параметров (
Client.Id, на которого назначена Заявка
Enum.TypesDataParameters)
DivisionSourceString (500)Наименование подразделения, из которого поступила ЗаявкаKindEvent+GUIDТип Заявки(Enum.TypesEvents)AnySaleBooleanВ рамках Заявки имеется одно или несколько “Уведомлений” с типом “Продажа”AnyProblemBooleanВ рамках Заявки имеется одно или несколько “Уведомлений” с типом “Проблема”StartDatePlanDateTimeПлановая дата начала ЗаявкиEndDatePlanDateTimeПлановая дата окончания ЗаявкиActualStartDateDateTimeФактическая дата начала ЗаявкиActualEndDateDateTimeФактическая дата окончания ЗаявкиAuthor+GUIDИдентификатор сотрудника (User.Id, создавшего Заявку)UserMAGUIDИдентификатор Исполнителя - сотрудника (User.Id)CommentString (1000)КомментарийDetailedDescriptionString (1000)Подробное описаниеCommentContractorString (1000)Комментарий исполнителяTargInteractionsString (100)Дата создания документаResultInteractionsString (100)Дата создания документаStatus+GUIDИдентификатор перечисления “Статуса Заявки” (Enum.StatusyEvents)LatitudeStartDecimal (12.8)Широта (координаты начала выполнения Заявки)LongitudeStartDecimal (12.8)Долгота (координаты начала выполнения Заявки)LatitudeEndDecimal (12.8)Широта (координаты закрытия Заявки)LongitudeEndDecimal (12.8)Долгота (координаты закрытия Заявки)GPSTimeDateTimeВремя закрытия Заявки по данным GPSContactVisitingGUIDКонтактное лицо (Contacts.Id)TypesDepartures+GUIDИдентификатор “Типа выезда” (TypesDepartures.Id)Importance+GUIDВажность Заявки - идентификатор перечисления “Важность” (Enum.StatusImportance)

Document.Event_CheckList

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

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

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
НазначениеСотрудники
ОписаниеСписок сотрудников (пользователей системы)

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

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

Document.Event_Equipments

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

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

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)
INN
String (12)ИНН пользователя (для передачи в чеке данных об ИНН кассира)

Catalog.User_Bag

НазваниеCatalog.User_Bag
НазначениеРюкзак
ОписаниеСписок материалов, доступных мобильному сотруднику. Если в системе используется функционал "Рюкзак" - то также ведется учет остатков материалов у мобильного сотрудника

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

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

Document.Event_EventFiskalProperties

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

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

Count+Decimal (38.3)Количество (остаток)

Catalog.User_RemainsNorms

НазваниеCatalog.User_RemainsNorms
НазначениеНормы остатков
ОписаниеСписок и количество материалов, которые должны быть у мобильного сотрудника в соответствии со стандартами. Если используется "Рюкзак" - при оформлении заявки на материалы количество заказываемых материалов автоматически доводится до количества нормы

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

FieldReqTypeDesc
ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор
Заявки
сотрудника (
Event
User.Id)
CheckNumber
Materials
Integer
+
Фискальный номер чекаDateDateTime2Дата пробития чекаShiftNumberIntegerНомер кассовой смены, в которой пробит чекNumberFtprString (100)Заводской номер фискального регистратораPaymentTypeIntegerИдентификатор типа оплатыPaymentAmountDecimal (15.2)Сумма оплатыUser+GUIDИдентификатор сотрудника, пробившего чек (User.Id)

...

GUIDИдентификатор услуги / материала (RIM.Id)
Count+Decimal (38.3)Количество (норма)

...


Document.CheckList

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

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

Поле
Field
Обяз.
Req
Тип
Type
Описание
Desc
Id+GUIDУникальный идентификатор
Posted
LineNumber
+
IntegerПорядковый номер (для сортировки)Ref
BooleanПризнак "проведенного" документа
DeletionMark+
GUIDИдентификатор Заявки (Event.Id)FullFileName+String (1000)Полное имя файлаFileName
BooleanПризнак пометки на удаление
Date+DateTimeДата создания документа
Number
String (9)Номер документа
Description
String (100)Описание чек-листа
Project
String (100)Проект (дополнительный реквизит)
Status+GUID
Внутренне имя файла (автоматически формируется в формате GUID
Идентификатор статуса чек-листа (Enum.CheckListStatus)


Document.

...

CheckList_

...

Actions

НазваниеDocument.
Event_Parameters
CheckList
Назначение
Заявка
Чек-лист -
Параметры
Вопросы
ОписаниеХранит привязанные "Вопросы чек-листов" к конкретному Чек-листу

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

Поле
Field
Обяз.
Req
Тип
Type
Описание
Desc
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор
Заявки
Чек-листа (
Event
CheckList.Id)
Parameter
Action+GUIDИдентификатор
“Параметра заявки” (EventOptions
"Вопроса чек-листов" (Actions.Id)
Val
Required+
String (100)Значение параметра
BooleanПризнак обязательности


Document.

...

Contract

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

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

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

Document.Event_ServicesMaterials

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

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

PricePerHour
Decimal (5.3)Стоимость за час
PricePerKilometer
Decimal (5.3)Стоимость за километр  (сейчас не используется)
FixedRoadPrice
Decimal (5.3)Стоимость за вызов инженера (фиксированная цена за проезд до клиента) (сейчас не используется)
DaysPorPay
Decimal (5.3)Количество дней до оплаты

Document.Contract_Coefficients

НазваниеDocument.Contract
НазначениеКоэффициенты для расчета стоимости услуг в соответствии с договором
Описание

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

FieldReqTypeDesc
ПолеОбяз.ТипОписаниеRef
Id+GUIDУникальный идентификатор
LineNumberIntegerПорядковый номер (для сортировки)
ContractId
+GUIDИдентификатор
Заявки
договора с клиентом (
Event
Contract.Id)
SKU
CoefficientId+GUIDИдентификатор
“Услуги и материала”
коэффициента (
RIM
Coefficient.Id)
Price
Value+Decimal (
15
8.
2
3)
Цена, по которой отгружена позицияAmountPlanDecimal (10.3)Плановое количество к отгрузкеSumPlanDecimal (15.2)Плановая сумма оплатыAmountFactDecimal (10.3)Фактически отгруженное количествоSumFactDecimal (15.2)Фактически оплаченная сумма

...

Значение коэффициента

Document.CorrectionOrderPhotos

НазваниеDocument.Contract
НазначениеФото накладной и причина корректировки
Описание

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

FieldReqTypeDesc
Id+GUIDУникальный идентификатор
OrderId+GUIDИдентификатор заказа (Order.Id)
PhotoId+GUIDИдентификатор фото накладной (Photo.Id)
CorrectionReasonId+GUIDИдентификатор причины изменения заказа (OrderCorrectionReasons.Id)

Document.Event

НазваниеDocument.Event
_TypeDepartures
НазначениеЗаявка
- Типы оплат
Описание
В таблицу нужно добавить одну строку - тип оплаты, соотвествующую реквизиту Event.TypesDepartures

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

ПолеОбяз.ТипОписание
Id+GUID
.
Уникальный идентификатор
Posted
LineNumber
+
IntegerПорядковый номер (для сортировки)Ref
BooleanПризнак "проведенного" документа
DeletionMark+
GUIDИдентификатор Заявки (Event.Id)SKU
BooleanПризнак пометки на удаление
Date+DateTimeДата создания документа
Number
String (9)Номер документа
ApplicationJustification
String (500)
Client+GUIDИдентификатор
“Услуги и материала”
Клиента (
TypesDepartures
Client.Id, на которого назначена Заявка)
Active
Address
Boolean

GUID
Признак активности строки. Активной может быть только одна строка

Document.Cheque

НазваниеDocument.Cheque
НазначениеДокумент “Чек”
ОписаниеВ таблице оформленные документы “Чек” с необходимыми фискальными реквизитами

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

Идентификатор строки с дополнительным адресом клиента
DivisionSource
String (500)Наименование подразделения, из которого поступила Заявка
KindEvent
ПолеОбяз.ТипОписаниеId
+GUID
Уникальный идентификаторIsFiscalChequeBooleanПорядковый номер (для сортировки)ChequeTypeGUIDИдентификатор перечисления “Тип чека” (Enum.ChequeType)PositionPaymentTypeGUIDИдентификатор перечисления “Признак способа расчета” (Enum.PositionPaymentType) (в текущей версии задается для чека в целом)ClientGUIDИдентификатор “Клиента” (Catalog.Client)IsMainChequeBooleanПризнак чека “Основой” - оформлен в рамках отгрузки Заказа (в текущей версии всегда True)
Тип Заявки(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
OriginalSalesCheckGUIDТолько для чеков возврата - Идентификатор документа “Чек” (Document.Cheque), по которому оформлялся возвратApplicationForDeliveryGUIDИдентификатор документа “Заявка” (Document.Event), в рамках которой оформлялся ЧекDateOfCheckPrintingDateTimeДата и время оформления ЧекаShiftNumberIntegerНомер смены фискального регистратора (ФР)TotalAmountDecimal (15.2)Сумма чекаFptrNumberString (100)Заводской номер ФРFiscalStorageNumberString (100)Номер фискального накопителя (ФН)DocumentNumberWithinTheShiftIntegerНомер чека в рамках сменыFiscalSignOfTheDocumentDecimal (15.3)Фискальный номер документаLatitudeDecimal (12.8)Географические координаты (широта)Longitude

Decimal (12.8)
Географические координаты (долгота
Долгота (координаты закрытия Заявки)
GPSDateTime
GPSTime
DateTime2

DateTimeВремя закрытия Заявки
Дата и время
по данным
датчика
GPS
ContactVisiting
ClientAddress

GUID
String (1000)Адрес клиента (как он был отпечатан на чеке)CommentString (1000)КоммментарийPhoneOrEmailString (1000)Телефон или email покупателя (если был указан)AppliedTaxSystemString (1000)Система налогообложенияAuthorMAGUIDИдентификатор Исполнителя - сотрудника (User.Id)

Document.Cheque_Nomenclature

НазваниеDocument.Cheque_Nomenclature
НазначениеЧек - Товары и услуги
ОписаниеПеречень позиций чека, цены, количество, суммы

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

Контактное лицо (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
НазначениеЗаявка - Чек-листы
ОписаниеХранит привязанные "Вопросы Чек-листов" с привязкой к "Чек-листу" к конкретной Заявке

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

FieldReqTypeDesc
ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (
Cheque
Event.Id)
RIM
Action+GUIDИдентификатор
“Услуги и материала” (RIM
"Вопроса чек-листов" (Actions.Id)
PriceFact
CheckListRef+
Decimal (15.2)Фактическая ценаAmountFact+Decimal (10.3)Фактическое количествоSumFact+Decimal (15.2)Фактическая суммаVAT
GUIDИдентификатор Чек-листа, из которого подставлен вопрос (CheckList.Id)
Result
String (1000)Значение - ответ на вопрос Чек-лиса
ActionType+GUIDИдентификатор типа значения параметров (Enum.TypesDataParameters)
Required+BooleanПризнак обязательности ответа на вопрос
OrderId+GUIDИдентификатор
переисления “Ставки НДС”
Заказа (
Enum
Order.
VAT
ID)
DiscountAmount
Decimal (15.2)Сумма скидки на позицию


Document.

...

Event_

...

Equipments

НазваниеDocument.
Cheque
Event_
Payment
Equipments
Назначение
Чек
Заявка -
Оплаты
Привязанное оборудование
Описание
Перечень оплат и сумм
Хранит элементы "Оборудования", по которому требуется провести работы в рамках Заявки

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки (
Cheque
Event.Id)
PaymentType
Equipment+GUIDИдентификатор
“Тип оплаты”
Оборудования (
Catalog.ListOfPayments)PaymentAmount+Decimal (15.2)Сумма по указанному Типу оплаты

...

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


Document.Event_EventFiskalProperties

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

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

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

Integer
+
Фискальный номер чека
GUIDВнутренне имя файла (автоматически формируется в формате GUID)CommentString (1000)Комментарий к фото

...

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


Document.Event_Files

НазваниеDocument.
EventHistory
Event_Files
Назначение
История оборудованияОписаниеВ таблице хранятся записи о всех работах, проведенных с оборудованием
Заявка - Прикрепленные файлы
Описание

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Date
LineNumber
DateTime

IntegerПорядковый номер (для сортировки)
DeletionMark+BooleanПризнак пометки на удалениеStatus
Ref+GUIDИдентификатор
перечисления “Статуса Заявки”
Заявки (
Enum
Event.
StatusyEvents
Id)
Event
FullFileName+
GUIDИдентификатор “Заявки” (Event.Id)AuthorGUIDИдентификатор сотрудника (User.Id, создавшего Заявки)UserMAGUIDИдентификатор Исполнителя - сотрудника (User.Id)

...

String (1000)Полное имя файла
FileName+GUIDВнутренне имя файла (автоматически формируется в формате GUID)


Document.Event_Parameters

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

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Posted
LineNumber
+BooleanПризнак “проведенного” документаDeletionMark+BooleanПризнак пометки на удалениеDate+DateTimeДата создания документаNumberString (9)Номер документаDocIn

IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор
“Заявки”
Заявки (Event.Id)
, в рамках которого оформлена “Заявка на материалы”StatsNeed
Parameter+GUIDИдентификатор
значения перечисления “Статусы Заявки на материалы” (Enum.StatsNeedNum)SR
"Параметра заявки" (EventOptions.Id)
Val+
GUIDИдентификатор сотрудника (User.Id, создавшего Заявку)FillFullBooleanПризнак, что Заявка создана “по норме”. При обработке такой заявки игнорируется кол-во затребованных позиций, а состав заявки формируется с учетом норм и остатковSRMCommentString (1000)Комментарий сотрудника, обрабатывающего ЗаявкуSRCommentString (1000)Комментарий автора Заявки

...

String (100)Значение параметра


Document.Event_Photos

НазваниеDocument.
NeedMat
Event_
Matireals
Photos
НазначениеЗаявка
на материалы
-
Состав
Фотографии оборудования
Описание

Список

...

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки
на материалы
(
NeedMat
Event.Id)
SKU
UIDPhoto+GUIDИдентификатор
“Услуги и материала” (RIM.Id)Count+Decimal (15.3)Количество затребованных / отгруженных материалов

...

файла "FileName" из таблицы "Заявка - Прикрепленные файлы"
Equipment+GUIDИдентификатор Оборудования (Equipment.Id)


Document.Event_ServicesMaterials

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

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

ПолеОбяз.ТипОписание
Id+GUIDУникальный идентификатор
Posted
LineNumber
+BooleanПризнак “проведенного” документаDeletionMark+BooleanПризнак пометки на удалениеDate+DateTimeДата создания документаNumberString (9)Номер документаReminders

IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор
“Заявки”
Заявки (Event.Id)
, в рамках которого оформлено УведомлениеViewReminder
SKU+GUIDИдентификатор
значения перечисления “Типы Уведомлений” (Enum.FoReminders)Comment
"Услуги и материала" (RIM.Id)
NomenclatureCode
String (
1000
64)Код товарной номенклатуры
Комментарий

Document.Reminder_Photo

...

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

...

Document.Task

НазваниеDocument.Task
НазначениеЗадача
ОписаниеЗадачи - это отдельные сущности, исполнение которых можно отслеживать в рамках Заявки. Задачи могут быть назначены: 

- на Клиента (будет отображаться во всех Заявках по клиенту)

- на Оборудование (будет отображаться во всех Заявках, где есть указанное Оборудование),

- на Заявку (будет отображаться в конкретной Заявке)

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

...

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
НазначениеЗаявка - Коды маркировки 
ОписаниеВ таблице хранятся серийные номера 

...

Document.Task_Status

НазваниеDocument.Task_StatusНазначениеЗадача - СтатусыОписаниеТаблица для отслеживания статусов Задач. Дополнительно зраним исполнителя, который выполнил Задачу, и Заявка, в рамках которой Задача была выполнена

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

ПолеОбяз.ТипОписание
IdRef
id+GUIDУникальный идентификатор
LineNumberIntegerПорядковый номер (для сортировки)
ServicesMaterialsId
+GUID
Идентификатор Заявки на материалы (NeedMat.Id)CommentContractor
Внешний ключ. Указывает на идентификатор товара в таблице [Document].[Event_ServicesMaterials]
GTIN+
String
nvarchar(
1000)Комментарий исполнителяStatus+GUIDИдентификатор значения перечисления “Статусы Задач” (Enum.StatusTasks)UserMA+GUIDИдентификатор выполнившего Исполнителя (User.Id)ActualEndDate+DateTimeДата выполнения ЗадачиCloseEvent+GUIDИдентификатор “Заявки” (Event.Id), в рамках которого выполнена Задача

...

14)GTIN - код товара 
IsDeleted
BOOLEANПризнак, означающий, что позиция удалена
KeyFieldTimestamp
BIGINTtimestamp последнего изменения любого из ключевых полей таблицы
NomenclatureCode+nvarchar(50)Cерийный номер товарной позиции
ScanNomenclatureCode
nvarchar(150)Полный штрихкод для товарной позиции
IsScanned
BOOLEANПризнак, что данный маркировочный код отсканирован


Document.Event_TypeDepartures

НазваниеDocument.
Task
Event_
Targets
TypeDepartures
Назначение
Задача
Заявка -
Цели
Типы оплат
Описание
По каждой задаче может быть поставлено несколько целей. В таблице отслеживается исполнение этих целей.
В таблицу нужно добавить одну строку - тип оплаты, соотвествующую реквизиту Event.TypesDepartures

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

ПолеОбяз.ТипОписание
Id+GUID.Уникальный идентификатор
LineNumber
IntegerПорядковый номер (для сортировки)
Ref+GUIDИдентификатор Заявки
на материалы
(
NeedMat
Event.Id)
Description
TypeDeparture+GUID
Описание целейIsDone
Идентификатор "Тип оплаты" (TypesDepartures.Id)
Active+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 &gt;(getDate()-30))) AND EV.[StartDatePlan] &gt;(getDate() - 31) AND (NOT (SE.[Name] = 'New')) AND (NOT (SE.[Name] = 'Done' OR SE.[Name] = 'Cancel' OR SE.[Name] = 'DoneWithTrouble' OR SE.[Name] = 'Close' OR SE.[Name] = 'NotDone' OR SE.[Name] = 'OnTheApprovalOf') OR ((SE.[Name] = 'Done' OR SE.[Name] = 'Cancel' OR SE.[Name] = 'DoneWithTrouble' OR SE.[Name] = 'Close' OR SE.[Name] = 'NotDone' OR SE.[Name] = 'OnTheApprovalOf') AND EV.[ActualEndDate] &gt;(getDate() - 1)))) 

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

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

“История по Заявкам” не фильтруется. Любой сотрудник может увидеть, что происходило по любой Заявке, которая ему назначена. Доступ к истории возможен только из Заявок, которые в свою очередь фильтруются. Таким образом сотрудник не получит доступа к чужим Заявкам.

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

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

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

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

На мобильное устройство уходят Чеки, соответствующие следующим условиям:

  • автор чека соотвествует пользователю, авторизованному на мобильном устройстве
  • Дата пробития Чека на 31 день в прошлом 

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

t.[Id] IN (SELECT DC.[Id] From [Document].[Cheque] DC WHERE DC.[AuthorMA] = @UserId AND DC.[DateOfCheckPrinting] &gt; 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 &gt; (getDate()-14)))  AND EV.[StartDatePlan] &gt; (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] &gt;(getDate() - 1)))) ) OR t.Favorites = 1

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

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

“Роли” не фильтруются - контроль прав должен выполняться для всех ролей

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

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

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

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

“Права ролей” - выгружаются полностью для корректного контроля прав

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

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

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

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

...

активности строки. Активной может быть только одна строка


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
BIGINTtimestamp последнего изменения любого из ключевых полей таблицы
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 &gt;(getDate()-14))) AND EV.[StartDatePlan] &gt;(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] &gt;(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] &gt; 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 &gt; (getDate()-14)))  AND EV.[StartDatePlan] &gt; (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] &gt;(getDate() - 1)))) ) OR t.Favorites = 1

...

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

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

“Роли” не фильтруются - контроль прав должен выполняться для всех ролей

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

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

...

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

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

“Права ролей” - выгружаются полностью для корректного контроля прав

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

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


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

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

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


Использование статусов заказа и оплаты при разных сценариях работы

Системой Grotem Express тот или иной сценарий работы с заказами, имеющими различные способы расчета, определяется через статусы заказов и статусы оплаты. Ниже рассмотрены сценарии работы с такими заказами.

Полная оплата и отгрузка

При отгрузке товара по заказу с получением полной его оплаты в Grotem Express выгружается заказ со статусом «Delivery»:


Статус заказаЗапись в таблицуТаблица перечисления
DeliveryDocument.OrderEnum.OrderStatus

После получения курьером оплаты в таблицу Document.Order_OrderPayment делается запись со статусом «DeliveryPayment»:

Статус платежаЗапись в таблицуТаблица перечисления
DeliveryPaymentDocument.Order_OrderPaymentEnum.OrderPaymentTypes


Отгрузка в кредит

При отгрузке товара по заказу без получения оплаты по нему, товар передается в кредит. При этом в Grotem Express выгружается заказ со статусом «Delivery»:

Статус заказаЗапись в таблицуТаблица перечисления
DeliveryDocument.OrderEnum.OrderStatus

После получения курьером оплаты в таблицу Document.Order_OrderPayment делается запись со статусом «DeliveryPayment»:

Статус платежаЗапись в таблицуТаблица перечисления
DeliveryPaymentDocument.Order_OrderPaymentEnum.OrderPaymentTypes

Оплата кредита

При получении оплаты кредита за заказ, который ранее был отгружен, в Grotem Express выгружается заказ со статусом «Credit»:

Статус заказаЗапись в таблицуТаблица перечисления
CreditDocument.OrderEnum.OrderStatus

После получения курьером оплаты в таблицу Document.Order_OrderPayment делается запись со статусом «CreditPayment»:

Статус платежаЗапись в таблицуТаблица перечисления
CreditPaymentDocument.Order_OrderPaymentEnum.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.003.07.2019В Catalog.Client добавлено поле ИНН клиента (ClientINN); в Document.EventServicesMaterials добавлен код товарной номенклатуры (NomenclatureCode); в Catalog.SettingMobileApplication добавлена настройка EnableCodePrint (передавать код товарной номенклатуры)
1.20.006.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.1404.12.2018

Добавлены документы: Document.Order, Document.Order_OrderPayment. В документ Document.Cheque_Nomenclature добавлено поле: PositionPaymentType.

В перечисление Enum.VATs добавлены значения ставок 18/118 и 10/110.

Добавлены перечисления Enum.OrderStatus (статусы заказа) и Enum.OrderPaymentTypes (статусы оплаты)


1.1309.10.2018Добавлено поле "ИНН кассира" в справочник "Сотрудники".
1.1012.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.610.08.2017Описание TypeDeparture изменено с "Тип выезда" на "Тип оплаты"
1.609.08.2017Структура таблиц приведена в соответствие с релизом 1.6.0.0
  • В "Заявку" добавлена скидка для каждой позиции
  • Для "Заявок" есть возможность указывать номер из внешней системы
  • Добавлено новое право на работу со скидками
  • Добавлен новый статус "Заявки" - "Возврат"
1.411.07.2017Структура таблиц приведена в соответствие с релизом 1.4.0.0
  • Добавлена таблица с адресами Клиента
  • В документ "Заявка" добалена возможность указать адреса клиента
1.326.06.2017Структура

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

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