ERP Nedir? Enterprise Resource Planning nasıl çalışır? İş süreçleri ile ilgili tüm soru ve cevapları ERPNe.org'da.
Ülkemizde hızla gelişmekte olan ERP yazılım sektörümüzün, Yerli ve Yabancı ERP işlemlerinin tanıtımı ve kullanıcılarının buluşma noktası olması hedefiyle kurulan sitemize hoş geldiniz. Ülkemizdeki Ne.org konseptinde bir ilk olarak yayın hayatına başlayan ERPNe.org, Kurumsal Kaynak Planlaması yazılımlarını kullananların bilgi kaynağı/Portal olmak amacı ile kurulmuştur. Genellikle yurt dışında büyük üreticiler tarafından geliştirilen SQL, Delphi, ASP, CSharp gibi teknolojilerin anlatıldığı sitelerin kullandıkları (WhatisSQL, WhatisASP) (Ülkemizde Netsis Nedir, Mikro Nedir, SAP Nedir yada Logo Nedir gibi kullanıcı sorularına) Ne ve nedir konseptinde yeni bir açılım olmasını da hedefleyen ERPNe.ORG' un, ülkemizin uluslararası ERP sektörü içinde hak ettiği yeri almasında ve ERP ürünlerini kullananların bir araya gelerek Yerli ERP'nin gelişmesine katkı sağlayacakları önemli bir kilometre taşı olacağı düşüncesindeyiz. |
e-faturada yazı ile dövizli tutarın yazılması |
Yanıt Yaz |
Yazar | |
aykuty
Yeni Üye Kayıt Tarihi: 05 Ağustos 2019 Konum: ankara Durum: Aktif Değil Puanlar: 5 |
Mesaj Seçenekleri
Teşekkürler(0)
Gönderim Zamanı: 18 Şubat 2020 Saat 13:56 |
Merhaba,
e-fatura tasarımında yazı ile tl tutarı getiriyoruz fakat dövizli tutarı yazabilecek bir etiket bulamadım. Yanlız: Yüz USD oniki CENT şeklinde usd/ euro için yazdırmak istiyoruz. bunun için bir etiket var mı? hazır taglar dışında ekranda fonksiyon ve sql kullanımınada ezin verilmiş ama bu alanların nasıl kullanılacağının çözemedim. faturanın inckeyini parametre olarak verebileceğim bir fonksiyu burada kullanabiirsem bu yazdırma işlemini orada yapabilirim. yardımcı olursanız sevinirim. teşekkürler |
|
mbaykan
Kidemli Üye Kayıt Tarihi: 06 Nisan 2007 Konum: izmir Durum: Aktif Değil Puanlar: 1181 |
Mesaj Seçenekleri
Teşekkürler(0)
|
1085 veya 1086 yazı ile döviz tutarı alanı olacaktı
--------------- 12.345,67 usd diyelim, sonuç (2 ondalığa göre) ONİKİMİLYONBİNÜÇYÜZKIRKBEŞ,ALTMIŞYEDİ şeklinde dönüyor SQL REPLACE(x,'MİLYON','') fonksiyonu ile fazlalık MİLYON'u silersiniz Düzenleyen mbaykan - 18 Şubat 2020 Saat 19:53 |
|
Mehmet Baykan
|
|
Conari
Kidemli Üye Kayıt Tarihi: 04 Mayıs 2007 Konum: YSTANBUL Durum: Aktif Değil Puanlar: 3513 |
Mesaj Seçenekleri
Teşekkürler(0)
|
sql seçip,
"DÖVİZ TUTARI/ YALNIZ, "+VT_Karekter({1098}) araya para birimi eklemek için sonucu parçalamanız lazım.
Düzenleyen Conari - 20 Şubat 2020 Saat 17:20 |
|
Netsisden vazgeçemiyorum. Beni engelliyor..
|
|
aykuty
Yeni Üye Kayıt Tarihi: 05 Ağustos 2019 Konum: ankara Durum: Aktif Değil Puanlar: 5 |
Mesaj Seçenekleri
Teşekkürler(0)
|
teşekkürler. sql tipini kullanıp aşağıdaki şekilde hazırladığımız fonksiyonu çağırdım. Bu arada efatura dizayn kısmında koşulları hiç bir şekilde çalıştıramadım. o yüzden koşuluda sql den yaptım. Yanlız bu işlem faturanın dövizli olup olmamasına göre çalışıyor. yani dövizli bir faturayı tl almak isterseniz bile aşağıda döviz tutarı yazacaktır. Eğer sistemin başta sorduğu sorunun cevabını test edebilirsem çok daha sağlıklı çalışacaktı ama yöntemini bulamadım. şimdilik döviz için ayrı bir tasarım oluşturup aşağıdaki şekilde yazdırdım. Dövizli mi tl mi almak istiyorsunuz sorunun cevabını nasıl kontrol edebileceğimi bilen varsa paylaşırsa sevinirim. Tasarımdaki SQL: case when isnull( VT_Sayisal({1039}),0) > 0 then XXX2020.DBO.XXX_AY_YAZIYA_CEVIR( VT_Sayisal({1040}), VT_Karekter({1053}) ) else XXX2020.DBO.XXX_AY_YAZIYA_CEVIR( VT_Sayisal({1035}), 'TL' ) end tutarı para birimine göre yazı ile yazan fonksiyom: CREATE FUNCTION [dbo].[XXX_AY_YAZIYA_CEVIR] (@sayi Nvarchar(20), @KUR Nvarchar(20) = 'TL' ) RETURNS VARCHAR(250) AS BEGIN declare @yazi Nvarchar(250) = '' declare @yazi1 Nvarchar(250) = '' declare @index tinyint declare @indexVirgul tinyint declare @indexNokta tinyint declare @kurAna Nvarchar(16) = '' declare @kurKusur Nvarchar(16) = '' begin select @indexVirgul = CHARINDEX(',',@sayi) end begin select @indexNokta = CHARINDEX('.',@sayi) end if @indexVirgul > 0 and @indexNokta > 0 begin return ('HATA! Virgül ve noktanın birlikte kullanımı desteklenmiyor!') end select @index = (case when @indexVirgul > 0 then @indexVirgul when @indexNokta > 0 then @indexNokta else 0 end) if upper(@KUR) = 'TL' OR upper(@KUR) = 'YTL' begin SET @kurAna = 'TL' SET @kurKusur = 'KURUŞ' end else if upper(@KUR) = 'USD' begin SET @kurAna = 'DOLAR' SET @kurKusur = 'CENT' end else if upper(@KUR) = 'EUR' OR upper(@KUR) = 'EURO' begin SET @kurAna = 'EURO' SET @kurKusur = 'CENT' end else if upper(@KUR) = 'GBP' begin SET @kurAna = 'STERLIN' SET @kurKusur = 'POUND' end if @index > 0 begin set @sayi += '0000000' select @yazi = dbo.XXX_AY_YAZIYA_CEVIR_ISLEM(CONVERT(INT,SUBSTRING(@sayi,0,@index)),1)+' '+@kurAna --print CONVERT(INT,SUBSTRING(@sayi,0,@index)) --if CONVERT(INT,SUBSTRING(@sayi,0,@index)) > 0 --begin select @yazi1 = dbo.XXX_AY_YAZIYA_CEVIR_ISLEM(CONVERT(INT,SUBSTRING(@sayi,@index+1,2)),1)+' '+@kurKusur --end end else begin select @yazi = dbo.XXX_AY_YAZIYA_CEVIR_ISLEM(CONVERT(INT,@sayi),1)+' '+@kurAna end if (ltrim(rtrim(@yazi)) = @kurAna) set @yazi = 'SIFIR '+ltrim(@yazi) if (ltrim(rtrim(@yazi1)) = @kurKusur) set @yazi1 = ''/*'SIFIR '+ltrim(@yazi1)*/ set @yazi = ltrim(rtrim(@yazi+' '+@yazi1)) return (@yazi) END Sayıyı yazıya çeviren foksiyon.db de tanımlı: CREATE function [dbo].[XXX_AY_YAZIYA_CEVIR_ISLEM]( @sayi bigint ,@buyukharf INT = 1 ) returns nvarchar(max) begin declare @yaziilesayi nvarchar(max) set @yaziilesayi = N'' declare @sayivarchar varchar(100) set @sayivarchar = cast(@sayi as varchar(100)) declare @toplambasamak smallint set @toplambasamak = len(@sayivarchar) declare @basamak smallint declare @rakam tinyint declare @i smallint set @i = 0 while @i < @toplambasamak begin set @basamak = @toplambasamak - @i set @i = @i + 1 -- sıra ile soldan başlayarak rakamları oku set @rakam = substring(@sayivarchar, @i, 1) select @yaziilesayi = @yaziilesayi + -- rakamın basamak değeri gözönüne alınarak metin oluşturuluyor case @rakam when 0 then N'' when 1 then case @basamak % 3 when 0 then N'yüz' when 2 then N'on' when 1 then case when @toplambasamak = 4 and @i = 1 then N'' else case when @i = @toplambasamak then N'bir' else case when substring(@sayivarchar, @i-2, 2) = '00' then N'' else N'bir' end end end end when 2 then case @basamak % 3 when 0 then N'iki yüz' when 2 then N'yirmi' when 1 then N'iki' end when 3 then case @basamak % 3 when 0 then N'üç yüz' when 2 then N'otuz' when 1 then N'üç' end when 4 then case @basamak % 3 when 0 then N'dört yüz' when 2 then N'kırk' when 1 then N'dört' end when 5 then case @basamak % 3 when 0 then N'beş yüz' when 2 then N'elli' when 1 then N'beş' end when 6 then case @basamak % 3 when 0 then N'altı yüz' when 2 then N'altmış' when 1 then N'altı' end when 7 then case @basamak % 3 when 0 then N'yedi yüz' when 2 then N'yetmiş' when 1 then N'yedi' end when 8 then case @basamak % 3 when 0 then N'sekiz yüz' when 2 then N'seksen' when 1 then N'sekiz' end when 9 then case @basamak % 3 when 0 then N'dokuz yüz' when 2 then N'doksan' when 1 then N'dokuz' end end + space(1) + case @basamak when 4 then case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'bin' end when 7 then case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'milyon' end when 10 then case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'milyar' end when 13 then case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'trilyon' end when 16 then case when substring(reverse(@sayivarchar), @basamak, 3) = '000' then N'' else N'katrilyon' end else N'' end + space(1) end -- Çevrim sırasında oluşabilecek fazla SPACE karakterleri temizleniyor set @yaziilesayi = ltrim(rtrim(@yaziilesayi)) WHILE REPLACE(@yaziilesayi, space(2), space(1)) <> @yaziilesayi BEGIN SELECT @yaziilesayi = DBO.TRK(REPLACE(@yaziilesayi, space(2), space(1))) END -- Metin büyük harflerle isteniyorsa UPPER fonksiyonu kullanılıyor if @buyukharf = 1 set @yaziilesayi = DBO.TRK(UPPER(@yaziilesayi collate turkish_ci_as)) -- sayının yazı ile ifadesini içeren değişken döndürülüyor return @yaziilesayi end |
|
Yanıt Yaz | |
Tweet
|
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |