Экспорт данных — различия между версиями
Hubbitus (обсуждение | вклад) (→Тестирование: Link CcDailyPlan, remove period specification double) |
Hubbitus (обсуждение | вклад) (Add === Экспорт данных оперативного баланса о суточном распределении по договорам ===) |
||
Строка 34: | Строка 34: | ||
* Загрузка с 21 февраля 2012 года до текущего дня (включительно): '''''ExportQ_#2012.02.21''''' | * Загрузка с 21 февраля 2012 года до текущего дня (включительно): '''''ExportQ_#2012.02.21''''' | ||
* Загрузка c 21 февраля 2012 года по 25 февраля: '''''ExportQ_#2012.02.21..#2012.02.25''''' | * Загрузка c 21 февраля 2012 года по 25 февраля: '''''ExportQ_#2012.02.21..#2012.02.25''''' | ||
+ | |||
+ | == Состав и формат передаваемых данных == | ||
+ | === Экспорт данных оперативного баланса о суточном распределении по договорам === | ||
+ | [[Команды адаптера#ExportQ|Передаётся]] информация по распределению по договорам за выбранный период (сутки) - "Зона актировани - Оперативный баланс - по суткам" | ||
+ | |||
+ | Данные передаются в операцию сервиса [[Команды адаптера#ExportQ|write_q]]. Передаётся список значений {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q в атрибуте list типа {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q_list. | ||
+ | |||
+ | |||
+ | ==== Состав {[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) - дата на которую производилось распределение. | ||
+ | ; 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]] [[Перечень сокращений и обозначений#ТП|ТП]]. | ||
+ | |||
+ | ; 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 при похолоданиях или авариях в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]], будет отличаться от загруженного ранее из АИС. | ||
=== Экспорт утверждённых объёмов === | === Экспорт утверждённых объёмов === | ||
Строка 47: | Строка 66: | ||
'''Остаётся только добавить саму запись данных. Позже обязательно это сделаем либо общей реализацией, либо вынесем в вызов функции из внешнего модуля!''' | '''Остаётся только добавить саму запись данных. Позже обязательно это сделаем либо общей реализацией, либо вынесем в вызов функции из внешнего модуля!''' | ||
− | + | Данные передаются в операцию сервиса [[Команды адаптера#ExportQRaw|write_q_raw]]. Передаётся список значений {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q_raw в атрибуте list типа {[http://spb.ant-inform.ru/ASCUG http://spb.ant-inform.ru/ASCUG]}day_q_raw_list. | |
+ | |||
+ | ==== Состав {[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> на которые проводился замер (время [[Перечень сокращений и обозначений#Корректор (Вычислитель)|корректора]]). | ; corr_time : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime) - время и дата<ref>Время добавлено для возможности в будущем таким же способом передавать часовые архивы при необходимости</ref> на которые проводился замер (время [[Перечень сокращений и обозначений#Корректор (Вычислитель)|корректора]]). | ||
; cur_time : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime) - время и дата когда данные были записаны в БД (должно быть позже corr_time). | ; cur_time : ({[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]}dateTime) - время и дата когда данные были записаны в БД (должно быть позже corr_time). |
Версия 19:48, 12 сентября 2013
ЭКСПЕРИМЕНТАЛЬНО[1] реализован экспорт распределённых суточных данных из ИМУС в АИС Регионгаз.
Обратите внимание, по умолчанию ВЕБ-сервис ASCUG остался только для чтения! Возможность записи должна быть включена представителем компании явным заданием константы ASCUG_ENABLE_WRITE! |
Содержание
Требуемые изменения в конфигурации
К сожалению, видимо конфигурация АИС РГ писалась без учета возможности работы в чисто серверном режиме (какими являются Веб-сервис, внешние соединения и т.д.) и в том числе имеет плохой стиль взаимодействия с пользователем в различных частях системы, даже не проверяя что это в данный момент возможно. Такие проверки делаются легко с помощью конструкций вида:
#Если наКлиенте Тогда Вопрос("Вы точно хотите продолжить?", РежимДиалогаВопрос.ДаНет); #КонецЕсли
Мы настоятельно рекомендуем кому-либо из представителей региональной компании, имеющей договор на поддержку, обратиться в поддержку ООО «Аудит НТ» для внесения данных изменений в основной состав конфигурации с очередным обновлением |
Таким образом, при использовании на сервере таких конструкций это приводит к ошибке, поскольку такие функции просто не определены. Подробнее про это рекомендуется прочитать в интернете, например [1]. В конфигурации АИС РГ проблема усугубляется тем, что такое взаимодействие присутствует в модулях объекта, что вообще дурной практикой. Это приводит даже просто к невозможности создания документов к сожалению.
Таким образом все такие операции в модуле документа СуточноеПотребление должны быть обрамлены условными конструкциями препроцессору (сейчас таких мест 6 штук для конфигурации версии 1.1.28).
Для простоты при совпадении номера конфигурации и условии что не вносилось ручных изменений в данный модуль, можно его скопировать также из предложенного нами cf-файла. Или внести соответствующие изменения самостоятельно.
Обратите внимание, данные изменения никак не затрагивают обычное использование АИС Регионгаз, потому что данные конструкции именно указывают на то что в обычном режиме это и выполняются, и не выполняются только в режиме сервера.
Тестирование
В процессе тестирования, пока не доступен функционал отправки запроса на экспорт из АРМ, можно посылать команды из консоли с помощью утилитки amq-command, на сервере ИМУС.
Основная команда для этого ExportQ с параметрами. Например: «amq-command ExportQ_<DateFrom>..<DateTo>..<DateBound>», точно также как для планов.
Примеры команд
- С начала текущего месяца, до сегодня, за три приема чтобы не создавать каждый раз чрезмерной нагрузки, что соответствует: ExportQ_m0..m10..0,ExportQ_m11..m20..0,ExportQ_m21..m31..0
- Загрузка недели (7 дней) предшествующей сегодняшнему дню: ExportQ_-7
- Загрузка недели (7 дней) вперед, от сегодняшнего дня: ExportQ_0..+7 или просто ExportQ_0..7
- Загрузка +/- недели: ExportQ_-7..+7 или просто ExportQ_-7..7
- Загрузка первой недели (7 дней) текущего месяца: ExportQ_m0..m7
- Загрузка целого месяца (31 день), но не далее текущего дня: ExportQ_m0..M31..0
- Загрузка с 21 февраля 2012 года до текущего дня (включительно): ExportQ_#2012.02.21
- Загрузка c 21 февраля 2012 года по 25 февраля: ExportQ_#2012.02.21..#2012.02.25
Состав и формат передаваемых данных
Экспорт данных оперативного баланса о суточном распределении по договорам
Передаётся информация по распределению по договорам за выбранный период (сутки) - "Зона актировани - Оперативный баланс - по суткам"
Данные передаются в операцию сервиса 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. Реализовано не полностью!
Работа идёт по запросу Рустама Фарукшина из Уфы и совместно с ним[2]. На данный момент реализован экспорт из ИУС-ГАЗ. Ожидается реализация записи на стороне АИС РГ.
В сервис добавлена операция write_q_raw, которая на данный момент ничего не делает, только получает массив входящих данных. Однако в ней сформирована базовая структура получения, возврата кода завершения операции и списка ошибок.
Остаётся только добавить саму запись данных. Позже обязательно это сделаем либо общей реализацией, либо вынесем в вызов функции из внешнего модуля!
Данные передаются в операцию сервиса 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) - время и дата[3] на которые проводился замер (время корректора).
- 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) - Объём. m3.
- 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).
- uid
- ({http://v8.1c.ru/8.1/data/core}UUID) - UID, если удалось вычленить, т.е. система-создатель соответствует той в которую импортируется (см. выше) и объект не сгенерирован (по префиксу gen:, исключение делается для ТП т.к. там данный префикс скорее означает тип загрузки, нежели генерацию на стороне ИУС-ГАЗ) адаптером в ИМУС.
При включении режима отладки, поле oid будет заполняться всегда, иначе (для экономии размера передаваемых данных) только если не заполнен uid.