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
Mesajı Yazan: mbaykan
Mesaj Tarihi: 22 Ocak 2015 Saat 09:10
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
|
|