Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Автоматические расходы и приходы #35

Open
AlexeySa opened this issue Jun 9, 2015 · 8 comments
Open

Автоматические расходы и приходы #35

AlexeySa opened this issue Jun 9, 2015 · 8 comments
Assignees

Comments

@AlexeySa
Copy link
Contributor

AlexeySa commented Jun 9, 2015

Очень не хватает возможности автоматического добавления расходов и приходов: раз в день, месяц, неделю, год. Туда бы можно было добавлять рутинные операции: плата за квартиру, абонентка за телефон, интернет, проездной и т.п.

Для наглядности можно оформить в виде отдельного раздела с табличкой в которой всё это будет указано.

@pihel pihel self-assigned this Jun 10, 2015
@pihel
Copy link
Owner

pihel commented Jun 24, 2015

С этим будут небольшие проблемы, т.к. бухгалтерия для домашнего использования, то настройка cron (планировщика) слишком сложная задача для пользователя.
Придется сделать обработку при входе в бухгалтерию и создавать операции скопом задним числом, если пользователь долго не появлялся.

@AlexeySa
Copy link
Contributor Author

Предлагаю сделать как через cron так и при входе на страницу.

@michaelkl
Copy link
Contributor

Может быть, сделать их не как автоматические расходы, а как напоминания-шаблоны?

Например, поставил я такое напоминание-шаблон "Квартплата" на 10-е число каждого месяца, в нём настроил все значения, потом при входе в бухгалтерию проверяется, какие напоминания сработали с последнего моего посещения, показывать их в отдельном разделе.

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

Для каждого напоминания проще всего хранить дату, когда его последний раз обрабатывали, и тогда легко определить, какие новые события появились, и cron не нужен. Только нужно подумать, что делать, если напоминание сработало несколько раз с последнего моего посещения бухгалтерии (например, я не заходил 2 месяца и квартплата за два месяца у меня не оплачена). Проще всего показывать только одно, самое старое срабатывание.

А просто "втихую" создавать операции задним числом мне кажется не очень хорошей идеей. Нужно дать пользователю возможность проконтролировать.

@pihel
Copy link
Owner

pihel commented Jan 21, 2016

@michaelkl, Соглашусь, ваш вариант, наверно, лучше.

@beloniki
Copy link

@pihel есть у меня идея - как можно в системах с cron удобненько править crontab. Если актуально - поделюсь.

@pihel
Copy link
Owner

pihel commented May 18, 2017

Ну для меня проблема повторяющихся платежей не остро стоит, так что скорой реализации не стоит ждать. Но пишите, какие идеи есть.

@beloniki
Copy link

Всё достаточно тривиально:

  1. используя системную утилиту "crontab", можно получить содержимое файла crontab пользователя - во временный файл. Если его нет, то будет пустота.
  2. здесь происходит вжух со строчками временного файла и он изменяется как угодно.
  3. скармливаем утилитке "crontab" обновлённый временный файл и она сама всё делает. Если файла нет, то создаст. А если в синтаксисе ошибка, то не позволит сохранить. Главное - помнить, что файл должен оканчиваться пустой строкой.

@AlexeySa
Copy link
Contributor Author

AlexeySa commented Nov 16, 2017

А как наиболее просто добавить операцию автоматически? Пока я сделал так:

  1. Загрузка страницы авторизации и чтение csrf
  2. Авторизация по логину/паролю, получение PHPSESSID
  3. Отправка запроса на добавление операции

В идеале хотелось бы одним запросом или как-то упростить... Это реально?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants