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

Материал из ANT-Inform documentation
Перейти к: навигация, поиск
(First draft. Need some love)
 
(Планы)
 
(не показано 36 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
== Проблема ==
 
== Проблема ==
  
В отдельных РГК имеются свои особенности учета в АИС РГ.
+
В отдельных РГК имеются свои особенности учета в [[АИС РГ]].
  
 
Например:
 
Например:
* ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей АИС РГ);
+
* ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей [[АИС РГ]]);
 
* множество некорректных договоров и площадок, датируемых 2003 годом, исправление которых не имеет смысла и крайне затруднительно;
 
* множество некорректных договоров и площадок, датируемых 2003 годом, исправление которых не имеет смысла и крайне затруднительно;
 
* использование «псевдо-типов» договоров и так далее.
 
* использование «псевдо-типов» договоров и так далее.
Строка 16: Строка 16:
 
По умолчанию ни одна из констант не создается, корректное функционирование сервиса предполагается без них. Все константы должны иметь строковый тип, если специально не указано иное.
 
По умолчанию ни одна из констант не создается, корректное функционирование сервиса предполагается без них. Все константы должны иметь строковый тип, если специально не указано иное.
  
{{ ambox | type = warning | text = Механизм констант введен для специалистов ООО «АНТ-Информ» и администраторов АИС РГ, хорошо представляющих предметную область. Никакие специальные средства для изменения значений констант не предусматриваются<ref>Однако можем порекомендовать достаточно удобную [[Обработка constants|обработку]] для этого, из-за того что стандартные средства не слишком удобны и требуют редактирования форм для изменения содержимого констант</ref> }}
+
{{ ambox | type = warning | text = Механизм констант введен для специалистов ООО «АНТ-Информ» и администраторов [[Перечень_сокращений_и_обозначений#АИС РГ|АИС РГ]], хорошо представляющих предметную область. Никакие специальные средства для изменения значений констант не предусматриваются<ref>Однако можем порекомендовать достаточно удобную [[Обработка constants|обработку]] для этого, из-за того что стандартные средства не слишком удобны и требуют редактирования форм для изменения содержимого констант</ref> }}
 
{{ ambox | type = warning | text = Если импорт и обновление Веб-сервиса может быть произведено в динамическом режиме, то добавление констант требует монопольного доступа }}
 
{{ ambox | type = warning | text = Если импорт и обновление Веб-сервиса может быть произведено в динамическом режиме, то добавление констант требует монопольного доступа }}
  
Строка 22: Строка 22:
  
 
==== Договоры ====
 
==== Договоры ====
; '''ASCUG_additionalCondition_Contract''' : используется в [[Команды адаптера#GetContract|операции веб-сервиса get_contracts]]. Выборка осуществляется из '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''' как '''contracts''', если он ведётся (имеются площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором'''), иначе '''РегистрНакопления.ПланыПоставок''' как '''contracts''', и всегда также доступен объединённый '''РегистрСведений.ПараметрыДоговора.СрезПоследних''' как '''contractParams'''.
+
{{anchor|ASCUG_additional_Contract_vendor}}
 +
 
 +
; '''ASCUG_additional_Contract_vendor''' : Позволяет переопределить выбор поставщика по договору на усмотрение компании.
 +
Значение по умолчанию, атрибут '''Поставщик''', если указан, и текущая компания '''Catalogs.Контрагенты.НашаОрганизация''' ([[РГК]]) в обратном случае:
 +
<source lang="1C">
 +
ISNULL(contracts.Договор.ОсновнойДоговор.Поставщик.Ссылка, &OurCompany)
 +
</source>
 +
Используется в [[Команды адаптера#GetContract|операции веб-сервиса '''get_contracts''']].
 +
Выборка осуществляется из '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''' как '''contracts''', если он ведётся (имеются площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором'''), иначе '''РегистрНакопления.ПланыПоставок''' как '''contracts''', и всегда также доступен объединённый '''РегистрСведений.ПараметрыДоговора.СрезПоследних''' как '''contractParams'''.
 +
{{anchor|ASCUG_additionalCondition_Contract}}
 +
; '''ASCUG_additionalCondition_Contract''' : Позволяет задать дополнительные желаемые условия для фильтрации загружаемых договоров (например по типу, состоянию или атрибутам).
 +
Смотрите описание проблемы и предостережения в начале страницы.
 +
Используется в [[Команды адаптера#GetContract|операции веб-сервиса '''get_contracts''']].
 +
 
 +
Выборка осуществляется из '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate)''' как '''contracts''', если он ведётся (имеются площадки и не установлена константа '''НеСвязыватьПлощадкуСДоговором'''), иначе '''РегистрНакопления.ПланыПоставок''' как '''contracts''', и всегда также доступен объединённый '''РегистрСведений.ПараметрыДоговора.СрезПоследних''' как '''contractParams'''.
  
 
==== Потребители ====
 
==== Потребители ====
; '''ASCUG_additionalCondition_Consumer3''' : Операция веб-сервиса 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>
  
 
==== Площадки ====
 
==== Площадки ====
; '''ASCUG_additionalCondition_GasConsObjects''' : операция get_gas_cons_objects. Доступны РегистрСведений.ПлощадкиПоДоговору.СрезПоследних как gco и объединенная с ней РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор = "КонтактноеЛицо") как contact.
+
{{anchor|ASCUG_additionalCondition_GasConsObjects}}
Также доступна константа ASCUG_additional_GasConsObjects, которая будет доступна дополнительно для шаблона наименования площадок. Внимание, это дополнительное поле передаваемой информации, а не условие отбора!
+
; '''ASCUG_additionalCondition_GasConsObjects''' : [[Команды адаптера#GasConsObject|операция '''get_gas_cons_objects''']]. Доступны '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних''' как '''gco''' и объединенная с ней '''РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор = "КонтактноеЛицо")''' как '''contact'''.
 +
 
 +
{{anchor|ASCUG_additional_GasConsObjects}}
 +
; '''ASCUG_additional_GasConsObjects''' : дополнительная константа, которая будет доступна дополнительно для шаблона наименования площадок. Внимание, '''''это дополнительное поле передаваемой информации, а не условие отбора'''''!
  
 
==== Точки подключения ====
 
==== Точки подключения ====
; '''ASCUG_additionalCondition_PointConnects''' : операция get_point_connects.
+
; '''ASCUG_additionalCondition_PointConnects''' : [[Команды адаптера#PointConnect|операция '''get_point_connects''']].
В зависимости от варианта учёта и настроек доступны:
+
В зависимости от [[Перечень сокращений и обозначений#ТП|варианта учёта ТП]] и настроек доступны: '''Справочник.Подключения''' как '''pc''', '''РегистрСведений.ПлощадкиПоДоговору.СрезПоследних''' как '''pc''', '''РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор="ВыходГРС")''' как '''gcoParams'''.
Справочник.Подключения как pc, РегистрСведений.ПлощадкиПоДоговору.СрезПоследних как pc, РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(, Идентификатор="ВыходГРС") как gcoParams.
+
  
 
==== Узлы учёта газа ====
 
==== Узлы учёта газа ====
; '''ASCUG_additionalCondition_uugs''' : операция get_uugs. Доступен регистр РегистрСведений.АктивныеУзлыУчета.СрезПоследних.
+
; '''ASCUG_additionalCondition_uugs''' : [[Команды адаптера#Tuug|операция get_uugs]]. Доступен '''РегистрСведений.АктивныеУзлыУчета.СрезПоследних'''.
  
 
==== Корректоры ====
 
==== Корректоры ====
; '''ASCUG_additionalCondition_equips''' : операция get_equips. Доступны РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних как equips, РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "ДатаПоверки") как dateCheck, РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "ДатаСледующейПоверки") как dateNextCheck и РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "Опломбирован") как sealStatus.
+
; '''ASCUG_additionalCondition_equips''' : [[Команды адаптера#Equip|операция get_equips]]. Доступны '''РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних''' как '''equips''', '''РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "ДатаПоверки")''' как '''dateCheck''', '''РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "ДатаСледующейПоверки")''' как '''dateNextCheck''' и '''РегистрСведений.ПараметрыИзмерительногоОборудования.СрезПоследних(, Идентификатор = "Опломбирован")''' как '''sealStatus'''.
  
 
==== Каналы ====
 
==== Каналы ====
; '''ASCUG_additionalCondition_channels''' : операция get_channels. Доступны: Справочник.КаналыВычислителей как channels и РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних как equips.
+
; '''ASCUG_additionalCondition_channels''' : [[Команды адаптера#Channel|операция get_channels]]. Доступны: '''Справочник.КаналыВычислителей''' как '''channels''' и '''РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних''' как '''equips'''.
  
 
==== Измерительное оборудование ====
 
==== Измерительное оборудование ====
; ''''ASCUG_additionalCondition_GasMeters''' : операция get_gas_meters. Доступен: РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних как gasMeters.
+
; '''ASCUG_additionalCondition_GasMeters''' : [[Команды адаптера#GasMeter|операция get_gas_meters]]. Доступен '''РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних''' как '''gasMeters'''.
  
 
==== ГПО ====
 
==== ГПО ====
; '''ASCUG_additionalCondition_GasConsEquips''' : операция get_gas_cons_equips. Доступны: РегистрСведений.УстановленноеГазопотребляющееОборудование.СрезПоследних как gce, РегистрСведений.ЗначенияПараметровГазопотребляющегоОборудования.СрезПоследних(, Идентификатор = "Состояние") как status.
+
; '''ASCUG_additionalCondition_GasConsEquips'''<ref>Реализовано только для версии конфигурации => 1.1.7.</ref> : [[Команды адаптера#GasConsEquip|операция get_gas_cons_equips]]. Доступны: '''РегистрСведений.УстановленноеГазопотребляющееОборудование.СрезПоследних''' как '''gce''', '''РегистрСведений.ЗначенияПараметровГазопотребляющегоОборудования.СрезПоследних(, Идентификатор = "Состояние")''' как '''status'''.
Реализовано только для версии конфигурации => 1.1.7.
+
  
 
==== Планы ====
 
==== Планы ====
; '''ASCUG_additionalCondition_plans_filter4''' : операция 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 «%население%»'. Выбираться должны категории, планы по которым не должны попадать в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]].
; '''ASCUG_additional_plans_priority5''' : константа, позволяющая изменить источник вида ценообразования для получаемого из планов субъекта распределения в ИУС-ГАЗ. По умолчанию берётся из Договор.ВидПрейскуранта.Порядок. Доступен РегистрНакопления.ПланыПоставок под именем plan. Операция get_cc_daily_plans.
+
  
==== Связывание площадок с ТП (подключения) ====
+
{{ anchor | ASCUG_additionalCondition_Plan }}
; '''ASCUG_additionalCondition_relPCtoGCOunique6''' : Если будет установлена в любое истинное значение, связывание площадок с ТП будет осуществляться в режиме уникальности, подразумевая всегда связь один к одному. Это может быть решением проблемы, если вы не хотите снимать атрибут ЕстьСвязь регистра ПлощадкиПоДоговору с прошлых периодов. Уникальная, активная связка, которая должна будет попасть в ИУС-ГАЗ, будет отбираться по тем же правилам что используются для потребителей.
+
; '''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 }}
 +
; '''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. Выполнить загрузку из АРМа: Потребители, ТП, Площадки, Договоры, Виды газа, План с указанием будущего периода, после этого необходимо убрать константу или значение константы и перезагрузить ТП и Площадки.
 +
 
 +
==== Связывание площадок с ТП ====
 +
{{anchor|ASCUG_additionalCondition_relPCtoGCOunique}}
 +
; '''ASCUG_additionalCondition_relPCtoGCOunique'''<ref>Доступно [[история изменений|с версии 15.12]].</ref> : Если будет установлена в любое истинное значение, связывание площадок с [[Перечень сокращений и обозначений#ТП|ТП]] будет осуществляться в режиме уникальности, подразумевая всегда связь один к одному. Это может быть решением проблемы, если вы [[Налагаемые требования целостности, коды ошибок#code1853|не хотите снимать атрибут '''ЕстьСвязь''' регистра '''ПлощадкиПоДоговору''' с прошлых периодов]]. Уникальная, активная связка, которая должна будет попасть в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]], будет отбираться по тем же правилам [[Налагаемые требования целостности, коды ошибок#code405|что используются для потребителей]].
 +
 
 +
{{ ambox | type = warning | text = Следует однако заметить, что площадка может легитимно иметь несколько подключений в один момент времени, например, если она питается более чем с одного Выхода ГРС (площадки больших потребителей, ТЭЦ и теплосетей) они должны быть скорректированы в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] вручную. Ошибок такого типа в отчете не будет. С другой стороны таких потребителей должно быть единицы }}
 +
 
 +
{{ ambox | type = warning | text = Дополнительно отметим что в этих случаях вручную не достаточно будет добавить или сгенерировать отдельный канал в ИУС-ГАЗ, так как зоны ГП строятся по узлам, в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] необходимо добавить дополнительный тракт [[Перечень сокращений и обозначений#УУГ|УУГ]] -> [[Перечень сокращений и обозначений#Корректор (Вычислитель)|корректор]] -> [[Перечень сокращений и обозначений#канал|канал]] и привязать каждый канал к своему подключению. Поскольку такой информации на уровне каналов в АИС нет, это можно сделать только вручную. }}
 +
 
 +
; ''' ASCUG_additionalCondition_relPCtoGCO'''<ref>Доступно [[история изменений|с версии 23]].</ref> : Позволяет задать дополнительные желаемые условия для фильтрации связываемых объектов. <b>Пример:</b> <i>AND  Площадка.Код = 3050
  
 
=== Экспорт в АИС ===
 
=== Экспорт в АИС ===
  
 
==== Включение записи ====
 
==== Включение записи ====
; '''ASCUG_ENABLE_WRITE''' : любого типа константа, не пустого значения (вычисляемая в true). Отсутствие данной константы (по умолчанию) или значение false (ложь) означает что при любых настройках со стороны ИМУС запись в АИС полностью отключена.
+
{{anchor|ASCUG_ENABLE_WRITE}}
При желании вы можете импортировать данную константу вместе с веб-сервисом из предлагаемого cf файла.
+
; '''ASCUG_ENABLE_WRITE''' : любого типа константа, не пустого значения (вычисляемая в '''true'''). Отсутствие данной константы (по умолчанию) или значение '''false''' (ложь) означает что при любых настройках со стороны [[Перечень сокращений и обозначений#ИМУС|ИМУС]] запись в [[Перечень сокращений и обозначений#АИС РГ|АИС РГ]] полностью '''отключена'''.
 +
{{ ambox | text = При желании вы можете импортировать данную константу вместе с веб-сервисом из предлагаемого cf файла }}
 +
[[Команды адаптера#ExportQ|операция write_q]]
  
==== Категории потребления ====
+
==== [[Команды адаптера#ExportQ|Запись актированного суточного распределения (ExportQ)]] ====
По указанию Перванюка В.С. В ИМУС оставлено всего 2 категории потребления: «Население» и «Кроме населения». При импорте из АИС планов, данные сущности стандартным образом мапятся на эти 2. Проблема возникает при обратном экспорте фактических данных в АИС — необходимо обратное преобразование.
+
; '''ASCUG_consTypePopulation''' : константа типа СправочникСсылка.КатегорииПотребления (может быть импортирована вместе с ВЕБ-сервисом).  Если она задана, она будет взята для категории ИМУС «Население». Если ее нету, или она не задана будет взята категорияпотребления с кодом 2 (по умолчанию это «Население конечным потребителям»).
+
; '''ASCUG_consTypeExceptPopulation''' : константа типа СправочникСсылка.КатегорииПотребления (может быть импортирована вместе с ВЕБ-сервисом).  Если она задана, она будет взята для категории ИМУС «Кроме населения». Если ее нету, или она не задана будет взята категория потребления с кодом 1 (по умолчанию это «Кроме населения конечным потребителям»).
+
  
 +
===== Категории потребления =====
 +
По указанию Перванюка В.С. из [[МРГ]] в [[ИМУС]] оставлено всего 2 категории потребления: '''"Население"''' и '''"Кроме населения"'''. При импорте из [[АИС РГ]] [[Команды адаптера#CcDailyPlan|планов]], данные сущности стандартным образом [[Маппинг|мапятся]] на эти 2. Проблема возникает при обратном экспорте фактических данных в [[АИС РГ]] — необходимо обратное преобразование.
 +
; '''ASCUG_consTypePopulation''' : константа типа '''СправочникСсылка.КатегорииПотребления'''. Если она задана, она будет взята для категории [[ИМУС]] '''"Население"'''. Если ее нет, или она не задана будет взята категория потребления с кодом 2 (по умолчанию это '''"Население конечным потребителям"''').
 +
; '''ASCUG_consTypeExceptPopulation''' : константа типа '''СправочникСсылка.КатегорииПотребления'''. Если она задана, она будет взята для категории [[ИМУС]] '''"Кроме населения"'''. Если ее нет, или она не задана будет взята категория потребления с кодом 1 (по умолчанию это '''"Кроме населения конечным потребителям"''').
 +
 +
{{ 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