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

Материал из ANT-Inform documentation
Перейти к: навигация, поиск
м (minor changes)
(Состав {http://spb.ant-inform.ru/ASCUG}day_q: Список в таблицу для day_q)
Строка 36: Строка 36:
  
 
==== Состав {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q ====
 
==== Состав {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q ====
; date : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime) - дата на которую производилось распределение.
+
{| border=1 width="100%" cellspacing="0" cellpadding="4" class="wikitable sortable"
; q : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal) - распределённый объём, нм<sup>3</sup>.
+
! Поле !! Тип !! Описание
; idContr : ({[http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/core]}UUID) - [[Перечень сокращений и обозначений#UID|UID]] договора.
+
|-
; idPc : ({[http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/core]}UUID) - [[Перечень сокращений и обозначений#UID|UID]] [[Перечень сокращений и обозначений#ТП|ТП]].
+
| date || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime || дата на которую производилось распределение
 
+
|-
; idPrMark : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}string) - идентификатор вида ценообразования (перечисление Прейскуранты).
+
| q || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal || распределённый объём, нм<sup>3</sup>
; idConsType : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}string) - идентификатор категории потребления. Соответствие задаётся через [[Конфигурирование_на_стороне_1С#Категории потребления|соответствующие константы ASCUG_consTypePopulation и ASCUG_consTypeExceptPopulation]].
+
|-
; idPContr : ({[http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/core]}UUID) - [[Перечень сокращений и обозначений#UID|UID]] [[Перечень сокращений и обозначений#Договор закупки|договора закупки]].
+
| idContr || {[http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/core]}UUID || [[Перечень сокращений и обозначений#UID|UID]] договора
; plan : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal) - План на указанные сущности и сутки, нм<sup>3</sup>. В случае введения графиков 1, 2 при похолоданиях или авариях в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]], будет отличаться от загруженного ранее из АИС.
+
|-
 +
| idPc || {[http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/core]}UUID || [[Перечень сокращений и обозначений#UID|UID]] [[Перечень сокращений и обозначений#ТП|ТП]]
 +
|-
 +
| idPrMark || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}string || идентификатор вида ценообразования (перечисление Прейскуранты)
 +
|-
 +
| idConsType || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}string || идентификатор категории потребления. Соответствие задаётся через [[Конфигурирование_на_стороне_1С#Категории потребления|соответствующие константы ASCUG_consTypePopulation и ASCUG_consTypeExceptPopulation]]
 +
|-
 +
| idPContr || {[http://v8.1c.ru/8.1/data/core http://v8.1c.ru/8.1/data/core]}UUID || [[Перечень сокращений и обозначений#UID|UID]] [[Перечень сокращений и обозначений#Договор закупки|договора закупки]]
 +
|-
 +
| plan || {[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}decimal || План на указанные сущности и сутки, нм<sup>3</sup>. В случае введения графиков 1, 2 при похолоданиях или авариях в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]], будет отличаться от загруженного ранее из АИС.
 +
|}
  
 
=== Экспорт утверждённых объёмов (Зона КИО) ===
 
=== Экспорт утверждённых объёмов (Зона КИО) ===

Версия 23:32, 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) - потребитель
({http://www.w3.org/2001/XMLSchema}decimal) - Объём. м3.
({http://www.w3.org/2001/XMLSchema}decimal) - Давление. Кгс/см2. Может отсутствовать.
({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).
uid 
({http://v8.1c.ru/8.1/data/core}UUID) - UID, если удалось вычленить, т.е. система-создатель соответствует той в которую импортируется (см. выше) и объект не сгенерирован (по префиксу gen:, исключение делается для ТП т.к. там данный префикс скорее означает тип загрузки, нежели генерацию на стороне ИУС-ГАЗ) адаптером в ИМУС.

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


Примечания

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