Программа CENSUS, функциональная спецификация. Спецификация не закончена. Смысл работы: Упростить администрирование: - объединить базы данных(БД) и перенести на центральный сервер; - упростить БД; - включить автоматическое обновление программ; Упростить поддержку: - упростить и уменьшить кодовою базу; - избавиться от закрытых и непереносимых "компонент"; Подготовится к дальнейшему развитию: - выявить криво работающие части, и составить план что с ними делать. Общий план: 1. Создать трансляторы для перевода текущих баз на сервер. (сделано) 2. Создать программу для удаления потеряшек и включения связей между таблицами. (сделано) 3. Написать документацию на новый алгоритм расчёта ПО и создать новую программу расчёта. (сделано) 4. Создать новую программу отчётов для всех пользователей комплекса. (сделано) 5. Создать программу редактирования базы. (сделано) 6. Переехать на центральный сервер. 7. Исправить (список без учёта сложности/приоритета/порядка): - удалить неиспользуемые таблицы (~40) и неиспользуемые колонки в нужных таблицах (~40); - просмотреть все таблицы, добавить признак "не бывает неизвестным" в колонки, дозаполнив нужные значениями по умолчанию; - просмотреть все таблицы, добавить признак "неизвестное значение" в колонки, удалив ненужные значения по умолчанию; - поправить все справочники (~20), привести их в единый вид для всех участков: - закончить работу по созданию справочника ПУ: создать единый справочник ПУ для филиала, удалить ПУ "знак вопроса" и ручной ввод параметров, для всех ПУ проставить тип и удалить все поля для ручного ввода, это сильно упростит весь код связанный с ПУ; - разделить свалку "категории" абонентов на: комментарий, признак "дачник/пп", добавить к ПУ признак "гараж/хозпостройка", куда то вытащить "причина перевода в архив" или как то так... - "тариф 2.4" в файле ПО зависит от категории абонента ("хозпостройка"), возможно нужно отделить понятие тариф от колонок в таблице, или хотя бы хозпостройку убрать из категорий; - в редактор в карточку абонента добавить нередактируемое поле "тариф", что бы было видно какой он в отчётах; - в редакторе в кнопке "замена" нет акта и электромонтёра для уже введёной замены, добавить их после объединения(?) таблицы актов ввода с таблицей ПУ; - понятие "улица" которое сейчас суть "примечание к абоненту из списка примечаний", превратить в настоящую улицу, часть населённого пункта; - объединить таблицы "место установки счётчика" и "место установки счётчика для обходного листа", добавить признаки: "внутри дома" и "может в хоз. постройке?" и т.п. - создать редактор справочников, назначить администратора справочников, передать ему всю работу по их ведению; - переделать импорт из файла от сбыта, вкачивать оттуда ФИО; - объединить таблицы появившиеся из-за попыток экономии места с основными (отопление, строение, причина перевода в архив и т.п.); - к ПО добавить признак "откуда посчиталась цифра" (т.е. ветка алгоритма), перенести всю отчётность (по списанию, по оплате, по норме) на использование этого признака; - к "списанным" показаниям добавить признак "откуда появились" (из АСКУЭ, вручную), переделать сравнение с АСКУЭ, возможно избавившись от признака УПУ; - добавить расход в отчёт по сравнению между АСКУЭ и базой; - перенести признак "сельское/городское" из абонентов в нас. пункты избавившись от работы по выяснению везде ли он проставлен; - доработать "историю показаний": показать кем списаны, примечание и телефон абонента и т.п. - фактическая дата замены и ввода часто отличается от даты оформления акта, добавить/поправить работу с этим; - добавить документ: акт обследования (номер, дата); - что то сделать с пломбами (на крышке, на зажимах, ящике и т.п., может быть по 5-8 пломб); - добавить «признак вынесения ПУ на ГБП», ставится при замене или добавлении счётчика; - что то придумать с КПУ (технический учёт), это непринятые счётчики и ввода в ТП; - народ пытается сравнивать количество счётчиков базе ПО и в АСКУЭ, (например, сломанные счётчики в базе АСКУЭ ("ремонт") и отключенные счётчики в базе ПО), что то придумать с этим; - сделать нормальную сортировку по номерам домов и квартир (дома с дробью в названии и т.п.); - переделать обходной лист: - перетащить в excel (сделано); - добавить оплату (сделано); - (просит Собинка и КЭС) добавить фидер 0.4; - (просит АЭС) добавить значёк, "был акт безучётного"; - (просит КЭС) добавить архивных, например в конец списка; - (просят Вязники) что бы выводились все номера пломб из базы; - (Собинка) Убать оплату из обходного (она только путает); - (просит Гороховец, для наведения красоты) год выпуска счётчика. - доработать переходы через 0 (возможно добавить в алгоритм признак ручного перехода, и сколько раз переходил, т.к. принцип "1/4, 3/4, переход 1 раз" не всегда верен (3-х разрядные ПУ + по несколько лет нет списаний)); - добавить обработку "разногласия по отключенным ПУ", возможно в виде отдельной строки в файле ПО; - добавить импрот комментариев к разногласиям из файла от сбыта, выводить их в истории показаний; - сейчас нет точного способа определить какие счётчики сменяли какие у абонента, и сколько счётчиков у него было подключено в определённый момент, возможно нужно что то сделать с этим; - при вводе показаний дать возможность изменить "любую"(адрес, ФИО, счётчик) часть базы и продолжить ввод; - ввод показаний: отображать предыдущие списания с датой (что бы не ходить в историю каждый раз); - при отключении счётчика добавить дату и причину (Судогда); - (Вязники) в отчёте по количеству ПУ хотят количество по нормативу (спросить надо ли ещё, т.к. в новых отчётах их можно найти в другом месте); - (Таня) Добавить в отчёт "абоненты": нет списаний 1 год, нет оплаты 1 год; - (Таня) В отчёт "ПО" рядом с последними списаниями добавить последнюю оплату; - (Таня) В редактор добавить фильтр "Недозаполненные абоненты", цветом всех пугать; - (Судогда, Гусь) Добавить отчёт: Итого по ТП (см. в образцах); - дату поверки поставить в виде квартала; - полем "дата отключения" практически не пользуются, т.к. отключённые ПУ исчезают из обходного, дату пишут в примечание, абоненту ставят категорию "ОТКЛ"; - в "дату установки/замены" народ пишет не дату из акта, а текущую дату, что бы акт появился в "реестре" актов за текущий месяц (видимо нужно добавить поле "в реестре какого месяца показывать акт"); - на участках по разному нумеруют акты ввода/замены (кто то при выпуске, начиная нумерацию с начала года (Ковров), а кто то выпускает акты без номера, а когда составляет реестр - проставляет их попорядку (Собинка)), одним удобно заносить их в программу, другим - нет; - перевести copy/paste в выпадающих меню в новых отчётах на русский; - подробнее про отдельные поля: - дата следующей поверки бывает раньше даты установки, предположительно для однофазных нужно прибавить к ней 16 лет. 8. Приступить к созданию вменяемой базы документов: - акты ввода; - акты замены; - акты инструментальной проверки (обследования); - акты осмотра; - заявок на ограничения(?), актов ограничения, актов возобновления; - актов оперативных переключений; - акты безучётного потребления; - акты бездоговорного потребления(?); - уведомлений на замену ПУ; - журнал пломб (фактически он дублирует информацию о пломбах и людях из актов ввода/замены/проверки/осмотра); - какие документы забыл? 9. Развивать программу: - хотя бы частично нормализовать базу (разделение таблиц-гигантов на небольшие части), т.е. упростить базу, повысить скорость (например, поиск показаний); - организовать хранение коэффициентов статистики за прошлые месяцы, т.е. приступить к созданию истории базы; - печатать шаблоны актов из программы; - поукрашать редактор: - в кнопки "добавить абонента", "добавление ПУ", "замена" добавить выбор типа ПУ и, вообще, всю карточку абонента/счётчика; - сделать в "абонентах/счётчиках" населённые пункты как при вводе показаний (жирным, что бы по улицам быстро ходить); - сделать по всем полям TRIM, что бы не писали пробелы; - если в поле вводят кривое значение (например, в списание показние с запятой, или стирают коэфф. тр.) выдавать предупреждение. Пройтись по всем полям; - продумать добавление абонента с ЛС как у архивного; - может сделать поиск во время набора (как в старой - выделяем поле таблицы, что то пишем, она постепенно прыгает). - переделать импорт из АСКУЭ, вместо файла excel сделать кнопку "вкачать из АСКУЭ"; - переделать импорт из АСКУЭ, продумать как быть с округлениями до кВт. - доработать "Быт Q": что бы показывал ФИО, адрес, лицевой счёт напрямую из базы CENSUS. ============================================================================ Пользователи, сценарии работы: Техник (Ольга, Ирина, Светлана, Дима, Катя, Галина, Наталья) : - ведёт договора со сбытом (абонентов), внося в базу (вручную): - ЛС (от сбыта), дату заключения договора; - адрес (привязывает абонента к населённым пунктам); - улицу (для разбиения на листы в обходном); - категорию, она же комментарий (жилой/дачник/не жилой/умер, там признак расчёта статистики и признак Д и признак "абонент = хозпостройка"); - расход по норме (ставится, если у абонента нет счётчика) - переводит абонентов в архив. - ведёт базу ПУ, внося в базу: - данные из актов ввода, замены, проверки, осмотра: - добавляет счётчик; - проставляет показания на момент замены, на момент ввода, отключения; - даты ввода, замены, отключения; - номер акта ввода; - место установки (фасад/опора/внутри дома/лестн. клетка и т.д.) - фамилию электромонтёра составившего акт ввода; - коэффициент трансформации. - коэффициент технических потерь (холостого хода и в линии + признак рассчитывать их или нет); - указывает технологическую привязку ПУ (ПС, фидер, ТП); - код счётчика по сбыту (закачивает программой из файла excel); - привязывает ПУ к абонентам; - указывает балансовую принадлежность; - даты поверок; - ведёт ещё вторую базу ПУ (и разные реестры) в excel: - В нее забивает акты ввода, акты инструментальной проверки, нарушения, предписания, даты поверок ПУ, пломбы, контрольные ПУ, безучётное потребление. По этой базе формирует разные реестры. Отсылает её части и реестры в филиал. Кого тут забыл? - распечатывает обходные листы; - оформляет акты на производство оперативных переключений (отключенные - включенные), хочет выпускать заполненные акты из базы - вносит показания из обходных листов и других документов (например, показания из файлов счётчиков с дист. доступом), хочет вносить их быстро и без ошибок; - при внесении показаний ищет и исправляет ошибки (сравнивает с предыдущим РПППУ и ПО и оплатой в окне, где забивает показания); - в Гусе: ведёт показания с разбивкой по тарифам (по 2-х тарифным не заполняет коды от сбыта, оплату получает в файле специального формата, вносит вручную); - вносит показания по оплате(а на самом деле: по отгруженным объёмам) от сбыта (закачивает программой из файла excel на основании кода по сбыту, заводскому номеру и лицевому счёту; или заполняет вручную); - при внесении оплаты ищет и исправляет ошибки (неверные коды по сбыту, показания на влезающие в разрядность счётчика); - вносит разногласия от сбыта (закачивает программой из файла excel на основании заводского номера и лицевого счёта); - если хочет (например разногласия по отключенным счётчикам, и разная химия) заполняет РТППУ и ПО по счётчику вручную; - запускает процедуру "вычисление ПО"; - отсылает в филиал файл с сформированным ПО; - закрывает учётный период в программе по команде из отделения; - ведёт и отсылает в филиал отчёты по производственным показателям (excel); - Ведёт бумажный журнал заявок на <Принятие учета> и <опломбировку> ПУ (хочет заносить в программу и, при необходимости, сформировывать по населенным пунктам или по фидерам); - отсылают Вадику адреса ПУ, рассказывают об их абоненте (физ./юр. лицо), состоянии ПУ и их перемещениях (сломан/ремонт). Вадик: - ведёт базу ПУ матрица; - меняет названия и адреса ПУ, удаляет ПУ из системы по информации с участка. Лена, Аня, Юля: - то же что и Таня, но для своего отделения - формирует отчётность по отделению - то же что и Таня, и ещё: - по сводным производственным показателям отделения по РЭС (проверяет количество списанных показаний, выданных и исполненных уведомлений на замену ПУ, количество замененных и вновь введенных ПУ, количество ПУ вынесенных на ГБП, количество абонентов с потреблением по нормативу, количество абонентов у кого не были 6 месяцев и более). - проверяет по файлам ПО и ABS данные: - по количеству тучек учета по РЭС (квартальный отчет) (по принадлежности, по месту установки, по характеристике, по типу, контрольный или расчетный ПУ); - по сводным производственным показателям отделения по РЭС (проверяет количество списанных показаний, выданных и исполненных уведомлений на замену ПУ, количество замененных и вновь введенных ПУ, количество ПУ вынесенных на ГБП, количество абонентов с потреблением по нормативу, количество абонентов у кого не были 6 месяцев и более). - проверяет полноту загрузки оплаченных показаний в базу ПО; - проверяет полноту загрузки и отработки разногласий от сбыта (стараемся разногласия предыдущего месяца полностью снять в текущем (если не всё как надо, звонит технику на участок и говорит что нужно доделать); - в вопросных ситуациях совместно с техником участка рассматривает истории показаний отдельных потребителей (выгружает их по запросам руководства); - в критических ситуациях выполняет все функции техника. Таня: - собирает с участков файлы ПО; - собирает с участков файлы ABS; - собирает с участков файлы с реестрами актов ввода, замены, проверки ПУ; - собирает с участков файлы с отчётами по производственным показателям; - ищет ошибки в файлах ПО, фильтруя их по признакам: - наличия информации по привязке каждого потребителя к конкретной группе населения (городское/сельское); - наличия информации по привязке каждого потребителя к конкретному тарифу (городское население с газовыми плитами/городское население с электроплитами/сельское население/потребители, приравненные к населению (гаражи, сараи, бани и т.д.); - наличия ошибок, связанных с неверным расчетом полезного отпуска в базе (большие, ничем не подкрепленные, «минусы», неверно выставленная статистика и т.д.) - формирует итоговую отчётность по филиалу, группируя данные из файлов ПО: - по тарифам с разбивкой по РЭС; - по способу формирования полезного отпуска (по снятым показаниям, по оплаченным, по статистике). - вычисляет: - количество точек учёта с разбивкой по РЭС (общее, количество, участвующее в формировании полезного отпуска (в т.ч. по оплаченным показаниям, по снятию, по статистике)); - среднемесячное потребление из расчета на одну точку учета. - сравнивает файлы ПО: - с базой "Быт Q" (контроль работы по установке/принятию ПУ, анализ различий по количеству ПУ); - с данными отдела технологического присоединения; - с реестрами актов ввода, замены, проверки ПУ (контроль работы РЭС по составлению актов и внесению данных из них) (например, внесение номеров пломб); - с файлами производственных показателей; - придумывает что бы ещё с чем сравнить. - ведёт работу по урегулированию разногласий по физическим лицам со сбытовой компанией - анализирует и корректирует разногласия (разногласия по прошлому месяцу мы видим в этом как минусы, работаем по ним и про них забываем, в следующем месяце всё будет новое). МИА (разработчик + администратор): - ведёт справочник счётчиков Начальник службы(?): - придумывают коэффициент статистики для каждого участка каждый месяц ТЛН (начальник управления): - даёт команду на закрытие учётного периода? Программа: Часть 1. Отчёты. 1. отчёты по участку: 1.1. ПО по ПУ 1.2. Абоненты (+ небыли полгода, 3 года) 1.3. Архивные абоненты (+ причина перевода в архив) 1.4. ПО с группировкой по нас. пунктам 1.5. ПО с группировкой по нас. пунктам и ТП за год 1.6. ПО с группировкой по фидерам? (меню файл?) 1.7. ПО по ПУ за год ("нарастающий итог") 1.8. Количество ПУ 1.9. Количество ПУ, списаний и оплат за всё время существования базы по месяцам 1.10. Реестры установок и замен, обследований в этом месяце (Собинка просит за прошлые месяцы) 2. отчёты по участку, служебные (диагностика состояния базы) 2.1. Реестр абонентов с 2-мя ПУ 2.2. 3-х фазные ПУ в многоквартирных домах 3. отчёты по филиалу: 3.1. ПО по списаниям, оплате, с группировкой по участкам. ("анализ БД") 3.2. ПО с разбивкой по тарифам Часть 2. Редактор + импорт + вычисления. Часть 3. Закрытие учётного периода. Сохранение всех всех отчётов к каталог + кнопка "закрыть филиал/участок". Которая: 1. запрещает всем редактировать базу 2. очищает признак отключен заменён 3. меняет месяц 4. всякое разное проверяет