# POST /v2/manual-document/view

<div id="bkmrk-" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;"></div>### Route Info

<div id="bkmrk-method-endpoint-cont" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;"><table border="1" style="width: 100%; border-collapse: collapse; text-align: center;"><tbody><tr style="background: #f4f4f4; font-weight: bold;"><td style="padding: 10px;">Method</td><td style="padding: 10px;">Endpoint</td><td style="padding: 10px;">Controller</td></tr><tr><td style="direction: ltr; padding: 10px;">POST</td><td style="direction: ltr; padding: 10px;">/v2/manual-document/view</td><td style="direction: ltr; padding: 10px;">AccountingController@viewManualDocument</td></tr></tbody></table>

</div>### شرح عملکرد (Functionality)

این مسیر برای **نمایش جزئیات کامل یک سند دستی (Manual Document)** استفاده می‌شود. پس از دریافت شناسه سند:

<div id="bkmrk-%D9%81%D8%B1%D8%A7%D8%AE%D9%88%D8%A7%D9%86%DB%8C-%D8%AA%D8%A7%D8%A8%D8%B9-accoun" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;">- فراخوانی تابع `AccountingController::getManualDocumentDetails(id)`
- استخراج اطلاعات سند شامل: 
    - ردیف‌های سند (Moeen، طرف حساب، شرح، بدهکار، بستانکار)
    - تراز کامل سند شامل: 
        - debit\_during\_period
        - credit\_during\_period
        - debit\_balance
        - credit\_balance
- داده‌های برگشتی شامل کلیدهای `data` و `balance` هستند.

</div>### پارامترهای ورودی (Request Inputs)

**Body (JSON یا Form-Data):**

```
{
  "id": 1524
}
```

<div id="bkmrk-id%3A-%D8%B4%D9%86%D8%A7%D8%B3%D9%87-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF-%D8%AF%D8%B1-%D8%AC" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;">- **id**: شناسه رکورد در جدول `manual_documents` (اجباری)

</div>### خروجی موفق (Success Response)

ساختار خروجی شامل:

<div id="bkmrk-data%3A-%D8%A2%D8%B1%D8%A7%DB%8C%D9%87-%DA%A9%D8%A7%D9%85%D9%84-%D8%A2%DB%8C%D8%AA" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;">- **data**: آرایه کامل آیتم‌های سند (بسته به نوع سند متفاوت است: daily\_sales, daily\_credit\_debit, manual, opening, closing)
- **balance**: تراز نهایی سند

</div>```
{
  "status": true,
  "time": 1718450000,
  "data": [
    {
      "moeen": {
        "id": 1102,
        "title": "بانک ملت"
      },
      "preference": {
        "id": "colleague-5421",
        "title": "علی رضایی"
      },
      "preference_2": false,
      "preference_3": false,
      "preference_4": false,
      "description": "سند دستی 3125 | پرداخت نقدی",
      "credit": 0,
      "debit": 2500000
    }
  ],
  "balance": {
    "debit_financial_past": 0,
    "credit_financial_past": 0,
    "debit_start_period": 0,
    "credit_start_period": 0,
    "debit_during_period": 2500000,
    "credit_during_period": 0,
    "debit_finish_period": 2500000,
    "credit_finish_period": 0,
    "debit_balance": 2500000,
    "credit_balance": 0
  }
}
```

<div id="bkmrk--1" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;"></div>### خروجی خطا (Error Response)

در صورت وقوع هرگونه Exception، ساختار خطا به شکل زیر بازگردانده می‌شود:

```
{
  "status": false,
  "time": 1718450000,
  "code": 5005,
  "message": "Error message ...",
  "trace": [ ... ]
}
```

<div id="bkmrk--2" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;"></div>### خلاصه منطق داخلی getManualDocumentDetails

بسته به نوع سند:

<div id="bkmrk-daily_sales%3A-%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;">- **daily\_sales**: محاسبه از جداول فاکتور و پرداخت‌ها
- **daily\_credit\_debit**: ترکیب اقلام پرداخت و بدهکار/بستانکار
- **manual**: لیست ردیف‌های `pays` با `group = id`
- **opening / closing**: استخراج اقلام افتتاحیه/اختتامیه

</div>در پایان:

<div id="bkmrk-%D8%B0%D8%AE%DB%8C%D8%B1%D9%87-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%D8%AA%D8%B1%D8%A7%D8%B2-%D8%AF%D8%B1-" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.9; text-align: justify;">- ذخیره گزارش تراز در Redis با کلید:   
    `documents:balance_report:{id}`
- برگشت:   
    `{ data: [...], balance: {...} }`

</div>