بهبود تجربه Beancount با پیوندهای سفارشی و پرس و جوها
Beancount، سیستم حسابداری دوطرفه که مورد علاقه توسعهدهندگان و علاقهمندان به امور مالی است، در سادگی خود قدرتمند است. اما برای کسانی که خواهان کنترل بیشتر و ناوبری سریعتر در داخل Fava، رابط وب Beancount، هستند، پیوندهای سفارشی نوار کناری و پرس و جوهای SQL میتوانند گردش کار شما را به سطح بالاتری ببرند.
در این راهنما، ما به شما نشان خواهیم داد که چگونه:
- لینکهای دسترسی سریع را به نوار کناری Fava اضافه کنید.
- از پرس و جوهای SQL برای فیلتر کردن و تجزیه و تحلیل پیشرفته استفاده کنید.
- گردش کار خود را برای بررسیهای ماهانه یا تشخیص ناهنجاری سفارشی کنید.
چرا Fava را سفارشی کنیم؟
Fava در حال حاضر یک رابط کاربری زیبا برای مشاهده دفتر Beancount شما است، اما با رشد دفترچه شما، نیاز به میانبرهای بهتر و پرس و جوهای هوشمندتر نیز افزایش مییابد.
مشکلاتی که این راه حل برطرف میکند:
- پیمایش مکرر در بازههای زمانی
- فیلتر کردن تراکنشها در بین حسابهای تودرتو
- تشخیص سریعتر ماندههای منفی یا ناهنجاریها
✨ پیوندهای سفارشی نوار کناری
بیایید با بهبود گردش کار روزانه خود با میانبرهای ساده نوار کناری شروع کنیم. این پیوندها در نوار کناری سمت چپ Fava ظاهر میشوند و میتوانند شما را مستقیماً به نماهای فیلتر شده مانند تراکنشهای این ماه یا درآمد ماه گذشته ببرند.
این خطوط را به فایل Beancount خود اضافه کنید:
2021-01-01 custom "fava-sidebar-link" "ماه جاری" "/jump?time=month"
2021-01-01 custom "fava-sidebar-link" "ماه گذشته" "/jump?time=month-1"
2021-01-01 custom "fava-sidebar-link" "پاک کردن همه" "/jump?account=&time=&filter="
کارکرد آنها:
- ماه جاری: نمای تراکنشها را فیلتر شده به ماه جاری باز میکند.
- ماه گذشته: فوراً به ماه قبل میرود - برای بررسیهای پایان ماه عالی است.
- پاک کردن همه: فیلترها را بازنشانی میکند و دوباره همه ورودیها را نشان میدهد.
این میانبرها ورودی دستی زمان را حذف میکنند و تجربه Fava شما را روانتر و شخصیتر میکنند.
🔍 پرس و جوهای SQL سفارشی
برای بینش عمیقتر، رابط SQL Fava فوقالعاده قدرتمند است. در اینجا یک پرس و جو وجود دارد که تمام ماندههای منفی را در حسابهایی که با یک الگو مطابقت دارند، پیدا میکند - عالی برای علامتگذاری تراکنشهای غیرمعمول یا مشکلساز.
SELECT account, units(sum(position)), sum(position)
WHERE number(units(position)) < 0
AND account ~ '.*:BCM:.*'
AND date >= DATE(2021,12,9)
AND date < DATE(2022,1,9)