powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / начисления за услуги водоснабжения/водоотведения
49 сообщений из 49, показаны все 2 страниц
начисления за услуги водоснабжения/водоотведения
    #32619727
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ежели есть кто-то, кто занимается такими задачами, был бы рад пообщаться - зашел в тупичок-с, ищу свежих идей.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619755
psj69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зашифровался ,земляк !

У меня программа лет семь крутится в двух конторах ( VFP+dbf) по населению
и три года для расчетов с организациями
С организациями- просто : нормы и расход реальный
а вот с населением - мраки :
нормы,льготы ,субсидиии,перерасчеты
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619859
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я занимаюсь всей коммуналкой, комплексно

Спецально создали форум, заходите

Hазвание форума: talk.ru.house
Описание: ЖКХ расчеты, алгоритмы, и проблемы при создании ПО
URL: Http://talk.mail.ru/forum/talk.ru.house
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619866
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Vladimir M Sklyar. Хорошее дело, форум. Только там всего сотня постов за год. Давайте лучше здесь.
locky. В чем заморочка конкретно?
Ну и тут глянь /topic/104621&pg=-1
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619867
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psj69 а вот с населением - мраки :
нормы,льготы ,субсидиии,перерасчеты
Да, все именно так.
Алгоритм действий примерно таков:
1. Выясняешь на основании каких документов они расчитывают оплату.
2. Внимательно изучаешь их.
3. Идешь к начальнику из этой водоснабжающей организации и выясняешь интересные моменты. Практика показывает, что они всегда находятся (неоднозначности в документах и постановлениях и т.д.). Где он это будет дальше выяснять, в принципе волновать не должно. Важно, чтобы он дал ответ как надо считать.
4. Связываешься с организацией, которая будет компенсировать водоснабжающей организации выпадающий доход. С удивлением узнаешь, что они по-другому рассчитывают начисления. Поэтому и суммы к возмещению у них получаются другие.
5. Идешь к начальнику из этой водоснабжающей организации. Пускай он связывается с организацией из п.4 и урегулирует этот вопрос.
6. После всего этого пишешь процедуру расчета.

Момент касаемый реализации: Пока будут выполняться пункты 1-6 успеют принять пару новых постановлений, которые поменяют порядок учета. Отсюда мораль - процедура расчета должна быть легко модифицируемой, очевидно, отдельно от самой программы. Например, задаваться в виде описания на каком-то своем встроенном языке, в виде хранимой процедуры и т.д. по вкусу.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619870
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Локшин Марк
Правильный подход. Только процедуру лучше писать единую, но со множеством параметров. Кому как нравится. Кому на ХП, кому на сервере приложений.
================
Хотя... Есть и блестящая работа по меняющимся алгоритмам расчета.
/topic/37397
================
Поскольку наши чиновники помнят математику только в объеме 5 классов, то никаких сверх хитрых адгоритмов они придумать не могут
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619873
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Vladimir M Sklyar. Хорошее дело, форум. Только там всего сотня постов за год. Давайте лучше здесь.

Я даже не против. Просто там возникают сообщения когда есть проблемы.

Да и достпуп к sql.ru у меня очень проблемный. NNTP глючит.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619875
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Vladimir M Sklyar. А по-серьезному раскрутить пробовали? Тема-то действительно сложная и актуальная.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619877
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Vladimir M Sklyar. А по-серьезному раскрутить пробовали? Тема-то действительно сложная и актуальная.

