ЭД Монитор 2: различия между версиями

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
(Основные сведения)
(Получение статусов ДТ)
 
(не показано 39 промежуточных версий 3 участников)
Строка 27: Строка 27:
  
 
Типичное окно первичной настройки ЭД Монитор 2 изображено на следующем рисунке
 
Типичное окно первичной настройки ЭД Монитор 2 изображено на следующем рисунке
 +
  
 
[[Файл:EdMon2GUIView.png]]
 
[[Файл:EdMon2GUIView.png]]
  
==Настройка Монитора ЭД==
 
Настройка Монитора ЭД содержится на вкладке '''Настройки'''
 
 
[[Файл:edmonoptions.png]]
 
  
Вся настройка Монитора ЭД сводится к настройке доступа к базе данных MS SQL сервера, на котором хранятся все сообщения процесса электронного декларирования.
+
Здесь можно:
  
Поле Сервер - позволяет из выпадающего списка выбрать один из доступных MS SQL серверов, существующих в сети.
+
- выбрать MS SQL сервера
  
Авторизация - позволяет выбрать тип авторизации на MS SQL сервере. В случае, если выбрана Использовать указанные, то требуется ввести Логин и Пароль доступа на MS SQL сервер в соответствующих полях.
+
- выбрать базы данных
  
База данных - позволяет из выпадающего списка выбрать базу данных, в которой хранятся сообщения электронного декларирования.
+
- задать логин/пароль для доступа
  
<Проверить связь> - нажатием на эту кнопку можно проверить настройки доступа на MS SQL сервер и проверить связь с ним.
+
- проверить связь с сервером
  
<Взять настройки из ГТД сервера> - если установлен ГТД сервер и в нем уже были произведены настройки доступа на MS SQL сервер, то нажатие на эту кнопку позволит импортировать эти настройки в Монитор ЭД. Если в ГТД сервере нет данных настроек, то данная кнопка будет неактивна.
+
- задать порт для доступа из браузера к службе
  
<Сохранить> - позволяет сохранить настройки в конфигурационный файл.
+
- установить, удалить, запустить службу ЭД Монитора 2
  
Также можно настроить доступ к Монитору ЭД по сети по протоколу HTTP и получать информацию используя лубой браузер (Internet Explorer, Opera, FireFox и т.п.). Для этого надо установить галочку HTTP сервер и прописать Порт. Для проверки работы HTTP монитора можно нажать кнопку <Открыть...>. При этом запустится браузер с начальной страницей Монитора ЭД.
+
- сохранить настройки
 
ЭД монитор позволяет организовать просмотр декларантами своей статистики по HTTP. Для этого имеет набор настроек. В частности поле Список пользователей позволяет задать ИНН и пароль для пользователей, которые смогут по HTTP просматривать свою статистику. Есть кнопка <АвтоДобавление>, нажатие на которую позволяет добавить в список всех пользователей ЭД, которые существуют в базе SQL. По умолчанию в качестве логина и пароля при этом устанавливается ИНН (графа 14_4). Также можно из списка Колонки таблицы GtdList выбрать галочками те колонки, которые будут показываться клиентам при выводе их статистики по HTTP.
 
  
Настройка размера лог-файла, производится на вкладке '''Журнал'''.
+
==Общие принципы работы==
 +
После запуска службы доступ к монитору можно получить из любого Web браузера. Для перехода на страницу авторизации монитора, можно в программе первичной настройки нажать кнопку '''Открыть в браузере''' или открыть браузер и в строке адреса и ввести '''сервер:порт/vmonitor/'''.
  
[[Файл:edmonlog.png]]
+
Появится страница авторизации, на которой надо ввести логин пароль (по умолчанию admin|admin) и нажать '''Войти в кабинет'''.
  
==Работа с программой==
+
Появится главное окно ЭД Монитора 2.
При первом запуске программы может появиться одно из следующих сообщений
 
  
[[Файл:edmonstart1.png]]
+
[[Файл:EdMon2WebGeneral.png]]  
  
