Tuesday, October 23, 2012

Lobject Web kullanımında hata - Retrieving the COM class factory for component with CLSID {72DB412A-6BF5-4920-A002-.......} failed due to the following error: 80070005.


Logo entegrasyonlu bir web proje oluşturup Server 2003'e publish ettikten sonra yukarıdaki hatayı alabilirsiniz. Localinizde çalışan proje (Logo Object) server'a attığınızda çalışmıyorsa büyük ihtimalle DCOM yetkilendirme ayarlarındandır.

Bunu düzeltmek için DCOM üzerindeki Lobjects.exe dosyasına full erişim için ASP.NET kullanıcısına yetki (Server 2003'te "Network Service" kullanıcısı olmalı) vermelisiniz.




Tuesday, October 16, 2012

Tiger/Unity Hareket Özel Kodu Kontrol ve create işlemi

Tiger veya Unity üzerinde yapılan her türlü fişin satırlarında (Satınalma Sipariş, İrsaliye, Fatura, Malzeme Hareketi vs) "Hareket Özel Kodu" alanı bulunur.

Entegre bir sistem kurduğunuzda birbirinden bağımsız kurgulanan "Hareket Özel Kodları"'nın aynı kayıtlardan oluşabilmesi için bir Stored Procedure (SP) hazırladım. Amaç, Malzeme Fişi satırında açılan hareket özel kodunun tüm girişlerde görülmesini sağlamak. Aşağıdaki SP'yi, SQL Server üzerinde bir JOB'a bağlarsanız Hareket özel kodlarını sürekli güncel tutabilirsiniz.


Stored Procedure Kodu: 

Operation is not valid due to the current state of the object.

ASP.NET üzerinde AjaxcontrolToolkit kullandıysanız, kullandığınız ekranda postback yapılırken "Operation is not valid due to the current state of the object.hatasını alabilirsiniz. Bunu önlemenin yolu .NET frameworkteki MaxHttpCollection ayarını değiştirmekten geçiyor. Web config dosyasına aşağıdaki satırları ilave ettiğinizde sorun düzelecektir.



Web Config üzerinde eklemeniz gereken satır:

< appSettings>
     key="aspnet:MaxHttpCollectionKeys" value="2001"/ >
 < /appSettings>

Hata Ekranı:





Tuesday, October 2, 2012

Excel GÜN360/DAYS360 benzeri Datediff360 Javascript fonksiyonu

Excel'deki GÜN360/DAYS formülü ile yapılan fonksiyonun Javascript kodu aşağıdaki fonksiyon ile kullanılabilir. (DATEDIFF360)


JavaScript Kodu:

function Datefark360( dtIlkTarih, dtSonTarih ) {
  var fark = [
               dtSonTarih.getFullYear() - dtIlkTarih.getFullYear(),
               dtSonTarih.getMonth()    - dtIlkTarih.getMonth(),
               dtSonTarih.getDate()     - dtIlkTarih.getDate(),
               dtSonTarih.getHours()    - dtIlkTarih.getHours(),
               dtSonTarih.getMinutes()  - dtIlkTarih.getMinutes(),
               dtSonTarih.getSeconds()  - dtIlkTarih.getSeconds()
             ];
  var carpan = [ 12, 31, 24, 60, 60 ];
  carpan[ 1 ] = ( new Date( dtSonTarih.getFullYear(), dtSonTarih.getMonth(), 0 ) ).getDate();

  for ( var i = fark.length - 1; i > -1; i-- ) {
    if ( fark[ i ] < 0 ) {
      if ( i > -1 ) {
        var j = i - 1;
        fark[ i ] += carpan[ j ];
        fark[ j ]--;
      } else {
        alert( 'Negatif Yıl: ' + fark[ 0 ] );
      }
    }
  }
  return fark[ 0 ] * 360 + fark[ 1 ] * 30 + fark[ 2 ];
}