Что раскрутить ?
Чтобы лишний раз не захломлять здесь - вылези в аську (моя есть в профиле)
Заодно о поговорим.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619879
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Vladimir M Sklyar. Я аськой не пользуюсь - дорого. По мылу.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619896
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как здорово что все мы здесь сегодня собрались.. (С) митяев (?)
по существу
в приведенных топиках - пасибо, был, читал, даже кое-где писал.
по поводу - Http://talk.mail.ru/forum/talk.ru.house - обязательно посмотрю, спасибо, не знал о таком, хотя и искал нечто подобное.
Теперь о проблеме.
у меня есть система, занимающаяся расчетами с населением за услуги водоотведения. Начисления, перерасчеты, оплата, задолженность и т.д.
в топике
округление сумм я приводил скелетный вид метода начислений, который я применяю
locky
если допустить, что у нас есть перечень услуг с нормами расход услуги на единицу людей и ценой этой услуги, что все лицевые счета всегда пользуются следующими услугами, то алгоритм начислений выглядит вот так:
Код: plaintext
set nocount on\n /*опорная таблица дат*/ \ndeclare @date table(date datetime primary key)\ndeclare @df datetime,@dt datetime,@d datetime\n /*период начислений*/ \nset @df = \'20000101\' set @dt = \'20000201\'\nset @d = @df while @d < @dt begin insert into @date(date) values(@d) set @d = @d+ 1  end\n /*таблица услуг*/ \ndeclare @service table(id int,df datetime,dt datetime /*период дейтсвия нормы и цены*/ \n,norm float /*норма услуги*/ ,price float /*цена услуги*/  primary key(df,dt,id))\ninsert into @service values ( 1 ,\'19000101\',\'21000101\', 10 , 2 )\ninsert into @service values ( 2 ,\'19000101\',\'21000101\', 5 , 4 )\n /*лицевые счета*/ \ndeclare @accs table(acc int /*номер счета*/ ,Amount int /*к-во проживающих*/ ,df datetime,dt datetime  /*период проживания*/ \nprimary key(acc,df))\ninsert into @accs values( 1 , 2 ,\'20000101\',\'20000115\')\ninsert into @accs values( 1 , 1 ,\'20000116\',\'20000201\')\ninsert into @accs values( 2 , 3 ,\'20000101\',\'20000201\')\n /*проводим начисления*/ \nselect\tAcc,S.ID as Service,D.date,A.Amount,ServiceAmount=S.Norm*A.Amount/(datediff(day,@df,@dt))\nfrom\t@accs a join @date D on A.df <= D.date and D.date <= A.dt\n\tjoin @service S on S.df <= D.date and D.date <= S.Dt\n
на выходе получаем подневный расчет каждой услуги на каждый лицевой счет. просуммировав данные в пределах неизменности параметров получаем собственно начисления.
Аналогичным образом считается льгота, только в качестве услуги используется регистрация льгот, а в качестве опорной суммы - проведенные ранее начисления.
Добавляя по вкусу разные дополнительные таблицы связи (не забывая при этом о периоде наличия связи) между ЛС и услугой, ЛС и графиком подачи воды, ЛС и показаниями счетчика - можно изменять начисленную сумму.

Как видим, применен подход «От услуги», который достаточно хорошо описан в топике Система с изменяющимися алгоритмами расчета. .
Подход «От ЛС» дает значительно более худшие результаты по скорости расчета.
К тому же, в моем подходе есть масса дополнительных преимуществ, типа возможности достаточно просто модифицировать алгоритмы расчета, добавлять туда новые условия и т.д.
А теперь о грустном. Как видно из алгоритма, на выходе получается табличка с промежуточными данными. Объем этой таблички порядка (К-во ЛС)*(К-во услуг на одном ЛС)*(К-во дней в месяце), что для 500000 ЛС с холодной и горячей водой составляет около 3*10^7 строк. По сути своей табличка – временная, но из-за организации пофазовой методики начисления создается как постоянная. Ессно, перед расчетом и после него табличку надо чистить. Это- порядочный кусок времени (14% от общего времени расчета).
В топике выполнить truncate table я также привел несколько побочных проблем, а также то, как я считаю нужным их решать.
Но закрадывается в голову сомнение: а правильно ли я думаю? Может, в консерватории что-то надо менять? Т.е. может быть мне нужно менять архитектуру расчетов?
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619902
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем обусловлен подневный расчет ?
Человеку ведь предьявляеться сумма начисления за месяц в разрезе услуг или может есть какие-то хитрые требования ? (я тоже занялся переработкой своего ПО, может чего упустили)

