Программа LAITT (отпуск из сетей ПЭС), функциональная спецификация. Спецификация не закончена. Сокращения: ПФ - прямые фидера (точки потребителей гарантирующего поставщика (не потребители! У потребителя могут быть точки из разных групп)); ОПТ - точки потребителей других сбытовых компаний; ПДог - точки потребителей на прямых договорах с филиалом; ТСО - везде подразумевается сводная ведомость (тоже точки); РЭС - поступление в сети РЭС, для программы каждый из них обычный потребитель; АктПВС - подразумевается, что это ОПТ и ПДог; Отпуск из сетей ПЭС - это сумма ПФ + ОПТ + ПДог + ТСО + РЭС; ИК - измерительный комплекс (ПУ/ТТ/ТН); ТИ - точка измерения, состоит из ИК и архива ИК (замены); ТУ - точка учёта, из них состоят потребители, точки учёта привязаны к точкам измерения, несколько точек учёта может быть привязано к одной точке измерения; Акт - канал учёта ПУ для активной энергии; Реакт - канал учёта ПУ (или отдельный ПУ) для реактивной энергии. Смысл работы: 1. Привести работу ПЭС с базой балансов ПС и потребителей в единый формат, добавить помесячную историю по точкам на ПС и по точкам учёта потребителей. 2. Организовать централизованное хранение данных и оперативный доступ к ним. 3. Уменьшить число ошибок при внесении показаний и расходов соединив в единую систему балансы ПС и акты снятия потребителей. 4. Получить возможность сравнения базы ПЭС и АктПВС/ТСО путём нумерации/обозначения потребителей в этой базе как там (т.е. что бы можно было сравнить по потребителям). =============== Пользователи, сценарии работы (текущая ситуация): Инженер/руководитель в ПЭС (Татьяна Анатольевна, Вероника, Катя, Лена А, Надежда Николаевна, Людмила Александровна, Дима, Лена В): - ежемесячно рассылает на ПС ведомости показаний из базы (заполнено начальное показание, не заполнено конечное) (некоторые ПЭС не рассылают); - ежемесячно получает с ПСий ведомости списания показаний ПУ на конец месяца; - в дополнение к ним видит в программе "балансы" показания и расходы по системе АСКУЭ; - заносит эти показания (где-то с ПСий, где-то из АСКУЭ) в базу "балансы ПС" (в некоторых ПЭС сначала один сотрудник заносит в excel, а другой сотрудник копируют в баланс); - заносит туда же замены ПУ и недоучёт (например, в случае замен ПУ/ТТ); - анализирует баланс ПС: смотрит на итого по секциям шин, сверяет точки с потреблением прошлого месяца, проверяет по АСКУЭ, вносит исправления (в случае вопросов звонит на ПС, Комарову про ПУ, а иногда ответственным за АСКУЭ); - отправляет баланс по ПС не полностью обвязанным АСКУЭ Комарову для дальнейшего анализа работы учёта, организации поездок; - переносит показания из балансов ПС (некоторые ПЭСы из отдельных файлов excel) в базу потребителей ПЭС (некоторые ПЭСы используют макросы); - составляет поступление в сети РЭС, отправляет его на участки; - получает из башни информацию по прямым точкам entiti (нужны для составления участками баланса РЭС), отправляет их на участки (эти точки относятся к РЭС и в эту базу (баланса ПЭС) не вносятся); - сообщает потребителям на ПФ их показания, согласовывает с ними потребление; - создаёт акты снятия по потребителям ПФ (затем они рассылаются или отвозятся потребителям, подписываются); - получает данные по потребителям ТСО и АктПВС, заносит в базу (что-то из башни, что-то из рапортов (интегральных актов и пр.)); - полученную базу потребителей ПФ, ПДог, ОПТ, ТСО, РЭС (иными словами "отпуск потребителям из сетей ПЭС") отправляет в управление учёта; - получает из управления информацию о сравнении базы с АктПВС и ТСО, при несовпадении предпринимает попытки найти причину; - сводит в единую таблицу: census, entiti, эту базу; - заносит "потребление без субабонентов" в программу для расчёта резервируемой мощности "редактор потребленИЯ conseditor" (как я понимаю это "итого" из акта снятия потребителя) - подсчитывает количество ПУ в ПЭС (квартальный отчёт); - создаёт разные(?) отчёты "отпуск из сетей ПЭС с разбивкой по уровням напряжения и категориям точек потребителей"; - что ещё? Инженер управления (Ирина): - направляет в ПЭС АктПВС и ТСО для внесения в базы; - собирает из ПЭС базы, составляет итоговую отчётность; - сравнивает базы (добавив "прямые" из entiti) с АктПВС и ТСО, сообщает в ПЭС о несовпадениях; - направляет ПФ из базы в сбытовую компанию; - из базы ПЭС удаляет всё кроме ПФ, добавляет настоящий АктПВС и ТСО и направляет в реализацию, МРСК и т.д. и т.п. (так происходит так как не можем добиться совпадения); - закрывает период. =========================== Мысли, почему состав системы (ниже) видится именно такой. 1. Была идея сделать только балансы ПС, а потребителей потом, но балансы сами по себе малополезны. А если учесть что нужно (для поиска неисправностей учёта) составлять: - балансы ПС по секциям шин разных уровней напряжения; - балансы ПС по трансформаторам; - балансы линий; - балансы между разными счётчиками на одном присоединении (расчётные/контрольные, цифровые/аналоговые); - балансы по сегментам; то до потребителей не доберёмся никогда. 2. Была идея сделать только список потребителей (как в entiti), а балансы потом, но показания с ПС тогда придётся вносить отдельно в баланс ПС, отдельно в потребителя, а хочется заносить только один раз (и, думаю, в потребителях без привязки их точек к сети сложно разобраться, посчитать количество и т.д.). 3. Была идея сделать программу не для ПЭС, что бы АктПВС и ТСО реализация вносила в неё, и их было видно всем нам, и ПЭСы их сразу оттуда вставляли в свой баланс целиком, но это значит что люди ведущие АктПВС и ТСО будут вставлять данные в два места, а значит ошибаться больше и всё будет тоже самое. (про то чтобы заменить АктПВС целиком какой-то программой идей не было, слишком сложный, и даже если он будет заменён чем-то, потребуется сравнивать данные из этого чего-то с балансами ПС, а значит программа "отпуск из ПЭС" тоже должна быть) 4. В 2009 году была попытка (длилась полгода) сделать схему сети для ПЭС, ничего не вышло, поэтому первый пункт ("группы точек измерения") из состава системы ниже думается таким. 5. Хотелось сделать эту систему как можно меньше и проще, сейчас добавить только то без чего не обойтись (например, в тексте ниже нет слова АСКУЭ), как-то разбить на подзадачи и их запустить в эксплуатацию. Есть идеи? =========================== В программе не будет: 1. Слова АСКУЭ. 2. Балансов, кроме балансов по секциям шин ПС. 3. Зон суток ПУ. =========================== Состав новой системы, работа в ней (каждый пункт это таблица на экране, перечисляю колонки в этой таблице): Баз будет четыре. Показания заносятся в точки измерения, затем копируются в связанные с ними точки учёта потребителей. --- Часть первая (точки измерения, показания, балансы ПС) 1. Список "группы точек измерения" (в основном это ПСии). - название; - тип. Тип выбирается из списка: - ПС филиала (здесь будут ПУ на ПСях); - потребительские ПС (и здесь будут ПУ на ПСях); - линии 35 кВ филиала (здесь ПУ не на ПСях, на линиях); - линии 6-10 кВ филиала; - линии 0.4 кВ филиала; - сети потребителя (здесь точки измерения в сетях потребителей, на их линиях, в ТП, это ради транзитов и отдачи от потребителей в сети РЭС); - межПЭСовский учёт (одинокие точки измерения между ПЭСами, не на ПСях); - межРЭСовский учёт (одинокие точки измерения между РЭСами, не на ПСях); - кого забыли, кто лишний? И названия "групп точек" будут, например: "Добрятино", "сети ВКС". Получится ли у нас не запутаться куда вносить ПУ которые не на ПС и не теряться в них? 2. Выбрав первый пункт открывается список точек измерения: - тип (ввод (ПС), фидер (ПС), линия (ПС), ТСН (ПС), другое, нужен что бы при создании проставить каналы в ИК, знак в балансе, и для названия точки учёта) - название; - уровень напряжения по физике; - номер секции шин (заполняется, если точка на ПС); - знак в балансе ПС (только по ПУ с указанным знаком вычисляется баланс). Список потребителей связанных с этими точками. И кнопки: "добавить потребителя", "перейти к потребителю". При добавлении в потребителе создаётся точка учёта связанная с этой точкой измерения. (транзиты организуются иначе: см. часть 2 (так как в транзите нужно указать не только точку измерения с минусом, но и из под какого абонента этот субабонент)) 3. Выбрав второй пункт открывается список измерительных комплексов: - примечание; - коэффициент трансформации ТТ и ТН; - заводской номер и марка ПУ (тут можно выбрать "НЕТ СЧЁТЧИКА", так сделаем точки в которые нужно вносить только расход без показаний); - дата и номер акта последней проверки; - каналы учёта присутствующие в комплексе, всего бывает четыре: "отдача актив", "отдача реактив", "приём актив", "приём реактив"; - признак архив (по кнопке "замена" комплекс отправляется в архив и создаётся новый, задаются начальные показания ПУ). 4. Переключившись на вкладку "ввод показаний" выбираем группу точек (ПС) из первого пункта, на экране таблица: - тип точки измерения; - название точки измерения; - уровень напряжения по физике; - заводской номер и марка ПУ; - коэффициент трансформации; - приём или отдача; - показания предыдущие Акт; - показания текущие Акт (сюда вносите показания); - показания предыдущие Реакт; - показания текущие Реакт (сюда вносите показания); - разность показаний Акт; - недоучёт Акт (сюда вносите расход); - итого Акт из предыдущего периода. - итого Акт (можно выставить отдельно какое захотите). Отдельным пунктом поле "установить итого Акт вручную", там можно написать любое число. В отдельной таблице показывается несколько чисел: "баланс по секциям шин", "баланс ПС", если баланс ПС больше 4% (?), то он красный, где-то неверный учёт. --- Часть вторая (потребители, точки учёта) 5. Список потребителей ПФ. - номер договора; - дата заключения; - название; - аббревиатура. 6. Четыре списка потребителей с такими же полями. Эти списки будут редактироваться в башне и изменения копироваться в базы ПЭС (это что бы можно было получить список потребителей с атрибутами как в АктеПВС и ТСО для сравнения итого с ними (и в entiti сделать тоже самое)). Потребители: ПДог, ОПТ, ТСО, РЭСы. (если хотя бы одна точка потребителя является "прямой" он добавляется в одну из этих групп и его название редактируется в башне) 7. Выбрав потребителя отображается список точек. - тип точки: выбирается из: ПФ, ПДог, ОПТ, ТСО, РЭС (история по типам не хранится) - название, не редактируется! (...копируется из точки измерения...); - примечание; - уровень напряжения по экономике; - категория (прочие/приравненные); - категория по "46-й форме"; - ценовая категория (одноставочник/двухставочник); - тариф (как в entiti); - присоединённая мощность; - потери в процентах и кВт*ч; - плюс/минус (минус = транзит, для него нужно указать плюсовую точку, либо, если её не существует - точку измерения); - признак: точка в архиве. Обычно точки предполагается создавать так: сначала в первой части создаёте измерительный комплекс, там нажимаете кнопку "добавить потребителя", создаётся точка учёта и привязывается к точке измерения. Затем можете перейти в потребителя, указать атрибуты точки и посмотреть на следующий пункт "акт снятия". (Т.е. не так как в entiti, там мы создаём точку потребителя, а затем указываем привязку и ПУ. Тут наоборот.) Перепривязать точку учёта к другой точке измерения нельзя, только убрать в архив и создать новую? Такое ограничение, что бы не хранить в точке учёта показания из точки измерения (для истории ТУ). Или всё таки можно? Нужно ли на приём отдельную точку, на отдачу отдельную??? (например, рассчитываются ли потери по разному?) Или всё-таки хранить историю ТИ отдельно, историю ТУ отдельно и копировать ТИ в ТУ по кнопке "пересчитать всё"... 8. Акт снятия. - название точки учёта; - уровень напряжения по экономике; - заводской номер и марка ПУ; - коэффициент трансформации; - приём или отдача; - показания предыдущие Акт; - показания текущие Акт; - разность показаний Акт; - недоучёт; - потери; - итого Акт (можно выставить отдельно какое захотите). В этой таблице нет редактируемых колонок, что бы исправить показания вы нажимаете "перейти к точке измерения", там исправляете показания, смотрите на баланс ПС, затем нажимаете "перейти обратно в акт снятия", проверяете, что вышло у потребителя. Потери и итого можно поставить "вручную" в специальном поле. В базе хранится две истории: первая: история точки измерения; вторая: история точки учёта. Иными словами, показания в точках учёта берутся из точек измерения, а потери и итоговые расходы по точкам учёта рассчитываются и сохраняются отдельно. Других историй нет. (Например, в entiti кроме историй точек мы храним историю баланса по фидеру ("баланс кратко" за любой период), ещё храним историю когда точки были прямые, а когда сбытовые. В census храним историю когда ПУ был расчётным, а когда он был КПУ. Тут ничего такого пока не нужно?). Округления происходят также как в entiti: в показаниях можно забить до 6 знаков после запятой, разность показаний умножается на коэффициент трансформации и расход округляется математически до целых кВт*ч, затем на полученный расход рассчитываются потери и они округляются до целых кВт*ч; перенос остатков округлений на новый месяц отсутствует. ---- Про расчётную часть в census и entiti: 1. Там есть "источник показания" (entiti), "контролёр" (census). По идее тут тоже должен быть источник: "акт снятия", "рапорт", "АСКУЭ", "обратный пересчёт из расхода по АСКУЭ" и т.д. Пока не добавляем это. (и фотоархив откуда взялось, это уже теория) 2. Там есть "расчётное текущее показание РТ" и "вид расчёта". - В census расход считается по "начисление", "списание", "статистика", "норматив", разногласие", "вручную", "взяты предыдущие показания" и РТ служит для того, что бы правильно скорректировать все эти расходы в текущем периоде, без анализа всей этой истории. Вид расчёта служит для того что бы в истории ПУ видеть что происходило с программой, и для самого сложного итогового отчёта "анализ БД". - В entiti расход считается по "показание", "статистика", "алгоритм: постоянный расход", "транзит: расход из другой точки с минусом", "вручную", "взяты предыдущие показания", РТ служит для той же цели. Вид расчёта служит для истории, для отчёта "филиал точки" (цвета в нём) и для отчёта "обоснование ПО (про фотоархив, там он в пункте "если статистика, то приложите реестр статистики")". Вопрос, нужны ли в этой программе расчётные показания? Если ответ "РТ не нужны", то: 1. В базе будет 100% занесение показаний при переходе на новый период (начальное показание копируется в конечное показание). 2. Видов расчёта будет только два: "разность показаний", "расход установлен вручную". Что думаете? Отвечают: "РТ не нужны". ===== В качестве отчётов мы получим: 1. Балансы ПС по секциям шин (и только они!). 2. Ведомость показаний по ПС. 3. Акты снятия потребителей. 4. История точки измерения (замены измерительных комплексов). 5. История точки учёта (при перемещении точки в другой договор там заводится новая со своей историей). 6. Все потребители с помесячной историей по точкам. 7. Итого с разными разбивками. 8. Итого census + entiti + эта база. 9. Список итого по потребителям из ТСО и АктПВС (с разбивкой по ПЭС и уровням напряжения), в порядке совпадающем с этими документами для сравнения с ними, сюда же нужно добавить "прямые" из базы entiti. 10. Когда-нибудь отчёт о количестве ПУ. 11. Что забыл? Что лишнее? ============================= Если подходит, то план работы: 1. Реализуем в программе первую часть: баланс ПС, т.е. без потребителей . 2. Отсылаем вам посмотреть/попробовать, исправляем. 3. Реализуем в программе вторую часть. 4. Отсылаем вам посмотреть/попробовать, исправляем. 5. Создаём отчёты: акт снятия, истории, баланс ПС (краткий, подробный?), итого. (смотря что решим создать) 6. Отсылаем вам посмотреть/попробовать, исправляем. 7. Принимаем решение, возможен ли "всё перенесём в неё за один период", если да то следующие пункты. 8. Закрывается предыдущий период, заносим список всех потребителей в систему. 9. Заносим все ПС и все точки измерения на них в систему, в каждой забиваем начальные показания и нажимаем "привязать к потребителю", создаются точки учёта. 10. Открываем акт снятия по каждому потребителю, смотрим что забыли, добавляем точки измерения.