Это сообщение означает, что не были найдены настройки для доступа на MS SQL сервер. Причем настройки не найдены как в своем конфирурационном файле так и конфигурационном файле ГТД сервера.
 
  
[[Файл:edmonstart2.png]]
+
Мониторы, которые находятся в разработке или являются недоступными для вашей лицензии, отображаются неактивными.
  
Это сообщение означает, что не были нейдены настройки для доступа на MS SQL сервер в конфигурационном файле, но эти настройки найдены в конфигурационном файле ГТД сервера. Предлагается импортировать эти настройки в программу Монитор ЭД, либо отказаться от импортирования.  
+
Кликнув по нужному монитору, можно в него зайти.
  
После запуска окно программы имеет следующий вид
+
Например вот так выглядит '''Монитор руководителя'''.
  
[[Файл:edmongen.png]]
+
[[Файл:EdMon2WebMonRuck.png]]
  
Окно программы имеет 4 таблицы и небольшую область для задания параметров фильтрации/сортировки (снизу справа).
+
==Описание API==
 
+
=== Авторизация ===
Таблицы отображают результаты обработки базы данных электронного декларирования:
+
Для доступа к функциям ядра необходимо предварительно авторизоваться. Для стандартного монитора это происходит через окно авторизации. Но можно произвести авторизацию и вручную своим скриптом. Вот пример авторизации на javascript.
 
+
1. Поданные ГТД - ГТД, которые были поданы в таможенные органы, но не получили ещё подтверждения и присвоенного регистрационного номера.
+
var tmp = {};
 
+
tmp['login'] = 'admin';
2. Зарегистрированные ГТД - ГТД, которые получили подтверждение из таможенных органов и которым был присвоен регистрационный номер.
+
tmp['pass'] = 'admin';
 
 
3. Выпущенные ГТД - ГТД, которые прошли проверку в таможенных органах и готовы к выпуску.
 
 
 
4. Кол-во выпущенных ГТД по дням - своего рода статистика выпущенных ГТД (количество) по дням.
 
 
 
Получение результатов осуществляется нажатием кнопки <Обновить> (сверху слева). При этом происходит обращение к базе данных MS SQL сервера и вывод результатов в таблицы.
 
 
 
Записи можно получать за определенные промежутки времени. Для этого устанавливаются нужные параметры Сортировка по дате. Также можно вывести информацию на конкретного декларанта выбрав его в поле Декларант.
 
 
 
Данные в таблицах можно дополнительно сортировать по возрастанию/убыванию, щелкая по заголовку столбца, по которому требуется провести сортировку. Некоторую особенность имеет сортировка по номеру документа. При наведении курсора мыши на заголовок данного столбца, он (заголовок) через небольшой промежуток времени меняет свой вид, который представлен на рисунке сверху в первой таблице. Заголовок преобразуется в трехсекционный со стрелками. Щелкая на нужной стрелке вверх/вниз можно пересортировать данные по соответствующей секции номера документа по возрастанию/убыванию.
 
 
 
Данные из таблиц можно распечатать на принтере. Для этого служит кнопка <Распечатать...>. При этом появится диалог настроек печати, где можно выбрать соответствующие параметры вывода данных на принтер. Также данные можно сохранить в Excel файл (кнопка <В Excel...>).
 
 
 
Чтобы просмотреть сертификах с цифровой подписью, приложенный к сообщению, надо сделать двойной щелчок мышью на необходимой строке в таблице.
 
 
 
[[Файл:edmonsert.png]]
 
 
 
'''Архивные документы.'''
 
 
 
[[Файл:edmonarch.png]]
 
 
 
Здесь можно задать диапазон дат. В таблицу будут выводиться сведения о документах помещенных в архив в указанном диапазоне дат. Обновление данных в таблице производится при нажатии кнопки <Обновить>. В таблице справа выводится статистика документов помещенных в архив по декларантам.
 
 
 
 
 
В программе также есть возможность просматривать исходные сообщения ЭД. Для этого в программе существует закладка '''Сообщения ЭД-2'''.
 
 
 