To: Cat2
Отписал Вам пару писем. На форуме Вы быстрее отвечаате
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619909
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подневный расчет вызван следующей причиной: любая из характеристик объектов начислений (к-во проживающих, норма, тариф, категория льготы, к-во льготников) может изменится в любой день. к тому же, в любой день человек может быть покдлючен/отключен к индивидуальному/коллективному счетчику (или и к тому и к другому одновременно). На каждый день есть график с указанием, была или не была горячая/холодная вода.
Далее, как видно из примера расчет провизводится для нескольких счетов одновременно, а в этом случае минимальный период неизменности всех параметров - 1 день.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619967
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я предполагал другие требования для формирования такого подхода к начислению (орг. вопросы, хитрая постановка задачи)

В любом случае какая бы не была таблица с данными о начислениях (суммарная, по дням) ее все равно необходимо будет чистить перед началом процесса начисления.
Была бы возможность отключить логирование данных для опр. таблиц - но увы, MSSQL пока этого вроде не позволяет (может в будущем и сделают). Для меня эта тема тоже открыта.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32619973
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое главное - не задавай в форуму вопрос, а нельзя ли отключить логгирование.
Популярно объяснять, что с точки зрения теории - это не есть правильно, а значит не есть правильно и с точки зрения практики. А сам ты... в общем, учите матчасть и читайте BOL, маладой человек! :-))
когда то подымался мною вопрос "о ненужных возможностях", мы там чуток покусались.
Причем с точки зрения Sybase, если не ошибаюсь, выключение логгирования - полезная весчь, с точки зрения Informix - тоже (только там есть нескоко ограничений, которые практически на нет сводят преимущества).
Вооот...
дык а подход то возникает из постановки задачи - учет параметров объекта начисления с точностью до 1-го дня.
Не так, чтобы - льгота - на весь месяц, проживающие - тоже, а так чтобы "С-по"...
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32620933
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky
А теперь о грустном. Как видно из алгоритма, на выходе получается табличка с промежуточными данными. Объем этой таблички порядка (К-во ЛС)*(К-во услуг на одном ЛС)*(К-во дней в месяце), что для 500000 ЛС с холодной и горячей водой составляет около 3*10^7 строк. По сути своей табличка – временная, но из-за организации пофазовой методики начисления создается как постоянная. Ессно, перед расчетом и после него табличку надо чистить. Это- порядочный кусок времени (14% от общего времени расчета).

Зачем же эту таблицу постоянно чистить перед расчетом?
В том же топике Система с изменяющимися алгоритмами расчета. . хорошо описанна технология кэширования, если по данному лицевому расчет уже произведен, то он при расчете уже не участвует. При изменение данных по лицевому (изменени льгот, даты подключения, кол-ва прописанных), удаляются в таблице расчетов только записи по этому лицевому.
Полностью таблица очищается только при закрытие месяца.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32620984
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Зачем же эту таблицу постоянно чистить перед расчетом?
Уж больно велик получается размер кэш-таблицы - для 7 лет около 672Gb.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32621241
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimSПолностью таблица очищается только при закрытие месяца.


