7 Aralık 2011 Çarşamba

Mikro veritabanı üzerinde ihtiyaca göre triger kullanmak.

Mikro veritabanı üzerinde ihtiyaca göre triger kullanmak.
Microsoft SQL Server'da Mikro veritabanına eklenecek triger'ler sayesinde bazı işlemleri kolaylaştırabiliriz.

USE [MikroDB_V14_VERITABANI]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author      : Orhan ÖCAL
-- Create date : 07.12.2011
-- Description : Sipariş fişinde teslim türü boş geçilememesi için kontrol.
-- =============================================
CREATE TRIGGER [dbo].[SiparisTeslimTuruKontrol]
   ON [dbo].[SIPARISLER]
   AFTER INSERT, UPDATE
AS
BEGIN
     DECLARE @sip_teslimturu VARCHAR(25)
     set @sip_teslimturu =''

     SELECT @sip_teslimturu = sip_teslimturu
     FROM inserted
    
     IF @sip_teslimturu = ''
     BEGIN
         RAISERROR('TESLİM TÜRÜ GİRİLMELİDİR!', 16, 1)
         ROLLBACK
     RETURN
     END
END
GO

USE [MikroDB_V14_VERITABANI]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author      : Orhan ÖCAL
-- Create date : 07.12.2011
-- Description : CARI_HESAP_HAREKETLERI tablosunda kayıt sonrası Belge No alanına bilgi yazmak.
-- =============================================
ALTER TRIGGER [dbo].[FaturaOnayKontrol]
   ON [dbo].[CARI_HESAP_HAREKETLERI]
   AFTER INSERT, UPDATE
AS
BEGIN
     DECLARE @cha_RECno int
     SET @cha_RECno = 0

     SELECT @cha_RECno = cha_RECno
     FROM inserted
     WHERE cha_evrak_tip=0 AND cha_cinsi=6 --Toptan fatura
    
     UPDATE dbo.CARI_HESAP_HAREKETLERI
     SET cha_belge_no='ONAYLANMADI'
     WHERE cha_evrak_tip=0 AND cha_RECno=@cha_RECno
END

23 Kasım 2011 Çarşamba

Uzak Masa Üstü (Remote Desktop) Bağlantı Sorunu.

Uzak masa üstü (RDP) ile bağlanman istediğinizde bu mesajı alıyorsanız işte yapmanız gerekenler.

"Yerel bilgisayarın istemci lisansı yükseltilemediğinden veya yenilenemediğinden uzak oturumun bağlantısı kesildi."

Regedit :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\HardwareID] "ClientHWID"=hex:02,00,00,00,23,96,9a,dc,46,d6,42,77,d4,3b,22,83,99,45,fc,a6

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Store]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Store\LICENSE000]

İçlerindeki bilgileri silmek sorunu çözecektir.

29 Eylül 2011 Perşembe

Mikro v14 Kartlarda alanların zorunlu yada standart olarak atanması.

STOK, CARİ vs gibi kartlarda bazı alanların zorunlu olması yada Muhasebe grup kodu olarak yeni açılan tüm stok kartlarına yazsın istiyorsanız. STOKLAR_000_000.ini dosyası içerisinde belirterek çözümler üretebilirsiniz.

"STOKLAR_000_000.ini"
TABLOADI_FİRMA_ŞUBE şeklinde bir yapısının olması firma ve şube bazlı ayırım yapabilmenizide sağlıyor.

"[initials]"
Yeni kayıt açarken gelmesini gereken bilgiler yazılır.

"[restrictions]"
Boş geçilememesi ve zorunlu tutulması gereken alan bilgileri yazılır.

Tablo adlarını kullanarak bu işlemleri tüm kart ve tablolarda kullanabilirsiniz. v12'de SQL üzerinde triger kullanmak gerekirken v14 te daha kolay yapabilirsiniz.

C:\Mikro\v14xx\Firma\Params\STOKLAR_000_000.ini
STOKLAR_000_000.ini

Dosya içeriği.
[initials]
sto_muhgrup_kodu=TCMALLAR
sto_min_stok=100

[restrictions]
sto_anagrup_kod=
sto_altgrup_kod=
sto_yabanci_isim=

17 Ağustos 2011 Çarşamba

TSQL İki tarih arası fark.

DECLARE @ilktar datetime = '2010-01-01 08:15:00.0',
                 @sontar datetime = '2011-08-17 19:00:35.0'

SELECT
     DATEDIFF(YEAR,@ilktar,@sontar)        AS [Yıl]
    ,DATEDIFF(MONTH,@ilktar,@sontar)     AS [Ay]
    ,DATEDIFF(WEEK,@ilktar,@sontar)       AS [Hafta]
    ,DATEDIFF(DAY,@ilktar,@sontar)           AS [Gün]
    ,DATEDIFF(HOUR,@ilktar,@sontar)       AS [Saat]
    ,DATEDIFF(MINUTE,@ilktar,@sontar)    AS [Dakika]
    ,DATEDIFF(SECOND,@ilktar,@sontar)  AS [Saniye]









