Конфигурирование на стороне 1С — различия между версиями
Hubbitus (обсуждение | вклад) (→Переопределение логики записи: Add constant ASCUG_write_q_onDocLineWrite. Service version 19.0.6) |
Hubbitus (обсуждение | вклад) (→Планы: Add constant ASCUG_additional_plansUseGasType) |
||
Строка 59: | Строка 59: | ||
==== Планы ==== | ==== Планы ==== | ||
− | ; {{deprecated-inline|15pre8. ESB-492}}'''ASCUG_additionalCondition_plans_filter'''<ref>Доступно [[история изменений|с версии 14.10pre6]].</ref><ref>{{deprecated-inline|15pre8. ESB-492}} C переходом на новые планы по субъектам распределения, данная константа объявляется устаревшей и больше не используется. Теперь забираются все планы, с соответствующими категориями потребления, которые можно просматривать в [[Перечень_сокращений_и_обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] и соответствующим образом замапить.</ref> : [[Команды адаптера#ContrPcDailyPlan|операция get_contr_pc_daily_plans]]. Вставляется в условие WHERE выборки категорий '''Catalog.КатегорииПотребления''', заменяя основное 'LIKE «%население%»'. Выбираться должны категории, планы по которым не должны попадать в [[ | + | ; {{deprecated-inline|15pre8. ESB-492}}'''ASCUG_additionalCondition_plans_filter'''<ref>Доступно [[история изменений|с версии 14.10pre6]].</ref><ref>{{deprecated-inline|15pre8. ESB-492}} C переходом на новые планы по субъектам распределения, данная константа объявляется устаревшей и больше не используется. Теперь забираются все планы, с соответствующими категориями потребления, которые можно просматривать в [[Перечень_сокращений_и_обозначений#ИУС-ГАЗ|ИУС-ГАЗ]] и соответствующим образом замапить.</ref> : [[Команды адаптера#ContrPcDailyPlan|операция get_contr_pc_daily_plans]]. Вставляется в условие WHERE выборки категорий '''Catalog.КатегорииПотребления''', заменяя основное 'LIKE «%население%»'. Выбираться должны категории, планы по которым не должны попадать в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]]. |
{{ anchor | ASCUG_additional_plans_priority }} | {{ anchor | ASCUG_additional_plans_priority }} | ||
− | ; '''ASCUG_additional_plans_priority'''<ref>Доступно [[история изменений|с версии 15.10]].</ref> : константа, позволяющая изменить источник вида ценообразования для получаемого из планов субъекта распределения в [[ | + | ; '''ASCUG_additional_plans_priority'''<ref>Доступно [[история изменений|с версии 15.10]].</ref> : константа, позволяющая изменить источник вида ценообразования для получаемого из планов субъекта распределения в [[Перечень сокращений и обозначений#ИУС-ГАЗ|ИУС-ГАЗ]]. По умолчанию берётся из '''Договор.ВидПрейскуранта.Порядок'''. Доступен '''РегистрНакопления.ПланыПоставок''' под именем '''plan'''. [[Команды адаптера#CcDailyPlan|Операция get_cc_daily_plans]]. |
+ | |||
+ | {{anchor | ASCUG_additional_plansUseGasType }} | ||
+ | ; '''ASCUG_additional_plansUseGasType'''<ref>Доступно [[version 19|с версии 19.2]]. [https://jira.spb.ant-inform.ru/browse/ESB-1746 ESB-1746]</ref> : Константа, позволяющая включить загрузку разреза '''Вида газа''' для [[Субъект распределения|СР]]. | ||
+ | {{ ambox | type = warning | text = Внимание! Для всех [[Субъект распределения|СР]] где данный разрез заполнен в [[АИС РГ]] придётся провести заново привязку на [[субъект поставки]]! }} | ||
==== Связывание площадок с ТП ==== | ==== Связывание площадок с ТП ==== |
Версия 17:55, 27 октября 2014
Проблема
В отдельных РГК имеются свои особенности учета в АИС РГ.
Например:
- ведение льгот, как потребителей, никогда не потребляющих газ и отличающихся от других потребителей тем, что они располагаются в отдельной папке (по устной договоренности пользователей АИС РГ);
- множество некорректных договоров и площадок, датируемых 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.
- ↑ Предназначено для реализации принципиально другой логики записи, а не для исправления ошибок, о которых убедительная просьба сообщать нам
- ↑ На самом деле, кроме специфичных случаев, как например в Уфе было необходимо распределение до площадок, это вряд ли кому и нужно будет в учётной системе. И места в АИС РГ для этих данных по умолчанию похоже также нету.
- ↑ По запросу из Новосибирска, от Осипова Сергея