Files
ornekler/konsol/fatura
semihandClaude Opus 5.5 ed201188fb KabaLang örnekleri: konsol, masaüstü ve web için dokuz proje
Konsol: fraktal (paralel şeritli 24-bit Mandelbrot/Julia + yakınlaşma),
sudoku (geri izlemeli, canlı animasyon), fatura (JSON → terminal tablosu,
PDF ve Excel).
Masaüstü: hesap makinesi (işlem önceliği, canlı bağlama), odak (Pomodoro),
parola atölyesi (entropi ölçer, SHA-256).
Web: pano (Kanban REST API + SQLite), kisalt (302 yönlendirme, SVG
istatistik), anket (adres başına tek oy, sunucuda çizilen grafik).

Hepsi `kabalang calistir` ile derlenip çalışır; web uygulamaları yalnız
127.0.0.1'i dinler, SQL parametre bağlamalı, HTML çıktısı kaçırılır.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-02 22:31:40 +03:00
..

Fatura — JSON siparişten terminal tablosu, PDF ve Excel

Fatura

siparis.json'u okur; her kalem için indirim ve KDV hesaplar, KDV'yi oranlara göre döker ve sonucu üç biçimde verir:

  1. Terminalde kutu çizgili, renkli bir fatura tablosu
  2. fatura.pdf — Türkçe karakterleri ve ₺ işaretini taşıyan, sayfa numaralı PDF
  3. fatura.xlsx — tablolar ayrı çalışma sayfalarında
kabalang calistir fatura.kbl                          # siparis.json → ./fatura.pdf + ./fatura.xlsx
kabalang calistir fatura.kbl -- baska.json --cikti ~/Belgeler

KabaLang'ın gösterdikleri

Özellik Nerede
yapi + metotlar Kalem.brut(), matrah(), kdv_tutari() — hesap verinin yanında
sonuc<T, Hata> siparis_oku dosya yokken ya da JSON bozukken değerle hata döner; yok sayılamaz
dene / yakala JSON dizisini sonuna kadar gezmek
json İç içe erişim: v["satici"]["ad"], v["kalemler"][i]["adet"]
kaba.belge Aynı belge nesnesinden pdf_yaz ve xlsx_yaz
f-string biçimi {ad:<32}, {tutar:>15}, {k % 100:02d} — hizalı tablo ve kuruş

Para nasıl tutuluyor

Her ara sonuç kuruşa yuvarlanır (kurus()); 0.1 + 0.2 gibi ikili kesir artıkları faturaya taşınmaz. para() sayıyı Türkçe biçime çevirir: 1249.9 → 1.249,90 ₺.

Örnek siparişin toplamları elle de hesaplanıp karşılaştırıldı: ara toplam 65.439,80 ₺ · indirim 1.879,99 ₺ · KDV 11.748,96 ₺ · genel toplam 75.308,77 ₺.

Satıcı ve alıcı bilgileri örnek amaçlı, hayalidir.