NetOpenX (COM)
NetOpenX, Netsis'in kart ve belgelerini program dışından, Netsis iş kurallarını uygulayarak eklemek, okumak, değiştirmek ve silmek için sunduğu COM kütüphanesidir. Dosya adı NetOpenX50.dll'dir ve her Netsis setiyle birlikte TEMELSET (9.x'te ENTERPRISE9) klasöründe gelir. Ayrı bir kurulum programı yoktur.
NetOpenX ile yazılan bir fatura, Netsis ekranından girilmiş gibi davranır: numara verilir, stok ve cari hareketleri oluşur, bakiyeler güncellenir, muhasebe entegrasyonu hazırlanır.
NetOpenX REST de arka planda bu kütüphaneyi kullanır. Nesne ve alan adları (
FatUst,STra_GCMIK,KDV_DAHILMI…) iki tarafta büyük ölçüde aynıdır.
Gereksinimler
- Netsis kurulu bir Windows makinesi (istemci ya da sunucu). NetOpenX, Netsis'in kendi DLL'lerini ve veritabanı bağlantı katmanını kullanır.
- NetOpenX Runtime lisansı. Lisans Netsis Merkezi Kimlik Yönetimi'nden (SSO) indirilmiş olmalıdır. Geliştirme lisansı Logo çözüm ortağı üzerinden alınır.
- .NET Framework 4.x (örnekler 4.7.2 ve 4.8 ile yazıldı) ya da COM çağırabilen herhangi bir dil (VB6, VBScript, Delphi, Python
win32com…). - Kullanılan DLL ile veritabanının aynı Netsis sürümünde olması. Sürüm farkı, alan eksikliği ya da bağlantı hatası olarak döner.
Kurulum (DLL'i register etmek)
Netsis sürümüne uygun
NetOpenX50.dll'in yerini bulun (ör.C:\NETSIS\ENTERPRISE9\ya da...\TEMELSET\).Kolay yol: Netsis kurulum klasöründeki
ENTERPRISE9\Servis\RegControl.exe'yi yönetici olarak çalıştırın. Netsis bileşenlerini toplu register eder.Elle: yönetici komut isteminde:
regsvr32 "C:\NETSIS\ENTERPRISE9\NetOpenX50.dll" rem kaldırmak için regsvr32 /u "C:\NETSIS\ENTERPRISE9\NetOpenX50.dll"Visual Studio'da Add Reference → COM sekmesinden
NetOpenX50kütüphanesini ekleyin. Listede yoksa ya da farklı bir yol/sürüm gösteriyorsa DLL yanlış register edilmiştir.
.csproj içinde referans şöyle görünür:
<COMReference Include="NetOpenX50">
<Guid>{184B0A14-1416-44D7-978C-DECC4FC09693}</Guid>
<VersionMajor>5</VersionMajor>
<VersionMinor>0</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
Basım ve e-belge HTML'i gibi işlerde ek olarak NetBasimX kütüphanesi de referans edilebilir.
32 / 64 bit
Netsis istemcisi ve NetOpenX50.dll 32 bit'tir. .NET projesini x86 hedefiyle ya da AnyCPU + Prefer 32-bit ile derleyin. 64 bit süreçten çağrılırsa COM sınıfı bulunamaz (REGDB_E_CLASSNOTREG, "Class not registered"). IIS'te barındırıyorsanız uygulama havuzunda Enable 32-Bit Applications açık olmalıdır.
Nesne modeli
Kernel giriş noktası; diğer nesneleri üretir
├─ yeniSirket(...) → Sirket şirkete (veritabanına) oturum
├─ yeniFatura(sirket, TFaturaTip) → Fatura
│ ├─ Ust() → FatUst belge başlığı
│ ├─ kalemYeni(stok)→ FatKalem yeni satır
│ ├─ get_Kalem(i) → FatKalem mevcut satır (okumada; VB'de Kalem(i))
│ └─ EIrsaliyeEkYeni() → IEIrsEkBilgi e-irsaliye taşıma bilgisi
├─ yeniCari(sirket) → Cari
├─ yeniStok(sirket) → Stok (TemelBilgi(), EkBilgi())
├─ yeniEBelge(sirket, TEBelgeTip) → EBelge
├─ yeniKasa, yeniDekont, yeniCekSenAna, yeniFis, yeniIsEmri, yeniUretim, yeniNetRS, yeniBasim …
├─ Version, SirketListesi, SonNetsisHata
└─ FreeNetsisLibrary() kaynakları bırakır
40'tan fazla fabrika metodunun tam listesi: Nesne kataloğu.
Sayfalar:
- Nesne kataloğu: tüm
kernel.yeni…nesneleri veSirketüzerindeki işlemler. - Bağlantı ve kaynak yönetimi:
Kernel,Sirket,try/finallyşablonu. - Fatura ve irsaliye:
Fatura,FatUst,FatKalemile belge kaydı, okuma, silme. - Belge dönüşümleri: sipariş → irsaliye/fatura, irsaliye → fatura, numara değiştirme.
- Depo ve ambar fişleri: depolar arası transfer, ambar giriş/çıkış.
- Cari ve stok: kart oluşturma, okuma, silme.
- E-belge: e-fatura, e-arşiv, e-irsaliye taslağı ve görüntüleme.
- Diğer işlemler: hesaplama, TCMB banka kodları, talep/teklif okuma.
- NetRS ve transaction: oturum üzerinden SQL,
NetsisTransaction. - Enum'lar:
TFaturaTip,TFaturaTipi,TEBelgeTip… - Hatalar ve sorun giderme.
Adlandırma alışkanlıkları
- Metotlar Türkçe ve küçük harfle başlar:
yeniSirket,kayitYeni,kayitOku,kayitSil,kayitDuzelt. - Bazı metotlar büyük harfle başlar:
Ust(),OkuUst(),OkuKalem(),YeniNumara(),NumaraDegistir(),Siparis2IrsFat(),Irsaliye2Fatura(),HesaplamalariYap(). - Özellik adları veritabanı kolonlarına yakındır ama birebir değildir:
FatUst.CariKod→TBLFATUIRS.CARI_KODU;FatKalem.STra_GCMIK→TBLSTHAR.STHAR_GCMIK;FatUst.EKACK1→TBLFATUEK.ACIK1. - Enum'lar
Tönekiyle başlar:TFaturaTip,TVTTipi,TOkumaTipi.