پاسخ به: [باگ] خطا واگذاری چک دریافتی توضیح وقتی چکی به صورت دریافتی ثبت میشه اگر بخوام …
تغییرات بر اساس چارت حساب (10401، 10403، 10404، 20201، 20202، 10203) و سناریوی اصلاحشده اعمال شد.
Backend (check_service.py)
عودت دوگانه
return_type وضعیت مجاز سند حسابداری
from_endorsee
فقط ENDORSED
بدهکار 10403 / بستانکار 20201 (واگذارشونده) → وضعیت RECEIVED_ON_HAND
to_drawer
RECEIVED_ON_HAND، BOUNCED، DEPOSITED (بعد از خروج از سپرده)
بدهکار 10401 (صادرکننده) / بستانکار 10403 → RETURNED
to_drawer از ENDORSED
یک سند ۴خطی
لغو واگذاری + عودت به صادرکننده
محدودیتها
عودت تکراری به صادرکننده (RETURNED) ممنوع
عودت از CLEARED / CANCELLED ممنوع
اگر return_type ارسال نشود: از ENDORSED → from_endorsee، در غیر این صورت → to_drawer
سایر
check_to_dict: فیلدهای endorsed_to_person_name، current_holder_name، drawer_person_*
فیلتر لیست: person_id شامل صادرکننده یا واگذارشونده فعلی
سوابق: برچسبهای فارسی با نام طرف (مثلاً «واگذاری به …»)
کاردکس: ستون check_number در پاسخ API
UI
محل تغییر
لیست چکها
ستون «واگذار به»؛ برچسب «پرداختنی» بهجای ابهام «واگذار شده»
عودت
دیالوگ انتخاب نوع برای چک ENDORSED
برگشت بانک
فقط DEPOSITED / CLEARED (دریافتی)
جزئیات چک
نمایش صادرکننده + واگذارشونده
فرم چک
نوع transferred = «پرداختنی (صادرشده)»
صورتحساب شخص
ستون «شماره چک» در کاردکس
تست پیشنهادی
ثبت دریافتی از الف → واگذاری به ب
برگشت از واگذارشونده → کاردکس ب باید 20201 صفر شود؛ چک RECEIVED_ON_HAND
عودت به صادرکننده → کاردکس الف بدهکار 10401
تلاش عودت دوباره → باید خطا بدهد