Fatura hakkında

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

Fatura hakkında

Mesaj gönderen isahin474650 »

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 01:45

Re: Fatura hakkında

Mesaj gönderen swanboy2017 »

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
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Fatura hakkında

Mesaj gönderen ertank »

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 11:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 »

Evet ama Virtualtable bunu bulup Delphi7 ekleyemedim
Nerden indirip nasıl eklerim
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Fatura hakkında

Mesaj gönderen ertank »

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 11:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 »

Ü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.95 KiB) 1883 kere görüntülendi
isahin474650
Üye
Mesajlar: 28
Kayıt: 22 Eki 2017 11:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 »

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

Bu işlemi yapmak istiyorum

virtual-table bende bu birleşen yok
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Fatura hakkında

Mesaj gönderen ertank »

isahin474650 yazdı: 06 Kas 2017 03: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 11:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 »

Ç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
(493.27 KiB) 70 kere indirildi
kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 01:31

Re: Fatura hakkında

Mesaj gönderen kerpeten »

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 11:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 »

Jedi ücretsiz versiyonu varımdır nerden ince bilirim link varımdır
kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 01:31

Re: Fatura hakkında

Mesaj gönderen kerpeten »

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 01:31

Re: Fatura hakkında

Mesaj gönderen kerpeten »

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 11:05

Re: Fatura hakkında

Mesaj gönderen isahin474650 »

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 01:31

Re: Fatura hakkında

Mesaj gönderen kerpeten »

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