locky>Зачем же эту таблицу постоянно чистить перед расчетом?
Уж больно велик получается размер кэш-таблицы - для 7 лет около 672Gb.
Я так понял, что расчет производится только за текущий месяц+ сторнирование при необходимости за предыдущие (но сумма кидается в текущий). Вот после закрытия расчетного месяца и очищается расчетная таблица.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32621421
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь, что подход с кэшированием, предложенный ASCRUS подходит для задач во первых, с относительно небольшим объемом кэшированных данных, во вторых для задач, в которых в течении текущей работы конечный результат формируется более чем на 70%.
К примеру в той же зарплате каждый табельный номер практически гарантированно будет обработан в отчетном месяце.
В моем случае изменения происходят по 2-5% ЛС в месяц - их я могу положить в кэш. но по всем остальным надо будет затем определить - есть они в кэше или нет, и если их там нет - посчитать. вот это момент "определить есть или нет" - достаточно тяжел. в 95% выгоднее просто посчитать.
Кста, а вообще кто-нибудь еще применяет подобных подход - расчет не ЛС счета по всем услугам а расчет услуги по всем ЛС?
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32621660
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TO locky.
У нас тоже расчет за коммунальные услуги. Пока еще крутится задача на
фоксе по DOS. В ней реализовон расчет по лицевым счетам.
Моя задача перевести все это на sqlServer. Естественно нужно переписать все алгоритмы расчета. В методику расчетов пока еще только въезжаю. Но делаю расчет по услугам. Получается примерно как у тебя, с точностью до дня.
А определяю посчитан - или нет лицевой за текущий месяц так:
Есть кэш - состояние лицевого счета за текущий месяц. В нем поле - признак посчитан или нет. При расчете ставится признак - посчитан. При изменени данных по лицевому счету через триггеры удаляю записи в расчетном кэше и в кэше-списке лицевых снимаю признак расчета.
Перед вызовом процедуры расчета, заполняется временная таблица- кого хотят считать: один лицевой, либо какой то жэу, либо всех. Эта таблица сравнивается с кешем-списком лицевых и далее считаются только тех, кто еще не посчитан.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32621783
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, только-только обратил внимание: и в моем варианте с "временным" кэшем, и в варианте ASCRUS с "постоянным" кэшем есть одна и та же операция: очистка части кэша :-( Вот её-то и хочеться избежать.
Наверное, для меня наилучшим выходом всё-же будет разведение расчетов по разным промежуточным таблицам с truncate'ом их в конце расчета. это ко всему прочему повысить конкурентность системы.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32621861
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky кстати, только-только обратил внимание: и в моем варианте с "временным" кэшем, и в варианте ASCRUS с "постоянным" кэшем есть одна и та же операция: очистка части кэша :-( Вот её-то и хочеться избежать.
Т.е. у вас проблема только в том, что долго удаляются строки из таблицы? Эта операция занимает основную часть времени при расчете?
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32621897
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Т.е. у вас проблема только в том, что долго удаляются строки из таблицы? Эта операция занимает основную часть времени при расчете?
Ну, не основную часть времени, а, как я уже писал, 14% от времени расчетов.
просто столкнулся с тем что достаточно сложно соптимизировать
Код: plaintext
1.
delete from SomeTable where SomeCondition
при наличии подходящих индексов :-)
Вот и закралось в голову сомнение: может проблема не в этом, а в подходе к расчетам в целом? Может, не следствие надо лечить, а причину? И если причину, то как её лечить?
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32623317
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу кэшей:
В зп действительно удобно все посчитать, положить, чистить по триггерам только изменившиеся и заново их считать. По коммуналке такое не прокатит по причине больших обьемов. Однако расчеты там идут тоже постоянно, поэтому тут выгоднее получается использовать промежуточные расчетные данные. Можно рассмотреть следующие варианты:
1. Организовать кэш готовности расчетов лицевых счетов. В нем выставляются флаги для тех лицевых счетов, которые были рассчитаны и при изменении входящей информации они сбрасываются. Естественно флаги хранятся для каждого лицевого счета за каждый расчетный месяц. В итоге изменение задним числом приводит к сбросу флагов предыдущих месяцев и уже служит основанием для сторнирования этих месяцев. Думаю обьяснять преимущества не нужно - нет смысла пересчитывать все по предыдущему месяцу из за одного изменившегося задним числом лицевого счета.
2. Организовать расчет и хранение промежуточных данных расчета. Например если рассмотреть коммуналку, то все льготы, субсидии и т.д. в конце концов выливаются в некие коэффициенты, на основе которых и идет расчет. В итоге расчет делиться на 2 этапа: расчет коэффициентов и окончательный расчет. В итоге тоже изменение ставки не затрагивает изменение коэффициентов лицевых счетов и остается только взять уже готовые коэффициенты и пересчитать их по новой ставке или норме потребления.
3. Для тех услуг, которые имеют постоянный обьем потребления можно организовать хранение только точек отклонения. Например пока не изменилась ставка на отопление и условия лицевого счета, то ежемесячно ему выставляется одна и та же сумма. Гораздо выгоднее получается один раз зафиксировать эту сумму по отоплению на ее последнюю дату расчета и пока не произошло изменений условий входящих данных ссылаться на нее, чем каждый раз в БД писать ее на каждый месяц. В итоге имеем уменьшение обьема данных в БД (причем по идее не маленькое), ускорение работы при выполнение запросов и пропуск расчетов по таким услугам для тех лицевых счетов, у которых ничего не поменялось.

Идеи эти конечно сыроваты, я в свое время консультировал одну контору, которая делала ПО под ЖКХ на MSSQL2000, они ими воспользовались, довели до ума, наложили естественно свое видение структуры БД и вроде как сейчас у них расчет 50-100 тысяч лицевых счетов вполне нормальное явление, без лишнего геммора.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32623897
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
< ASCRUS
А можно немного подробнее о 3-е пункте.
Т.е. изначально сделали расчет по всем лицевым. Затем в следующем месяце делаем расчет только у тех, у кого поменялись параметры? А у остальных берем последнее начисление?
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32623990
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу. Если условия лицевого счета не менялись, ставки не менялись, потребление постоянное - то спрашивается, на кой еще раз считать и хранить. Каждый расчет по изменившейся информации можно назвать точкой среза, в итоге если мы имеем табличку "Состояния", то по идее получим:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
КодЛицСчета,  РасчМесяц, КодСреза
1, 2004-01-01, 1 (первичная информация)
1, 2004-02-01, 1 (параметры не менялись)
1, 2004-03-01, 1 (параметры не менялись)
1, 2004-04-01, 2 (изменился параметр лиц. счета)
1, 2004-05-01, 3 (изменились справочники)
1, 2004-06-01, 3 (параметры не менялись)
1, 2004-07-01, 3 (параметры не менялись)
... и так далее
запрос по всем начислениям недолго получить:
Код: plaintext
1.
2.
SELECT s.КодЛицСчета, s.РасчМесяц, i.КодУслуги, i.Сумма
FROM Состояния s
  INNER JOIN Начисления i ON i.КодСреза = s.КодСреза
Все это пихаем в вьювер и на выходе для клиентского приложения и отчетника получаем данные за все месяца начислений, так, как если бы они хранились реально.

P.S. В этой схеме как можно заметить нет учета сторно и срез обьединяет в себе все начисления услуг, которые имеют постоянный обьем потребления. При желании можно доработать в нужную сторону, я как бы привел облегченную модель.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32624004
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Аналогичную модель можно применять к разным задачам. Например у меня таким образом в "Расчете зп" организована модель хранения учета табельного времени - есть план (график работ), есть факт (отклонения и дополнения от графика). Зачем спрашивается хранить на 20 рабочих дней учет табельного времени на сотрудника, если у него не было отклонения от плана и он честно отработал 20 дней. Для одного сотрудника может и не критично, а вот для 1000 для 3-летней базы даже очень существенно будет по обьему таблички :)
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32624067
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
< ASCRUS
Спасибо. И вопрос не совсем по теме: когда у Вас будет возможность продолжить рассылку по ASA9?
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32624099
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет рассылки больной вопрос - времени полный ноль. Скорее всего я ее скоро запущу вновь в обрезанном варианте - Новости от Sybase.com, Sybase.ru и буду в ней давать ссылки по решениям, выложенным в FAQ, чтобы не разрываться между FAQ и рассылкой. В тему сказать, на руках имеются пара красивых и универсальных решений (как мне кажется) для ASA9 по моделям хранения информации за периоды и задним числом (в том числе есть ХП, самостоятельно генерящие на таблицы по таким моделям триггера, которые полностью обеспечивают работоспособность моделей). Осталось только выделить кусок времени и перенести эти решения в FAQ. Ориентировочно думаю это произойдет после 7-ого августа (моя семья едет в отпуск и 2 недели мне все равно будет особо нечего дома по вечерам делать) :)
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32624851
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ASCRUS
у меня не "Кэш готовности" а "Кэш неготовности" :-) т.е. какие ЛС за какие месяцы нао пересчитать.
Все коэффициенты уже посчитаны заранее.
А вот для постоянного объема потребления... я еще проверю на опыте, но мне кажется что в моем случае будет дороже проверять неизменность параметров, чем рассчитать еще раз.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32625107
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА вот для постоянного объема потребления... я еще проверю на опыте, но мне кажется что в моем случае будет дороже проверять неизменность параметров, чем рассчитать еще раз.
Согласен, зависит от обьемов данных, частоты их изменения и насколько в БД реальна возможность при изменение входящих данных определять, на что они могут влиять. Например, если расширить Ваш "Кэш неготовности" еще полем признаком: "Необходимость пересчета услуг с постоянным потреблением", то по идее при расчете если он выставлен, организуется новый срез начислений, иначе дается просто ссылка на последний существующий.