[[Файл:edmonmsgs.png]]
 
 
   
 
   
Здесь можно задать диапазон дат. В таблицу будут выводиться сообщения, полученные в указанном диапазоне дат. Обновление данных в таблице производится при нажатии кнопки <Обновить>.
+
$.ajax({
 +
  url: "http://localhost:80/auth.json",
 +
  dataType: "text",
 +
  data: $.toJSON(tmp),
 +
  type: "POST",
 +
  cache:false,
 +
  crossDomain: true,
 +
  xhrFields: {withCredentials: true},
 +
  timeout:5000,
 +
  success: function(dtn, textStatus, jqXHR) {
 +
    data = JSON.parse(dtn);
 +
    if (data['message'] !== undefined)
 +
      alert(data['message']['title'] + '\n' + data['message']['text']);
 +
  },
 +
  error: function(XMLHttpRequest, textStatus, errorThrown) {
 +
    alert('Ошибка.\n' + errorThrown);
 +
  },
 +
  complete: function() {
 +
  }
 +
});
 +
 
 +
Здесь в виде ajax запроса передается json структура с логином и паролем. После прихода ответа его надот проанализировать. Если в ответе есть поле 'message', то значит при авторизации происходит какая то ошибка.
  
При двойном клике мышью на любой строке в таблице сообщений, появляется окно просмотра исходного XML сообщения.
+
=== Получение APIKEY и секретного слова ===
 +
Для получения ключа и секретного слова, которые могут использоваться для доступа к API функциям монитора, необходимо зайти в настройки пользователей ЭД монитора. Там необходимо нажать кнопку '''Добавить''' (рядом с надписью "API ключ"). Появится API ключ и секретное слово. Необходимо их запомнить (записать), для дальнейшего использования.
 +
API ключ и секретное слово отображаются только один раз до сохранения настроек. Если ключ и слово утеряны, то придется генерировать их заново.
  
[[Файл:edmonviewmsgs.png]]
+
[[Файл:Edmonapikey1.png]] [[Файл:Edmonapikey2.png]]
  
 +
=== Использование APIKEY и секретного слова для доступа к API функциям ===
 +
Используется двойное хэширование ключа и передаваемых параметров в URL строке. Ниже приведен пример формирования hash суммы параметров при отправке запроса request_gtd_status.
  
'''Статистика ЭД сообщений'''
+
  $("#btget").on("click", function() {
 +
    var params = {};
 +
    params['from'] = "15.11.2020";
 +
    params['to'] = "20.11.2020";
 +
    $.toJSON(params);
 +
    var apikey, salt;
 +
    apikey = 'C188E85AA4C770EC32FD1426';
 +
    salt = 'FCCE90';
 +
    var p;
 +
    p = 'apikey=' + apikey + '&a=3&b=5';
 +
    var md5;
 +
    md5 = $.md5(p);
 +
    md5 = md5 + salt;
 +
    md5 = $.md5(md5);
 +
    p = p + '&hash=' + md5;
 +
    $.ajax({
 +
      url: "request_gtd_status.json?" + p,
 +
      dataType: "json",
 +
      type: "POST",
 +
      data: $.toJSON(params),
 +
      cache:false,
 +
      success: function(data) {
 +
          alert(JSON.stringify(data));
 +
      },
 +
      error: function(XMLHttpRequest, textStatus, errorThrown) {
 +
        alert("Ошибка.\n" + errorThrown);
 +
      },
 +
      complete: function() {
 +
      }
 +
    });
 +
  });
  
[[Файл:edmonstatmsgs.png]]
+
=== Получение статусов ДТ ===
 +
POST
  
На данной вкладке можно получить статистику (дату и время) получения ЭД сообщений для документов. С правой стороны есть поле, которое позваляет выбирать какие из сообщений будут выводиться в колонки таблицы. Галочка Сообщения в заголовках позвоялет переключать вывод в заголовках типов сообщений на их описание. Галочка Одно сообщение для каждого документа позвоялет выводить в таблицу для каждого документа либо только одно последнее сообщение, либо все сообщения данного типа, которые были. Обновление информации производится по кнопке <Обновить>.
+
URL: request_gtd_status.json?apikey=xxxxxx&hash=yyyyyy
  
