а) постоянные (например, продукты)
б) разовые (например, коммунальные)
А теперь пример:
Планируем месячный бюджет.
* Постоянные расходы по продуктам, мелочевке и прочему = 300 тугриков.
* Разовые расходы по коммунальным = 3 000 тугриков.
(Специально утрирую, чтобы была видна суть. Машину каждый месяц меняю, и в бюджете учитываю.)
Итого: 3 300 тугриков расходов за месяц.
Если мы коммуналку оплачиваем в первых числах месяца (3 300 - 3 000 = 300 в остатке) - программа покажет, что мы сильно резво стартанули, и нади поумерить пыл.
Если коммуналку оплачиваем в конце месяца - у нас все ништяк, и можно ежедневно деньги выбрасывать на ветер - денег море, а мы не успеваем потратить.
А в среднем ежедневно можно тратить 3 300 тугриков / 30 дней = 110 тугриков в день. Это нам будет показывать программа в самом начале месяца, пока еще расходов не было.
В реальности, у нас на ежедневные траты 300 тугриков (живем на 300 тугриков). 300 / 30 = 10 тугриков в день (а не средние 110 тугриков в день).
Остальные 3 000 тугриков - это разовый расход. Все равно когда - в начале месяца, или в конце, но мы 3000 тугриков потратим одним махом.
Выше попробовал как можно понятнее изложить суть.
Теперь предложение (оно же и пожелание):
Программа должна учитывать в расчете ежедневных трат регулярные расходы (300 / 30 = 10 тугриков в день). И не должна учитывать разовые расходы.
Конечно, есть возможность исключить из расчета элементы бюджета
![Изображение](http://s12.radikal.ru/i185/1701/16/6e433d0e128b.png)
Однако, если исключить разовый расход из нашего примера, тогда программа покажет правильные расходы в день (10 тугриков), но на конец периода покажет что мы стали богаче на 3 000 тугриков.
А предложение (пожелание) такое:
Добавить еще один столбик для галочек, в котором можно отметить разовые расходы. Поставили галочку - значит это разовый расход. И программа не учитывает это в ежедневных тратах, при этом не добавляет эту сумму на конец периода.
Предвидя вопросы:
1) А что делать если таких расходов в бюджетном периоде (в нашем случае месяце) два, три, четыре, пять...?
Сразу и отвечу. Пользователь сам выберет: хочет учитывать это в ежедневных тратах - не ставит галочку. Считает целесообразным не включать эти расходы в ежедневные траты - ставит галочку.
Данная галочка отличается от галочки исключения из расчета тем - что не исключает расчет на конец периода. Не будет показывать, что у нас в конце периода появились 3 000 тугриков. А галочка исключения добавит в конце 3 000 тугриков, то есть исключит из расчета полностью. Вот и вся разница.
2) Как отслеживать выполнение? Что делать если пользователь оплатил, или если не оплатил расход?
А никак не отслеживать. Как и с галочкой исключения. Если пользователь ставит галочку - значит пользователь сообщает, что разовый расход нужно учесть в итогах. Но не в выполнении (индикации полоски).
Если сбацаете - будет удобно в бюджете и с такими разовыми расходами. И, надеюсь (не уверен, а надеюсь, могу ошибаться), что реализовать несложно (т.к. модуль исключения с аналогичными галочками и алгоритмом уже есть) - тем более надо сбацать
![Very Happy :D](./images/smilies/icon_biggrin.gif)