Конфигурирование на стороне 1С
Проблема
В отдельных РГК имеются свои особенности учета в АИС РГ.
Например:
- ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей АИС РГ);
- множество некорректных договоров и площадок, датируемых 2003 годом, исправление которых не имеет смысла и крайне затруднительно;
- использование «псевдо-типов» договоров и так далее.
Поскольку веб-сервис един для всех РГК, изменения в него могут быть внесены только при обнаружении ошибок или общим, непротиворечивым способом. Для учета особенностей РГК и в первую очередь для того, чтобы отфильтровать нежелательные к загрузке объекты, предлагается механизм констант, влияющих на результаты запросов.
Суть механизма заключается в том, что в код запросов веб-сервиса вводится ряд констант, значение которых может подставляться в запросы получения различных типов данных и влияет на тип и/или объём получаемой информации.
Внимание! Данный механизм введен категорически не для уменьшения объема загружаемых данных или отсеивания старых договоров, а прежде всего для отфильтровывания трудно устранимых проблем и исторических особенностей. Некорректные данные, которые можно исправить, должны быть исправлены и импортированы. Также необходимо помнить, что исключая из результатов запроса какие-то данные, исполнитель гарантирует, что в других объектах не будет ссылок на эти данные. |
По умолчанию ни одна из констант не создается, корректное функционирование сервиса предполагается без них. Все константы должны иметь строковый тип, если специально не указано иное.
Механизм констант введен для специалистов ООО «АНТ-Информ» и администраторов АИС РГ, хорошо представляющих предметную область. Никакие специальные средства для изменения значений констант не предусматриваются[1] |
Если импорт и обновление Веб-сервиса может быть произведено в динамическом режиме, то добавление констант требует монопольного доступа |
Импорт в ИУС ГАЗ
Договоры
- ASCUG_additional_Contract_vendor
- используется в операции веб-сервиса get_contracts. Выборка осуществляется из РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate) как contracts, если он ведётся (имеются площадки и не установлена константа НеСвязыватьПлощадкуСДоговором), иначе РегистрНакопления.ПланыПоставок как contracts, и всегда также доступен объединённый РегистрСведений.ПараметрыДоговора.СрезПоследних как contractParams. Позволяет переопределить выбор поставщика по договору на усмотрение компании. Значение по умолчанию: "ISNULL(contracts.Договор.ОсновнойДоговор.Поставщик.Ссылка, &OurCompany)".
- ASCUG_additionalCondition_Contract
- используется в операции веб-сервиса get_contracts. Выборка осуществляется из РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate) как contracts, если он ведётся (имеются площадки и не установлена константа НеСвязыватьПлощадкуСДоговором), иначе РегистрНакопления.ПланыПоставок как contracts, и всегда также доступен объединённый РегистрСведений.ПараметрыДоговора.СрезПоследних как contractParams.
Потребители
- ASCUG_additionalCondition_Consumer[2]
- Операция веб-сервиса get_consumers.
Доступен РегистрСведений.ПлощадкиПоДоговору.СрезПоследних(&CurrentDate), если он ведётся (если есть площадки и не установлена константа НеСвязыватьПлощадкуСДоговором) или РегистрНакопления.ПланыПоставок как plan.
Площадки
- 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_additional_plans_priority[6]
- константа, позволяющая изменить источник вида ценообразования для получаемого из планов субъекта распределения в ИУС-ГАЗ. По умолчанию берётся из Договор.ВидПрейскуранта.Порядок. Доступен РегистрНакопления.ПланыПоставок под именем plan. Операция get_cc_daily_plans.
- ASCUG_additional_plansUseGasType[7]
- Константа, позволяющая включить загрузку разреза Вида газа для СР.
Внимание! Для всех СР где данный разрез заполнен в АИС РГ придётся провести заново привязку на субъект поставки! |
Связывание площадок с ТП
- ASCUG_additionalCondition_relPCtoGCOunique[8]
- Если будет установлена в любое истинное значение, связывание площадок с ТП будет осуществляться в режиме уникальности, подразумевая всегда связь один к одному. Это может быть решением проблемы, если вы не хотите снимать атрибут ЕстьСвязь регистра ПлощадкиПоДоговору с прошлых периодов. Уникальная, активная связка, которая должна будет попасть в ИУС-ГАЗ, будет отбираться по тем же правилам что используются для потребителей.
Следует однако заметить, что площадка может легитимно иметь несколько подключений в один момент времени, например, если она питается более чем с одного Выхода ГРС (площадки больших потребителей, ТЭЦ и теплосетей) они должны быть скорректированы в ИУС-ГАЗ вручную. Ошибок такого типа в отчете не будет. С другой стороны таких потребителей должно быть единицы |
Дополнительно отметим что в этих случаях вручную не достаточно будет добавить или сгенерировать отдельный канал в ИУС-ГАЗ, так как зоны ГП строятся по узлам, в ИУС-ГАЗ необходимо добавить дополнительный тракт УУГ -> корректор -> канал и привязать каждый канал к своему подключению. Поскольку такой информации на уровне каналов в АИС нет, это можно сделать только вручную. |
Экспорт в АИС
Включение записи
- ASCUG_ENABLE_WRITE
- любого типа константа, не пустого значения (вычисляемая в true). Отсутствие данной константы (по умолчанию) или значение false (ложь) означает что при любых настройках со стороны ИМУС запись в АИС РГ полностью отключена.
При желании вы можете импортировать данную константу вместе с веб-сервисом из предлагаемого cf файла |
Категории потребления
По указанию Перванюка В.С. из МРГ в ИМУС оставлено всего 2 категории потребления: "Население" и "Кроме населения". При импорте из АИС РГ планов, данные сущности стандартным образом мапятся на эти 2. Проблема возникает при обратном экспорте фактических данных в АИС РГ — необходимо обратное преобразование.
- ASCUG_consTypePopulation
- константа типа СправочникСсылка.КатегорииПотребления. Если она задана, она будет взята для категории ИМУС "Население". Если ее нет, или она не задана будет взята категория потребления с кодом 2 (по умолчанию это "Население конечным потребителям").
- ASCUG_consTypeExceptPopulation
- константа типа СправочникСсылка.КатегорииПотребления. Если она задана, она будет взята для категории ИМУС "Кроме населения". Если ее нет, или она не задана будет взята категория потребления с кодом 1 (по умолчанию это "Кроме населения конечным потребителям").
При желании обе могут быть импортированы вместе с веб-сервисом из предлагаемого cf файла |
Переопределение логики записи
- ASCUG_write_q_custom_code
- если задано не пустое значение, данный код будет выполняться в операции write_q для записи объёмов, вместо стандартно предложенной реализации[9].
С версии 18.3.3.
- ASCUG_write_q_raw_custom_code
- Должен быть задан валидный 1С код, для выполнения записи сырых (не распределённых) актированных объёмов в операции операция write_q_raw. По умолчанию: "СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияРаспределенногоИзИУСГАЗ(data, err_type, err_list)".
Реализации по умолчанию с нашей стороны не предоставляется![10] |
С версии 18.3.3.
Обработчик записи строки документа СуточноеПотребление
- ASCUG_write_q_onDocLineWrite
- [11]. Предоставляется возможность задать собственный обработчик заполнения строки документа Суточное потребление если нужна дополнительная логика.
Для использования доступны переменные:
- tablePart - сама табличная часть документа
- dataLine - строка исходных данных, передаваемых сервис из которых происходит заполнение. ValueTable (ТаблицаЗначений) с полями:
- prMark : Вид ценообразования (PriorityMark)
- pc : Точка подключения (PointConnect)
- contract : Договор
- consType : Категория потребления
- pContract : Поставка
- GDSout : Выход ГРС
- q : Объём, тыс м3
- plan : Плановый объём - диспетчерский лимит. м3. Может отличаться от плана АИС РГ если в ИМУС вводились ограничения по графикам 1/2 или неравномерности.
- date : Дата
- line - найденная и заполненная строка табличной части.
Примером использования может быть задание строки вида:
СобственныеПроцедурыСервер.ЗагрузкаСуточногоПотребленияИзИУСГАЗ(tablePart, dataLine, line)
С версии 19.0.6. Используется если задана не пустая строка. Для работы не требуется.
Примечания
- ↑ Однако можем порекомендовать достаточно удобную обработку для этого, из-за того что стандартные средства не слишком удобны и требуют редактирования форм для изменения содержимого констант
- ↑ С версии веб-сервиса 16.0.pre2. До этой версии была загрузка из справочников напрямую, и определялись константы: ASCUG_additionalCondition_ConsumerContract и ASCUG_additionalCondition_ConsumerContractReestr. Теперь они объявляются устаревшими и больше не используются
- ↑ Реализовано только для версии конфигурации => 1.1.7.
- ↑ Доступно с версии 14.10pre6.
- ↑ (deprecated in 15pre8. ESB-492) C переходом на новые планы по субъектам распределения, данная константа объявляется устаревшей и больше не используется. Теперь забираются все планы, с соответствующими категориями потребления, которые можно просматривать в ИУС-ГАЗ и соответствующим образом замапить.
- ↑ Доступно с версии 15.10.
- ↑ Доступно с версии 19.2. ESB-1746
- ↑ Доступно с версии 15.12.
- ↑ Предназначено для реализации принципиально другой логики записи, а не для исправления ошибок, о которых убедительная просьба сообщать нам
- ↑ На самом деле, кроме специфичных случаев, как например в Уфе было необходимо распределение до площадок, это вряд ли кому и нужно будет в учётной системе. И места в АИС РГ для этих данных по умолчанию похоже также нету.
- ↑ По запросу из Новосибирска, от Осипова Сергея