Kaynak : http://msdn.microsoft.com/en-us/library/ms189794.aspx

10 Ağustos 2011 Çarşamba

LINQ Örnekleri için LINQ Project Sample Query Explorer

LINQ to Objects - LINQ to SQL - LINQ to DataSet - LINQ to XML gibi LINQ örneklere ihtiyacınız olduğunda http://msdn.microsoft.com/en-us/vcsharp/aa336746 kaynaktan faydalanbilirsiniz.

Eğer örnekler yeterli değil daha detaylı örneklere ihtiyacınız olur ise MSDN kaynaklarında C# ve VB için LINQ  Project Sample Query Explorer indirerek daha detaylı örnekleri inceleyebilirsiniz.

http://code.msdn.microsoft.com/LINQ-Sample-Queries-13a42a54


4 Ağustos 2011 Perşembe

AFRİKA’DAKİ KARDEŞLERİMİZİN BİZLERE İHTİYACI VAR

“Her Evden Bir Fitre, Bir İftar Afrika’ya”

Kampanya sayesinde son 60 yılın en büyük kuraklığını yaşayan, açlık ve susuzlukla karşı karşıya kalan Afrikalılara gıda yardımı yapılmış olacak.

http://www.diyanet.gov.tr/turkish/dy/Diyanet-Isleri-Baskanligi-Duyuru-11784.aspx

1. ONLİNE BAĞIŞ
www.diyanetvakfi.org.tr İnternet Adresine girerek online bağış bölümünden ilgili bağış hesabını seçebilirsiniz. (Bu uygulama 1 Ağustos 2011’den itibaren aktif olacaktır)

2. SMS İLE BAĞIŞ (1 SMS 5 TL.’dir.)
    SMS ile Bağışta bulunmak için AFRIKA yaz 5601’e 1 SMS gönder
    SMS ile Fitrenizi vermek için AFRIKA yaz 5601’e 2 SMS gönder


3. BANKA HESAP NUMARALARIMIZA havale ve EFT yöntemiyle

http://www.diyanet.gov.tr/turkish/dy/Diyanet-Isleri-Baskanligi-Duyuru-11784.aspx

19 Temmuz 2011 Salı

LINQ To SQL LIKE Operatörü kullanımı

Linq to SQL Like operatörü kullanılması.
Verilen kriter ile başlayan. StartsWith("01KS") 
var isMerkezleri = from mr in mye.IS_MERKEZLERIs
                   where mr.IsM_Kodu.StartsWith("01KS")
                   orderby mr.IsM_Aciklama
                   select new
                   {
                       mr.IsM_Kodu,
                       mr.IsM_Aciklama
                   };
Verilen kriter ile biten. EndsWith("01") 
var isMerkezleri = from mr in mye.IS_MERKEZLERIs
                   where mr.IsM_Kodu.EndsWith("01")
                   orderby mr.IsM_Aciklama
                   select new
                   {
                       mr.IsM_Kodu,
                       mr.IsM_Aciklama
                   };
Verilen kriter ile içerisinde geçen. Contains("KS") 
var isMerkezleri = from mr in mye.IS_MERKEZLERIs
                   where mr.IsM_Kodu.EndsWith("KS")
                   orderby mr.IsM_Aciklama
                   select new
                   {
                       mr.IsM_Kodu,
                       mr.IsM_Aciklama
                   };

7 Haziran 2011 Salı

VMware Workstation Üzerindeki Sanal Makinenin Disk Boyutunu Büyütmek

Bazen ihtiyacımız olabilen basit ama önemli bilgilerden;

Command Prompt 'u açıp VMware kurulu olduğu "C:\Program Files (x86)\VMware\VMware Workstation\" dizini buluyoruz. Çalıştırmamız gereken uygulama dosyası "vmware-vdiskmanager.exe" dir.

"-x 15GB" parametresi ile istenilen boyut girilerek disk genişletilebiliyor.

C:\Program Files (x86)\VMware\VMware Workstation>vmware-vdiskmanager.exe -x 15GB
 "E:\Virtual Machines\Windows XP\Windows XP Professional-cl3.vmdk"



Son olarak genişleyen disk alanını işletim sisteminde kullanılabilir hale getirmek gerekiyor.
Command Prompt açarak aşağıdaki komutları ile disk kapasitesini arttırmış olacağız.

diskpart
select volume 0
extend

Eğer işlem başarısız mesajı alırsanız Partition Manager programlarından bulup diski "resize" kapasitesini arttırbilirsiniz.

Dosya boyutunu küçültmek için converter;
http://www.vmware.com/products/converter/