Результаты можно сохранять в файл Excel. Для этого имеется кнопка <В Excel...>.
+
DATA: json диапазон дат.
  
==Конструктор отчетов==
+
Пример
На данной вкладке можно самостоятельно сконструировать таблицу с требуемыми столбцами, SQL запрос для нее, а также сохранить/загрузить её вид в некотором произвольном конфигурационном файле.
 
  
Для добавления нового столбца необходимо щелкнуть правой кнопкой мыши по какому либо месту в таблице и выбрать из выпадающего меню ''Добавить''. Появится окно, к котором надо указать заголовок столбца и соотвествующее ему поле из SQL запроса. Перетаскивать и менять столбцы местами можно цепляя их за заголовок. В правом поле составляется SQL запрос, который пожно выполнить. Также имеется строка для ввода имени файла, куда можно сохранить текущую конфигурацию таблицы или загрузить из него конфигурацию. В составе программы есть тестовый конфигурационный файл test.sql. Который вы можете загрузить и выполнить. Полученные в таблице данные можно распечатать на принтере или экспортировать данные с Excel, для этого есть соответствующие кнопки.
+
  var params = {};
 +
  params["from"] = "15.11.2020";
 +
  params["to"] = "20.11.2020";
  
[[Файл:edmonconstruct.png]]
+
Ответ: json файл следующего содержания
  
==Доступ по HTTP==
+
Если успешно.
Монитор ЭД позволяет получать информацию на любом компьютере в сети имеющего доступ по протоколу HTTP.
 
  
Для этого Монитор ЭД должен быть запущен и у него должен быть включен HTTP сервер (см. Настройка Монитора ЭД).
+
  {
 +
    “server1”: {
 +
      “base1”: [
 +
        {
 +
          guid: “xxxxxxx”,
 +
          num: “10005020/140709/0400001”,
 +
          regnum: “10005020/220708/0400120”,
 +
          regdate: “19.03.2021”,
 +
          “edstat”: 1024,
 +
          “msgstat”: “Выпуск разрешен”
 +
        },
 +
          guid: “xxxxxxx”,
 +
          num: “10005020/140709/0400002”,
 +
          regnum: “10005020/220708/0400122”,
 +
          regdate: “19.02.2021”,
 +
          “edstat”: 5,
 +
          “msgstat”: “Идет проверка”
 +
        }
 +
        …
 +
      ],
 +
      “base2”:[
 +
        …
 +
      ],
 +
      …
 +
    },
 +
    “server2”: {
 +
      “base1”: [
 +
        {
 +
          …
 +
        },
 +
          …
 +
        }
 +
        …
 +
      ],
 +
      “base2”:[
 +
        …
 +
      ],
 +
      …
 +
    },
 +
 
 +
  }
  
Предположим Монитор ЭД запущен на компьютере имеющего адрес в сети IP равный 192.168.2.5 и в настройках Монитора ЭД стоит порт 8080. Тогда на любом компьютере из той же сети в браузере можно набрать адрес
+
server – имя SQL сервера, с которого получены данные
  
http://192.168.2.5:8080/edmonitor
+
base – имя базы на SQL сервере, из которой получены данные
  
При этом появится запрос на ввод пароля и логина для доступа. По умолчанию логин и пароль для администратора (admin admin). По умолчанию логин и пароль для пользователей ЭД это их ИНН из графы 14_4.
+
guid – GUID документа в базе.
 
 
[[Файл:edmonitor.png]]
 
 
 
Пользователи могут самостоятельно менять свой пароль для доступа к своей статистике (Смена пароля).
 
 
 
[[Файл:edmonitor1.png]]
 
 
 
Статистика для Администратора выглядит следующим образом.
 
 
 
