Экспорт данных — различия между версиями

Материал из ANT-Inform documentation
Перейти к: навигация, поиск
(Состав {http://spb.ant-inform.ru/ASCUG}day_q: Список в таблицу для day_q)
(Перевод в табличную форму передаваемых объектов для наглядности.)
Строка 69: Строка 69:
  
 
==== Состав {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q_raw ====
 
==== Состав {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q_raw ====
; corr_time : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime) - время и дата<ref>Время добавлено для возможности в будущем таким же способом передавать часовые архивы при необходимости</ref> на которые проводился замер (время [[Перечень сокращений и обозначений#Корректор (Вычислитель)|корректора]]).
+
{| border=1 width="100%" cellspacing="0" cellpadding="4" class="wikitable sortable"
; cur_time : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime) - время и дата когда данные были записаны в БД (должно быть позже corr_time).
+
! Поле !! Тип !! Описание
; channel : ({[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id) - [[Перечень сокращений и обозначений#Канал|канал]]
+
|-
; gco : ({[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id) - площадка
+
| corr_time || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime || время и дата<ref>Время добавлено для возможности в будущем таким же способом передавать часовые архивы при необходимости</ref> на которые проводился замер (время [[Перечень сокращений и обозначений#Корректор (Вычислитель)|корректора]])
; pc : ({[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id) - [[Перечень сокращений и обозначений#ТП|ТП]]
+
|-
; cons : ({[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id) - потребитель
+
| cur_time || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime || время и дата когда данные были записаны в БД (должно быть позже corr_time)
; q : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal) - Объём. м<sup>3</sup>.
+
|-
; p : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal) - Давление. Кгс/см<sup>2</sup>. Может отсутствовать.
+
| channel || {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id || [[Перечень сокращений и обозначений#Канал|канал]]
; t : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal) - Температура. ℃. Может отсутствовать.
+
|-
 +
| gco || {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id || площадка
 +
|-
 +
| pc || {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id || [[Перечень сокращений и обозначений#ТП|ТП]]
 +
|-
 +
| cons || {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id || потребитель
 +
|-
 +
| q || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal || Объём. м<sup>3</sup>
 +
|-
 +
| p || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal || Давление. Кгс/см<sup>2</sup>. Может отсутствовать
 +
|-
 +
| t || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal || Температура. ℃. Может отсутствовать.
 +
|}
  
 
+
Тип {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id (global ID), упоминаемый ранее представляет собой объединённый идентификатор объекта и состоит из полей, имеющих следующее значение:
Тип {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}g_id (global ID) представляет собой объединённый идентификатор объекта и состоит из полей, имеющих следующее значение:
+
{| border=1 width="100%" cellspacing="0" cellpadding="4" class="wikitable sortable"
; id : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}long) - идентификатор (id) объекта в [[Перечень сокращений и обозначений#ИМУС|ИМУС]]. Может быть пустым.
+
! Поле !! Тип !! Описание
; ocs : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}string) - код системы - владельца (owner_code_system), код внешней системы, в которой объект был создан. В данном случае это должна быть [[Перечень сокращений и обозначений#АИС РГ|АИС]]. Будет заполнено только если не совпадает с основной системой в которую экспортируется, указанную в {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q_raw_lis.default_owner_code_system.
+
|-
; oid : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}string) - [[Перечень_сокращений_и_обозначений#Ид. в системе создателя|Ид. в системе создателя]] - идентификатор объекта в системе, в которой он был создан (Original Id).
+
| id || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}long || идентификатор (id) объекта в [[Перечень сокращений и обозначений#ИМУС|ИМУС]]. Может быть пустым
; uid : ({[http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/core]}UUID) - [[Перечень сокращений и обозначений#UID|UID]], если удалось вычленить, т.е. система-создатель соответствует той в которую импортируется (см. выше) и объект не [[Общий порядок загрузки данных#Генерация структуры вниз|сгенерирован]] (по префиксу gen:, исключение делается для [[Перечень сокращений и обозначений#ТП|ТП]] т.к. там данный префикс скорее означает тип загрузки, нежели генерацию на стороне [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]]) адаптером в [[Перечень сокращений и обозначений#ИМУС|ИМУС]].
+
|-
 +
| ocs || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}string || код системы - владельца (owner_code_system), код внешней системы, в которой объект был создан. В данном случае это должна быть [[Перечень сокращений и обозначений#АИС РГ|АИС]]. Будет заполнено только если не совпадает с основной системой в которую экспортируется, указанную в {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q_raw_lis.default_owner_code_system
 +
|-
 +
| oid || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}string || [[Перечень_сокращений_и_обозначений#Ид. в системе создателя|Ид. в системе создателя]] || идентификатор объекта в системе, в которой он был создан (Original Id, OrigId)
 +
|-
 +
| uid || {[http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/core]}UUID || [[Перечень сокращений и обозначений#UID|UID]], если удалось вычленить, т.е. система-создатель соответствует той в которую импортируется (см. выше) и объект не [[Общий порядок загрузки данных#Генерация структуры вниз|сгенерирован]] (по префиксу gen:, исключение делается для [[Перечень сокращений и обозначений#ТП|ТП]] т.к. там данный префикс скорее означает тип загрузки, нежели генерацию на стороне [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]]) адаптером в [[Перечень сокращений и обозначений#ИМУС|ИМУС]]
 +
|}
  
 
При включении [[Конфигурирование адаптера на стороне ИМУС#ais_ws_debug|режима отладки]], поле oid будет заполняться всегда, иначе (для экономии размера передаваемых данных) только если не заполнен uid.
 
При включении [[Конфигурирование адаптера на стороне ИМУС#ais_ws_debug|режима отладки]], поле oid будет заполняться всегда, иначе (для экономии размера передаваемых данных) только если не заполнен uid.

Версия 23:39, 15 октября 2014

С версии 17.0 реализован экспорт распределённых суточных данных из ИМУС в АИС Регионгаз и предоставлена возможность записи зоны КИО.

Требуемые изменения в конфигурации

К сожалению, видимо конфигурация АИС РГ писалась без учета возможности работы в чисто серверном режиме (какими являются Веб-сервис, внешние соединения и т.д.) и в том числе имеет плохой стиль взаимодействия с пользователем в различных частях системы, даже не проверяя что это в данный момент возможно. Такие проверки делаются легко с помощью конструкций вида:

#Если наКлиенте Тогда 
	Вопрос("Вы точно хотите продолжить?", РежимДиалогаВопрос.ДаНет);
#КонецЕсли

Таким образом, при использовании на сервере таких конструкций это приводит к ошибке, поскольку такие функции просто не определены. Подробнее про это рекомендуется прочитать в интернете, например [1]. В конфигурации АИС РГ проблема усугубляется тем, что такое взаимодействие присутствует в модулях объекта, что вообще считается дурной практикой. Это приводит даже просто к невозможности создания документов к сожалению.

Таким образом все такие операции в модуле документа СуточноеПотребление должны быть обрамлены условными конструкциями препроцессору (сейчас таких мест 6 штук для конфигурации версии 1.1.28).

Для простоты при совпадении номера конфигурации и условии что не вносилось ручных изменений в данный модуль, можно его скопировать также из предложенного нами cf-файла. Или внести соответствующие изменения самостоятельно.

Обратите внимание, данные изменения никак не затрагивают обычное использование АИС Регионгаз, потому что данные конструкции именно указывают на то что в обычном режиме это и выполняются, и не выполняются только в режиме сервера.

Выполнение экспорта

С версии АРМ ~1.5.449 добавлены графические пункты меню с выбором дат.

Также иногда удобно посылать команды из консоли с помощью утилитки amq-command, на сервере ИМУС. Параметры точно также как для планов.

На регулярное выполнение команды могут быть сконфигурированы стандартным способом.

Состав и формат передаваемых данных

Экспорт данных оперативного баланса о суточном распределении по договорам

Передаётся информация по распределению по договорам за выбранный период (сутки) - "Зона распределения - Оперативный баланс - по суткам"

Данные передаются в операцию сервиса write_q. Передаётся список значений {http://spb.ant-inform.ru/ASCUG}day_q в атрибуте list типа {http://spb.ant-inform.ru/ASCUG}day_q_list.

Состав {http://spb.ant-inform.ru/ASCUG}day_q

Поле Тип Описание
date {http://www.w3.org/2001/XMLSchema}dateTime дата на которую производилось распределение
q {http://www.w3.org/2001/XMLSchema}decimal распределённый объём, нм3
idContr {http://v8.1c.ru/8.1/data/core}UUID UID договора
idPc {http://v8.1c.ru/8.1/data/core}UUID UID ТП
idPrMark {http://www.w3.org/2001/XMLSchema}string идентификатор вида ценообразования (перечисление Прейскуранты)
idConsType {http://www.w3.org/2001/XMLSchema}string идентификатор категории потребления. Соответствие задаётся через соответствующие константы ASCUG_consTypePopulation и ASCUG_consTypeExceptPopulation
idPContr {http://v8.1c.ru/8.1/data/core}UUID UID договора закупки
plan {http://www.w3.org/2001/XMLSchema}decimal План на указанные сущности и сутки, нм3. В случае введения графиков 1, 2 при похолоданиях или авариях в ИУС-ГАЗ, будет отличаться от загруженного ранее из АИС.

Экспорт утверждённых объёмов (Зона КИО)

Добавлено в версии 18.3.

Реализовано по запросу Рустама Фарукшина из Уфы и совместно с ним[1]. На данный момент реализован экспорт из ИУС-ГАЗ. В сервис добавлена операция write_q_raw, которая ничего не делает, только получает массив входящих данных. Фактическая функция записи должна быть сконфигурирована константой ASCUG_write_q_raw_custom_code. Вызываемый для обработки код должен самостоятельно заполнить список ошибок и статус операции в передаваемом аргументе errList {http://spb.ant-inform.ru/ASCUG}error_list.

Данные передаются в операцию сервиса write_q_raw. Передаётся список значений {http://spb.ant-inform.ru/ASCUG}day_q_raw в атрибуте list типа {http://spb.ant-inform.ru/ASCUG}day_q_raw_list.

Состав {http://spb.ant-inform.ru/ASCUG}day_q_raw

Поле Тип Описание
corr_time {http://www.w3.org/2001/XMLSchema}dateTime время и дата[2] на которые проводился замер (время корректора)
cur_time {http://www.w3.org/2001/XMLSchema}dateTime время и дата когда данные были записаны в БД (должно быть позже corr_time)
channel {http://spb.ant-inform.ru/ASCUG}g_id канал
gco {http://spb.ant-inform.ru/ASCUG}g_id площадка
pc {http://spb.ant-inform.ru/ASCUG}g_id ТП
cons {http://spb.ant-inform.ru/ASCUG}g_id потребитель
q {http://www.w3.org/2001/XMLSchema}decimal Объём. м3
p {http://www.w3.org/2001/XMLSchema}decimal Давление. Кгс/см2. Может отсутствовать
t {http://www.w3.org/2001/XMLSchema}decimal Температура. ℃. Может отсутствовать.

Тип {http://spb.ant-inform.ru/ASCUG}g_id (global ID), упоминаемый ранее представляет собой объединённый идентификатор объекта и состоит из полей, имеющих следующее значение:

Поле Тип Описание
id {http://www.w3.org/2001/XMLSchema}long идентификатор (id) объекта в ИМУС. Может быть пустым
ocs {http://www.w3.org/2001/XMLSchema}string код системы - владельца (owner_code_system), код внешней системы, в которой объект был создан. В данном случае это должна быть АИС. Будет заполнено только если не совпадает с основной системой в которую экспортируется, указанную в {http://spb.ant-inform.ru/ASCUG}day_q_raw_lis.default_owner_code_system
oid {http://www.w3.org/2001/XMLSchema}string Ид. в системе создателя идентификатор объекта в системе, в которой он был создан (Original Id, OrigId)
uid {http://v8.1c.ru/8.1/data/core}UUID UID, если удалось вычленить, т.е. система-создатель соответствует той в которую импортируется (см. выше) и объект не сгенерирован (по префиксу gen:, исключение делается для ТП т.к. там данный префикс скорее означает тип загрузки, нежели генерацию на стороне ИУС-ГАЗ) адаптером в ИМУС

При включении режима отладки, поле oid будет заполняться всегда, иначе (для экономии размера передаваемых данных) только если не заполнен uid.


Примечания

  1. За что выражаю благодарность
  2. Время добавлено для возможности в будущем таким же способом передавать часовые архивы при необходимости