dövizli cari bakiye takibi
This commit is contained in:
parent
c4ff0866cf
commit
a76f29fe36
84
Dövizli Bakiye Takibi/CLFLINE_trigger.sql
Normal file
84
Dövizli Bakiye Takibi/CLFLINE_trigger.sql
Normal file
@ -0,0 +1,84 @@
|
||||
CREATE TRIGGER [dbo].[TRG_231_01_CLFLINE_XTS]
|
||||
ON [dbo].[LG_231_01_CLFLINE]
|
||||
AFTER INSERT, UPDATE, DELETE
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @ClientId INT
|
||||
DECLARE @Cancelled INT
|
||||
DECLARE @XTCount INT
|
||||
|
||||
DECLARE cur CURSOR LOCAL FOR
|
||||
|
||||
SELECT DISTINCT CLIENTREF FROM(
|
||||
SELECT CLIENTREF FROM INSERTED
|
||||
UNION ALL
|
||||
SELECT CLIENTREF FROM DELETED
|
||||
) AS X
|
||||
|
||||
OPEN cur
|
||||
FETCH NEXT FROM cur INTO @ClientId
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
SELECT @XTCount = COUNT(LOGREF) FROM LG_XT1015_231 WHERE PARLOGREF = @ClientId
|
||||
|
||||
DECLARE
|
||||
@BalanceGBP AS FLOAT = 0,
|
||||
@BalanceTL AS FLOAT = 0,
|
||||
@BalanceUSD AS FLOAT = 0,
|
||||
@BalanceEUR AS FLOAT = 0
|
||||
|
||||
SELECT
|
||||
@BalanceGBP = @BalanceGBP + (CASE WHEN TRCURR=17 THEN (CASE WHEN SIGN = 1 THEN -1*SUM(TRNET) ELSE SUM(TRNET) END) ELSE 0 END),
|
||||
@BalanceTL = @BalanceTL + (CASE WHEN TRCURR IN (0,160) THEN (CASE WHEN SIGN = 1 THEN -1*SUM(CASE WHEN TRRATE=0 THEN AMOUNT ELSE TRNET END) ELSE SUM(CASE WHEN TRRATE=0 THEN AMOUNT ELSE TRNET END) END) ELSE 0 END),
|
||||
@BalanceUSD = @BalanceUSD + (CASE WHEN TRCURR=1 THEN (CASE WHEN SIGN = 1 THEN -1*SUM(TRNET) ELSE SUM(TRNET) END) ELSE 0 END),
|
||||
@BalanceEUR = @BalanceEUR + (CASE WHEN TRCURR=20 THEN (CASE WHEN SIGN = 1 THEN -1*SUM(TRNET) ELSE SUM(TRNET) END) ELSE 0 END)
|
||||
FROM LG_231_01_CLFLINE
|
||||
WHERE
|
||||
CLIENTREF = @ClientId AND CANCELLED=0
|
||||
GROUP BY
|
||||
CLIENTREF,
|
||||
TRCURR,
|
||||
SIGN
|
||||
|
||||
IF(@XTCount > 0)
|
||||
BEGIN
|
||||
|
||||
UPDATE LG_XT1015_231 SET
|
||||
GBPBAKIYE = CAST (@BalanceGBP AS DECIMAL(18,2)),
|
||||
TLBAKIYE = CAST (@BalanceTL AS DECIMAL(18,2)),
|
||||
USDBAKIYE = CAST (@BalanceUSD AS DECIMAL(18,2)),
|
||||
EURBAKIYE = CAST (@BalanceEUR AS DECIMAL(18,2))
|
||||
WHERE PARLOGREF = @ClientId
|
||||
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
|
||||
INSERT INTO LG_XT1015_231 (PARLOGREF,GBPBAKIYE,TLBAKIYE,USDBAKIYE,EURBAKIYE)
|
||||
VALUES
|
||||
(
|
||||
@ClientId,
|
||||
CAST (@BalanceGBP AS DECIMAL(18,2)),
|
||||
CAST (@BalanceTL AS DECIMAL(18,2)),
|
||||
CAST (@BalanceUSD AS DECIMAL(18,2)),
|
||||
CAST (@BalanceEUR AS DECIMAL(18,2))
|
||||
)
|
||||
|
||||
END
|
||||
|
||||
FETCH NEXT FROM cur INTO @ClientId
|
||||
END
|
||||
|
||||
CLOSE cur
|
||||
DEALLOCATE cur
|
||||
END;
|
||||
|
||||
|
||||
|
||||
|
||||
GO
|
||||
|
||||
|
||||
18
Dövizli Bakiye Takibi/README.md
Normal file
18
Dövizli Bakiye Takibi/README.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Logo Dövizli Bakiye Takibi
|
||||
Logo aslında dövizli bakiye verebiliyorken Cari Hesaplar listesi ekranında bunu göstermiyor. Aşağıdaki değişiklikleri yaparak bunu ekranımıza dahil edebiliriz.
|
||||
|
||||
İşlemler bittiğinde liste ekranında "TL Bakiye" - "USD Bakiye" - "EUR Bakiye" sütunlarında doğru değerleri görebiliriz. Bu işlem raporlama dövizi gibi çalışmıyor; yani TL bakiyeyi günün kurundan ilgili dövize çevirmiyor. Yapılan işlemlerin "işlem dövizi" ne ise ona göre bakiye tutuyor ayrı bir tabloda.
|
||||

|
||||
|
||||
|
||||
## Arayüz Uyarlama
|
||||
1. Cari hesaplar ekranında sağ tık arayüz uyarlamayı seçin
|
||||
|
||||

|
||||
|
||||
2. Ek alanları ekleyin
|
||||
|
||||

|
||||
|
||||
3. İlk 2 adımı yaptığınızda LG_XT1015_231 adında bir tablo oluşacak. Ek alanlar bu tablodan gösteriliyor. Her cari hareket olduğunda bu tabloyu güncellemek gerekeceği için bir trigger lazım.
|
||||
[Trigger](CLFLINE_trigger.sql "Trigger")
|
||||
Loading…
x
Reference in New Issue
Block a user