İçeriğe geç

Sipariş Numarası Neden Atlar? Belge No Üretim Düzeni

Web Teknolojileri
Sipariş Numarası Neden Atlar? Belge No Üretim Düzeni

Sipariş numarasında atlama çoğu zaman bir veri kaybı değil, numaranın kayıt tamamlanmadan önce ayrılmasının sonucudur. Numarayı veren sayaç bir kez artar; o kayıt iptal edilir, yarıda kalır ya da kaydedilemezse ayrılan numara geri dönmez ve listede boşluk görünür. Atlamanın gerçekten sorun olup olmadığı, o numaranın hangi belge türüne ait olduğuna bağlıdır.

Numarayı kim, hangi anda veriyor

Numara üretiminde üç farklı an vardır ve her biri farklı davranır. Ekran açıldığında numara göstermek kullanıcıya rahat gelir ama en çok boşluk üreten yöntemdir, çünkü vazgeçilen her form bir numara yakar. Kaydet düğmesine basıldığında numara vermek boşluğu azaltır. En güvenlisi, numarayı kaydın veritabanına yazıldığı işlemin içinde üretmektir.

  • Form açılışında: kullanıcı numarayı baştan görür, vazgeçilen formlar boşluk bırakır.
  • Kaydet anında: boşluk azalır, kullanıcı numarayı ancak kayıttan sonra görür.
  • Kayıt işleminin içinde: numara ile kayıt birlikte oluşur, iki kullanıcı aynı numarayı alamaz.
  • Taslak numarası: kullanıcıya geçici bir taslak kodu gösterilir, kesin numara onaydan sonra verilir.

Sayacın nerede tutulduğu da sonucu belirler. Sayaç uygulama belleğinde ya da bir ayar satırında tutuluyorsa iki istek aynı anda okuyup aynı sayıyı artırabilir ve iki belge aynı numarayı alır. Sayaç veritabanının kendi sıra üreticisinde ya da kilitlenen tek bir satırda tutulduğunda bu çakışma olmaz. Çakışmayı ekranda yakalamaya çalışmak işe yaramaz, çünkü iki istek arasındaki fark saniyenin binde biri kadar olabilir.

Atlamanın en sık altı nedeni

Boşluğu düzeltmeden önce nedenini bulmak gerekir, çünkü bazı nedenler düzeltilecek bir hata bile değildir.

  • Form açılıp kaydedilmeden kapatıldı; ayrılan numara kullanılmadı.
  • Kayıt doğrulamadan geçemedi; numara verilmiş ama satır yazılmadı.
  • Belge silindi ya da iptal edildi; numara geri verilmedi.
  • Aynı anda iki kullanıcı kaydetti; çakışmayı önlemek için biri sonraki numaraya geçti.
  • Entegrasyon aynı siparişi iki kez denedi; ikinci deneme numara alıp sonra reddedildi.
  • Test ortamında üretilen numaralar aynı sayacı kullandı; sayaç ilerledi, kayıt canlıda görünmüyor.

Önek, yıl ve şube: numara şeması

Numaranın anlamı şemasından okunur. İyi bir şemada belge türü, dönem ve sayaç ayrı parçalardır ve sayaç yalnızca kendi parçası içinde artar.

ParçaNe yaparDikkat
ÖnekBelge türünü ayırır: sipariş, teklif, irsaliyeHer türün kendi sayacı olur, türler aynı sayacı paylaşmaz
DönemYıl ya da yıl ve ay bilgisini taşırDönem değişince sayaç sıfırlanacaksa bu kural yazılı olmalı
Şube veya depoKaydı üreten yeri gösterirÇok şubeli yapıda sayaç şube bazında tutulur
SayaçSıra numarasını üretirBasamak sayısı baştan belirlenir, sonradan genişletmek sıralamayı bozar
Kontrol ekiElle yazımda hatayı yakalarZorunlu değil; kullanılacaksa doğrulaması her girişte çalışır

Basamak sayısı en sık yapılan hatadır. Dört basamakla başlayan bir sayaç sınırı aştığında numaralar beş basamağa çıkar ve metin olarak sıralanan listelerde sıra bozulur. Sıralama her zaman sayaç alanının kendisine göre yapılmalı, numaranın metin haline göre yapılmamalıdır.

Hangi atlama sorun, hangisi değil

