Sayfayı Yazdır | Pencereyi Kapat

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
Wink  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



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