P.S. Важное замечание - все это выгодно использовать, если расчеты проводяться запросами по множеству лицевых счетов. Если расчеты ведутся единично по каждому лицевому счету их перебором, то я не уверен, что мои советы чем то могут помочь, вполне возможно наоборот замедление расчетов.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32625164
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ASCRUS
да-да, запросом по множеству :-) значительно быстрее, чем по каждому ЛС отдельно (предсказано теорией и проверено практикой)
Со срезами неизменяемых начислений попробую не ранее выходных, уж больно серъезный вопрос, чтобы проверять на пальцах.
Боюсь, правда, что в уже существующей системе применить такой подход будет невозможно, но ведь будут и еще системы, а там - всё можеть быть.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32626263
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Э-э. Не забывайте, что комуналка - не начисление зарплаты. Данные о платежах вводятся по мере поступления документов. На вводе данных сидит не более 20 теток. Нет проблем пересчитать ВСЕ данные по лицевому счету при подтверждениии ввода очередных показателей. Сервак справится.
=======
Это, типа лирическое отступление. У меня - оплата электроэнергии населением. Тоже полная ж. Пока не было Социальных Норм, я еще мог держатся в пятой форме. Но для ускорения вывода сводных отчетов пришлось денормализовать и результаты рассчета сбрасывать в отдельную таблу. При пересчете данные по лицевому счету удаляются и пишутся снова. Проблем - нет.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32626278
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭ-э. Не забывайте, что комуналка - не начисление зарплаты. Данные о платежах вводятся по мере поступления документов. На вводе данных сидит не более 20 теток. Нет проблем пересчитать ВСЕ данные по лицевому счету при подтверждениии ввода очередных показателей. Сервак справится.
Так обсуждаем не платежи (оплату), а выставление начислений. Крупный ДЭЗ можем иметь до 50 000 лицевых счетов и десятки рассчитываемых услуг. Почти все из них имеют постоянный обьем потребления (в основном потребление воды динамически меняется в зависимости от показания счетчика). Каждый месяц нужно выставлять этим лицевым счетам начисления (производить расчет), т.е. даже если в среднем лицевой счет имеет 5 услуг, то за месяц на 50 000 счетов это 250 000 записей начислений. Далее возникает интересный вопрос изменения входящей информации задним числом (например на полгода назад изменился тариф) и мы имеем необходимость пересчета 6 месяцев всех лицевых счетов, у которого задействована услуга с изменившемся тарифом. Причем например, в Москве всю оплату и разбивку по начислениям делает банк Москвы, который тоже вносит свою достойную лепту в хаос автоматизации коммуналки, не учитывает переоплату, криво опознает сторно и т.д.