İç takip numaralarında boşluk operasyonel bir sorun değildir; önemli olan numaranın tek olması ve aynı numaranın iki belgeye verilmemesidir. Resmî karşılığı olan belgelerde ise seri ve sıra düzeni kendi kurallarına göre yönetilir, iç sayaçla karıştırılmaz. Bu yüzden iç sipariş numarası ile muhasebe tarafındaki belge numarası ayrı alanlarda tutulur ve birbirine eşlenir.

Boşluğu doldurmak için numarayı geri kullanmak çok daha büyük bir sorun üretir. İptal edilmiş bir numara yeniden verildiğinde kargo etiketinde, müşteriye gitmiş e-postada ve tedarikçi yazışmasında aynı numara iki farklı işi gösterir. Doğru davranış, boşluğu kabul etmek ve iptal kaydını silmeyip iptal durumunda bırakmaktır.

Kullanıcı tarafında boşluk çoğu zaman bir güven sorunu olarak görünür: listede eksik numara görmek, bir kaydın kaybolduğu izlenimi verir. Bunun önü, iptal edilmiş belgeleri listede ayrı bir durumla göstermekle alınır. Eksik numaranın karşısında iptal yazısı duruyorsa soru kendiliğinden kapanır. Numara boşluğunu tamamen ortadan kaldırmak isteniyorsa tek yol, kullanıcıya kayıt tamamlanana kadar kesin numara göstermemek ve ekranda taslak kodu kullanmaktır.

Sıralı teşhis: numara atladığında ne kontrol edilir

  1. Eksik numaranın kaydı iptal durumunda mı duruyor, listeden filtre mi gizliyor?
  2. Numara form açılışında mı veriliyor; öyleyse vazgeçilen form sayısı boşlukla uyumlu mu?
  3. Hata kayıtlarında o saat aralığında doğrulama hatası var mı?
  4. Aynı dakikada iki kayıt oluşmuş mu; eş zamanlı çakışma izi var mı?
  5. Entegrasyon aynı işi tekrar denemiş mi, tekrar denemede yeni numara almış mı?
  6. Test ortamı canlı sayaçla aynı kaynağa mı bağlı?
  7. Aynı numara iki kayıtta görünüyor mu; benzersizlik kuralı veritabanı seviyesinde tanımlı mı?

Özet

Numara atlaması, sayaç kaydın tamamlanmasından önce artıyorsa doğaldır ve boşluk bırakılması en güvenli davranıştır. Yapılması gereken üç şey vardır: numarayı kaydın yazıldığı işlem içinde üretmek, aynı numaranın iki kez verilmesini veritabanı kuralıyla engellemek ve iptal kayıtlarını silmek yerine iptal durumunda bırakmak. KAV Yazılım, sipariş ve belge numarası düzenini kurarken bu üç kuralı ekrandan değil veri tarafından garanti eder.

Sık sorulan sorular

Atlayan numaranın yerine yeni kayıt yazılabilir mi?

Yazılabilir ama yazılmamalıdır. Ayrılmış ve dışarıya bildirilmiş bir numaranın yeniden kullanılması, kargo etiketi ve müşteri yazışmasında aynı numaranın iki işi göstermesine yol açar. Boşluk bırakmak, numarayı geri kullanmaktan daha güvenlidir.

Sayaç her yıl başında sıfırlanmalı mı?

Bu bir tercih meselesidir ve baştan karara bağlanmalıdır. Sıfırlanacaksa numara şemasında dönem parçası bulunmalıdır, yoksa geçen yılın numarasıyla çakışır. Sıfırlanmayacaksa basamak sayısının uzun yıllar yeteceğinden emin olunur.

Aynı numaranın iki belgeye verilmesi nasıl engellenir?

Tek güvenilir yol, numara alanına veritabanı seviyesinde benzersizlik kuralı koymaktır. Yalnızca uygulama kodundaki kontrol yeterli değildir; iki istek aynı anda geldiğinde kod ikisine de izin verebilir, veritabanı kuralı ise ikincisini reddeder.

İç sipariş numarası ile fatura numarası aynı olabilir mi?

Aynı alanda tutulmamalıdır. İç numara operasyonun takip anahtarıdır, muhasebe tarafındaki belge numarası ise kendi seri ve sıra düzenine tabidir. İkisi ayrı alanlarda tutulup birbirine eşlenirse mutabakat ve arama çok daha kolay olur.
  • belge numarası
  • eş zamanlılık
  • sipariş yönetimi
  • veri bütünlüğü