با سلام و احترام
سناريوي زير را در نظر بگيريد:
در مجموعهاي، اضافه کار و تاخير بر حسب ساعت و دقيقه در سيستم وارد ميشود. درصورتيکه شخصي هم اضافه کار و هم تاخير داشته باشد، ابتدا ساعت و دقيقه تاخير از اضافه کار کسر شده، سپس اگر تاخير بيش از اضافه کار بود، بر اساس فرمولي محاسبه مبلغ تاخير انجام شده، ساعت و دقيقه تاخير نهايي، اطلاع داده ميشود و اگر اضافه کار بيشتر بود، مبلغ اضافه کار بر اساس فرمولي محاسبه شده و ساعت و دقيقه اضافه کار نهايي اعلام ميگردد.
مراحل گفته شده مربوط به ساعت و دقيقه مطابق برنامه زير انجام ميگيرد (لازم به ذکر است، فرمولهاي مربوط به محاسبه مبلغ اضافه کار و تاخير در برنامه زير لحاظ نشده است):
حال اگر اين برنامه را با اعدادي که نوشته شده انجام دهيم حاصل H7 (که در واقع اضافه کار پس از کسر تاخير است و البته به شکل ساعت و دقيقه)، به جاي آنکه 8 شود، 7.60 ميشود!
اکنون اگر همين برنامه را براي 12.30 (D1 اضافه کار) و 8.30 (E1 تاخير) انجام دهيم، H7 (اضافه کار پس از تاخير) عدد 4 خواهد بود. اين سناريو را با چند عدد ديگر نيز انجام دادم و همين تفاوتها را مشاهده نمودم.
لازم به ذکر است، در خط 202، H4 که همان عدد اختلاف است، درست ميباشد ولي پس از عبور از تابع Trunc، مشکل پيدا ميکند البته آن هم براي برخي از اعداد!
لطفا راهنمايي نماييد.
با تشکر