[[Файл:edmonitor2.png]]
 
 
Также, как и в самой программе, здесь можно выбрать метод сортировки данных по дате, декларанту и номеру документа. И выбрать одну их трех получаемых таблиц. После нажатия кнопки <Применить> страница обновится и после заголовка с параметрами появится таблица с данными (см. рисунок). После смены каких либо параметров требуется нажимать кнопку <Применить>, чтобы происходило обновление таблиц.
 
  
Есть возможность просмотра исходных сообщений ЭД. Для этого необходимо перейти по ссылке '''ЭД-сообщения'''. При этом вид страницы изменится.
+
num – внутренний номер документа.
  
[[Файл:edmonitor3.png]]
+
regnum – регистрационный номер
  
Для переходы назад к просмотру статистики необходимо перейти по ссылке '''Статистика декларирования'''.
+
regdate – дата регистрации
  
Статистика пользователя выглядит примерно следующим образом.
+
edstat – статус, числом
  
[[Файл:edmonitor4.png]]
+
msstat – статус, строкой (фраза)
  
[[Категория:ГТД Сервер]]
+
[[Категория:ГТД-Сервер]]
 +
[[Категория:ЭД-2]]
 +
[[Категория:Web-Сервисы]]
 +
[[Категория:Автоматизация]]

Текущая версия на 09:34, 27 марта 2024

Монитор Электронного Декларирования 2 (далее Монитор ЭД) - средство, входящее в состав ГТД сервера, которое позволяет получать информацию о статусе документов ГТД участвующих в процессе электронного декларирования. Это новая версия ЭД Монитора основанная на Web.

К ЭД монитору принадлежат следующие файлы

EdMon2GUI.exe - программа настройки ЭД монитор 2.

EdMon2GUI.log - log файл событий программы настройки ЭД монитор 2.

EdMon2GUI.elf - журнал критических ошибок программы настройки ЭД монитор 2.

edmonsrvc2.exe - служба-сервер ЭД монитор 2. В своем составе содержит HTTP сервер.

edmonsrvc2.log - log файл событий службы-сервер ЭД монитор 2.

edmonsrvc2.elf - журнал критических ошибок службы-сервер ЭД монитор 2.

EdMon2.ini - фиксированные настройки ЭД монитор 2.

webserv.vmonitor.dat - файл данных для службы-сервер

iniedmon2.json - файл пользовательских настроек

ВАЖНО! При возникновении проблем с работой программы требуется написать письмо в тех.поддержку Альта-Софт с кратким описанием проблемы (ошибки), указать версию программы ЭД монитор 2 и приложить к письму файлы edmonsrvc2.log, iniedmon2.json, edmonsrvc2.elf (если такой имеется).

Основные сведения

ЭД Монитор 2 фактически состоит из двух модуле: программа первичной настройки (GUI) и службы-сервер, которая выступает посредником между браузером и данными MS SQL.

Типичное окно первичной настройки ЭД Монитор 2 изображено на следующем рисунке


EdMon2GUIView.png


Здесь можно:

- выбрать MS SQL сервера

- выбрать базы данных

- задать логин/пароль для доступа

- проверить связь с сервером

- задать порт для доступа из браузера к службе

- установить, удалить, запустить службу ЭД Монитора 2

- сохранить настройки

Общие принципы работы

После запуска службы доступ к монитору можно получить из любого Web браузера. Для перехода на страницу авторизации монитора, можно в программе первичной настройки нажать кнопку Открыть в браузере или открыть браузер и в строке адреса и ввести сервер:порт/vmonitor/.

Появится страница авторизации, на которой надо ввести логин пароль (по умолчанию admin|admin) и нажать Войти в кабинет.

Появится главное окно ЭД Монитора 2.

EdMon2WebGeneral.png


Мониторы, которые находятся в разработке или являются недоступными для вашей лицензии, отображаются неактивными.

Кликнув по нужному монитору, можно в него зайти.

Например вот так выглядит Монитор руководителя.

EdMon2WebMonRuck.png

Описание API

Авторизация

Для доступа к функциям ядра необходимо предварительно авторизоваться. Для стандартного монитора это происходит через окно авторизации. Но можно произвести авторизацию и вручную своим скриптом. Вот пример авторизации на javascript.

