# پیشگیری از خطا در ورود داده؛ از فرم تا گزارش

## مسئله کجاست؟
بسیاری از خطاهای گزارش‌گیری در لحظه رسم نمودار ایجاد نمی‌شوند؛ مسئله از زمانی آغاز می‌شود که یک تاریخ در دو قالب ثبت شده، نام یک محصول با چند املای متفاوت نوشته شده یا ردیفی بدون شناسه وارد فایل شده است. نتیجه این بی‌نظمی ممکن است در ظاهر نموداری مرتب باشد، اما پاسخ نهایی قابل اعتماد نباشد.

## اول ساختار، بعد ورود اطلاعات
قبل از ثبت اولین ردیف، باید معنای هر ستون روشن باشد. برای مثال «مبلغ» به‌تنهایی نام مناسبی نیست؛ بهتر است مشخص شود مبلغ خالص است یا ناخالص و واحد آن ریال است یا تومان. تاریخ نیز باید قالب ثابت داشته باشد. وجود شناسه یکتا برای هر رکورد باعث می‌شود هنگام اصلاح داده، همان مورد مشخص را پیدا کنیم.

## پنج کنترل کاربردی
- **کنترل نوع داده:** ستون تعداد باید عدد صحیح و نامنفی بپذیرد؛ ستون تاریخ باید از قالب واحد پیروی کند.
- **کنترل الزامی بودن:** شناسه، تاریخ و واحد اندازه‌گیری نباید بی‌دلیل خالی باشند.
- **کنترل تکرار:** یک فاکتور با شناسه یکسان نباید بدون دلیل دوبار در گزارش شمارش شود.
- **کنترل رابطه‌ها:** جمع جزءها با جمع کل مقایسه شود و اختلاف در گزارش کنترل درج شود.
- **کنترل نسخه:** ورودی خام حفظ و خروجی پاکسازی‌شده در فایل مستقل ذخیره شود.

## مثال ساده
در یک جدول فروش فرضی، رکوردی با مبلغ «۲,۵۰۰,۰۰۰» و رکوردی دیگر با «۲۵۰۰۰۰۰ تومان» ثبت شده است. اگر نرم‌افزار این دو را یکسان تشخیص ندهد، جمع‌زدن ممکن است ناقص شود. راه‌حل درست حدس‌زدن خودکار نیست؛ ابتدا فرمت ورودی شناسایی و تبدیل با قاعده روشن انجام می‌شود. هر مورد نامطمئن باید برای بازبینی علامت بخورد.

## گزارش خطا هم بخشی از محصول است
یک خروجی حرفه‌ای فقط جدول نهایی نیست. لازم است گزارشی جداگانه نشان دهد چند ردیف دریافت شده، چند ردیف پذیرفته شده و کدام موارد نیاز به تصمیم انسانی دارند. حذف بی‌صدای ردیف‌ها، حتی اگر نمودار را زیباتر کند، قابل قبول نیست.

## چک‌لیست تحویل
۱. ساختار ستون‌ها و واحدها تعریف شده‌اند.  
۲. داده خام دست‌نخورده باقی مانده است.  
۳. خطاها و تکرارها در گزارش مستقل ثبت شده‌اند.  
۴. جمع‌های اصلی با محاسبه مرجع کنترل شده‌اند.  
۵. مخاطب می‌تواند روش تولید عدد نهایی را پیگیری کند.

**یادداشت:** تمام مثال‌ها آموزشی هستند و به اطلاعات کسب‌وکار واقعی اشاره ندارند.
