Hata : Value was either too large or too small for a Decimal (NaN)
Örnekteki süreçte, form üzerinde girilen iki tarih arasında kaç gün fark olduğu hesaplanıyor. Bu hesaplama sırasında, tarayıcı kaynaklı olduğunu düşündüğümüz bir sebepten, bu işlem integer yerine NaN (Not a number) sonucunu veriyor. Bu değerin veritabanına yazılması sırasında da "Value was either too large or too small for a Decimal (NaN)" hatası alınıyor
Çözüm : İlgili iş adımını bulup, form xml'indeki gün bilgisini manuel düzeltmek.
İşlem adımları:
- Sürecin XML’ine erişilebiliyorsa arayüzden, erişilemiyorsa müşteri veritabanından alıyoruz. Bu çözümde süreci müşteri veritabanından aldık.( State = 0 olması sürecin aktif olduğu, 9 olması arşivde olduğu anlamına gelmekte. Bu şekilde de aktif süreci tespit edebilir veya Number alanından da versiyon bilgisi ile teyit edilebilir.)
- Test bir Emakin platformunda süreç tekrar oluşturulur.
- Hata alınan süreçteki izin tarih aralıklarını aynı şekilde girerek gün hesaplanır.
- Ardından sorun yaşannılan formdayken, form XML'ini açılıp, burada ki form Id alınır. Veritabanında FormData tablosunda Id ile aratılır.
Graph içeriği:
Text Editör ile Gün bilgisini NaN yerine hesaplanan değer olarak düzenlenir :
- NaN bilgisini hesaplanan gün(8.000) ile text editör de düzenledikten sonra metni kopyalayıp veritabanında ilgili alan update edilir.