Python ile yazılmış basit bir Stok/Cari/Satış programı.

Bir kaç yıl önce bir yakınımın winCE telefonu üzerinde (ki o zamanlar henüz Android’in adı bile anılmıyordu) çalışabilen basit bir stok/cari/satış takip programı ihtiyacı olmuştu.

MS ve ürünlerine karşı olduğumdan dolayı küçük bir araştırma ile Python ve SqLite kullanarak yazılabileceğini öğrendim ve çalışmalara başladım. Elbette biraz sıkıntılı oldu. Özellikle Python içine gömülü gelen Tkinter ile ekran tasarlamak eziyet! Eziyetinden vazgeçtim çok yetersiz… Özellikle fatura girişi yaparkan detaylar kısmında satış kalemlerini göstermek tam bir işkence olmuştu.

Bugün, bir şekilde bu yazdığım küçük program aklıma geldi. Ben paylaşmış olduğumu hatırlıyorum ama gördüm ki paylaşmamışım. Ya da farklı bir yerde paylaşmışımdır. Şimdi hatırlayamıyorum. Neyse… Yine de paylaşmak istedim. Pardus üzerinde geliştirmiştim. WinCE üzerinde sorunsuz çalışıyordu ama win üzerinde hiç denemedim.

Elbette eksikleri vardır. Neticede işimi görsün ve buna ek olarak yeni bir şeyler öğreneyim amaçlı yazmıştım. Belki birilerine bir başlangıç olur…

Tkinter ve SqLite Python içerisine gömülü geldiği için sadece Python kurulu olması yetiyor.

Dosyaya buradan ulaşabilirsiniz… 2100 satırlık bir kod… 🙂

