Fatura hakkında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
isahin474650
Üye
Mesajlar: 28
Kayıt: 22 Eki 2017 10:05

Fatura hakkında

Mesaj gönderen isahin474650 » 03 Kas 2017 12:33

Merhaba arkadaşlar

Şu sekildede bir sorunum var Faturayı açıp cari yine seçiyorum carihareket taplom inset moda geçiyor
Dbgrid stok bölümüne geçip 1.stok seçip giriş yapıyorum
Ben ikinci Dbgrid ikinci satıra geçtiğimde birinci satırı veri tabanına kayıt ediyor ben etmesin istiyorum ben faturada isim bittikten sonra kayıt yapsın istiyorum yani kaydet buton basınında kodlamalari Adotable üzerinine yazıyorum post edit delete yine Nerde hata yapıyorum Dbgrid kullanmaktamı yoksa Ufak bir fatura örneği olan arkadaşlar varsa paylaşım yaparmi Ben sqlserver veri tabanı kullanıyorum

swanboy2017
Üye
Mesajlar: 3
Kayıt: 02 Kas 2017 12:45

Re: Fatura hakkında

Mesaj gönderen swanboy2017 » 03 Kas 2017 08:41

Dbgridden seçtiğin 1.stok cari harekete yazıyorsa ve sen bunu en son fatura kaydı sırasında seçtiğin tüm stoklar için olsun istiyorsun olarak anladım. Kodunu görmeden birşey söylemek güç ancak but tip durumlarda rxmemorydata nesnesinde tutup son aşamada bu nesneden cari harekete kayıt edebilirsin.

ertank
Üye
Mesajlar: 1138
Kayıt: 11 Eyl 2015 11:45

Re: Fatura hakkında

Mesaj gönderen ertank » 03 Kas 2017 11:28

Merhaba,

Daha önce aşağıdaki bağlantıda dekont için aynı konuyu tartışmış idik. Fatura içinde dekont için uyguladığınız çözümü aynen uygulayabilirsiniz.
viewtopic.php?f=2&t=37002

isahin474650
Üye
Mesajlar: 28
Kayıt: 22 Eki 2017 10:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 » 05 Kas 2017 01:49

Evet ama Virtualtable bunu bulup Delphi7 ekleyemedim
Nerden indirip nasıl eklerim

ertank
Üye
Mesajlar: 1138
Kayıt: 11 Eyl 2015 11:45

Re: Fatura hakkında

Mesaj gönderen ertank » 05 Kas 2017 11:45

Yukarıdaki bağlantıda 28 Ekim tarihindeki cevabımda nereden indirip temin edebileceğinizi bağlantısı ile birlikte paylaşmıştım. Tekrar burada paylaşıyorum.
http://www.components4developers.com/

Ücretsiz üye olarak ücretsiz Delphi sürümünü indirebilirsiniz. Eğer Delphi 7 kullanıyor iseniz 6.5 gibi eski sürümleri Delphi 7 destekliyor diye biliyorum.

isahin474650
Üye
Mesajlar: 28
Kayıt: 22 Eki 2017 10:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 » 06 Kas 2017 02:46

Üye oldum bu sürüm var onu indirdim direk kulurulum yapıyorum ama hiç bir compent geliyor delpiye



İndir kbmMW CodeGear Sürümü 4.91.00 D10 Seattle / Win32 KbmMW / kbmMemTable for Delphi'nin ücretsiz sürümü 1
Screenshot_2017-11-06-15-43-42.png
Screenshot_2017-11-06-15-43-42.png (2.97 KiB) 555 kere görüntülendi

isahin474650
Üye
Mesajlar: 28
Kayıt: 22 Eki 2017 10:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 » 06 Kas 2017 07:16

https://mboloz.wordpress.com/2013/03/23 ... lternatif/

Bu işlemi yapmak istiyorum

virtual-table bende bu birleşen yok

ertank
Üye
Mesajlar: 1138
Kayıt: 11 Eyl 2015 11:45

Re: Fatura hakkında

Mesaj gönderen ertank » 07 Kas 2017 11:12

isahin474650 yazdı:
06 Kas 2017 02:46
Üye oldum bu sürüm var onu indirdim direk kulurulum yapıyorum ama hiç bir compent geliyor delpiye



İndir kbmMW CodeGear Sürümü 4.91.00 D10 Seattle / Win32 KbmMW / kbmMemTable for Delphi'nin ücretsiz sürümü 1

Screenshot_2017-11-06-15-43-42.png
Kurmaya çalıştığınız sürüm Delphi 10 için. Aşağıdaki bağlantıdaki kurulumu deneyin.
Orjinal konum: http://cc.embarcadero.com/item/24851
Alternatif bağlantı: http://s5.dosya.tc/server5/iruv26/24851 ... 0.ZIP.html

isahin474650
Üye
Mesajlar: 28
Kayıt: 22 Eki 2017 10:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 » 08 Kas 2017 09:59

Çok değerli Arkadaşlarım Çözemedim Projem paylaşıyorum üzerinde kodları yazıp paylaşırsanız çok sevinirim bu işe iki yıl önce başladım çözemedim ara vermiştim Tekrar başladım lütfen bir yardımcı olun yaptığım projemi kendim kullanacağım

Mail adresim isahin50@Gmail.com
Dosya ekleri
PKTS.rar
(495.12 KiB) 17 kere indirildi

kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 12:31

Re: Fatura hakkında

