Содержание:
ARMLite - программа для автоматизации учета взвешивания транспорта на автомобильных весах. В данной инструкции содержится описание возможностей настройки программы под задачу пользователя. Инструкция предназначена для администратора системы взвешивания, а также может быть полезна IT-специалисту для решения задачи интеграции АРМ в информационную систему предприятия.
Аппаратные требования к компьютеру для ARMLite:
Программа поставляется в виде архива без использования средств установки. Просто извлеките файлы из архива ARMLite.zip в любую папку на диске (например: C:\ARMLite\App
). Рекомендуется организовать такую структуру папок:
C:\ARMLite\App
- отдельная папка для файлов программыC:\ARMLite\Backup
- папка для резервных копий базыC:\ARMLite\Photos
- папка для фото, если потребуется опция подключения к видео-камерамСтруктура папки с программой (C:\ARMLite\App
):
db[]
- папка для файлов базы данных SQLite. По умолчанию создается файл default.sqlite
.config[]
- папке с конфигурацией. Описание структуры конфигурационных файлов смотрите в отдельном разделе.config_path
- в этом файле задается путь к папке с конфигурацией. По умолчанию задан путь к локальной папке config
.$Папка пользователя$[]/user_settings
- файл с установками рабочей среды пользователя (незначительные настройки интерфейса)$Папка пользователя$/export[]
- папка по умолчанию для экспорта данных из АРМARM.exe
- программаShell.dll
- оболочка программыICSharpCode.AvalonEdit.dll
Mono.Security.dll
Npgsql.dll
PdfSharp.Xps.dll
PdfSharp-WPF.dll
SQLite.Interop.dll
System.Data.SQLite.dll
Далее, для работы программы необходимо создать базу данных. Программа поддерживает два типа базы данных:
Для простого варианта системы взвешивания, когда есть только одни весы и один ПК оператора, можно использовать базу данных SQLite. Этот вариант не требует дополнительных действий для создания базы данных и настройки подключения. База данных может быть создана автоматически при первом запуске АРМ от имени администратора Windows. Вариант с базой SQLite также удобно использовать, когда требуется только ознакомиться с функциями программы без подключения к весам. При первом запуске, когда еще не настроено подключение к базе данных, программа предлагает создать локальный файл для тестовой или для рабочей базы данных (см.рис.1). Для работы с реальными весами нажмите Создать рабочую базу
. Для ознакомления с функциями программы без подключения к весам нажмите Создать тестовую базу
. При работе в тестовой базе вывод показаний весов эмулируется программой. Также в тестовой базе есть возможность менять показания весов вручную.
Рис.1: Создание базы данных
На базе SQLite АРМ может работать и с двумя весами. Но в таких случаях, когда возможно развитие системы взвешивания, рекомендуется использовать серверную базу данных MSSQL как универсальное решение.
Для возможности расширения системы взвешивания, когда требуется работать с общей базой данных на нескольких ПК, необходимо использовать базу данных MSSQL.
Рис.2: Схема сети
Для реализации этой схемы выполните действия:
SQL Server Management Studio
. Смотрите инструкцию по установке MSSQL сервера и настройке удаленного подключения.Databases
, нажмите New Database...
. В окне создания базы введите Database name: например, ARM
. Нажмите OK.Запустите АРМ от имени администратора Windows. Если подключение к базе еще не было настроено, тогда появится окно как на рис.1. Нажмите изменить
параметры подключения, затем Создание новой базы данных
. Откроется окно подключения к базе как на рис.3.
Рис.3: Параметры подключения к базе данных
Если подключение к базе уже было настроено, и ожидается вход в АРМ, тогда выберите логин superuser
, пароль по умолчанию не задан, нажмите Войти
. В меню откройте Настройки >> Создание базы данных
.
Выберите тип сервера: MSSQL
. Задайте параметры подключения к серверу.
Рабочая
. Если создать тестовую базу, АРМ будет работать в тестовом режиме с эмулятором весов.Создать базу
. Должно появиться окно с сообщением об успешном создании базы. В этом окне нажмите Подключиться
. АРМ перезапустится и подключится к новой MSSQL базе.К АРМ можно подключить двое весов. Для каждого подключения к весам требуется активация. Подключение к весам не работает в тестовой базе данных.
superuser
, пароль по умолчанию не задан, нажмите Войти
.Настройка >> Подключение весов / Активация
. Выберите модель весового терминала, введите IP адрес терминала. Для проверки доступа по сети, можно нажать кнопку ping
. Нажмите Применить
. При успешном подключении к терминалу в этом же окне появится R-код
.R-код
и вставьте в заявку на получение ключа активации.Ключ активации
. Скопируйте и вставьте ключ в окне активации. Нажмите Применить
. В поле статуса активации должно появиться: Активация прошла успешно
.
Рис.4: Подключение весов / Активация
Список весовых терминалов, которые можно подключить к АРМ:
IND780
IND560
IND570
IND310
- на терминале должна быть версия прошивки 2.хJAGXTREME
Для обновления программы в большинстве случаев достаточно заменить два файла: ARM.exe
и Shell.dll
.
db
, тогда достаточно создать архив всей папки АРМ включая базу данных. Для серверной базы данных MSSQL резервную копию можно сделать через АРМ в меню Настройка >> Резервное копирование базы данных
или с помощью SQL Server Management Studio
.ARM.exe
и Shell.dll
в папку с текущей рабочей программой.superuser
.Меню >> Создание базы данных
.SQLite
.*.sqlite
или *.db
). Можно указать относительный путь, например: db\mydb.sqlite
.Рабочая
база данных для работы с весами. Выберите назначение базы: Тестовая
, если хотите, чтобы АРМ работал в тестовом режиме (с эмулятором весов).Создать базу
. Должно появиться окно с сообщением об успешном создании базы. В этом окне нажмите Подключиться
. АРМ перезапустится и подключится к новой базе SQLite.Краткие обозначения:
ТС
- транспортное средствоИС
- информационная системаПо сути ARMLite - это программа для ведения электронного журнала погрузок или разгрузок транспортных средств. Два взвешивания ТС (груженое и порожнее), фото-снимки взвешиваний, сопроводительные данные объединяются в один документ, который называется в АРМе накладная
. Интерфейс пользователя позволяет работать со списком накладных при разных алгоритмах взвешивания ТС с элементами автоматизации (получение номеров из системы распознавания, автоматическое заполнение полей из внешней ИС).
На рис.5 схематично показаны ключевые объекты пользовательского интерфейса АРМ.
Рис.5: Схема пользовательского интерфейса АРМ
Некоторые элементы интерфейса могут быть скрыты в зависимости от настроек, подключенных опций и привилегий текущего пользователя. В конфигурации задается вид таблицы накладных (перечень, порядок и формат столбцов). Также отдельно задается какие поля использовать в форме накладной.
main.ini >> WEIGHING >> min_net
).main.ini >> MISC >> use_defaults=true
. Значения по умолчанию задаются в меню Настройка >> Значения по умолчанию для накладной
.Ниже на скриншотах показана реализация схемы пользовательского интерфейса (см. схему на рис.5).
Раздел с таблицей накладных открывается в меню Разделы >> Накладные
или нажатием клавиши F2
.
Рис.6: Таблица накладных
По умолчанию при запуске программы задано ограничение выборки накладных как Данные за сегодня
. Есть и другие режимы ограничения выборки: Данные за вчера и сегодня
, Данные за указанную даты
, Расширенный поиск
. В режиме расширенного поиска можно указать произвольный период и другие параметры фильтра.
Рис.7: Расширенный поиск накладных
Обычно алгоритм действий оператора для взвешивания ТС начинается с нажатия кнопки Принять ТС
. Для АРМ нет строго требования, где должна находиться машина в данный момент: на весах или до весов перед шлагбаумом (это решается по принятому на месте алгоритму взвешивания). Открывается окно, в котором основной задачей является ввод номера тягача и прицепа (если есть прицеп). Номера вводятся автоматически при наличии системы распознавания номеров. Без системы распознавания оператор вводит номера вручную по изображениям с камер. При появлении более 4х символов в поле Номер тягача
выполняется поиск в базе последних накладных с этим номером тягача. Выводится до 3х незаблокированных накладных. Оператор может открыть существующую накладную (например, для добавления второго взвешивания) или создать новую накладную.
Рис.8: Принять ТС
По нажатию Открыть
существующую или Создать
новую накладную окно Принять ТС
закрывается и открывается форма накладной.
Рис.9: Пример вида формы накладной
Набор полей формы настраивается под задачу (см. раздел 3.1). При вводе символов в поля справочников выпадающий список ограничивается записями, которые содержат введенный текст. Если введен текст, которого нет в списке, тогда это отмечается красным цветом. Пользователь может добавить эту запись в справочник или отредактировать существующую, если у него есть привилегия редактирования этого справочника.
Если включена опция подключения к видео-камерам, тогда показания весов не выводятся на форму. В этом случае по нажатию кнопки Взвесить
откроется отдельное окно (рис.10) с выводом текущих кадров от камер. В момент фиксации веса текущие кадры сохраняются в файлы и привязываются ко взвешиванию.
Рис.10: Окно взвешивания с фото-фиксацией
Если к АРМ подключено двое весов, тогда программа определяет на каких весах находится ТС, автоматически выбирает эти весы и выводит изображения с камер, которые подключены к этим весам.
Все настройки программы задаются в конфигурационных файлах (INI, XML, TXT). Путь к папке с конфигурационными файлами задается в файле config_path
. По умолчанию в нем задан относительный путь к локальной папке config
. В АРМ есть встроенный текстовый редактор для внесения изменений в конфигурацию. Редактор конфигурации открывается в меню Настройка >> Конфигурация
или Ctrl+K
.
Рис.11: Текстовый редактор конфигурации
Структура папки config
:
export[]
export.ini
- параметры экспорта данных в файлfields.xml
- список полей экспортируемых данныхmain[]
axles_rules.txt
- параметры правил определения допустимых нагрузок на оси автоmain.ini
- основные настройкиINTERACTION
- параметры взаимодействия с внешней ИСLIGHTS
- настройки опции управления светофорамиMISC
- разные настройкиPHOTOS
- настройки опции фотоснимковTERMINAL1
- параметры подключения к весам 1TERMINAL2
- параметры подключения к весам 2WEIGHING
- параметры взвешиванияrecogn[]
recogn.ini
- настройки опции подключения к системе распознавания номеровreports[]
- в эту папку можно добавлять свои шаблоны отчетов (XML-файлы)images[]
- папка для изображений, которые выводятся в отчеты (логотип, статические картинки)item_main.xml
- шаблон отчета по выбранной накладнойlist.xml
- шаблон отчета, в котором содержится список накладныхaxles.xml
- шаблон отчета по выбранной накладной с таблицей осевых нагрузокreports.ini
- задается, какие шаблоны использоватьterminal[]
- файлы для загрузки в терминалview[]
form.xml
- параметры формы накладной, список полей накладнойtable.xml
- список полей таблицы накладныхview.ini
Вид формы накладной настраивается в файле view\form.xml
. Для настройки откройте форму накладной, нажмите Ctrl+K
, откроется редактор конфигурации сразу с выбранным файлом view\form.xml
. Внесите изменение в файл и сохраните Ctrl+S
. Результат изменения сразу применится на форме. В файле можно задать параметры:
Width
- ширина окна формыHeight
- высота окна формыHeadersWidth
- ширина наименований полей (слева)HeadersAlignment
- горизонтальное выравнивание текста наименований полейFieldMargin
- вертикальный отступ между полямиТакже можно показать/скрыть поля и изменить наименования.
Рис.12: Файл конфигурации формы
Перечень всех допустимых полей в форме накладной:
Поле | Наименование по умолчанию | Функция |
---|---|---|
AxlesDistance | Расстояние между осями | Строка в таблице осей |
AxlesMax | Допустимая нагрузка | Строка в таблице осей |
AxlesNumber | Номер оси | Строка в таблице осей |
AxlesOverLoad | Превышение | Строка в таблице осей |
AxlesType | Тип осей | Строка в таблице осей |
AxlesWeight | Факт. нагрузка | Строка в таблице осей |
AxlesWheels | Количество колес | Строка в таблице осей |
CarOwner | Владелец ТС | Выпадающий список |
Consignee | Грузополучатель | Выпадающий список |
ContainerGross | Масса груженого контейнера | Текстовое поле |
ContainerInclude | Учитывать контейнер | Галочка |
ContainerNumber | Номер контейнера | Текстовое поле |
ContainerTare | Масса порожнего контейнера | Текстовое поле |
Description | Примечание | Текстовое поле |
DocNet | Нетто по документу | Текстовое поле |
DocNetDeviation | Отклон. от док. | Текстовое поле для чтения |
DocPermission | Спец. разрешение | Текстовое поле + поле даты с календарем |
DocShipping | Сопроводит. документ | Текстовое поле + поле даты с календарем |
DocWaybill | Транспортная накладная | Текстовое поле + поле даты с календарем |
Driver | Водитель | Выпадающий список |
Forwarder | Экспедитор | Выпадающий список |
InputTare | Тара справочная | Текстовое поле |
Net | Нетто | Текстовое поле для чтения |
PathFrom | Откуда | Выпадающий список |
PathTo | Куда | Выпадающий список |
Product | Груз | Выпадающий список |
ProductInfo | Количество груза | Текстовое поле |
Shipper | Грузоотправитель | Выпадающий список |
TrailerNumber | Номер прицепа | Текстовое поле |
TripNumber | Номер рейса | Текстовое поле |
UnderOverLoad | Недогр./Перегр. | Текстовое поле для чтения |
VehicleBrand | Марка ТС | Выпадающий список |
VehicleCapacity | Грузоподъемность | Текстовое поле |
VehicleNumber | Номер тягача | Текстовое поле |
W1 | Взвешивание 1 | Текстовое поле для чтения + кнопка Взвесить |
W2 | Взвешивание 2 | Текстовое поле для чтения + кнопка Взвесить |
На рис.13 показан пример, как может выглядеть форма накладной со всеми включенными полями.
Рис.13: Форма со всеми доступными полями АРМ
Для настройки таблицы накладных, экспорта накладных, создания шаблонов отчетов необходимо иметь представление о структуре данных АРМ. Структура данных АРМ не является описанием полей базы данных, но описывает свойства внутренних объектов АРМ. Структура данных АРМ используется в файлах конфигурации:
export\fields.xml
reports\*.xml
- во всех шаблонах отчетов, находящихся в папке reportsview\table.xml
Основной объект выходных данных АРМ это Накладная.
Структура типа Накладная:
Свойство | Тип | Описание |
---|---|---|
AnyGross | Масса | Любая масса брутто. Если есть два взвешивания, тогда выводится фактическая масса наибольшего взвешивания. Если есть только одно взвешивание и тара введена вручную, тогда выводится масса этого взвешивания. |
AnyTare | Масса | Любая масса тары. Если есть два взвешивания, тогда выводится фактическая масса наименьшего взвешивания. Если есть только одно взвешивание, тогда выводится тара ручного ввода (VehicleTare). |
CarOwner | Строка | Владелец ТС |
Consignee | Организация | Грузополучатель |
ContainerGross | Масса | Масса груженого контейнера. Брутто минус Тара. Выводится, если задана Масса порожнего контейнера. |
ContainerNumber | Строка | Номер контейнера |
ContainerTare | Масса | Масса порожнего контейнера |
DateModified | Дата/время | Дата изменений в форме накладной. |
Description | Строка | Примечание |
DocNet | Масса | Нетто по документу |
DocNetDeviation | Масса | Отклонение от документа. Нетто минус Нетто по документу. |
DocPermission | Документ | Специальное разрешение |
DocShipping | Документ | Сопроводительный документ |
DocWaybill | Документ | Транспортная накладная |
Driver | Представитель | Водитель |
Editor | Пользователь | Оператор. Пользователь, который внес последние изменения. |
Forwarder | Организация | Экспедитор |
ID | Число | Идентификатор накладной в базе |
Net | Масса | Нетто. Брутто минус Тара, и минус Масса порожнего контейнера (если задана). |
OrderNumber | Число | Порядковый номер записи в текущей выборке |
PathFrom | Строка | Пункт отправки |
PathTo | Строка | Пункт назначения |
Product | Строка | Продукт |
ProductInfo | Строка | Доп. информация о грузе |
RefID | Число NULL | Идентификатор внешних привязанных данных |
Shipper | Организация | Грузоотправитель |
Status | Строка | Статус записи: нет взвешиваний; 1 взвешивание; 2 взвешивания; 1+тара справочная. |
TrailerNumber | Строка | Номер прицепа |
TripNumber | Число NULL | Номер рейса |
UnderOverLoad | Масса | Недогруз / Перегруз. Нетто минус Грузоподъемность. Если задан контейнер: Нетто плюс Масса порожнего контейнера минус Грузоподъемность. |
VehicleBrand | Строка | Марка ТС |
VehicleCapacity | Масса | Грузоподъемность. Грузоподъемность вводится для расчета недогруза / перегруза относительно массы нетто. |
VehicleNumber | Строка | Номер тягача |
VehicleTare | Масса | Тара (ручной ввод). Вводится оператором, если не требуется взвешивание порожнего ТС на весах. Масса тары ТС может быть привязана к номеру ТС. Тогда при выборе номера тара вносится автоматически. |
W | Взвешивание | Имеющееся взвешивание. Если есть оба взвешивания, тогда передает взвешивание брутто. |
W1 | Взвешивание | Взвешивание 1. Первое по порядку взвешивание. |
W2 | Взвешивание | Взвешивание 2. Второе по порядку взвешивание. |
WaybillNumber | Число | Порядковый номер накладной (задается автоматически) |
WGross | Взвешивание | Взвешивание брутто. Большее из взвешиваний. |
WTare | Взвешивание | Взвешивание тары. Меньшее из взвешиваний. |
Структура типа Масса:
Свойство | Тип | Описание |
---|---|---|
curr | Строка | Значение массы в единицах, заданных в конфигурации. |
kg | Строка | Значение массы в килограммах |
t | Строка | Значение массы в тоннах в формате 0.00 |
t3 | Строка | Значение массы в тоннах в формате 0.000 |
Структура типа Организация:
Свойство | Тип | Описание |
---|---|---|
Address | Строка | Адрес |
Name | Строка | Наименование |
OGRN | Строка | ОГРН |
Структура типа Документ:
Свойство | Тип | Описание |
---|---|---|
Date | Дата/время NULL | Дата документа |
Number | Строка | Номер документа |
Структура типа Представитель:
Свойство | Тип | Описание |
---|---|---|
Company | Строка | Организация |
Duty | Строка | Должность |
Name | Строка | Ф.И.О. |
Passport | Строка | Паспорт |
Структура типа Пользователь:
Свойство | Тип | Описание |
---|---|---|
Login | Строка | Имя входа (логин) |
Name | Строка | ФИО |
Role | Строка | Наименование группы |
Структура типа Взвешивание:
Свойство | Тип | Описание |
---|---|---|
All | МассаОсей | Строка весовых нагрузок |
Axle1 | Масса | Нагрузка на ось 1 |
Axle2 | Масса | Нагрузка на ось 2 |
Axle3 | Масса | Нагрузка на ось 3 |
Axle4 | Масса | Нагрузка на ось 4 |
Axle5 | Масса | Нагрузка на ось 5 |
Axle6 | Масса | Нагрузка на ось 6 |
Axle7 | Масса | Нагрузка на ось 7 |
AxlesCount | Число | Количество осей |
Date | Дата/время NULL | Дата взвешивания |
Photo1 | Строка | Фото с камеры 1 |
Photo2 | Строка | Фото с камеры 2 |
Photo3 | Строка | Фото с камеры 3 |
Photo4 | Строка | Фото с камеры 4 |
Terminal | Строка | Весовой терминал |
UserName | Строка | ФИО оператора |
Weight | Масса | Вес |
Структура типа МассаОсей:
Свойство | Тип | Описание |
---|---|---|
kg | Строка | Значение массы в килограммах |
t | Строка | Значение массы в тоннах в формате 0.00 |
t3 | Строка | Значение массы в тоннах в формате 0.000 |
Структура типа Масса:
Свойство | Тип | Описание |
---|---|---|
curr | Строка | Значение массы в единицах, заданных в конфигурации. |
kg | Строка | Значение массы в килограммах |
t | Строка | Значение массы в тоннах в формате 0.00 |
t3 | Строка | Значение массы в тоннах в формате 0.000 |
Вид таблицы накладных настраивается в файле view\table.xml
. Для настройки откройте основной раздел Накладные
, нажмите Ctrl+K
, откроется редактор конфигурации сразу с выбранным файлом view\table.xml
. Внесите изменение в файл и сохраните Ctrl+S
. Результат изменений сразу отразится в таблице.
Рис.14: Файл конфигурации таблицы
Таким образом в таблицу можно вывести любой перечень полей, которые есть в структуре данных АРМ, включая вложенные свойства. Вложенные свойства задаются через точку. Все вложенные типы и их свойства перечислены в разделе 3.2.
Чтобы изменить порядок полей, в редакторе файла нажмите Alt+Вниз
, Alt+Вверх
. Чтобы скрыть поле, можно просто удалить строку или закомментировать её нажатием Ctrl+/
. Закомментированные строки (отмечены зеленым) остаются в файле, но не используются.
Выборку накладных можно экспортировать в файл в формате CSV, который можно обработать программно или открыть в Excel. Параметры CSV задаются в файле export\export.ini
. Описание всех параметров указано в самом файле. Перечень и формат полей задается в файле export\fields.xml
так же, как при настройке таблицы накладных (см. п.3.3). Если экспорт полей нужен в том же виде, как настроена таблица АРМ, тогда просто скопируйте содержание файла view\table.xml
в export\fields.xml
.
В АРМ есть два типа отчетов:
по накладной
- открывается в окне с формой накладной в отдельной закладке.по выборке накладных
- в отчет выводится список накладных, который показан в таблице основного раздела Накладные
.
Рис.15: Доступ к отчетам
В конфигурации можно настроить вывод в меню до 3х отчетов по накладной и до 3х отчетов по выборке накладных.
Рис.16: Настройка списка отчетов
Выбор отчета по накладной также доступен в окне накладной в закладке просмотра отчета.
Рис.17: Просмотр отчета
Вы можете создать свой шаблон отчета по примеру стандартных шаблонов. Откройте просмотр отчета (как на рис.17), нажмите Ctrl+K
, откроется редактор конфигурации сразу с выбранным файлом шаблона этого отчета. Внесите изменение в файл и сохраните Ctrl+S
. Результат изменений сразу отразится в просмотре отчета.
Рекомендуется экспериментировать с копиями стандартных шаблонов. Чтобы сделать дубликат файла, выберите стандартный шаблон и нажмите Ctrl+Shift+D
. Редактор запросит ввести имя нового файла. Учитывайте, что АРМ использует те файлы шаблонов, которые заданы в файле reports.ini
.
Чтобы показать список возможных атрибутов или значений, установите курсор в нужном контексте и нажмите Ctrl+Пробел
.
Рис.18: Редактор шаблона отчета
Для аутентификации пользователей используются внутренние учетные записи, которые хранятся в базе данных системы. При запуске программы запрашивается логин и пароль для дальнейшей работы с базой. Каждому пользователю присваивается роль. Ограничение доступа к выборочным функциям задается на роль пользователя.
В роль system
включены все привилегии. Эта роль принадлежит единственному пользователю superuser
, у которого, соответственно, есть доступ ко всем функциям. По умолчанию пароль для superuser не задан. Рекомендуется задать надежный пароль для superuser и не использовать эту учетную запись в работе. Заданный пароль для пользователя не может быть восстановлен - используется необратимое шифрование пароля при записи в базу данных.
Для добавления/изменения пользователей и ролей откройте в меню Настройка >> Пользователи и роли
. Этот раздел доступен пользователю с привилегией администрирования учетных записей.
Рис.19: Привилегии пользователей
Значимые действия пользователя отмечаются в журнале, который хранится в базе данных. Для просмотра журнала откройте в меню Настройка >> Журнал действий пользователей
. Для доступа к журналу у пользователя должна быть привилегия Просмотр журнала действий пользователей
.
Рис.20: Журнал действий пользователей
Список действий, которые отмечаются в журнале:
Справочник - это список наименований с возможными дополнительными атрибутами. В АРМ предусмотрены справочники:
Список справочников находится в меню Разделы
.
Рис.21: Просмотр и редактирование справочника
Списки наименований из этих справочников выводятся в соответствующие поля на форме накладной. Если у оператора есть привилегия редактирования справочника, тогда справочник может пополняться новыми записями по мере ввода новых данных через форму накладной. Но можно и заранее заполнить справочники нужными данными. Это делается вручную или через импорт из файла.
Импорт / Экспорт записей
Простой список наименований (без доп. атрибутов) можно легко импортировать из текстового файла, когда наименования заданы построчно. Кодировка файла: UTF8
. Для импорта/экспорта данных с атрибутами текстовый файл должен быть сформатирован как CSV
.
Удаление записей
Ненужные записи можно скрыть нажатием в меню записи Удалить
. Скрытую запись можно восстановить. Если повторно нажать Удалить
для скрытой записи, тогда запись будет удалена из базы данных. Невозможно удалить запись из базы данных, если эта запись связана с накладной, то есть если запись была выбрана в соответствующем поле на форме накладной.
Некоторые элементы пользовательского интерфейса могут быть скрыты в зависимости от подключенных опций. Статус активации и список доступных опций можно увидеть в меню Справка >> О программе
Рис.22: О программе
Системные и программные требования:
Axles780
(запускается на весовом терминале)Программу терминала можно загрузить/обновить из АРМ, для этого в меню АРМ нажмите Сервис >> Загрузить программу взвешивания осей на терминал >> Terminal 1
(или Terminal 2).
Принцип работы программы терминала:
Программа работает отдельно от АРМ и без участия оператора. При въезде ТС на весы начинается процесс определения нагрузок на оси. После остановки ТС на весах программа определяет статический общий вес. Если задан параметр ожидания выхода водителя, тогда статический вес будет зафиксирован только после заданного таймаута. Результаты распределения общей массы по осям определяются после съезда ТС с весов и записываются в общедоступные переменные весового терминала. Эти данные могут быть считаны из внешних программ через порт TCP терминала. При въезде следующего ТС, в начале процесса взвешивания старые результаты удаляются из переменных терминала.
При взаимодействии с АРМ логика работы программы терминала немного меняется. При остановке ТС на весах оператор сам принимает решение в какой момент взвешивать (до или после выхода водителя). По нажатию кнопки Взвесить
фиксируется статический вес (в течение 3х секунд ожидается значение веса с признаком стабильности). Это значение статического веса передается программе взвешивания осей на терминале и будет использоваться при распределении по осям после съезда ТС с весов.
Настройка опции проверки осевых нагрузок в АРМ:
Откройте в меню Настройка >> Конфигурация >> файл main.ini >> секция [AXLES]
. Обратите внимание на следующие параметры:
use_axles
Использовать опцию: “Проверка осевых нагрузок”.
false
- Не использовать опцию. По нажатию кнопки Взвесить
будет зафиксироваться только общая масса ТС.true
- По нажатию кнопки Взвесить
фиксируется общий текущий вес и выводится сообщение: Ожидается съезд с весов...
. В течение 20 минут (задается в параметре leave_scale_timeout
) идет чтение результатов поосного взвешивания. Если есть данные, заполняется таблица осей. Если нет данных в течение периода ожидания, тогда выводится сообщение: Время ожидания данных по осевым нагрузкам истекло.
leave_scale_timeout
Время ожидания съезда машины с весов (в минутах).
wait_driver_out
Время ожидания выхода водителя после остановки на весах (в секундах).
Этот параметр задается для автоматического взвешивания без взаимодействия через АРМ. После остановки ТС на весах программа терминала автоматически фиксирует общую массу ТС. В параметре wait_driver_out
задается задержка перед фиксацией общей массы. Если требуется не учитывать массу водителя, установите временную задержку достаточную для выхода водителя из машины. По умолчанию это отключено (задано 0 секунд).
axles_limits_mode
Какие правила ограничений осевых нагрузок использовать по умолчанию.
Custom
- Простой режим определения допустимых нагрузок. В меню Настройка >> Пользовательские ограничения осевых нагрузок
задаются допустимые нагрузки в зависимости только от количества осей ТС. Таким образом, для определения допустимых нагрузок, после взвешивания осей не требуется вводить дополнительные параметры (расстояния между осями и скатность колес).Rules
- Определение допустимых нагрузок будет выполняться в соответствие с Постановлением Правительства РФ “Об утверждении Правил перевозок грузов автомобильным транспортом”. Для каждого номера тягача и номера прицепа потребуется задать расстояния между осями и скатность.Если будет использоваться только простой режим определения допустимых нагрузок Custom
, тогда можно убрать лишние поля из таблицы осей. Откройте форму накладной и нажмите Ctrl+K
.
Рис.23: Настройка таблицы осей на форме
В случае использования Правил, задать конфигурацию осей тягача и прицепа можно через наглядную интерактивную схему. Для этого на форме накладной нажмите кнопку Параметры осевых нагрузок
. Конфигурации осей тягача и прицепа привязываются соответственно к номерам тягача и прицепа для возможных комбинаций тягача с другими прицепами.
Рис.24: Интерактивная схема конфигурации осей и нагрузок
Рис.25: Простой режим определения допустимых осевых нагрузок
Взаимодействие с системой распознавания номеров сделано следующим образом. При нажатии Принять ТС
, сразу после открытия окна (см.рис.8) выполняется запрос в базу распознанных номеров на поиск последних распознаваний за указанный период. Номера попадают в поля Номер тягача
или Номер прицепа
в зависимости от идентификаторов распознавателей.
Вызов запроса номеров также доступен из формы накладной, по нажатию кнопки Получить номер
.
Поддерживается подключение к системам распознавания:
SecurOS
AutoTRASSIR
Авто Орион Про
Для настройки подключения откройте в меню Настройка >> Конфигурация >> файл recogn.ini
. Задайте параметр recogn_system=Securos
(или AutoTrassir
, OrionPro
). В этом же файле найдите соответствующий раздел [SECUROS]
(или [AUTO_TRASSIR]
, [ORION_PRO]
), в котором задается строка подключения к базе данных и идентификаторы распознавателей.
Список видео-камер задается в меню Настройка >> Видео-камеры
.
Рис.26: Список видео-камер
Для подключения видео-камеры:
ID весов
, введите код весов 1 или 2.Проверить камеру
. Если появилось изображение, текущий URI и разрешение автоматически сохранятся в свойствах записи этой камеры и будут использоваться при работе в АРМ.Разделы >> Принять ТС
или клавишу F9
.
Рис.27: Проверка камеры
Системные и программные требования:
Для активации логики работы дискретных выходов нажмите в меню АРМ Сервис >> Управление светофорами >> Настроить терминал 1
. При этом в региональных настройках терминала должен быть задан английский язык. В конфигурации АРМ в файле main.ini задайте параметр use_lights=true
.
Принцип работы светофоров
Рис.28: Схема расположения светофоров
В главном окне программы:
F1
- Открыть главное менюF2
- Открыть основной раздел “Накладные”F3
- Открыть накладную с последним взвешиваниемF9
- Принять ТСCtrl+U
- Пользователи и ролиCtrl+K
- Редактор конфигурацииCtrl+Q
- Выход - завершить работу пользователя в АРМCtrl+1
- Справочник “Транспортные средства”Ctrl+2
- Справочник “Марки транспортных средств”Ctrl+3
- Справочник “Продукты”Ctrl+4
- Справочник “Грузополучатели”Ctrl+5
- Справочник “Грузоотправители”Ctrl+6
- Справочник “Экспедиторы”Ctrl+7
- Справочник “Водители”Ctrl+8
- Справочник “Владельцы ТС”Ctrl+9
- Справочник “Направления”В разделе “Накладные”
F5
- Обновить набор данных - перезагрузить из базыF6
- Открыть отчет по выбранной накладнойF7
- Открыть табличный отчет с текущей выборкой накладныхF8
- Экспорт в CSVF9
- Принять ТСCtrl+N
- Добавить новую пустую накладнуюCtrl+F
- Открыть расширенный поискEsc
- Смена фокуса в режиме расширенного поиска: таблица накладных / поле поиска номераEnter
- Открыть выбранную накладнуюCtrl+D
- Удалить выбранную накладнуюCtrl+L
- Заблокировать выбранную накладнуюCtrl+K
- Открыть конфигурацию полей таблицы накладныхВ разделе справочника
F5
- Обновить набор данных - перезагрузить из базыCtrl+N
- Добавить новую записьCtrl+F
- Фокус на поле поискаEsc
- Выйти в главное менюEnter
- Открыть выбранную записьCtrl+D
- Скрыть/Удалить выбранную записьВ форме накладной:
Ctrl+N
- Создать новую накладнуюEsc
- Закрыть окноCtrl+S
- Сохранить измененияF6
- Открыть просмотр отчетаCtrl+L
- Заблокировать / разблокировать накладную на измененияCtrl+D
- Удалить накладнуюCtrl+W
- Взять значение веса с выбранных весов / Открыть окно взвешивания с фото-фиксациейTab
- Фокус на следующее полеShift+Tab
- Фокус на предыдущее полеF4
- Показать список в поле со спискомCtrl+K
- Открыть конфигурацию полей формы накладнойВ окне просмотра отчета по накладной:
Esc
- Закрыть окноCtrl+K
- Открыть редактор шаблона выбранного отчетаАлгоритм 1: (тара взвешивается в начале смены)
Принять ТС
, ввести номер, нажать Создать
новую накладную, нажать Взвесить
.Принять ТС
, ввести номер, нажать Открыть
недавно созданную накладную с этим ТС для второго взвешивания.Взвесить
(вторая кнопка). При появлении второго взвешивания будет рассчитана масса груза. Наименьшая масса из двух взвешиваний будет записана в поле Справочная тара
.Заблокировать
, распечатать акт. Принять ТС
, ввести номер, нажать Создать
новую накладную, нажать Взвесить
. Масса груза определиться с учетом справочной тары.Заблокировать
, распечатать акт.Алгоритм 2: (всегда два взвешивания)
Принять ТС
, ввести номер. Если найдена накладная, в которой ожидается второе взвешивание, нажать Открыть
. Если накладная для данного ТС не найдена или все предыдущие накладные с этим ТС заблокированы, тогда нажать Создать
новую накладную.Взвесить
.Заблокировать
, распечатать акт. Интерфейс реализуется посредством HTTP RESTful
.
Формат передаваемых данных: JSON
.
Кодировка UTF-8
.
Авторизация: Basic
.
Веб-сервис встроен в АРМ. URL веб-сервиса: http:/IP_ПК_оператора:8080/ARM
Ниже приводится описание методов для взаимодействия внешних клиентов с веб-сервисом АРМ. В заголовках URL веб-сервиса сокращается как ...
Формат даты/времени согласно ISO 8601: yyyyMMddThh:mm:ss.fffZ
, где T
- разделитель даты и времени; Z
- разделитель временной зоны (значение временной зоны не передается); fff
- миллисекунды (всегда 000).
Формат веса: в килограммах, целочисленный (int)
Метод: POST
. Создание новой накладной. В базе данных АРМ создается накладная с заданными значениями из соответствующих атрибутов запроса. Новая запись добавляется в список в разделе Накладные
. После успешного создания накладной можно автоматически открыть форму новой накладной с помощью атрибута show_form
.
Запрос:
Поле | Тип | Описание |
---|---|---|
request_id | int | Идентификатор внешней системы |
trip_id | int | Идентификатор рейса (внешней системы) |
trip_number | int | Номер рейса |
truck_plate | string | Гос. рег. номер ТС |
trailer_plate | string | Гос. рег. номер прицепа |
truck_model | string | Наименование марки ТС |
truck_owner | string | Наименование владельца ТС |
driver_name | string | ФИО водителя |
driver_org | string | Наименование организации водителя |
driver_duty | string | Должность водителя |
shipper_name | string | Наименование грузоотправителя |
shipper_ogrn | string | ОГРН грузоотправителя |
shipper_addr | string | Адрес грузоотправителя |
product_name | string | Наименование груза |
product_info | string | Количество груза |
ship_doc | string | Список сопроводительных документов |
doc_net_kg | int | Нетто груза по документу в килограммах |
consignee_name | string | Наименование грузополучателя |
consignee_ogrn | string | ОГРН грузополучателя |
consignee_addr | string | Адрес грузополучателя |
forwarder_name | string | Наименование экспедитора, перевозчика |
forwarder_ogrn | string | ОГРН экспедитора, перевозчика |
forwarder_addr | string | Адрес экспедитора, перевозчика |
path_from | string | Наименование пункта отправления |
path_to | string | Наименование пункта назначения |
show_form | int | Не является атрибутом накладной. 0 - не открывать форму новой накладной; 1 - автоматически открыть форму новой накладной для оператора |
Ответ:
Поле | Тип | Описание |
---|---|---|
request_id | int | Идентификатор внешней системы |
status | string | При успешном выполнении статус обработки запроса имеет значение OK . Может принимать другие значения, если запрос не выполнен. Перечень статусов указан ниже. |
waybill_id | int | Внутренний идентификатор накладной базы данных АРМ |
waybill_num | int | Порядковый номер накладной |
waybill_date | string | Дата/время создания/изменения накладной |
Статусы:
OK
- запрос выполнен успешно.LoggedOff
- пользователь не выполнил вход в АРМ.Busy
- не соблюдаются условия выполнения запроса из-за другой активности пользователя. Например, если задан атрибут show_form=1
, и у оператора открыта какая-либо форма, тогда задается значение Busy
. Если задан атрибут show_form=0
, тогда допускается параллельная работа оператора в другой форме, новая запись добавится в фоне.Exception
- ошибка в обработчике запроса на стороне АРМ.Метод: PUT
. Изменение данных в накладной. Можно использовать данный метод для автоматического открытия формы накладной для оператора при втором взвешивании. Для этого требуется задать атрибут show_form=1
. Атрибуты запроса и ответа соответствуют описанию как в пункте 7.1.1. Имеются отличия только в перечне статусов:
OK
- запрос выполнен успешно.LoggedOff
- пользователь не выполнил вход в АРМ.Busy
- не соблюдаются условия выполнения запроса из-за другой активности пользователя. Например, если задан атрибут show_form=1
, и у оператора открыта какая-либо форма, тогда задается значение Busy
. Если задан атрибут show_form=0
, тогда допускается параллельная работа оператора в другой форме, запись обновится в фоне, но при условии, что открытая форма накладной не отображает обновляемую запись.NotFound
- накладная не найдена в базе данных АРМ по заданному request_id
.Locked
- обновляемая накладная заблокирована.Exception
- ошибка в обработчике запроса на стороне АРМ.Метод: GET
. Получение данных о взвешивании.
Ответ:
Поле | Вложенное поле | Тип | Описание |
---|---|---|---|
request_id | int | Идентификатор внешней системы | |
status | string | Перечень статусов указан ниже | |
weighing1 | Первое взвешивание | ||
weighing_num | int | Номер взвешивания (1,2) | |
weight | int | Вес в килограммах в статике | |
weighing_dt | string | Дата/время взвешивания. Передается пустое значение, если первое взвешивание отсутствует. | |
axles | int[] | Массив типа int данные веса по осям | |
scale_id | int | Идентификатор весов, на которых было зафиксировано взвешивание. Идентификатор задается в конфигурации АРМ. | |
weighing2 | Втрое взвешивание | ||
weighing_num | int | Номер взвешивания (1,2) | |
weight | int | Вес в килограммах взвешивания в статике | |
weighing_dt | string | Дата/время взвешивания. Передается пустое значение, если второе взвешивание отсутствует. | |
axles | int[] | Массив типа int данные веса по осям | |
scale_id | int | Идентификатор весов, на которых было зафиксировано взвешивание. Идентификатор задается в конфигурации АРМ. |
Статусы:
OK
- запрос выполнен успешно. Возвращает OK также когда взвешивание отсутствует. При наличии данных у взвешивания должно быть заполнено вложенное поле weighing_dt
.AxlesInProcess
- запрос выполнен успешно. Но по заданному request_id
сейчас ожидается съезд с весов для получения результатов взвешивания осей. Максимальное время ожидания осей задается в конфигурации АРМ (параметр leave_scale_timeout
).LoggedOff
- пользователь не выполнил вход в АРМ.NotFound
- накладная не найдена в базе данных АРМ по заданному request_id
.Exception
- ошибка в обработчике запроса на стороне АРМ.Метод: PUT
. Блокировка накладной. После блокировки пользователь не может внести изменения в накладную, отменить или добавить взвешивание.
Ответ:
Поле | Тип | Описание |
---|---|---|
request_id | int | Идентификатор внешней системы |
status | string | Перечень статусов указан ниже |
OK
- запрос выполнен успешно.LoggedOff
- пользователь не выполнил вход в АРМ.NotFound
- накладная не найдена в базе данных АРМ по заданному request_id
.Busy
- у пользователя открыта форма именно этой накладной, которая найдена по заданному request_id
.Locked
- обновляемая накладная уже заблокирована.Exception
- ошибка в обработчике запроса на стороне АРМ.Метод: POST
. Фиксация текущих весовых данных аналогично нажатию кнопки Взвесить. Накладная и взвешивание сохраняется в базе данных, затем отправляется ответ на запрос.
Запрос:
Поле | Тип | Описание |
---|---|---|
request_id | int | Идентификатор внешней системы |
scale_id | int | Идентификатор весов, на которых требуется зафиксировать взвешивание. Идентификатор задается в конфигурации АРМ. |
Ответ:
Поле | Тип | Описание |
---|---|---|
request_id | int | Идентификатор внешней системы |
status | string | Перечень статусов указан ниже |
weight | int | Вес в килограммах в статике |
OK
- запрос выполнен успешно.LoggedOff
- пользователь не выполнил вход в АРМ.Busy
- у пользователя НЕ открыта форма накладной с заданным request_id
.Failed
- не удалось зафиксировать взвешивание. Возможные причины: текущая масса меньше допустимой; при втором взвешивании расчетная масса нетто получается меньше допустимой; время ожидания весовых данных истекло; кнопки взвешивания заблокированы.Exception
- ошибка в обработчике запроса на стороне АРМ.Метод: GET
. Проверка текущего состояния АРМ.
Ответ:
Поле | Тип | Описание |
---|---|---|
status | string | Перечень статусов указан ниже |
Статусы:
OK
- запрос выполнен успешно.LoggedOff
- пользователь не выполнил вход в АРМ.Busy
- у пользователя открыто диалоговое окно (форма накладной или другая форма редактирования записи). При этом можно выполнить запрос, который не требует участия пользователя, например, блокировка, создание или обновление накладной без открытия формы.Ready
- пользователь не занят редактированием, можно выполнить любой запрос.ScaleError
- не выводятся текущие показания весов. Это проверяется в АРМ после получения состояния Ready. Т.е. при статусе ScaleError можно выполнять запросы на блокировку, создание или обновление накладной.Метод: GET
. Экспорт ответа по накладной в файл PDF. Каталог выгрузки сформированных печатных форм задается в Конфигурации >> файл main\main.ini >> INTERACTION >> printform_dir. При формировании отчета используется шаблон, который задан в Конфигурации >> файл reports\reports.ini >> printform_template_path. Имя файла задается как “{request_id}.pdf”. При наличии одноименного файла в каталоге файл перезаписывается.
Ответ:
Поле | Тип | Описание |
---|---|---|
request_id | int | Идентификатор внешней системы |
status | string | Перечень статусов указан ниже |
href | string | Путь к сформированному файлу PDF |
Статусы:
OK
- запрос выполнен успешно.Exception
- ошибка в обработчике запроса на стороне АРМ. Возможная причина: не задан путь к каталогу выгрузки.На внешний веб-сервис передаются накладные по событиям:
Рекомендуется включить в АРМ передачу накладных только по событию блокировки накладной. Это гарантирует, что данные в локальной базе АРМ будут совпадать с переданными данными на сервер.
Адрес внешнего веб-сервиса задается в конфигурации АРМ, в файле main.ini >> INTERACTION. Для каждого метода адрес задается отдельно:
1. Метод (target_service_status_url)
Назначение метода:
Проверка связи с сервером.
Входные атрибуты (запрос):
без атрибутов
Выходные атрибуты (ответ):
2. Метод (target_service_url)
Назначение метода:
Передача данных из накладных.
Входные атрибуты (запрос):
Выходные атрибуты (ответ):
3. Метод (target_service_process_url)
Назначение метода:
Передача текущих показаний весов для автоматического режима взвешиваний (фиксация показаний программой сервера).
Входные атрибуты (запрос):
Выходные атрибуты (ответ):
Дата/время хранится как целое число (int) секунд, прошедших с 01.01.2000 00:00:00
.
Таблица Waybills - Накладные:
Поле | Тип MSSQL | Описание |
---|---|---|
ID | int | Идентификатор (автоинкремент) |
WaybillNumber | int | Порядковый номер накладной |
VehicleNumber | nvarchar(10) NULL | Номер тягача |
TrailerNumber | nvarchar(10) NULL | Номер прицепа |
Capacity | int NULL | Грузоподъемность (кг) |
InputTare | int NULL | Справочная тара или ручной ввод тары (кг) |
Description | nvarchar(200) NULL | Примечание |
DocNet | int NULL | Нетто по документу (кг) |
W1ID | int NULL | Идентификатор первого взвешивания (из таблицы Weighings ) |
W2ID | int NULL | Идентификатор второго взвешивания (из таблицы Weighings ) |
DateModified | int | Дата/время последних изменений в полях накладной |
EditorID | int NULL | Идентификатор пользователя, который внес изменения (из таблицы UserAccounts ) |
IsLocked | bit NULL | Статус блокировки накладной |
ProductID | int NULL | Идентификатор материала (из таблицы Products ) |
FractionID | int NULL | Идентификатор фракции материала (из таблицы Fractions ) |
AxlesConfigID | int NULL | Не используется |
ForwarderID | int NULL | Идентификатор экспедитора (из таблицы Forwarders ) |
ConsigneeID | int NULL | Идентификатор грузополучателя (из таблицы Consignees ) |
ShipperID | int NULL | Идентификатор грузоотправителя (из таблицы Shippers ) |
RoadID | int NULL | Не используется |
DriverID | int NULL | Идентификатор водителя (из таблицы Drivers ) |
DocNumTrans | nvarchar(50) NULL | Номер транспортной накладной |
DocDateTrans | int NULL | Дата транспортной накладной |
DocNumShip | nvarchar(50) NULL | Номер спроводительного документа |
DocDateShip | int NULL | Дата спроводительного документа |
DocNumPerm | nvarchar(50) NULL | Номер специального разрешения |
DocDatePerm | int NULL | Дата специального разрешения |
DocProductInfo | nvarchar(50) NULL | Доп. информация о грузе |
VehicleID | int NULL | Идентификатор марки ТС (из таблицы Vehicles ) |
ContainerNumber | nvarchar(15) NULL | Номер контейнера |
ContainerWeight | int NULL | Масса пустого контейнера (кг) |
ContainerInclude | bit NULL | Учитывать массу пустого контейнера при рассчете нетто |
CarOwnerID | int NULL | Идентификатор владельца ТС (из таблицы CarOwners ) |
PathFromID | int NULL | Идентификатор направления (из таблицы Paths ) |
PathToID | int NULL | Идентификатор направления (из таблицы Paths ) |
TripN | int NULL | Номер рейса |
RefID | int NULL | Идентификатор посылки данных из внешней системы при создания новой накладной |
SyncDate | int NULL | Дата/время успешной отправки данных накладной во внешнюю систему |
TripID | int NULL | Идентификатор рейса |
RoadCategory | int NULL | Список выбранных категорий дорог для определения осевых нагрузок. Список закодирован в int. Пример: 100 - выбрана первая категория из трех, 101 - первая и третья, 111 - все категории. |
VehicleConfig | nvarchar(60) NULL | Конфигурация осей тягача |
TrailerConfig | nvarchar(60) NULL | Конфигурация осей прицепа |
Таблица Weighings - Взвешивания:
Поле | Тип MSSQL | Описание |
---|---|---|
ID | int | Идентификатор (автоинкремент) |
W_Total | int | Масса (кг). Масса с нескольких платформ суммируется. |
DateWeighed | int | Дата/время взвешивания |
TerminalID | int | Идентификатор весового терминала. Соответствует параметру в конфигурации: main.ini >> TERMINAL1(2) >> id |
UserID | int NULL | Идентификатор оператора, который выполнил взвешивание |
WaybillID | int | Идентификатор накладной (из таблицы Waybills ) |
PhotoID | int NULL | Код фото-снимка, соответствует имени файла. Это число секунд, прошедших с 01.01.2016 00:00:00 . |
Axles | nvarchar(200) | Строка весовых нагрузок по осям (в килограммах через запятую) |
Таблица UserAccounts - Пользователи:
Поле | Тип MSSQL | Описание |
---|---|---|
ID | int | Идентификатор (автоинкремент) |
Login | nvarchar(50) | Логин проверяется при входе в программу |
FullName | nvarchar(150) | Ф.И.О. обычно используется в отчетах |
Password | nvarchar(20) NULL | Хэш пароля |
RoleID | int | Идентификатор группы |
CanChangePassword | bit | Пользователь может сменить пароль |
IsDisabled | bit | Пользователь заблокирован |
Таблица Drivers - Водители:
Поле | Тип MSSQL | Описание |
---|---|---|
ID | int | Идентификатор (автоинкремент) |
Name | nvarchar(50) | Ф.И.О. водителя |
Passport | nvarchar(50) NULL | Номер/серия документа (паспорта) |
Hidden | bit | Флаг удаления (скрытия) записи |
Duty | nvarchar(50) NULL | Должность |
Company | nvarchar(50) NULL | Организация |
Таблица Products - Грузы:
Поле | Тип MSSQL | Описание |
---|---|---|
ID | int | Идентификатор (автоинкремент) |
Name | nvarchar(50) | Наименование |
Hidden | bit | Флаг удаления (скрытия) записи |
CategoryID | int NULL | Идентификатор категории (из таблицы ProductCat ) |
Таблица Vehicles, Fractions, CarOwners, Paths - Марки ТС, Фракции материала, Владельцы ТС, Направления:
Поле | Тип MSSQL | Описание |
---|---|---|
ID | int | Идентификатор (автоинкремент) |
Name | nvarchar(50) | Наименование |
Hidden | bit | Флаг удаления (скрытия) записи |
Таблица NumDefs - Номера ТС:
Поле | Тип MSSQL | Описание |
---|---|---|
ID | int | Идентификатор (автоинкремент) |
Number | nvarchar(10) | Номер ТС или прицепа |
Capacity | int NULL | Грузоподъемность (кг) |
Tare | int NULL | Справочная тара (кг) |
GroupID | int | 0 - ТС; 1 - Прицеп |
AxlesConfigID | int NULL | Не используется |
VehicleID | int NULL | Идентификатор марки ТС (из таблицы Vehicles ) |
CarOwnerID | int NULL | Идентификатор владельца ТС (из таблицы CarOwners ) |
TareDate | int NULL | Дата/время обновления справочной тары |
AxlesConfig | nvarchar(60) NULL | Конфигурация осей |
Таблицы Shippers, Consignees, Forwarders - Грузоотправители, Грузополучатели, Экспедиторы:
Поле | Тип MSSQL | Описание |
---|---|---|
ID | int | Идентификатор (автоинкремент) |
Name | nvarchar(50) | Наименование |
OGRN | nvarchar(15) NULL | ОГРН |
Hidden | bit | Флаг удаления (скрытия) записи |
Address | nvarchar(100) NULL | Адрес |