Bu yazı Açık Kaynak kategorisine gönderilmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Python ile yazılmış basit bir Stok/Cari/Satış programı. için 10 cevap

  1. furkan der ki:

    öncelikle paylaşım için teşekkürler

    basit bir program için bile bu kadar fazla kod , bende makina tasarımcısıyım plc sistemli makinalar için programlar gerekiyor bunun içinde bu işleri çok yüksek meblağlara elektrikcilere yada mezun programcılara yaptırıyoruz . bu işi öğrenmek içi python ile programlama dünyasına giriş yapmak istedim ama eğitim almadan kaynaklarla bu iş gerçekten eziyet/işkence gibi bişey yabancı tanımlar yazdığın kodları çalıştırmak isteyince verilen ing hata kodları falan bu işi gerçekten öğrenmek istiyorum fakat eğitim olmadan da çok zor , mesela siz bu basit cari hesap programını yazarken internetteki kaynaklardan faydalınıyormusunz yoksa bütün döngüleri kodları falan adınız gibi biliyormusunz basit olarak söylemek gerekirse bu 2100 kodluk kodu hep aklınızdan mı yazdınız ? :):)))

  2. admin der ki:

    Selamlar,
    Konu Python ise internet üzerinde istemediğiniz kadar kod mevcut… Aslında nerede ise tüm programlama dilleri için kaynak bulunabiliyor. Tek gereken az biraz araştırma sabrı ve kararlılık… 🙂
    Sorunuza gelince; insan bir kere istemeye görsün. Neleri yapabileceğini tahmin edebilmek çok zor. 🙂 Şu anda o kodun içine girsem kaybolurum sanırım. Bir kaç saat bakınmam gerekir. Python’u ve kodlarını da ezbere bildiğim söylenemez. Sadece ihtiyaç duyduğumda araştırıyor ve kullanıyorum. Daha sonra da unutuyorum. Zira tek bir dil ile uğraşmıyorum. İhtiyacımı karşılayacak kadar öğreniyorum…

    Size de tavsiyem: Mutlaka bir yerden başlayın. Gözünüz korkmasın! Özellikle Python çok kolay kavranan bir dildir. Mesela Java’ya çok niyetlendim ama henüz 10 satır kod bile yazabilmiş değilim… Zira ilk 3 satırdan sonra canım sıkılıyor, bırakıyorum… 🙂

    Kolay gelsin,
    Mucip:)

  3. yakup der ki:

    merhaba kodunuzu çalıştırınca visual studio’da hata veriyor mesela 1370. satırda.
    # if bul[]:
    bunun #if bul !=[]: olması gerekiyor.

    bununla beraber en başta rsplit ve bir düzeltme daha lazım “str.rsplit” diye. eski verisyonda yazdığınız için yeni versiyonda çalışmıyor kod. düzelttim onları program açıldı ama şimdide türkçe karakterler görünmüyor ona bakacağım. sanırım baya geçmiş üzerinden 2014’de yazmışsınız.
    baya emek verilmiş 🙂

    • admin der ki:

      Merhabalar,
      Dediğiniz gibi Python 2 ile yazmıştım. O ara versiyon 3 yoktu diye hatırlıyorum. TKinter kullanmıştım. Zira Win6 bir mobil telefon için yazmaya başlamıştım. O ara Android de yoktu. Buraya koyduğu tarih 2014. Sanırım 2008 veya 2009 idi yazdığım zamanlar.
      Çok yaşlanmışız yahu… 🙂
      Hatırladığım kadarı ile SQlite ile Türkçe sorunu yaşamıştım. Ama bir şekilde kullanabiliyordum. Kullandığınız editörü bilmiyorum ama ben Python’un kendi metin editörünü kullanıyordum. Bir de orada deneyin isterseniz? Zira o zamanlar kod sıkıntısız çalışıyordu.

      Faydasını görmeniz dileği ile…

  4. Spinoza der ki:

    Eğer güncellediyseniz güncel halini paylaşır mısınız ?

  5. admin der ki:

    Merhabalar,
    İnanın hiç vaktim yok. Kaldı ki yeniden bakacak olsam Tkinter değil PyQt kullanırdım. 🙂

  6. yakup der ki:

    Çok teşekkür ederim yanıtınız için.
    🙂

    Kullandığım editör Visual Studio Code şu an ücretsiz ve popüler. PyCharm da farklı sonuç vermez diye düşünüyorum, çünkü Python 3 sonraki versiyonları için kod farkı gözetmeksizin çalışma garantisi veriyor ama öncesi için vermiyor. Çalışmanız o yıllarda takdir edilecek bir iş. Evet yapmayı düşündüğüm şey için fikir verdiğini belirteyim. Ben makine öğrenmesi ve yapay zeka kısmına kadar götürmeyi planlıyorum eğer başarabilirsem. Bizim de yaş pek az değil sonuçta :).

    Size de hayatınızda başarılar dilerim.

    • admin der ki:

      Merhabalar,
      Win tarafı ile olabildiğince az uğraşma niyetinde olduğum için bu bahsettiğiniz editörleri bilmiyorum doğrusu. Bir de Qt/C++ kullanalı beri diğer her şey hafif geliyor. 🙂
      Python çok güzel bir dildir. Orada hiçbir şüphe yok ama bana büyük projelerde kullanmak çok mantıklı gelmiyor. Fakat, özellikle görüntü işleme ve yapay zeka gibi konularda deli derya döküman var ortada. Bunu da kabul etmek gerek. Özellikle yeni teknolojileri öğrenme aşamasında ve üniversitelerde yaygın kullanılıyor.
      Bence yaş asla bir engel değil. “Yaşlandım! Kafam almıyor artık.” tezi bence tembellik tezidir. Öğrenmeyi bıraktığınızda ölürsünüz. O yüzden öğrenme bitmemeli.
      Mesela bu aralar Step motor kontrolü ile uğraşmaya başladım. 🙂
      Öğrenmeye devam…

  7. Emre Küçük der ki:

    Merhaba. Bende bir basit depo stok programı yapmaya çalışıyorum. Ama takıldığım bir kaç yer var. Örneğin ‘x kaliteli y rengi 8 çift olan bir kalemden aynı kalite ve aynı reng 6 çift azaltamıyorum.. Yardımcı olabilirseniz cok sevinirim. mail adresimi buraya bırakıyorum. şimdiden teşekkürler.memrekucuk80@gmail.com

    • admin der ki:

      Merhabalar,
      Tam olarak anlayamadım? Şayet bir stok kartınız var ise onu bir depoya tanıtmanız gerek. Ayrıca başka bir tablod da Stok Hareketleri izlemeniz gerekir. Yani eksilme ve azaltmalarda buraya +veya – olarak giriş yapacaksınız. Daha sonra dilerseniz kullandığınız veritabanının triger kısmına (ki ben hep böyle yaparım.) bir fonksiyon ekleyip stok hareket tablosuna her ekleme veya silmede tüm bu hareketleri toplayacak ve kalan adedi gidip depo tablosuna Stok Adedi olarak yazacak. Bu şekilde dinamik ve hatasız olarak stok miktarınız her an güncel kalacktır.
      Sıkıntı olur ise yine yazarsınız. 🙂

furkan için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kodu girin... *