Конфигурирование на стороне 1С — различия между версиями

Материал из ANT-Inform documentation
Перейти к: навигация, поиск
м (Категории потребления: нету -> нет (orphus))
(Планы)
 
(не показано 28 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
== Проблема ==
 
== Проблема ==
  
В отдельных РГК имеются свои особенности учета в [[Перечень_сокращений_и_обозначений#АИС РГ|АИС РГ]].
+
В отдельных РГК имеются свои особенности учета в [[АИС РГ]].
  
 
Например:
 
Например:
* ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей [[Перечень_сокращений_и_обозначений#АИС РГ|АИС РГ]]);
+
* ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей [[АИС РГ]]);
 
* множество некорректных договоров и площадок, датируемых 2003 годом, исправление которых не имеет смысла и крайне затруднительно;
 
* множество некорректных договоров и площадок, датируемых 2003 годом, исправление которых не имеет смысла и крайне затруднительно;
 
* использование «псевдо-типов» договоров и так далее.
 
* использование «псевдо-типов» договоров и так далее.
Строка 24: Строка 24:
 
{{anchor|ASCUG_additional_Contract_vendor}}
 
{{anchor|ASCUG_additional_Contract_vendor}}
  
; '''ASCUG_additional_Contract_vendor''' : используется в [[Команды адаптера#GetContract|операции веб-сервиса '''get_contracts''']]. Выборка осуществляется из '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''' как '''contracts''', если он ведётся (имеются площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором'''), иначе '''РегистрНакопления.ПланыПоставок''' как '''contracts''', и всегда также доступен объединённый '''РегистрСведений.ПараметрыДоговора.СрезПоследних''' как '''contractParams'''. Позволяет переопределить выбор поставщика по договору на усмотрение компании. Значение по умолчанию: "ISNULL(contracts.Договор.ОсновнойДоговор.Поставщик.Ссылка, &OurCompany)".
+
; '''ASCUG_additional_Contract_vendor''' : Позволяет переопределить выбор поставщика по договору на усмотрение компании.
 +
Значение по умолчанию, атрибут '''Поставщик''', если указан, и текущая компания '''Catalogs.Контрагенты.НашаОрганизация''' ([[РГК]]) в обратном случае:
 +
<source lang="1C">
 +
ISNULL(contracts.Договор.ОсновнойДоговор.Поставщик.Ссылка, &OurCompany)
 +
</source>
 +
Используется в [[Команды адаптера#GetContract|операции веб-сервиса '''get_contracts''']].  
 +
Выборка осуществляется из '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''' как '''contracts''', если он ведётся (имеются площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором'''), иначе '''РегистрНакопления.ПланыПоставок''' как '''contracts''', и всегда также доступен объединённый '''РегистрСведений.ПараметрыДоговора.СрезПоследних''' как '''contractParams'''.
 
{{anchor|ASCUG_additionalCondition_Contract}}
 
{{anchor|ASCUG_additionalCondition_Contract}}
; '''ASCUG_additionalCondition_Contract''' : используется в [[Команды адаптера#GetContract|операции веб-сервиса '''get_contracts''']]. Выборка осуществляется из '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''' как '''contracts''', если он ведётся (имеются площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором'''), иначе '''РегистрНакопления.ПланыПоставок''' как '''contracts''', и всегда также доступен объединённый '''РегистрСведений.ПараметрыДоговора.СрезПоследних''' как '''contractParams'''.
+
; '''ASCUG_additionalCondition_Contract''' : Позволяет задать дополнительные желаемые условия для фильтрации загружаемых договоров (например по типу, состоянию или атрибутам).
 +
Смотрите описание проблемы и предостережения в начале страницы.
 +
Используется в [[Команды адаптера#GetContract|операции веб-сервиса '''get_contracts''']].
 +
 
 +
Выборка осуществляется из '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''' как '''contracts''', если он ведётся (имеются площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором'''), иначе '''РегистрНакопления.ПланыПоставок''' как '''contracts''', и всегда также доступен объединённый '''РегистрСведений.ПараметрыДоговора.СрезПоследних''' как '''contractParams'''.
  
 
==== Потребители ====
 
==== Потребители ====
 
; '''ASCUG_additionalCondition_Consumer'''<ref>С [[история изменений|версии веб-сервиса 16.0.pre2]]. До этой версии была загрузка из справочников напрямую, и определялись константы: '''ASCUG_additionalCondition_ConsumerContract''' и '''ASCUG_additionalCondition_ConsumerContractReestr'''. Теперь они объявляются устаревшими и больше не используются</ref> : [[Команды адаптера#GetConsumer|Операция веб-сервиса '''get_consumers''']].
 
; '''ASCUG_additionalCondition_Consumer'''<ref>С [[история изменений|версии веб-сервиса 16.0.pre2]]. До этой версии была загрузка из справочников напрямую, и определялись константы: '''ASCUG_additionalCondition_ConsumerContract''' и '''ASCUG_additionalCondition_ConsumerContractReestr'''. Теперь они объявляются устаревшими и больше не используются</ref> : [[Команды адаптера#GetConsumer|Операция веб-сервиса '''get_consumers''']].
Доступен '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''', если он ведётся (если есть площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором''') или '''РегистрНакопления.ПланыПоставок''' как '''plan'''.
+
Доступен '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''', если он ведётся (если есть площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором''') или '''РегистрНакопления.ПланыПоставок''' как '''plan'''. Тип '''Строка'''. Например:
 +
<source lang="1C">AND Договор.ДатаКонца>&CurrentDate</source>
  
 
==== Площадки ====
 
==== Площадки ====
 +
{{anchor|ASCUG_additionalCondition_GasConsObjects}}
 
; '''ASCUG_additionalCondition_GasConsObjects''' : [[Команды адаптера#GasConsObject|операция '''get_gas_cons_objects''']]. Доступны '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних''' как '''gco''' и объединенная с ней '''РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор = "КонтактноеЛицо")''' как '''contact'''.
 
; '''ASCUG_additionalCondition_GasConsObjects''' : [[Команды адаптера#GasConsObject|операция '''get_gas_cons_objects''']]. Доступны '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних''' как '''gco''' и объединенная с ней '''РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор = "КонтактноеЛицо")''' как '''contact'''.
  
 +
{{anchor|ASCUG_additional_GasConsObjects}}
 
; '''ASCUG_additional_GasConsObjects''' : дополнительная константа, которая будет доступна дополнительно для шаблона наименования площадок. Внимание, '''''это дополнительное поле передаваемой информации, а не условие отбора'''''!
 
; '''ASCUG_additional_GasConsObjects''' : дополнительная константа, которая будет доступна дополнительно для шаблона наименования площадок. Внимание, '''''это дополнительное поле передаваемой информации, а не условие отбора'''''!
  
 
==== Точки подключения ====
 
==== Точки подключения ====
 
; '''ASCUG_additionalCondition_PointConnects''' : [[Команды адаптера#PointConnect|операция '''get_point_connects''']].
 
; '''ASCUG_additionalCondition_PointConnects''' : [[Команды адаптера#PointConnect|операция '''get_point_connects''']].
В зависимости от [[варианта учёта ТП]] и настроек доступны: '''Справочник.Подключения''' как '''pc''', '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних''' как '''pc''', '''РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор="ВыходГРС")''' как '''gcoParams'''.
+
В зависимости от [[Перечень сокращений и обозначений#ТП|варианта учёта ТП]] и настроек доступны: '''Справочник.Подключения''' как '''pc''', '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних''' как '''pc''', '''РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор="ВыходГРС")''' как '''gcoParams'''.
  
 
==== Узлы учёта газа ====
 
==== Узлы учёта газа ====
Строка 57: Строка 70:
  
 
==== Планы ====
 
==== Планы ====
; {{deprecated-inline|15pre8. ESB-492}}'''ASCUG_additionalCondition_plans_filter'''<ref>Доступно [[история изменений|с версии 14.10pre6]].</ref><ref>{{deprecated-inline|15pre8. ESB-492}} C переходом на новые планы по субъектам распределения, данная константа объявляется устаревшей и больше не используется. Теперь забираются все планы, с соответствующими категориями потребления, которые можно просматривать в [[Перечень_сокращений_и_обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] и соответствующим образом замапить.</ref> : [[Команды адаптера#ContrPcDailyPlan|операция get_contr_pc_daily_plans]]. Вставляется в условие WHERE выборки категорий '''Catalog.КатегорииПотребления''', заменяя основное 'LIKE «%население%»'. Выбираться должны категории, планы по которым не должны попадать в [[Перечень_сокращений_и_обозначений#ИУС-ГАЗ|ИУС-ГАЗ]].
+
; {{deprecated-inline|15pre8. ESB-492}}'''ASCUG_additionalCondition_plans_filter'''<ref>Доступно [[история изменений|с версии 14.10pre6]].</ref><ref>{{deprecated-inline|15pre8. ESB-492}} C переходом на новые планы по субъектам распределения, данная константа объявляется устаревшей и больше не используется. Теперь забираются все планы, с соответствующими категориями потребления, которые можно просматривать в [[ИУС-ГАЗ]] и соответствующим образом замапить.</ref> : [[Команды адаптера#ContrPcDailyPlan|операция get_contr_pc_daily_plans]]. Вставляется в условие WHERE выборки категорий '''Catalog.КатегорииПотребления''', заменяя основное 'LIKE «%население%»'. Выбираться должны категории, планы по которым не должны попадать в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]].
 +
 
 +
{{ anchor | ASCUG_additionalCondition_Plan }}
 +
; '''ASCUG_additionalCondition_Plan'''<ref>Доступно [[version 19|с версии 19.5.pre11]].</ref> : Доступен '''РегистрНакопления.ПланыПоставок''' под именем '''plan'''. [[Команды адаптера#CcDailyPlan|Операция get_cc_daily_plans]]
 +
 
 +
''Пример значения константы:
 +
AND plan.Договор.ОсновнойДоговор.Наименование NOT LIKE "Тестовый договор%"''.
 +
 
 +
''Пример значения константы ( при загрузке планов у расторгнутого через документ расторжения договора нулевые планы с даты расторжения не загружаются):
 +
AND (Период, Договор.ОсновнойДоговор, Подключение, ПлощадкаОборудования, КатегорияПотребления, Поставка, ВидГаза, Договор.ВидПрейскуранта) NOT IN (SELECT Период, Договор.ОсновнойДоговор, Подключение, ПлощадкаОборудования, КатегорияПотребления, Поставка, ВидГаза, Договор.ВидПрейскуранта FROM РегистрНакопления.ПланыПоставок WHERE Активность AND terminationDate <= &DateEnd AND Период BETWEEN terminationDate AND &DateEnd AND Договор.ОсновнойДоговор = terminationContract GROUP BY Период, Договор.ОсновнойДоговор, Подключение, ПлощадкаОборудования, КатегорияПотребления, Поставка, ВидГаза, Договор.ВидПрейскуранта HAVING SUM(Количество) = 0)''.
  
 
{{ anchor | ASCUG_additional_plans_priority }}
 
{{ anchor | ASCUG_additional_plans_priority }}
; '''ASCUG_additional_plans_priority'''<ref>Доступно [[история изменений|с версии 15.10]].</ref> : константа, позволяющая изменить источник вида ценообразования для получаемого из планов субъекта распределения в [[Перечень_сокращений_и_обозначений#ИУС-ГАЗ|ИУС-ГАЗ]]. По умолчанию берётся из '''Договор.ВидПрейскуранта.Порядок'''. Доступен '''РегистрНакопления.ПланыПоставок''' под именем '''plan'''. [[Команды адаптера#CcDailyPlan|Операция get_cc_daily_plans]].
+
; '''ASCUG_additional_plans_priority'''<ref>Доступно [[история изменений|с версии 15.10]].</ref> : константа, позволяющая изменить источник вида ценообразования для получаемого из планов субъекта распределения в [[ИУС-ГАЗ]]. По умолчанию берётся из '''Договор.ВидПрейскуранта.Порядок'''. Доступен '''РегистрНакопления.ПланыПоставок''' под именем '''plan'''. [[Команды адаптера#CcDailyPlan|Операция get_cc_daily_plans]]
 +
Например: ASCUG_additional_plans_priority=[ISNULL(Поставка.ВидЦенообразования.Порядок, Неопределенно)].
 +
 
 +
{{anchor | ASCUG_additional_plansUseGasType }}
 +
; '''ASCUG_additional_plansUseGasType'''<ref>Доступно [[version 19|с версии 19.2]]. [https://jira.spb.ant-inform.ru/browse/ESB-1746 ESB-1746]</ref> : Константа, позволяющая включить загрузку разреза [[Команды адаптера#GasType|Вида газа]] для [[СР]]. 1 (true) - использовать (импортировать) разрез вид газа, 0 (false) - не использовать.
 +
{{ ambox | type = warning | text = Внимание! Для всех [[СР]] где данный разрез заполнен в [[АИС РГ]] придётся провести заново привязку на [[субъект поставки]]! }}
 +
 
 +
{{ anchor | ASCUG_current_date }}
 +
; '''ASCUG_current_date'''<ref>Доступно [[version 19|с версии 19.5.pre11]].</ref> : тип поля Date. Позволяет выполнить загрузку планов и объектов на следующий месяц/год. Необходимо задать дату загрузки, например 01.01.2018. Выполнить загрузку из АРМа: Потребители, ТП, Площадки, Договоры, Виды газа, План с указанием будущего периода, после этого необходимо убрать константу или значение константы и перезагрузить ТП и Площадки.
  
 
==== Связывание площадок с ТП ====
 
==== Связывание площадок с ТП ====
; '''ASCUG_additionalCondition_relPCtoGCOunique'''<ref>Доступно [[история изменений|с версии 15.12]].</ref> : Если будет установлена в любое истинное значение, связывание площадок с [[Перечень сокращений и обозначений#ТП|ТП]] будет осуществляться в режиме уникальности, подразумевая всегда связь один к одному. Это может быть решением проблемы, если вы [[Налагаемые требования целостности, коды ошибок#code1853|не хотите снимать атрибут '''ЕстьСвязь''' регистра '''ПлощадкиПоДоговору''' с прошлых периодов]]. Уникальная, активная связка, которая должна будет попасть в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]], будет отбираться по тем же правилам [[что используются для потребителей]].
+
{{anchor|ASCUG_additionalCondition_relPCtoGCOunique}}
 +
; '''ASCUG_additionalCondition_relPCtoGCOunique'''<ref>Доступно [[история изменений|с версии 15.12]].</ref> : Если будет установлена в любое истинное значение, связывание площадок с [[Перечень сокращений и обозначений#ТП|ТП]] будет осуществляться в режиме уникальности, подразумевая всегда связь один к одному. Это может быть решением проблемы, если вы [[Налагаемые требования целостности, коды ошибок#code1853|не хотите снимать атрибут '''ЕстьСвязь''' регистра '''ПлощадкиПоДоговору''' с прошлых периодов]]. Уникальная, активная связка, которая должна будет попасть в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]], будет отбираться по тем же правилам [[Налагаемые требования целостности, коды ошибок#code405|что используются для потребителей]].
  
 
{{ ambox | type = warning | text = Следует однако заметить, что площадка может легитимно иметь несколько подключений в один момент времени, например, если она питается более чем с одного Выхода ГРС (площадки больших потребителей, ТЭЦ и теплосетей) они должны быть скорректированы в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] вручную. Ошибок такого типа в отчете не будет. С другой стороны таких потребителей должно быть единицы }}
 
{{ ambox | type = warning | text = Следует однако заметить, что площадка может легитимно иметь несколько подключений в один момент времени, например, если она питается более чем с одного Выхода ГРС (площадки больших потребителей, ТЭЦ и теплосетей) они должны быть скорректированы в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] вручную. Ошибок такого типа в отчете не будет. С другой стороны таких потребителей должно быть единицы }}
  
 
{{ ambox | type = warning | text = Дополнительно отметим что в этих случаях вручную не достаточно будет добавить или сгенерировать отдельный канал в ИУС-ГАЗ, так как зоны ГП строятся по узлам, в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] необходимо добавить дополнительный тракт [[Перечень сокращений и обозначений#УУГ|УУГ]] -> [[Перечень сокращений и обозначений#Корректор (Вычислитель)|корректор]] -> [[Перечень сокращений и обозначений#канал|канал]] и привязать каждый канал к своему подключению. Поскольку такой информации на уровне каналов в АИС нет, это можно сделать только вручную. }}
 
{{ ambox | type = warning | text = Дополнительно отметим что в этих случаях вручную не достаточно будет добавить или сгенерировать отдельный канал в ИУС-ГАЗ, так как зоны ГП строятся по узлам, в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] необходимо добавить дополнительный тракт [[Перечень сокращений и обозначений#УУГ|УУГ]] -> [[Перечень сокращений и обозначений#Корректор (Вычислитель)|корректор]] -> [[Перечень сокращений и обозначений#канал|канал]] и привязать каждый канал к своему подключению. Поскольку такой информации на уровне каналов в АИС нет, это можно сделать только вручную. }}
 +
 +
; ''' ASCUG_additionalCondition_relPCtoGCO'''<ref>Доступно [[история изменений|с версии 23]].</ref> : Позволяет задать дополнительные желаемые условия для фильтрации связываемых объектов. <b>Пример:</b> <i>AND  Площадка.Код = 3050
  
 
=== Экспорт в АИС ===
 
=== Экспорт в АИС ===
Строка 77: Строка 110:
 
[[Команды адаптера#ExportQ|операция write_q]]
 
[[Команды адаптера#ExportQ|операция write_q]]
  
==== Категории потребления ====
+
==== [[Команды адаптера#ExportQ|Запись актированного суточного распределения (ExportQ)]] ====
По указанию Перванюка В.С. из [[Перечень_сокращений_и_обозначений#МРГ|МРГ]] в ИМУС оставлено всего 2 категории потребления: '''"Население"''' и '''"Кроме населения"'''. При импорте из [[Перечень_сокращений_и_обозначений#АИС РГ|АИС РГ]] планов, данные сущности стандартным образом [[Перечень_сокращений_и_обозначений#Маппинг (связывание)|мапятся]] на эти 2. Проблема возникает при обратном экспорте фактических данных в [[Перечень_сокращений_и_обозначений#АИС РГ|АИС РГ]] — необходимо обратное преобразование.
+
 
; '''ASCUG_consTypePopulation''' : константа типа '''СправочникСсылка.КатегорииПотребления'''. Если она задана, она будет взята для категории [[Перечень_сокращений_и_обозначений#ИМУС|ИМУС]] '''"Население"'''. Если ее нет, или она не задана будет взята категория потребления с кодом 2 (по умолчанию это '''"Население конечным потребителям"''').
+
===== Категории потребления =====
; '''ASCUG_consTypeExceptPopulation''' : константа типа '''СправочникСсылка.КатегорииПотребления'''. Если она задана, она будет взята для категории [[Перечень_сокращений_и_обозначений#ИМУС|ИМУС]] '''"Кроме населения"'''. Если ее нет, или она не задана будет взята категория потребления с кодом 1 (по умолчанию это '''"Кроме населения конечным потребителям"''').
+
По указанию Перванюка В.С. из [[МРГ]] в [[ИМУС]] оставлено всего 2 категории потребления: '''"Население"''' и '''"Кроме населения"'''. При импорте из [[АИС РГ]] [[Команды адаптера#CcDailyPlan|планов]], данные сущности стандартным образом [[Маппинг|мапятся]] на эти 2. Проблема возникает при обратном экспорте фактических данных в [[АИС РГ]] — необходимо обратное преобразование.
[[Команды адаптера#ExportQ|операция write_q]]
+
; '''ASCUG_consTypePopulation''' : константа типа '''СправочникСсылка.КатегорииПотребления'''. Если она задана, она будет взята для категории [[ИМУС]] '''"Население"'''. Если ее нет, или она не задана будет взята категория потребления с кодом 2 (по умолчанию это '''"Население конечным потребителям"''').
 +
; '''ASCUG_consTypeExceptPopulation''' : константа типа '''СправочникСсылка.КатегорииПотребления'''. Если она задана, она будет взята для категории [[ИМУС]] '''"Кроме населения"'''. Если ее нет, или она не задана будет взята категория потребления с кодом 1 (по умолчанию это '''"Кроме населения конечным потребителям"''').
  
 
{{ ambox | text = При желании обе могут быть импортированы вместе с веб-сервисом из предлагаемого cf файла }}
 
{{ ambox | text = При желании обе могут быть импортированы вместе с веб-сервисом из предлагаемого cf файла }}
  
 +
===== Переопределение логики записи =====
 +
{{anchor|ASCUG_write_q_custom_code}}
 +
; '''ASCUG_write_q_custom_code''' : если задано не пустое значение, данный код будет выполняться в [[Команды адаптера#ExportQ|операции write_q]] для записи объёмов, вместо стандартно предложенной реализации<ref>Предназначено для реализации принципиально другой логики записи, а не для исправления ошибок, о которых убедительная просьба сообщать нам</ref>.
 +
 +
С [[история изменений|версии]] 18.3.3.
 +
 +
===== Изменение документа записи месячного потребления =====
 +
; {{anchor|ASCUG_write_q_monthDocCreate}}'''ASCUG_write_q_monthDocCreate''' : Предоставляется возможность задать документ или способ его получения куда предполагается писать месячное потребление.
 +
По умолчанию:
 +
<source lang="1C">
 +
Documents.МесячноеПотребление.CreateDocument();
 +
</source>
 +
Используется в команде [[Команды адаптера#ExportQMonth|ExportQMonth]]. C [[version 19|версии сервиса 19.5.pre1]] - [https://jira.spb.ant-inform.ru/browse/ESB-1597 ESB-1597].
 +
 +
===== Обработчик записи документов СуточноеПотребление и МесячноеПотребление<ref name="ExportQMonth">C [[version 19|версии сервиса 19.5.pre1]] - [https://jira.spb.ant-inform.ru/browse/ESB-1597 ESB-1597] действие распространено также на документ МесячноеПотребление</ref> =====
 +
; {{anchor|ASCUG_write_q_onDocWrite}}'''ASCUG_write_q_onDocWrite''' : Предоставляется возможность задать собственный обработчик заполнения документа Суточное потребление если нужна дополнительная логика. Вызывается перед записью документа.<ref>По запросу из Новосибирска, от Осипова Сергея</ref>
 +
Для использования доступны переменные:
 +
* docDayConsumption - сам документ '''СуточноеПотребление''' или '''МесячноеПотребление'''<ref name="ExportQMonth"/>
 +
* s : Структурированные данные, из которых документ был заполнен, ValueTable со следующими столбцами:
 +
** prMark - PriorityMark - вид ценообразования
 +
** pc - PointConnect - [[Точка подключения]]
 +
** contract - Договор
 +
** consType - Категория потребления
 +
** pContract - RurchaseContract - [[Поставка]].
 +
** GDSout - Выход ГРС
 +
** q - Объём, м<sup>3</sup>
 +
** plan - план
 +
** date - дата
 +
* d : исходные, сырые данные.
 +
 +
Добавлено [[Version 19|с версии 19.4.2]] ([https://jira.spb.ant-inform.ru/browse/ESB-1917 ESB-1917]).
 +
По умолчанию отсутствует.
 +
 +
===== Обработчик записи строки документа СуточноеПотребление и МесячноеПотребление<ref name="ExportQMonth"/> =====
 +
; {{anchor|ASCUG_write_q_onDocLineWrite}}'''ASCUG_write_q_onDocLineWrite''' : Предоставляется возможность задать собственный обработчик заполнения строки документа Суточное потребление если нужна дополнительная логика.<ref>По запросу из Новосибирска, от Осипова Сергея</ref>
 +
Для использования доступны переменные:
 +
* tablePart - сама табличная часть документа
 +
* dataLine - строка исходных данных, передаваемых сервис из которых происходит заполнение. ValueTable (ТаблицаЗначений) с полями:
 +
** prMark : Вид ценообразования (PriorityMark)
 +
** pc : Точка подключения (PointConnect)
 +
** contract : Договор
 +
** consType : Категория потребления
 +
** pContract : Поставка
 +
** GDSout : Выход ГРС
 +
** q : Объём, тыс м<sup>3</sup>
 +
** plan : Плановый объём - диспетчерский лимит. м<sup>3</sup>. Может отличаться от плана [[Перечень сокращений и обозначений#АИС РГ|АИС РГ]] если в [[Перечень сокращений и обозначений#ИМУС|ИМУС]] вводились ограничения по графикам 1/2 или неравномерности.
 +
** date : Дата
 +
* line - найденная и заполненная строка табличной части.
 +
* doc - сам документ.<ref>Добавлен [[Version 19|с версии 19.4.2]]. [https://jira.spb.ant-inform.ru/browse/ESB-1917 ESB-1917]</ref>.
 +
 +
Примером использования может быть задание строки вида:
 +
<source lang="1C">
 +
СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияИзИУСГАЗ(tablePart, dataLine, line, doc)
 +
</source>
 +
 +
С [[Version 19|версии]] 19.0.6.
 +
Используется если задана не пустая строка. Для работы не требуется.
 +
 +
==== [[Команды адаптера#ExportQRaw|Запись зоны актирования КИО (ExportQRaw)]] ====
 +
{{anchor|ASCUG_write_q_raw_custom_code}}
 +
; '''ASCUG_write_q_raw_custom_code''' : Должен быть задан валидный 1С код, для выполнения записи сырых (не распределённых) актированных объёмов в операции [[Команды адаптера#ExportQRaw|операция write_q_raw]]. По умолчанию:
 +
 +
<source lang="1C">
 +
СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияРаспределенногоИзИУСГАЗ(data, err_type, err_list)".
 +
</source>
 +
 +
{{ ambox | type = warning | text = Реализации по умолчанию с нашей стороны не предоставляется!<ref>На самом деле, кроме специфичных случаев, как например в Уфе было необходимо распределение до площадок, это вряд ли кому и нужно будет в учётной системе. И места в [[Перечень сокращений и обозначений#АИС РГ|АИС РГ]] для этих данных по умолчанию похоже также нету. </ref> }}
 +
 +
С [[история изменений|версии]] 18.3.3.
 +
 +
==== [[Команды адаптера# ExportQRawMonth|Запись месячных данных зоны актирования КИО ( ExportQRawMonth)]] ====
 +
{{anchor|ASCUG_write_q_raw_month_custom_code}}
 +
; '''ASCUG_write_q_raw_month_custom_code''' : Должен быть задан валидный 1С код, для выполнения записи сырых (не распределённых) актированных объёмов в операции [[Команды адаптера#ExportQRawMonth|операция write_q_raw]]. По умолчанию:
 +
 +
<source lang="1C">
 +
СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияРаспределенногоИзИУСГАЗ(data, err_type, err_list)".
 +
</source>
 +
 +
{{ ambox | type = warning | text = Реализации по умолчанию с нашей стороны не предоставляется!<ref>На самом деле, кроме специфичных случаев, как например в Уфе было необходимо распределение до площадок, это вряд ли кому и нужно будет в учётной системе. И места в [[Перечень сокращений и обозначений#АИС РГ|АИС РГ]] для этих данных по умолчанию похоже также нету. </ref> }}
 +
 +
С [[история изменений|версии]] 23.
 +
 +
==== Пример ====
 +
 +
Примером кода для обоих констант может служить<ref>[https://jira.spb.ant-inform.ru/browse/ESB-1816 ESB-1816]</ref>:
 +
<source lang="1C">
 +
for each d in data.list do
 +
_addError(errList, d, "Test!", -1,);
 +
endDo;
 +
status.code = 0;
 +
status.text = "Test mode used. Please see you exported data in errors (files or report)";
 +
</source>
 +
 +
Всё что делают эти несколько строчек, перекладывают входящие данные [[Экспорт_данных#Список ошибок|в объекты ошибок]], которые затем можно будет посмотреть, например в [[Общий порядок загрузки данных#Отчёт о состоянии синхронизации|отчёте]]. Это может быть весьма полезным при настройке и отладке взаимодействия.
 
----
 
----
  
 
== Примечания ==  
 
== Примечания ==  
 
<references/>
 
<references/>

Текущая версия на 14:30, 8 ноября 2019

Проблема

В отдельных РГК имеются свои особенности учета в АИС РГ.

Например:

  • ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей АИС РГ);
  • множество некорректных договоров и площадок, датируемых 2003 годом, исправление которых не имеет смысла и крайне затруднительно;
  • использование «псевдо-типов» договоров и так далее.

Поскольку веб-сервис един для всех РГК, изменения в него могут быть внесены только при обнаружении ошибок или общим, непротиворечивым способом. Для учета особенностей РГК и в первую очередь для того, чтобы отфильтровать нежелательные к загрузке объекты, предлагается механизм констант, влияющих на результаты запросов.

Суть механизма заключается в том, что в код запросов веб-сервиса вводится ряд констант, значение которых может подставляться в запросы получения различных типов данных и влияет на тип и/или объём получаемой информации.

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

Импорт в ИУС ГАЗ

Договоры

ASCUG_additional_Contract_vendor 
Позволяет переопределить выбор поставщика по договору на усмотрение компании.

Значение по умолчанию, атрибут Поставщик, если указан, и текущая компания Catalogs.Контрагенты.НашаОрганизация (РГК) в обратном случае:

 ISNULL(contracts.Договор.ОсновнойДоговор.Поставщик.Ссылка, &OurCompany)

Используется в операции веб-сервиса get_contracts. Выборка осуществляется из РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate) как contracts, если он ведётся (имеются площадки и не установлена константа НеСвязыватьПлощадкуСДоговором), иначе РегистрНакопления.ПланыПоставок как contracts, и всегда также доступен объединённый РегистрСведений.ПараметрыДоговора.СрезПоследних как contractParams.

ASCUG_additionalCondition_Contract 
Позволяет задать дополнительные желаемые условия для фильтрации загружаемых договоров (например по типу, состоянию или атрибутам).

Смотрите описание проблемы и предостережения в начале страницы. Используется в операции веб-сервиса get_contracts.

Выборка осуществляется из РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate) как contracts, если он ведётся (имеются площадки и не установлена константа НеСвязыватьПлощадкуСДоговором), иначе РегистрНакопления.ПланыПоставок как contracts, и всегда также доступен объединённый РегистрСведений.ПараметрыДоговора.СрезПоследних как contractParams.

Потребители

ASCUG_additionalCondition_Consumer[2] 
Операция веб-сервиса get_consumers.

Доступен РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate), если он ведётся (если есть площадки и не установлена константа НеСвязыватьПлощадкуСДоговором) или РегистрНакопления.ПланыПоставок как plan. Тип Строка. Например:

AND Договор.ДатаКонца>&CurrentDate

Площадки

ASCUG_additionalCondition_GasConsObjects 
операция get_gas_cons_objects. Доступны РегистрСведений.ПлощадкиПоДоговору.СрезПоследних как gco и объединенная с ней РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор = "КонтактноеЛицо") как contact.

ASCUG_additional_GasConsObjects 
дополнительная константа, которая будет доступна дополнительно для шаблона наименования площадок. Внимание, это дополнительное поле передаваемой информации, а не условие отбора!

Точки подключения

ASCUG_additionalCondition_PointConnects 
операция get_point_connects.

В зависимости от варианта учёта ТП и настроек доступны: Справочник.Подключения как pc, РегистрСведений.ПлощадкиПоДоговору.СрезПоследних как pc, РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор="ВыходГРС") как gcoParams.

Узлы учёта газа

ASCUG_additionalCondition_uugs 
операция get_uugs. Доступен РегистрСведений.АктивныеУзлыУчета.СрезПоследних.

Корректоры

ASCUG_additionalCondition_equips 
операция get_equips. Доступны РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних как equips, РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "ДатаПоверки") как dateCheck, РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "ДатаСледующейПоверки") как dateNextCheck и РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "Опломбирован") как sealStatus.

Каналы

ASCUG_additionalCondition_channels 
операция get_channels. Доступны: Справочник.КаналыВычислителей как channels и РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних как equips.

Измерительное оборудование

ASCUG_additionalCondition_GasMeters 
операция get_gas_meters. Доступен РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних как gasMeters.

ГПО

ASCUG_additionalCondition_GasConsEquips[3] 
операция get_gas_cons_equips. Доступны: РегистрСведений.УстановленноеГазопотребляющееОборудование.СрезПоследних как gce, РегистрСведений.ЗначенияПараметровГазопотребляющегоОборудования.СрезПоследних(, Идентификатор = "Состояние") как status.

Планы

(deprecated in 15pre8. ESB-492)ASCUG_additionalCondition_plans_filter[4][5] 
операция get_contr_pc_daily_plans. Вставляется в условие WHERE выборки категорий Catalog.КатегорииПотребления, заменяя основное 'LIKE «%население%»'. Выбираться должны категории, планы по которым не должны попадать в ИУС-ГАЗ.

ASCUG_additionalCondition_Plan[6] 
Доступен РегистрНакопления.ПланыПоставок под именем plan. Операция get_cc_daily_plans

Пример значения константы: AND plan.Договор.ОсновнойДоговор.Наименование NOT LIKE "Тестовый договор%".

Пример значения константы ( при загрузке планов у расторгнутого через документ расторжения договора нулевые планы с даты расторжения не загружаются): AND (Период, Договор.ОсновнойДоговор, Подключение, ПлощадкаОборудования, КатегорияПотребления, Поставка, ВидГаза, Договор.ВидПрейскуранта) NOT IN (SELECT Период, Договор.ОсновнойДоговор, Подключение, ПлощадкаОборудования, КатегорияПотребления, Поставка, ВидГаза, Договор.ВидПрейскуранта FROM РегистрНакопления.ПланыПоставок WHERE Активность AND terminationDate <= &DateEnd AND Период BETWEEN terminationDate AND &DateEnd AND Договор.ОсновнойДоговор = terminationContract GROUP BY Период, Договор.ОсновнойДоговор, Подключение, ПлощадкаОборудования, КатегорияПотребления, Поставка, ВидГаза, Договор.ВидПрейскуранта HAVING SUM(Количество) = 0).

ASCUG_additional_plans_priority[7] 
константа, позволяющая изменить источник вида ценообразования для получаемого из планов субъекта распределения в ИУС-ГАЗ. По умолчанию берётся из Договор.ВидПрейскуранта.Порядок. Доступен РегистрНакопления.ПланыПоставок под именем plan. Операция get_cc_daily_plans

Например: ASCUG_additional_plans_priority=[ISNULL(Поставка.ВидЦенообразования.Порядок, Неопределенно)].

ASCUG_additional_plansUseGasType[8] 
Константа, позволяющая включить загрузку разреза Вида газа для СР. 1 (true) - использовать (импортировать) разрез вид газа, 0 (false) - не использовать.

ASCUG_current_date[9] 
тип поля Date. Позволяет выполнить загрузку планов и объектов на следующий месяц/год. Необходимо задать дату загрузки, например 01.01.2018. Выполнить загрузку из АРМа: Потребители, ТП, Площадки, Договоры, Виды газа, План с указанием будущего периода, после этого необходимо убрать константу или значение константы и перезагрузить ТП и Площадки.

Связывание площадок с ТП

ASCUG_additionalCondition_relPCtoGCOunique[10] 
Если будет установлена в любое истинное значение, связывание площадок с ТП будет осуществляться в режиме уникальности, подразумевая всегда связь один к одному. Это может быть решением проблемы, если вы не хотите снимать атрибут ЕстьСвязь регистра ПлощадкиПоДоговору с прошлых периодов. Уникальная, активная связка, которая должна будет попасть в ИУС-ГАЗ, будет отбираться по тем же правилам что используются для потребителей.
ASCUG_additionalCondition_relPCtoGCO[11] 
Позволяет задать дополнительные желаемые условия для фильтрации связываемых объектов. Пример: AND Площадка.Код = 3050

Экспорт в АИС

Включение записи

ASCUG_ENABLE_WRITE 
любого типа константа, не пустого значения (вычисляемая в true). Отсутствие данной константы (по умолчанию) или значение false (ложь) означает что при любых настройках со стороны ИМУС запись в АИС РГ полностью отключена.

операция write_q

Запись актированного суточного распределения (ExportQ)

Категории потребления

По указанию Перванюка В.С. из МРГ в ИМУС оставлено всего 2 категории потребления: "Население" и "Кроме населения". При импорте из АИС РГ планов, данные сущности стандартным образом мапятся на эти 2. Проблема возникает при обратном экспорте фактических данных в АИС РГ — необходимо обратное преобразование.

ASCUG_consTypePopulation 
константа типа СправочникСсылка.КатегорииПотребления. Если она задана, она будет взята для категории ИМУС "Население". Если ее нет, или она не задана будет взята категория потребления с кодом 2 (по умолчанию это "Население конечным потребителям").
ASCUG_consTypeExceptPopulation 
константа типа СправочникСсылка.КатегорииПотребления. Если она задана, она будет взята для категории ИМУС "Кроме населения". Если ее нет, или она не задана будет взята категория потребления с кодом 1 (по умолчанию это "Кроме населения конечным потребителям").
Переопределение логики записи

ASCUG_write_q_custom_code 
если задано не пустое значение, данный код будет выполняться в операции write_q для записи объёмов, вместо стандартно предложенной реализации[12].

С версии 18.3.3.

Изменение документа записи месячного потребления
ASCUG_write_q_monthDocCreate 
Предоставляется возможность задать документ или способ его получения куда предполагается писать месячное потребление.

По умолчанию:

 Documents.МесячноеПотребление.CreateDocument();

Используется в команде ExportQMonth. C версии сервиса 19.5.pre1 - ESB-1597.

Обработчик записи документов СуточноеПотребление и МесячноеПотребление[13]
ASCUG_write_q_onDocWrite 
Предоставляется возможность задать собственный обработчик заполнения документа Суточное потребление если нужна дополнительная логика. Вызывается перед записью документа.[14]

Для использования доступны переменные:

  • docDayConsumption - сам документ СуточноеПотребление или МесячноеПотребление[13]
  • s : Структурированные данные, из которых документ был заполнен, ValueTable со следующими столбцами:
    • prMark - PriorityMark - вид ценообразования
    • pc - PointConnect - Точка подключения
    • contract - Договор
    • consType - Категория потребления
    • pContract - RurchaseContract - Поставка.
    • GDSout - Выход ГРС
    • q - Объём, м3
    • plan - план
    • date - дата
  • d : исходные, сырые данные.

Добавлено с версии 19.4.2 (ESB-1917). По умолчанию отсутствует.

Обработчик записи строки документа СуточноеПотребление и МесячноеПотребление[13]
ASCUG_write_q_onDocLineWrite 
Предоставляется возможность задать собственный обработчик заполнения строки документа Суточное потребление если нужна дополнительная логика.[15]

Для использования доступны переменные:

  • tablePart - сама табличная часть документа
  • dataLine - строка исходных данных, передаваемых сервис из которых происходит заполнение. ValueTable (ТаблицаЗначений) с полями:
    • prMark : Вид ценообразования (PriorityMark)
    • pc : Точка подключения (PointConnect)
    • contract : Договор
    • consType : Категория потребления
    • pContract : Поставка
    • GDSout : Выход ГРС
    • q : Объём, тыс м3
    • plan : Плановый объём - диспетчерский лимит. м3. Может отличаться от плана АИС РГ если в ИМУС вводились ограничения по графикам 1/2 или неравномерности.
    • date : Дата
  • line - найденная и заполненная строка табличной части.
  • doc - сам документ.[16].

Примером использования может быть задание строки вида:

 СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияИзИУСГАЗ(tablePart, dataLine, line, doc)

С версии 19.0.6. Используется если задана не пустая строка. Для работы не требуется.

Запись зоны актирования КИО (ExportQRaw)

ASCUG_write_q_raw_custom_code 
Должен быть задан валидный 1С код, для выполнения записи сырых (не распределённых) актированных объёмов в операции операция write_q_raw. По умолчанию:
 СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияРаспределенногоИзИУСГАЗ(data, err_type, err_list)".

С версии 18.3.3.

Запись месячных данных зоны актирования КИО ( ExportQRawMonth)

ASCUG_write_q_raw_month_custom_code 
Должен быть задан валидный 1С код, для выполнения записи сырых (не распределённых) актированных объёмов в операции операция write_q_raw. По умолчанию:
 СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияРаспределенногоИзИУСГАЗ(data, err_type, err_list)".

С версии 23.

Пример

Примером кода для обоих констант может служить[19]:

for each d in data.list do
	_addError(errList, d, "Test!", -1,);
endDo;
status.code = 0;
status.text = "Test mode used. Please see you exported data in errors (files or report)";

Всё что делают эти несколько строчек, перекладывают входящие данные в объекты ошибок, которые затем можно будет посмотреть, например в отчёте. Это может быть весьма полезным при настройке и отладке взаимодействия.


Примечания

  1. Однако можем порекомендовать достаточно удобную обработку для этого, из-за того что стандартные средства не слишком удобны и требуют редактирования форм для изменения содержимого констант
  2. С версии веб-сервиса 16.0.pre2. До этой версии была загрузка из справочников напрямую, и определялись константы: ASCUG_additionalCondition_ConsumerContract и ASCUG_additionalCondition_ConsumerContractReestr. Теперь они объявляются устаревшими и больше не используются
  3. Реализовано только для версии конфигурации => 1.1.7.
  4. Доступно с версии 14.10pre6.
  5. (deprecated in 15pre8. ESB-492) C переходом на новые планы по субъектам распределения, данная константа объявляется устаревшей и больше не используется. Теперь забираются все планы, с соответствующими категориями потребления, которые можно просматривать в ИУС-ГАЗ и соответствующим образом замапить.
  6. Доступно с версии 19.5.pre11.
  7. Доступно с версии 15.10.
  8. Доступно с версии 19.2. ESB-1746
  9. Доступно с версии 19.5.pre11.
  10. Доступно с версии 15.12.
  11. Доступно с версии 23.
  12. Предназначено для реализации принципиально другой логики записи, а не для исправления ошибок, о которых убедительная просьба сообщать нам
  13. 13,0 13,1 13,2 C версии сервиса 19.5.pre1 - ESB-1597 действие распространено также на документ МесячноеПотребление
  14. По запросу из Новосибирска, от Осипова Сергея
  15. По запросу из Новосибирска, от Осипова Сергея
  16. Добавлен с версии 19.4.2. ESB-1917
  17. На самом деле, кроме специфичных случаев, как например в Уфе было необходимо распределение до площадок, это вряд ли кому и нужно будет в учётной системе. И места в АИС РГ для этих данных по умолчанию похоже также нету.
  18. На самом деле, кроме специфичных случаев, как например в Уфе было необходимо распределение до площадок, это вряд ли кому и нужно будет в учётной системе. И места в АИС РГ для этих данных по умолчанию похоже также нету.
  19. ESB-1816