Fatura Tutarını Yazı ile Yazdırma |
|||
Konuyu görüntüleyenler: 2 Misafir
|
|||
|
|||
|
|||
|
|||
ocreset82
Acemi Üye Mesajlar: 3 Konular: 1 Katılma Tarihi: Oct 2016 Rep Puanı: 0 Teşekkürler: 0
0 Mesajına, 0 Teşekkür edildi. Kişisel Bilgileri:
Konu Tarihi: 12-20-2017 01:17 AM
<?php class yaziyla { var $sayi=0; var $kurus=0; var $eksi=""; var $birim="TL"; var $kurus_birim = "KR"; var $bolukler; var $birler; var $onlar; function yaziyla($birim="TL", $kurus_birim="KR") { $this->birim = $birim; $this->kurus_birim = $kurus_birim; $this->bolukler = array("","BİN","Milyon","Milyar","Trilyon","Katrilyon","Trilyar","Kentrilyon","Kentrilyar","Zontrilyar"); $this->birler = array("SIFIR","BİR","İKİ","ÜÇ","DÖRT","BEŞ","ALTI","YEDİ","SEKİZ","DOKUZ"); $this->onlar = array("","ON","YİRMİ","OTUZ","KIRK","ELLİ","ALTMIŞ","YETMİŞ","SEKSEN","DOKSAN","YÜZ"); } function yaz($sayi) { $tam=""; $kurus=""; if($this->sayi_cozumle($sayi)) { return "Hatalı Sayı Formatı!"; } if(($this->sayi+$this->kurus) == 0) return $this->birler[0].' '.$this->birim; if($this->sayi>0) $tam = $this->oku($this->sayi); if($this->kurus>0) $kurus = $this->oku($this->kurus); if( $this->sayi == 0 ) return $this->eksi.' '.$kurus.' '.$this->kurus_birim; if( $this->kurus == 0 ) return $this->eksi.' '.$tam.' '.$this->birim; return $this->eksi.' '.$tam.' '.$this->birim.' '.$kurus.' '.$this->kurus_birim; } function oku($sayi) { if($sayi == 0) return $this->birler[0]; $ubb = sizeof($this->bolukler); $kac_sifir = 3 - (strlen($sayi) % 3); if($kac_sifir!=3) for($i=0;$i<$kac_sifir;++$i) { $sayi = "0$sayi"; } $k = 0; $sonuc = ""; for($i = strlen($sayi); $i>0; $i-=3,++$k) { $boluk = $this->boluk_oku(substr($sayi, $i-3, 3)); if($boluk) { if(($k == 1) && ($boluk == $this->birler[1])) $boluk = ""; if( $k > $ubb) $sonuc = $boluk ."Tanımsız(".($k*3).".Basamak) $sonuc"; else $sonuc = $boluk . $this->bolukler[$k]." $sonuc"; } } return $sonuc; } function boluk_oku($sayi) { $sayi = ((int)($sayi)) % 1000; $sonuc = ""; $bir = $sayi % 10; $on_ = (int)($sayi / 10) % 10; $yuz = (int)($sayi / 100) % 10; if($yuz) { if($yuz == 1) $sonuc = $this->onlar[10]; else $sonuc = $this->birler[$yuz].$this->onlar[10]; } if($on_) $sonuc = $sonuc.$this->onlar[$on_]; if($bir) $sonuc = $sonuc.$this->birler[$bir]; return $sonuc; } function sayi_cozumle($sayi) { $sayi = trim($sayi); if($sayi[0] == "-") { $this->eksi="Eksi"; $sayi = substr($sayi, 1); } if(preg_match("/^(0*\.0+|0*|\.0+)$/", $sayi)) { $this->sayi = $this->kurus = 0; return 0; } if(preg_match("/^(\d+)\.(\d+)$/", $sayi, $m)) { $sayi = $m[1]; $this->sayi = (int)preg_replace("/^0+/","",$sayi); if(!preg_match("/^0+$/",$m[2])) $this->kurus = (int)$m[2]; } else if(preg_match("/^0*(\d+)$/", $sayi, $m) || preg_match("/^0*(\d+)\.0+$/", $sayi, $m)) { $this->sayi = (int)$m[1]; } else if(preg_match("/^0*\.(\d+)$/", $sayi, $m)) { $this->sayi = 0; $this->kurus = (int)$m[1]; } else return 1; if($this->kurus>0) { $this->kurus= number_format('0.'.$this->kurus, 2); if( (int)$this->kurus == 1 ) { ++$this->sayi; $this->kurus = 0; } else $this->kurus = (int)str_replace("0.", "", $this->kurus); } return 0; } } $yaziyla = new yaziyla("TÜRK LİRASI", "KURUŞ"); ?> gözükmesini istediğiniz yerede şu kodu yazın <?php function para($veri = 0){ $veri = number_format($veri,2,".",","); return $veri; } function vdegis($veri) { $veri = str_replace(".","",$veri); $veri = str_replace(",",".",$veri); return $veri; } $fiyat1 = $total['text']; $sonuc = vdegis($fiyat1); $miktar = $sonuc; $yenimiktar = str_replace("TL","",$miktar); $yenimiktar2 = str_replace(" ","",$yenimiktar); $yenimiktar3 = str_replace(",","",$yenimiktar2); ?> <?php echo 'YALNIZ'. $yaziyla->yaz($yenimiktar3); ?> </td> </tr></table> BU OPENCART 2.X de ÇALIŞTI TEK SORUN ŞU KALDI. ÖRNEK: 23,01 TL NORMALDE YAZMASI GEREKEN: YİRMİÜÇ TÜRK LİRASI BİR KURUŞ ŞUAN YAZAN: YİRMİÜÇ TÜRK LİRASI ON KURUŞ Osdem Baba bi el atıversen çok makbule geçecek.. Bu ufak hatayı giderebilecek kimse yokmu? |
osdem66
Forum Kurucusu Mesajlar: 2,121 Konular: 158 Katılma Tarihi: Dec 2011 Rep Puanı: 27 Teşekkürler: 393
522 Mesajına, 1445 Teşekkür edildi. Kişisel Bilgileri:
Konu Tarihi: 12-20-2017 12:47 PM
(Bu Mesaj 12-20-2017 12:48 PM değiştirilmiştir. Değiştiren : osdem66.)
Merhaba ; kodlarınızı tam inceleme fırsatım olmadı ama virgülden sonra ilk sayı sıfır ise ikinci sayıyı birler basamağı olara gör şeklinde tanımlama yapmalıısnız..bu tanımlama olmadığı için ikinci sayıyı onlr basagı olarak görüyor..
|
ocreset82
Acemi Üye Mesajlar: 3 Konular: 1 Katılma Tarihi: Oct 2016 Rep Puanı: 0 Teşekkürler: 0
0 Mesajına, 0 Teşekkür edildi. Kişisel Bilgileri:
Konu Tarihi: 12-20-2017 02:07 PM
(12-20-2017 12:47 PM)osdem66 Yazılan: Merhaba ; kodlarınızı tam inceleme fırsatım olmadı ama virgülden sonra ilk sayı sıfır ise ikinci sayıyı birler basamağı olara gör şeklinde tanımlama yapmalıısnız..bu tanımlama olmadığı için ikinci sayıyı onlr basagı olarak görüyor.. Hocam o kadar bilgim yok maalesef. Tek arzum fatura çıktısını admin panelden almak. Ondada muhasebecim yazıyla ibaresi yazmassa geçerliliği yok dedi. Bu kodları buldum invoice tpl dosyasına yapıştırdım. Lütfen yardımcı olurmusunuz. |
|
|
|
|
Direk Link | |
HTML Link | |
BBCode Link | |
Sosyal Paylaş |
Benzeyen Konular | |||||
Konu: | Yazar | Cevaplar: | Gösterim: | Son Mesaj | |
Siparişler İrsaliye Yazdır Sayfasına Toplam Tutarı Yazdırma | firathuy | 1 | 1,333 |
04-28-2019 12:30 AM Son Mesaj: teknohiz |
|
Yazı Tipi Hatası | RapResyon | 4 | 1,527 |
03-17-2019 06:19 PM Son Mesaj: RapResyon |
|
Fatura Yazdır Kısmında Özel Alan Gösterme | roccmania | 4 | 4,777 |
10-09-2018 02:47 PM Son Mesaj: burakofly |
|
Fatura adresini heryerden nasıl kaldırabilirim ? | myweb | 2 | 2,173 |
05-06-2015 11:48 PM Son Mesaj: myweb |