Одно ясно, коммуналка это гнев божий, слава богу я с зп вожусь, там хоть ТК не так часто меняется и если выбросить из внимания мутотень с инвалидами в ЕСН, то все не так уж и плохо :)
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32626334
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Сглупил-с. Забыл, что ДЭЗ счета выставляет
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32638124
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Locky
Как можно с Вами связаться (есть пару моментов, котырые хотелось бы уточнить) ?
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32639532
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Vladimir M Sklyar. Напишите здесь. Нам тоже интересно. Или у вас полузакрытая инфа?
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32639576
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет не закрытая тема, она просто как раз имеено коммунальная и к проектированию БД ну ни как не относиться.

А интересует меня вот что:
- каким образом в программе проходит субсидия ?

У меня она проходит, как вид оплаты (одна из разновидностей платежей проходящих на лицевых счетах). Но отдел субсидий начал гнать, что мол мы не правильно все делаем и она (субсидия) проходить по другому, каким то макаром должна как то проходить совместно с начислением (причем сами они толком обїяснить ниче не могут)

Вот, может у людей как то по-другому все организовано.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32639632
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Vladimir M Sklyar. Алгоритмы расчета, на мой взгляд, относятся к проектирванию БД.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32639887
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что вот как раз расчетом субсидии мы и не занимаемся (ну влом мене этим заниматься, да и деньги то бюджетные) - вот это я думаю напрямую связано с проектированием БД, а так - просто по концу месяца мне из Управления Труда и Социальной Защиты населения горисполкома приходит в электронном виде файлик со списком кому назначена субсидия в указанном месяце, я ее подтягиваю в свою БД и работаем.