var tmp = {};
tmp['login'] = 'admin';
tmp['pass'] = 'admin';

$.ajax({
  url: "http://localhost:80/auth.json",
  dataType: "text",
  data: $.toJSON(tmp),
  type: "POST",
  cache:false,
  crossDomain: true,
  xhrFields: {withCredentials: true},
  timeout:5000,
  success: function(dtn, textStatus, jqXHR) {
    data = JSON.parse(dtn);
    if (data['message'] !== undefined)
      alert(data['message']['title'] + '\n' + data['message']['text']);
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
    alert('Ошибка.\n' + errorThrown);
  },
  complete: function() {
  }
});
 

Здесь в виде ajax запроса передается json структура с логином и паролем. После прихода ответа его надот проанализировать. Если в ответе есть поле 'message', то значит при авторизации происходит какая то ошибка.

Получение APIKEY и секретного слова

Для получения ключа и секретного слова, которые могут использоваться для доступа к API функциям монитора, необходимо зайти в настройки пользователей ЭД монитора. Там необходимо нажать кнопку Добавить (рядом с надписью "API ключ"). Появится API ключ и секретное слово. Необходимо их запомнить (записать), для дальнейшего использования. API ключ и секретное слово отображаются только один раз до сохранения настроек. Если ключ и слово утеряны, то придется генерировать их заново.

Edmonapikey1.png Edmonapikey2.png

Использование APIKEY и секретного слова для доступа к API функциям

Используется двойное хэширование ключа и передаваемых параметров в URL строке. Ниже приведен пример формирования hash суммы параметров при отправке запроса request_gtd_status.

 $("#btget").on("click", function() {
   var params = {};
   params['from'] = "15.11.2020";
   params['to'] = "20.11.2020";
   $.toJSON(params);
   var apikey, salt;
   apikey = 'C188E85AA4C770EC32FD1426';
   salt = 'FCCE90';
   var p;
   p = 'apikey=' + apikey + '&a=3&b=5';
   var md5;
   md5 = $.md5(p);
   md5 = md5 + salt;
   md5 = $.md5(md5);
   p = p + '&hash=' + md5;
   $.ajax({
     url: "request_gtd_status.json?" + p,
     dataType: "json",
     type: "POST",
     data: $.toJSON(params),
     cache:false,
     success: function(data) {
         alert(JSON.stringify(data));
     },
     error: function(XMLHttpRequest, textStatus, errorThrown) {
       alert("Ошибка.\n" + errorThrown);
     },
     complete: function() {
     }
   });
 });

Получение статусов ДТ

POST

URL: request_gtd_status.json?apikey=xxxxxx&hash=yyyyyy

DATA: json диапазон дат.

Пример

 var params = {};
 params["from"] = "15.11.2020";
 params["to"] = "20.11.2020";

Ответ: json файл следующего содержания

Если успешно.

 {
    “server1”: {
     “base1”: [
       {
         guid: “xxxxxxx”,
         num: “10005020/140709/0400001”,
         regnum: “10005020/220708/0400120”,
         regdate: “19.03.2021”,
         “edstat”: 1024,
         “msgstat”: “Выпуск разрешен” 
       },
         guid: “xxxxxxx”,
         num: “10005020/140709/0400002”,
         regnum: “10005020/220708/0400122”,
         regdate: “19.02.2021”,
         “edstat”: 5,
         “msgstat”: “Идет проверка” 
       }
       …
     ],
     “base2”:[
       …
     ],
     …
   },
   “server2”: {
     “base1”: [
       {
         …
       },
         …
       }
       …
     ],
     “base2”:[
       …
     ],
     …
   },
 
 }

server – имя SQL сервера, с которого получены данные

base – имя базы на SQL сервере, из которой получены данные

guid – GUID документа в базе.

num – внутренний номер документа.

regnum – регистрационный номер

regdate – дата регистрации

edstat – статус, числом

msstat – статус, строкой (фраза)