Конфигурирование на стороне 1С — различия между версиями
Hubbitus (обсуждение | вклад) (→Связывание площадок с ТП: More detailed information) |
(→Планы) |
||
(не показаны 33 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
== Проблема == | == Проблема == | ||
− | В отдельных РГК имеются свои особенности учета в [[ | + | В отдельных РГК имеются свои особенности учета в [[АИС РГ]]. |
Например: | Например: | ||
− | * ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей [[ | + | * ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей [[АИС РГ]]); |
* множество некорректных договоров и площадок, датируемых 2003 годом, исправление которых не имеет смысла и крайне затруднительно; | * множество некорректных договоров и площадок, датируемых 2003 годом, исправление которых не имеет смысла и крайне затруднительно; | ||
* использование «псевдо-типов» договоров и так далее. | * использование «псевдо-типов» договоров и так далее. | ||
Строка 22: | Строка 22: | ||
==== Договоры ==== | ==== Договоры ==== | ||
− | ; '''ASCUG_additionalCondition_Contract''' : | + | {{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_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'''. |
==== Узлы учёта газа ==== | ==== Узлы учёта газа ==== | ||
Строка 47: | Строка 64: | ||
==== Измерительное оборудование ==== | ==== Измерительное оборудование ==== | ||
− | ; | + | ; '''ASCUG_additionalCondition_GasMeters''' : [[Команды адаптера#GasMeter|операция get_gas_meters]]. Доступен '''РегистрСведений.УстановленноеИзмерительноеОборудование.СрезПоследних''' как '''gasMeters'''. |
==== ГПО ==== | ==== ГПО ==== | ||
Строка 53: | Строка 70: | ||
==== Планы ==== | ==== Планы ==== | ||
− | ; {{deprecated-inline|15pre8. ESB-492}}'''ASCUG_additionalCondition_plans_filter'''<ref>Доступно [[история изменений|с версии 14.10pre6]].</ref><ref>{{deprecated-inline|15pre8. ESB-492}} C переходом на новые планы по субъектам распределения, данная константа объявляется устаревшей и больше не используется. Теперь забираются все планы, с соответствующими категориями потребления, которые можно просматривать в [[ | + | ; {{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 }} | ||
+ | ; '''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 | ||
=== Экспорт в АИС === | === Экспорт в АИС === | ||
==== Включение записи ==== | ==== Включение записи ==== | ||
− | ; '''ASCUG_ENABLE_WRITE''' : любого типа константа, не пустого значения (вычисляемая в '''true'''). Отсутствие данной константы (по умолчанию) или значение '''false''' (ложь) означает что при любых настройках со стороны [[ | + | {{anchor|ASCUG_ENABLE_WRITE}} |
+ | ; '''ASCUG_ENABLE_WRITE''' : любого типа константа, не пустого значения (вычисляемая в '''true'''). Отсутствие данной константы (по умолчанию) или значение '''false''' (ложь) означает что при любых настройках со стороны [[Перечень сокращений и обозначений#ИМУС|ИМУС]] запись в [[Перечень сокращений и обозначений#АИС РГ|АИС РГ]] полностью '''отключена'''. | ||
{{ ambox | text = При желании вы можете импортировать данную константу вместе с веб-сервисом из предлагаемого cf файла }} | {{ ambox | text = При желании вы можете импортировать данную константу вместе с веб-сервисом из предлагаемого cf файла }} | ||
[[Команды адаптера#ExportQ|операция write_q]] | [[Команды адаптера#ExportQ|операция write_q]] | ||
− | ==== Категории потребления ==== | + | ==== [[Команды адаптера#ExportQ|Запись актированного суточного распределения (ExportQ)]] ==== |
− | По указанию Перванюка В.С. из [[ | + | |
− | ; '''ASCUG_consTypePopulation''' : константа типа '''СправочникСсылка.КатегорииПотребления'''. Если она задана, она будет взята для категории [[ | + | ===== Категории потребления ===== |
− | ; '''ASCUG_consTypeExceptPopulation''' : константа типа '''СправочникСсылка.КатегорииПотребления'''. Если она задана, она будет взята для категории [[ | + | По указанию Перванюка В.С. из [[МРГ]] в [[ИМУС]] оставлено всего 2 категории потребления: '''"Население"''' и '''"Кроме населения"'''. При импорте из [[АИС РГ]] [[Команды адаптера#CcDailyPlan|планов]], данные сущности стандартным образом [[Маппинг|мапятся]] на эти 2. Проблема возникает при обратном экспорте фактических данных в [[АИС РГ]] — необходимо обратное преобразование. |
− | + | ; '''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 годом, исправление которых не имеет смысла и крайне затруднительно;
- использование «псевдо-типов» договоров и так далее.
Поскольку веб-сервис един для всех РГК, изменения в него могут быть внесены только при обнаружении ошибок или общим, непротиворечивым способом. Для учета особенностей РГК и в первую очередь для того, чтобы отфильтровать нежелательные к загрузке объекты, предлагается механизм констант, влияющих на результаты запросов.
Суть механизма заключается в том, что в код запросов веб-сервиса вводится ряд констант, значение которых может подставляться в запросы получения различных типов данных и влияет на тип и/или объём получаемой информации.
Внимание! Данный механизм введен категорически не для уменьшения объема загружаемых данных или отсеивания старых договоров, а прежде всего для отфильтровывания трудно устранимых проблем и исторических особенностей. Некорректные данные, которые можно исправить, должны быть исправлены и импортированы. Также необходимо помнить, что исключая из результатов запроса какие-то данные, исполнитель гарантирует, что в других объектах не будет ссылок на эти данные. |
По умолчанию ни одна из констант не создается, корректное функционирование сервиса предполагается без них. Все константы должны иметь строковый тип, если специально не указано иное.
Механизм констант введен для специалистов ООО «АНТ-Информ» и администраторов АИС РГ, хорошо представляющих предметную область. Никакие специальные средства для изменения значений констант не предусматриваются[1] |
Если импорт и обновление Веб-сервиса может быть произведено в динамическом режиме, то добавление констант требует монопольного доступа |
Импорт в ИУС ГАЗ
Договоры
- 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 (ложь) означает что при любых настройках со стороны ИМУС запись в АИС РГ полностью отключена.
При желании вы можете импортировать данную константу вместе с веб-сервисом из предлагаемого cf файла |
Запись актированного суточного распределения (ExportQ)
Категории потребления
По указанию Перванюка В.С. из МРГ в ИМУС оставлено всего 2 категории потребления: "Население" и "Кроме населения". При импорте из АИС РГ планов, данные сущности стандартным образом мапятся на эти 2. Проблема возникает при обратном экспорте фактических данных в АИС РГ — необходимо обратное преобразование.
- ASCUG_consTypePopulation
- константа типа СправочникСсылка.КатегорииПотребления. Если она задана, она будет взята для категории ИМУС "Население". Если ее нет, или она не задана будет взята категория потребления с кодом 2 (по умолчанию это "Население конечным потребителям").
- ASCUG_consTypeExceptPopulation
- константа типа СправочникСсылка.КатегорииПотребления. Если она задана, она будет взята для категории ИМУС "Кроме населения". Если ее нет, или она не задана будет взята категория потребления с кодом 1 (по умолчанию это "Кроме населения конечным потребителям").
При желании обе могут быть импортированы вместе с веб-сервисом из предлагаемого cf файла |
Переопределение логики записи
- 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)".
Реализации по умолчанию с нашей стороны не предоставляется![17] |
С версии 18.3.3.
Запись месячных данных зоны актирования КИО ( ExportQRawMonth)
- ASCUG_write_q_raw_month_custom_code
- Должен быть задан валидный 1С код, для выполнения записи сырых (не распределённых) актированных объёмов в операции операция write_q_raw. По умолчанию:
СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияРаспределенногоИзИУСГАЗ(data, err_type, err_list)".
Реализации по умолчанию с нашей стороны не предоставляется![18] |
С версии 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)";
Всё что делают эти несколько строчек, перекладывают входящие данные в объекты ошибок, которые затем можно будет посмотреть, например в отчёте. Это может быть весьма полезным при настройке и отладке взаимодействия.
Примечания
- ↑ Однако можем порекомендовать достаточно удобную обработку для этого, из-за того что стандартные средства не слишком удобны и требуют редактирования форм для изменения содержимого констант
- ↑ С версии веб-сервиса 16.0.pre2. До этой версии была загрузка из справочников напрямую, и определялись константы: ASCUG_additionalCondition_ConsumerContract и ASCUG_additionalCondition_ConsumerContractReestr. Теперь они объявляются устаревшими и больше не используются
- ↑ Реализовано только для версии конфигурации => 1.1.7.
- ↑ Доступно с версии 14.10pre6.
- ↑ (deprecated in 15pre8. ESB-492) C переходом на новые планы по субъектам распределения, данная константа объявляется устаревшей и больше не используется. Теперь забираются все планы, с соответствующими категориями потребления, которые можно просматривать в ИУС-ГАЗ и соответствующим образом замапить.
- ↑ Доступно с версии 19.5.pre11.
- ↑ Доступно с версии 15.10.
- ↑ Доступно с версии 19.2. ESB-1746
- ↑ Доступно с версии 19.5.pre11.
- ↑ Доступно с версии 15.12.
- ↑ Доступно с версии 23.
- ↑ Предназначено для реализации принципиально другой логики записи, а не для исправления ошибок, о которых убедительная просьба сообщать нам
- ↑ 13,0 13,1 13,2 C версии сервиса 19.5.pre1 - ESB-1597 действие распространено также на документ МесячноеПотребление
- ↑ По запросу из Новосибирска, от Осипова Сергея
- ↑ По запросу из Новосибирска, от Осипова Сергея
- ↑ Добавлен с версии 19.4.2. ESB-1917
- ↑ На самом деле, кроме специфичных случаев, как например в Уфе было необходимо распределение до площадок, это вряд ли кому и нужно будет в учётной системе. И места в АИС РГ для этих данных по умолчанию похоже также нету.
- ↑ На самом деле, кроме специфичных случаев, как например в Уфе было необходимо распределение до площадок, это вряд ли кому и нужно будет в учётной системе. И места в АИС РГ для этих данных по умолчанию похоже также нету.
- ↑ ESB-1816