Но кто и как ее потом проводит имеено по программе (не структура, а операции), вот в чем "Большой Вопрос".
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32642899
VadimS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас в отчетах субсидии идут отдельной строкой.
А вообще субсидии по своей сути, это оплата поставщику услуг через федеральный бюджет, так же как и льготы.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32645851
c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A chem eto otlichaetsya ot prostogo billing, dopustim, v Mobile Net?
Chto voda, chto razgovory, odin xren!
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32647701
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
c. Поступлением разъяснений по новым правилам расчета через полгода после их принятия
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32647707
Фотография Vladimir M Sklyar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно подмечено, вернее это горькая правда все коммуналки
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32649950
c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Napoval.....Snimau shlyapu..
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32657811
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Vladimir M Sklyar
>Как можно с Вами связаться (есть пару моментов, котырые хотелось бы уточнить) ?
Сорри за поздний ответ - как-то отъехал в другую сторону.
mailto: locky_sql_ru@mail.ru
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32657818
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм.. у меня ньюс-ридер, оказывается, не все посты скачал, зараза...

Субсидия у меня проходит как оплата - я ее не расчитываю сам, а получаю готовую из отдела субсидий. Показывать в некоторых отчетах приходится отдельной колонкой.
А вот по поводу того, что субсидия - эта таже льгота, позвольте не согласится.
Льготу с считаю сам,т.е. это - один из видов начислений. если я начислил абоненту 3 рубля, и льготы на рубль, я имею право требовать с него только двушку, независимо от того, котгда государство перечислит мне деньги на возмещение. а вот субсидии... не пришла субсидия - мне АБОНЕНТ торчит денег, и я с него их стребую. Если абонент считает, что у него должна быть субсидия - он идет в отдел субсидий и разбирается, почему субсидия нам не передана.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32755679
sergiigray
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот такое начисление мне больше нравиться.
У нас субсидия входит в начисления и человеку предъявляем сумму за вычетом субсидии.
...
Рейтинг: 0 / 0
начисления за услуги водоснабжения/водоотведения
    #32755720
sergiigray
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть где-нибудь анализ софта применяемого для начисления КЖУ?
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / начисления за услуги водоснабжения/водоотведения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]