Mesaj gönderen kerpeten » 09 Kas 2017 02:51

Bence Jedi-Vcl paketinin TJvMemoryData bileşenini kullanın. Jedi VCL'in pek çok faydalı bileşeni de var bunun yanında.

isahin474650
Üye
Mesajlar: 28
Kayıt: 22 Eki 2017 10:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 » 09 Kas 2017 03:15

Jedi ücretsiz versiyonu varımdır nerden ince bilirim link varımdır

kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 12:31

Re: Fatura hakkında

Mesaj gönderen kerpeten » 09 Kas 2017 05:21

Jedi library zaten açık kaynak kodlu bileşenler paketi.
Önce JCL ve sonra JVCL'yi yüklemeniz gerekiyor.

Kendi installasyon programı var. Onun vasıtasıyla yüklerseniz kolay olacaktır.
https://github.com/project-jedi/jcl
https://github.com/project-jedi/jvcl

kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 12:31

Re: Fatura hakkında

Mesaj gönderen kerpeten » 10 Kas 2017 01:47

Bakın gönderdiğiniz kodları inceledim. Ancak DB'de ciddi hatalar var. Öncelikle bunları düzeltmeniz gerekiyor. Bu tür fiş işlemlerinde yani bir başlık bilgisi (yani firma, adres, tarih, satış yapan kişi vb bilgileri içeren kısım) ve hangi ürünler ve miktarlarını içeren kısım için iki ayrı tablo gerekir. Aynı şey cari hareketleri için de geçerlidir. Öncelikle bunu düzenlemeniz gerekmektedir.

isahin474650
Üye
Mesajlar: 28
Kayıt: 22 Eki 2017 10:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 » 10 Kas 2017 08:26

Taploda düzenleme yaparmisiniz bende o şekilde devam edeyim yada örnek bir tablo hazırlasınız rica etsem

kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 12:31

Re: Fatura hakkında

Mesaj gönderen kerpeten » 10 Kas 2017 06:21

Tablo yapıları şunlara benzer olması gerekiyor. Sizin TPL_STHAREKET tablonuz devre dışı kalacak ve bu iki tablo yerine gelecek.
1.si Faturanın başlık ve toplam bilgilerini içeren tablo :

CREATE TABLE TPL_STOKHAREKETBASLIK (
STHBASLIKID INTEGER NOT NULL PRIMARY KEY,
CARI_ID INTEGER,
TICARI_ADI VARCHAR(50),
VERGI_DAIRESI VARCHAR(50),
VERGI_NO VARCHAR(20),
FATURA_ADRESI VARCHAR(200),
TESLIMAT_ADRESI VARCHAR(200),
KAYITTARIHI DATE,
KAYITSAATI TIME,
FATURATARIHI DATE,
FATURANO VARCHAR(20),
BELGENO VARCHAR(20),
VADE INTEGER,
VADETARIH DATE,
TOPLAM_TUTAR DOUBLE PRECISION,
CARI_ISKONTO INTEGER,
ISKONTO_TUTARI DOUBLE PRECISION,
KDV_TUTARI DOUBLE PRECISION,
FOREIGN KEY (CARI_ID) REFERENCES TPL_CARI
);

Bir de generator ve bir de trigger oluşturacağız

CREATE GENERATOR TPL_SHBASLIK_ID_GEN;

CREATE TRIGGER TPL_STHBASLIK_ID_T FOR TPL_STOKHAREKETBASLIK
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
NEW.STHBASLIKID = GEN_ID(TPL_SHBASLIK_ID_GEN, 1);
END

BU trigger'deki sizin yazmış olduğunuz ID boşsa atama yap koşulunu kaldırdım. Çünkü bu veri bütünlüğünü bozacaktır muhtemelen.

2.si hareket detay tablosu, fatura kalemlerini içerir;

CREATE TABLE TPL_STOKHAREKETDETAY (
STHDETAYID INTEGER NOT NULL PRIMARY KEY,
STHBASLIKID INTEGER NOT NULL,
STOK_ID INTEGER NOT NULL,
ACIKLAMA VARCHAR(50),
MIKTAR DOUBLE PRECISION,
KDV_YUZDESI INTEGER,
BIRIM_FIYAT DOUBLE PRECISION,
TOPLAM_TUTAR DOUBLE PRECISION,
ISKONTOYUZDESI INTEGER,
ISKTUTAR DOUBLE PRECISION,
KDVTUTAR DOUBLE PRECISION,
BIRIM VARCHAR(10),

FOREIGN KEY (STHBASLIKID) REFERENCES TPL_STOKHAREKETBASLIK(STHBASLIKID),
FOREIGN KEY (STOK_ID) REFERENCES TPL_STOK(SID)
);

Görüldüğü gibi detay tablosu baslik tablosuna foreign key'le bağlanmıştır.
Generator ve trigger'ini de oluşturuyoruz.

CREATE GENERATOR TPL_SHDETAY_ID_GEN;

CREATE TRIGGER TPL_STHDETAY_ID_T FOR TPL_STOKHAREKETDETAY
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
NEW.STHDETAYID = GEN_ID(TPL_SHDETAY_ID_GEN, 1);
END


Fatura kesimi için, DB'yle ilgili değişikliklere öneriler bunlar. Cari hareketler için de benzeri yapılabilir ya da her cari hareket tek kalemden oluşuyor deniliyorsa olduğu gibi kalabilir.

Cevapla