tblcasabit.M_kod ve Tblmuplan.hesap_kodu ?
Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: ERP Temel Paketler
Forum Adı: ERP Muhasebe Modülü
Forum Tanımlaması: Muhasebe Modülü İle İlgili Bilgiler ve Sorular İçin...
URL: http://www.erpne.org/forum_posts.asp?TID=2053
Tarih: 22 Kasım 2024 Saat 10:23 Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com
Konu: tblcasabit.M_kod ve Tblmuplan.hesap_kodu ?
Mesajı Yazan: muzdarip
Konu: tblcasabit.M_kod ve Tblmuplan.hesap_kodu ?
Mesaj Tarihi: 10 Nisan 2010 Saat 18:55
Selamlar öncelikle forumunuzu yeni kesfettim
çok faydali bilgiler ve paylasimlar var emegi geçenlere tesekkürlerimi sunarim.
Yardim bulabilmek umuduyla
Sorunum söyle
Baska bir satis dagitim programindan netsise cari ,fatura ve stok kartlarini otomatik olarak aktariyorum fakat açilan yeni carilerin tblmuplan tablosunda açilislari otomatik yapilamiyor. tblcasabit tablosuna yeni bir kayit açildiginda otomatik olarak muhasebe hesap kodunun açilmasi ve tblcasabit tablosundaki m_kod alanina gelmesi çok mu zor ?
sql den yapmayi deniyorum fakat hesap kodu alani sayisal bir alan olmadigi için degerleri +1 arttiramiyorum.
yardimlariniz için simdiden pesin tesekkürlerimle.
Serkan
|
Cevaplar:
Mesajı Yazan: oyun
Mesaj Tarihi: 12 Nisan 2010 Saat 00:06
Merhaba,
Eger çok da önemli degilse torba hesap kullanmalisiniz, bu durumda sadece muhasebe kodu alani güncellenerek sorun çözülür. Ama mutlaka yeni muhasebe kodu açacaksaniz, sadece tipi "Alici" olanlar için çalissin istiyorsaniz, "120-01-xxx" kirilimini kullandiginizi da varsayarsak, asagidaki cümleleri kullanabilir, kiriliminiz farkliysa kendinize göre düzenleyebilirsiniz.
Not:Sadece ekleme cümlesidir, gerek duyuluyorsa silme ve güncelleme cümleleri de eklenmelidir.
CREATE TRIGGER [dbo].[TRIGGERIN_TURKCESI_TETIKLEYICIDIR]
ON [dbo].[TBLCASABIT]
AFTER INSERT
NOT FOR REPLICATION
AS
BEGIN
DECLARE @HESAP_KODU VARCHAR(35)
DECLARE @TIP CHAR(1)
SELECT @TIP=CARI_TIP FROM INSERTED
IF @TIP='A'
BEGIN
SELECT top 1 @HESAP_KODU=CASE WHEN LEN(RIGHT([HESAP_KODU],3)+1)=1 THEN LEFT(HESAP_KODU,7)+'00'+
CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) WHEN
LEN(RIGHT([HESAP_KODU],3)+1)=2 THEN LEFT(HESAP_KODU,7)+'0'+CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) ELSE LEFT(HESAP_KODU,7)+CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR)
END FROM [TBLMUPLAN]
WHERE HESAP_KODU LIKE '120-01%' AND AGM='M' ORDER BY HESAP_KODU DESC
INSERT INTO TBLMUPLAN
SELECT TOP 1 [SUBE_KODU]
,[ISLETME_KODU],@HESAP_KODU,[AGM]
,[HS_ADI],[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
------------- Sen ruhumun kayıp yarısısın, fırtınalı gecelerde gökyüzüne bıraktığım.
|
Mesajı Yazan: muzdarip
Mesaj Tarihi: 12 Nisan 2010 Saat 16:29
sayin oyun hizli cevap verdiginiz için tesekkür ederim
tetikleyiciyi yarattigimda herhangi bi sorun almadim fakat
netsiste yeni cari açtigimda söyle bir hata aliyorum ;
Veri taban ileminde 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 )
Cannot insert the value NULL into column 'KOD', table 'ARTUT10.dbo.TBLMUPLANEK'; column does not allow nulls. INSERT fails.(NetsisMS-23000,515) The statement has been terminated.(NetsisMS-01000,3621)
ayrica subeli çalistigimizdan 120-05-0000 sistemini kullaniyoruz. depistirmem gereken yerlerde mi yanlislik yaptim acaba ?
tekrar tesekkür ederim
|
Mesajı Yazan: rifatgunduz
Mesaj Tarihi: 12 Nisan 2010 Saat 16:48
Selam,
Oyunun yazdigi kodta 120-01-xxx li muavin açilip baglaniyor. Sizin istediginiz 120-05-xxx olacagindan asagidaki gibi güncelleme yapabilirsiniz.
ALTER TRIGGER [dbo].[TRIGGERIN_TURKCESI_TETIKLEYICIDIR] ON [dbo].[TBLCASABIT] AFTER INSERT NOT FOR REPLICATION AS BEGIN DECLARE @HESAP_KODU VARCHAR(35) DECLARE @TIP CHAR(1) SELECT @TIP=CARI_TIP FROM INSERTED IF @TIP='A' BEGIN SELECT top 1 @HESAP_KODU=CASE WHEN LEN(RIGHT([HESAP_KODU],3)+1)=1 THEN LEFT(HESAP_KODU,7)+'00'+ CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) WHEN LEN(RIGHT([HESAP_KODU],3)+1)=2 THEN LEFT(HESAP_KODU,7)+'0'+CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) ELSE LEFT(HESAP_KODU,7)+CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) END FROM [TBLMUPLAN] WHERE HESAP_KODU LIKE '120-05%' AND AGM='M' ORDER BY HESAP_KODU DESC
INSERT INTO TBLMUPLAN SELECT TOP 1 [SUBE_KODU] ,[ISLETME_KODU],@HESAP_KODU,[AGM] ,[HS_ADI],[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-05%' 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
------------- Rifat Gündüz
www.netsis.com.tr
|
Mesajı Yazan: muzdarip
Mesaj Tarihi: 12 Nisan 2010 Saat 16:59
peki sartlari zorlayarak ayni sirkette 2 sube çalisiyor 120-01-xxxx ve 120-05-xxxx dizisinde kod açiyoruz , bu ahvalde kod nasil olmali
sube_kodu 5 se 120-05-xxxx sube_kodu=0 sa 120-01-xxxx mantiginda yürütmek mümkün mü ?
|
Mesajı Yazan: rifatgunduz
Mesaj Tarihi: 12 Nisan 2010 Saat 18:06
Test etmelisiniz.
ALTER TRIGGER [dbo].[TRIGGERIN_TURKCESI_TETIKLEYICIDIR] ON [dbo].[TBLCASABIT] AFTER INSERT NOT FOR REPLICATION AS BEGIN DECLARE @HESAP_KODU VARCHAR(35) DECLARE @TIP CHAR(1) SELECT @TIP=CARI_TIP,@SUBE=SUBE_KODU FROM INSERTED
IF @TIP='A' BEGIN
IF @SUBE=0
BEGIN
SELECT top 1 @HESAP_KODU=CASE WHEN LEN(RIGHT([HESAP_KODU],3)+1)=1 THEN LEFT(HESAP_KODU,7)+'00'+ CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) WHEN LEN(RIGHT([HESAP_KODU],3)+1)=2 THEN LEFT(HESAP_KODU,7)+'0'+CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) ELSE LEFT(HESAP_KODU,7)+CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) END FROM [TBLMUPLAN] WHERE HESAP_KODU LIKE '120-01%' AND AGM='M' ORDER BY HESAP_KODU DESC
INSERT INTO TBLMUPLAN SELECT TOP 1 [SUBE_KODU] ,[ISLETME_KODU],@HESAP_KODU,[AGM] ,[HS_ADI],[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
IF @SUBE=5
BEGIN
SELECT top 1 @HESAP_KODU=CASE WHEN LEN(RIGHT([HESAP_KODU],3)+1)=1 THEN LEFT(HESAP_KODU,7)+'00'+ CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) WHEN LEN(RIGHT([HESAP_KODU],3)+1)=2 THEN LEFT(HESAP_KODU,7)+'0'+CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) ELSE LEFT(HESAP_KODU,7)+CAST(RIGHT([HESAP_KODU],3)+1 AS VARCHAR) END FROM [TBLMUPLAN] WHERE HESAP_KODU LIKE '120-05%' AND AGM='M' ORDER BY HESAP_KODU DESC
INSERT INTO TBLMUPLAN SELECT TOP 1 [SUBE_KODU] ,[ISLETME_KODU],@HESAP_KODU,[AGM] ,[HS_ADI],[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-05%' 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
END
------------- Rifat Gündüz
www.netsis.com.tr
|
Mesajı Yazan: muzdarip
Mesaj Tarihi: 12 Nisan 2010 Saat 18:07
arkadaslar verdiginiz fikirlerden yola çikarak 1 2 ilaveyle istedigimi elde ettim.
Çok subeli çalisan firmalar için çalisan hali asagida. '120-0x1-xxxx olarak'
çok tesekkür ediyorum.
CREATE 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)
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-0%' AND AGM='M' and sube_kodu=@sube_kodu 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-0%' 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
|
Mesajı Yazan: muzdarip
Mesaj Tarihi: 12 Nisan 2010 Saat 18:14
http://www.erpne.org/member_profile.asp?PF=2092&FID=15 - rifatgunduz bey
benim derledigim trigger de sorunsuz çalisiyor bir sikinti yasarmiyim bu haliyle.
ilginize tesekkürler.
|
Mesajı Yazan: fixmod
Mesaj Tarihi: 15 Haziran 2014 Saat 20:12
Selamlar,
Netsis'te yeni oldu?um için bu i?i tam çözemedim. Sorunum bu konuya yakyn. Cari hesap kartlaryny programcymyz aktardy. Ama hesap planlaryny olu?turamady. Hesap planlaryny olu?turup carilere ba?lamak istiyorum.
Bunun için 120-01-[CariKod] ?eklinde açmak istiyorum. Bir kysym mü?teri hesaplaryny manuel açtym ama eksikler var ve 4 bin civary cari kart var. yardymcy olabilirseniz sevinirim.
?imdiden te?ekkürler
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 16 Haziran 2014 Saat 08:46
cari kod'larnyz kaç karakter arada ayraç var my? bir örnek verir misiniz? 4000 sayysyndan bahsediyorsunuz Muhasebede muavin açylyrken klasik xxx-xx-999 de?ilde xxx-xx-9999 ?eklinde olacaktyr. yardymcy olmam için biraz detay gerekir
------------- Mehmet Baykan
|
Mesajı Yazan: fixmod
Mesaj Tarihi: 16 Haziran 2014 Saat 09:10
Günaydyn,
Cari kodlarymyz 6 ve 7 karakterden olu?uyor örne?in 363870 ve 1523504 gibi. Herhangi bir ayraç kullanylmyyor. 120-01-363870 ?eklinde açmak istiyorum.
Te?ekkürler
|
Mesajı Yazan: mbaykan
Mesaj Tarihi: 16 Haziran 2014 Saat 10:42
INSERT INTO TBLMUPLAN (SUBE_KODU, ISLETME_KODU, HESAP_KODU, HS_ADI, HS_GRKOD, HS_BLKZ, CALIS_TIP, CALIS_BAG, UPDATE_KODU, ONAYTIPI, ONAYNUM) SELECT SUBE_KODU, ISLETME_KODU, '120-01-' + CARI_KOD, LEFT(CARI_ISIM,50), '12', 'A', /* 120 LERDE B 320 LERDE A OLUR */ 'B', 'H', 'H', 'X', 'A', 0 FROM TBLCASABIT WHERE CARI_TIP='A' AND M_KOD IS NULL --CARI_TIP='S' ISE CARI_KOD ONUNE '320-01-' + GELIR
INSERT INTO TBLMUPLANEK (KOD) SELECT HESAP_KODU FROM TBLMUPLAN WHERE HESAP_KODU NOT IN (SELECT KOD FROM TBLMUPLANEK)
------------- Mehmet Baykan
|
|