#P1557
GET /api/v2/tasks/categories/list
Route Info
| Method | Endpoint | Controller |
| GET | /api/panel/v2/accounting/account-bill | AccountingController@accountBill |
شرح عملکرد (Functionality)
این متد وظیفه تولید صورتحساب (گردش حساب) و محاسبه تراز برای یک سرفصل حسابداری مشخص را بر عهده دارد و مراحل زیر را طی میکند:
- تعیین بازه زمانی:
- اگر پارامترهای
advanced->fromوtoارسال نشوند، سیستم به طور پیشفرض بازه ۳ ماه اخیر را در نظر میگیرد.
- اگر پارامترهای
- تشخیص سطح حساب:
- بر اساس طول رشته پارامتر
id، سطح حساب تشخیص داده میشود: 2 رقم (گروه)، 4 رقم (کل)، 6 رقم (معین) و 9 رقم (تفضیل). - اطلاعات پایه حساب و ساختار آن (مانند نوع ماهیت) واکشی میشود.
- بر اساس طول رشته پارامتر
- جمعآوری اسناد (Aggregation):
- اسناد مالی از جداول مختلف بر اساس نوع حساب جمعآوری میشوند:
- جدول Pays: شامل دریافتها، پرداختها، تنخواه و وامها.
- Manual Documents: اسناد دستی (به جز افتتاحیه/اختتامیه).
- Check Operations: عملیاتهای چک (وصول، واگذاری، خرج، استرداد).
- POS/Online: اگر حساب بانکی باشد، تراکنشهای کارتخوان و آنلاین به صورت تجمیعی روزانه در فیلد
subsetنمایش داده میشوند.
- اسناد افتتاحیه و اختتامیه:
- با فراخوانی متد داخلی
getFinancialPasts، ماندههای انتقالی از دورههای قبل (تحت عنوان سند افتتاحیه) و اسناد بستن حساب (اختتامیه) محاسبه و به لیست اضافه میشوند.
- با فراخوانی متد داخلی
- محاسبه تراز نهایی:
- مجموع بدهکار و بستانکار محاسبه شده و وضعیت تراز (بدهکار/بستانکار/تراز) در فیلد
balanceخروجی قرار میگیرد.
- مجموع بدهکار و بستانکار محاسبه شده و وضعیت تراز (بدهکار/بستانکار/تراز) در فیلد
پارامترهای ورودی (Input Parameters)
| نام پارامتر | نوع | الزامی؟ | توضیحات |
|---|---|---|---|
| branch | Integer | بله | شناسه شعبه فعال. |
| id | String/Int | بله | کد حساب مورد نظر (مثلاً کد معین یا تفضیل). |
| type | String | خیر | نوع حساب (مثلاً account). |
| json | JSON String | بله | حاوی تنظیمات صفحهبندی و فیلتر زمانی (آبجکت advanced). |
ساختار پارامتر json:
{
"start": 0,
"length": 50,
"advanced": {
"from": "1403-01-01", // اختیاری
"to": "1403-12-29" // اختیاری
}
}
نمونه خروجی (Response)
ساختار کلی پاسخ:
{
"details": {
"title": "عنوان حساب (مثلاً بانک ملت)",
"code": "101001"
},
"filtered": {
"from": "1403-01-01",
"to": "1403-12-29"
},
"account": {
"id": 15,
"type": "moeen",
"title": "بانک ها",
"nature": 1
},
"data": [
{
"serial_id": 10550,
"system_serial": 550,
"datetime": "1403/08/01 10:30:00",
"credit": 0,
"debit": 5000000,
"description": {
"html": "...",
"text": "..."
},
"details": {
"title": {
"html": "شرح سند...",
"text": "شرح سند..."
},
"type": {
"subject": "pay", // pay, check, pos, wage, etc.
"title": "سندمالی"
}
},
"subset": [] // آرایه ریزتراکنشها (برای POS و Online)
}
],
"balance": {
"credit": 250000000,
"debit": 180000000,
"balance": -70000000,
"diagnosis": "Creditor" // Creditor, Debtor, Neutral
}
}