Sayfayı Yazdır | Pencereyi Kapat

Cari/Muhasebe Hesap Trigger

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=3977
Tarih: 23 Kasım 2024 Saat 05:50
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: Cari/Muhasebe Hesap Trigger
Mesajı Yazan: social
Konu: Cari/Muhasebe Hesap Trigger
Mesaj Tarihi: 21 Ocak 2015 Saat 20:37
Asagidaki kodu bana aciklayabilirmisiniz.
Cari kodu nasil sekilde acmamiz gerekiyor ki,muhasebe kodunu o sekilde acsin.Yani Cari karti acarken nasil bir seviye takibi yapmamiz gerekmektedir.120-01-0001 gibi.




Netsis otomatik Muhasebe Hesap Kodu Açmak
USE [database]
GO
/****** Object: Trigger [dbo].[triatekd] Script Date: 01/01/2014 13:40:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[triatekd]
ON [dbo].[TBLCASABIT]
AFTER INSERT
NOT FOR REPLICATION
AS
BEGIN
DECLARE @HESAP_KODU VARCHAR(35)
DECLARE @TIP CHAR(1)
DECLARE @SUBE_KODU CHAR(1)
DECLARE @CARI_ISIM varchar(100)
DECLARE @KAYITYAPANKUL varchar(12)
SELECT @SUBE_KODU=SUBE_KODU FROM INSERTED
SELECT @CARI_ISIM=CARI_ISIM FROM INSERTED
SELECT @TIP=CARI_TIP FROM INSERTED
IF @TIP=’A’
BEGIN
SELECT top 1 @HESAP_KODU=CASE WHEN LEN(RIGHT([HESAP_KODU],4)+1)=1 THEN LEFT(HESAP_KODU,7)+’00′+
CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR) WHEN
LEN(RIGHT([HESAP_KODU],4)+1)=2 THEN LEFT(HESAP_KODU,7)+’0′+CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR) ELSE LEFT(HESAP_KODU,7)+CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR)
END FROM [TBLMUPLAN]
WHERE HESAP_KODU LIKE ’120-01%’ AND AGM=’M’ and sube_kodu=0 ORDER BY HESAP_KODU DESC

INSERT INTO TBLMUPLAN
SELECT TOP 1 @SUBE_KODU
,[ISLETME_KODU],@HESAP_KODU,[AGM]
,@CARI_ISIM,[HS_YD_ADI],[HS_GRKOD]
,[OLCU_BIRIM],[HS_BLKZ],[CALIS_TIP]
,[CALIS_BAG],[DOVIZLIMI],[DOVIZ_TIPI]
,[HESAPLAMATURU],[DOVIZKONTROL],[UPDATE_KODU]
,[REFKODLU_CALIS],[YEDEK1],[YEDEK2]
,[YEDEK3],[YEDEK4],[YEDEK5]
,[YEDEK6],[YEDEK7],[YEDEK8]
,[YEDEK9],[KAYITYAPANKUL]
,[KAYITTARIHI],[DUZELTMEYAPANKUL]
,[DUZELTMETARIHI],[ONAYTIPI]
,[ONAYNUM],[ENF_FARK_HESKOD]
FROM [TBLMUPLAN]
WHERE HESAP_KODU LIKE ’120-01%’ AND AGM=’M’ ORDER BY HESAP_KODU DESC

INSERT INTO TBLMUPLANEK(KOD)
VALUES(@HESAP_KODU)
UPDATE TBLCASABIT SET M_KOD=@HESAP_KODU FROM INSERTED WHERE TBLCASABIT.CARI_KOD=INSERTED.CARI_KOD
END
END



Cevaplar:
Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Ocak 2015 Saat 07:02
cari kodun ne ?ekilde oldu?unun önemi yok (Muhasebe kodu cari koda göre açylmaz)
bu trigger onu dikkate almyyor, carinin tipi 'A' mü?teri ise  syradan bir numara veriyor
siz istedi?iniz kodu verir seviyelendirme yaparsynyz. Muhasebe kodu 120-01 ile ba?lar.





-------------
Mehmet Baykan


Mesajı Yazan: social
Mesaj Tarihi: 22 Ocak 2015 Saat 07:44
Hocam tskler.
bu trigger 
Conversion failed when converting the varchar value '*' to data type smallint.(NetsisMS-22018,245)
hatasy veriyor cari kart açmak isterken


Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Ocak 2015 Saat 09:07
SELECT top 1 @HESAP_KODU=CASE WHEN LEN(RIGHT([HESAP_KODU],4)+1)=1 THEN LEFT(HESAP_KODU,7)+’00′+
CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR) WHEN
LEN(RIGHT([HESAP_KODU],4)+1)=2 THEN LEFT(HESAP_KODU,7)+’0′+CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR) ELSE LEFT(HESAP_KODU,7)+CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR)
END FROM [TBLMUPLAN]
WHERE HESAP_KODU LIKE ’120-01%’ AND AGM=’M’ and sube_kodu=0 ORDER BY HESAP_KODU DESC

yerine

SELECT top 1 @HESAP_KODU='120-01-' + RIGHT('000'+CAST(CONVERT(INTEGER,RIGHT(HESAP_KODU,4)) + 1 AS VARCHAR),4)
FROM dbo.TBLMUPLAN
WHERE HESAP_KODU LIKE '120-01%' AND AGM='M' and sube_kodu=0 
ORDER BY HESAP_KODU DESC

yazyn



-------------
Mehmet Baykan


Mesajı Yazan: social
Mesaj Tarihi: 22 Ocak 2015 Saat 09:10
aYNI hata devam ediyor


Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Ocak 2015 Saat 09:10
Orjinalini yazan: mbaykan mbaykan Yazdı:

SELECT top 1 @HESAP_KODU=CASE WHEN LEN(RIGHT([HESAP_KODU],4)+1)=1 THEN LEFT(HESAP_KODU,7)+’00′+
CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR) WHEN
LEN(RIGHT([HESAP_KODU],4)+1)=2 THEN LEFT(HESAP_KODU,7)+’0′+CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR) ELSE LEFT(HESAP_KODU,7)+CAST(RIGHT([HESAP_KODU],4)+1 AS VARCHAR)
END FROM [TBLMUPLAN]
WHERE HESAP_KODU LIKE ’120-01%’ AND AGM=’M’ and sube_kodu=0 ORDER BY HESAP_KODU DESC

yerine

SELECT top 1 @HESAP_KODU='120-01-' + RIGHT('000'+CAST(CONVERT(INTEGER,RIGHT(HESAP_KODU,4)) + 1 AS VARCHAR),4)
FROM dbo.TBLMUPLAN
WHERE HESAP_KODU LIKE '120-01%' AND AGM='M' and sube_kodu=0 
ORDER BY HESAP_KODU DESC

yazyn

Not : Hesap Planynda en az 1 adet 120-01-XXXX 
?eklinde muavin hesap tanymlanmy? olmaly
yoksa hata verir



-------------
Mehmet Baykan


Mesajı Yazan: social
Mesaj Tarihi: 22 Ocak 2015 Saat 09:18
Yok hocam hesap planynda byr suru 120-01-xxxx seklynde hesap var ama cari kart açarken a?agydaki hatayy veriyor



Veri tabany i?leminde hata!
[DBQuery : CariMas_Inq
SQL : Insert Into CASABIT (CASABIT.SUBE_KODU, CASABIT.ISLETME_KODU, CASABIT.CARI_KOD, CASABIT.CARI_ISIM, CASABIT.CARI_TIP, CASABIT.DOVIZ_TIPI, CASABIT.HESAPTUTMASEKLI, CASABIT.DOVIZLIMI, CASABIT.UPDATE_KODU, CASABIT.C_YEDEK1, CASABIT.B_YEDEK1, CASABIT.KAYITYAPANKUL, CASABIT.KAYITTARIHI, CASABIT.ODEMETIPI)
 Values ( :CASABIT.SUBE_KODU ,  :CASABIT.ISLETME_KODU ,  :CASABIT.CARI_KOD ,  :CASABIT.CARI_ISIM ,  :CASABIT.CARI_TIP ,  :CASABIT.DOVIZ_TIPI ,  :CASABIT.HESAPTUTMASEKLI ,  :CASABIT.DOVIZLIMI ,  :CASABIT.UPDATE_KODU ,  :CASABIT.C_YEDEK1 ,  :CASABIT.B_YEDEK1 ,  :CASABIT.KAYITYAPANKUL ,  :CASABIT.KAYITTARIHI ,  :CASABIT.ODEMETIPI )

Conversion failed when converting the varchar value '*' to data type smallint.(NetsisMS-22018,245)




Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Ocak 2015 Saat 09:25
'*' karakterini tamsayyya dönü?türemedi?ini söylüyor
bu da
SUBE_KODU /ISLETME_KODU,DOVIZ_TIPI benzeri bir sahanyn de?eri olarak '*' gibi
bir kar?ylyk var demek



-------------
Mehmet Baykan


Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Ocak 2015 Saat 09:28
IF EXISTS (SELECT TOP 1 * FROM TBLMUPLAN WHERE AGM='M' AND SUBE_KODU=0 AND PATINDEX('120-01%',HESAP_KODU) <> 0)
BEGIN
SELECT TOP 1 @HESAP_KODU='120-01-' + RIGHT('000'+CAST(CONVERT(INTEGER,RIGHT(HESAP_KODU,2)) + 1 AS VARCHAR),4)
FROM DBO.TBLMUPLAN
WHERE HESAP_KODU LIKE '120-01%' AND AGM='M' AND SUBE_KODU=0 
ORDER BY HESAP_KODU DESC
END
ELSE
BEGIN
SELECT @HESAP_KODU='120-01-0001'
END

?imdi 120-01 ile ba?layan hesap olmasa da bu ifade trigger'a konursa
120-01-0001 ile ba?lar



-------------
Mehmet Baykan


Mesajı Yazan: social
Mesaj Tarihi: 22 Ocak 2015 Saat 09:29
Casabit tablosunda baska bir trigger mevcut degil
sadece cari kod ve isim yazyp deniyorum hata veryyor,sadece kod yazyyorum yyne hata veryyor.


Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Ocak 2015 Saat 10:24
cari.dll'i de?i?tirin. ya güncel ya da eski bir dll kullanyn.
Ba?ka bir ?irkette de ayny hatayy alyyorsanyz.




-------------
Mehmet Baykan


Mesajı Yazan: social
Mesaj Tarihi: 22 Ocak 2015 Saat 11:34
FTP 8.0.4 
22 Ocak Setini Kullanyyorum,daha guncel cari.dll yok 20.ocakta degi?mi? en son
Yynede hata veryyor



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net