<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://docs.mikromax.com.tr/blog</id>
    <title>mmx-erp Documentation Blog</title>
    <updated>2026-06-18T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://docs.mikromax.com.tr/blog"/>
    <subtitle>mmx-erp Documentation Blog</subtitle>
    <icon>https://docs.mikromax.com.tr/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Yeni Özellik: Özel Tetikleyicilerde Script Desteği]]></title>
        <id>https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu</id>
        <link href="https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu"/>
        <updated>2026-06-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[MMX ERP'nin Özel Tetikleyici (Custom Trigger) sistemi yeniden tasarlandı. Artık harici bir HTTP adresi çağırmanın yanı sıra doğrudan sistem içinde JavaScript kodu çalıştırabilirsiniz. Bu yenilik; doğrulama kuralları, otomatik kayıt oluşturma ve iş akışı kontrolleri gibi senaryoları API bağımlılığı olmadan gerçekleştirmeyi mümkün kılıyor.]]></summary>
        <content type="html"><![CDATA[<p>MMX ERP'nin Özel Tetikleyici (Custom Trigger) sistemi yeniden tasarlandı. Artık harici bir HTTP adresi çağırmanın yanı sıra <strong>doğrudan sistem içinde JavaScript kodu çalıştırabilirsiniz</strong>. Bu yenilik; doğrulama kuralları, otomatik kayıt oluşturma ve iş akışı kontrolleri gibi senaryoları API bağımlılığı olmadan gerçekleştirmeyi mümkün kılıyor.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="ne-değişti">Ne Değişti?<a href="https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu#ne-de%C4%9Fi%C5%9Fti" class="hash-link" aria-label="Ne Değişti? doğrudan bağlantı" title="Ne Değişti? doğrudan bağlantı" translate="no">​</a></h2>
<p>Önceki sistemde bir tetikleyici yalnızca bir API adresine (endpoint) çağrı yapabiliyordu. Zamanlama seçenekleri de yalnızca "bitiş öncesi" ve "bitiş sonrası" olarak ayrılmıştı.</p>
<p>Yeni sistemde tetikleyiciler iki türe ayrılıyor:</p>
<ul>
<li class=""><strong>API Tetikleyici</strong>: Belirtilen HTTP adresine çağrı yapar. Önceki davranışa yakın; harici sistemlere bildirim göndermek için idealdir.</li>
<li class=""><strong>Script Tetikleyici</strong>: Sistem içinde JavaScript kodu çalıştırır. Veritabanı sorguları yapabilir, veri doğrulayabilir, kayıt ekleyebilir.</li>
</ul>
<p>Bunun yanı sıra üç ayrı zamanlama seçeneği sunuluyor: <strong>Öncesi</strong>, <strong>Sonrası</strong> ve <strong>Yerine</strong> (yalnızca API tetikleyicilerinde).</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="script-tetikleyicileriyle-neler-yapabilirsiniz">Script Tetikleyicileriyle Neler Yapabilirsiniz?<a href="https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu#script-tetikleyicileriyle-neler-yapabilirsiniz" class="hash-link" aria-label="Script Tetikleyicileriyle Neler Yapabilirsiniz? doğrudan bağlantı" title="Script Tetikleyicileriyle Neler Yapabilirsiniz? doğrudan bağlantı" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="i̇ş-kuralı-doğrulama">İş Kuralı Doğrulama<a href="https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu#i%CC%87%C5%9F-kural%C4%B1-do%C4%9Frulama" class="hash-link" aria-label="İş Kuralı Doğrulama doğrudan bağlantı" title="İş Kuralı Doğrulama doğrudan bağlantı" translate="no">​</a></h3>
<p>Bir sipariş oluşturulmadan önce müşterinin kredi limitini kontrol edebilir, yetersiz bakiye durumunda işlemi durdurabilirsiniz. Bunu yapmak için artık ayrı bir servis yazmanıza gerek yok; tetikleyici ekranından birkaç satır JavaScript yeterli.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="otomatik-kayıt-oluşturma">Otomatik Kayıt Oluşturma<a href="https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu#otomatik-kay%C4%B1t-olu%C5%9Fturma" class="hash-link" aria-label="Otomatik Kayıt Oluşturma doğrudan bağlantı" title="Otomatik Kayıt Oluşturma doğrudan bağlantı" translate="no">​</a></h3>
<p>Bir komut başarıyla tamamlandıktan sonra ilgili tablolara otomatik veri ekleyebilirsiniz. Örneğin bir sipariş oluşturulduğunda stok rezervasyon kaydı otomatik olarak yazılabilir.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="zincirleme-tetikleyiciler">Zincirleme Tetikleyiciler<a href="https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu#zincirleme-tetikleyiciler" class="hash-link" aria-label="Zincirleme Tetikleyiciler do�ğrudan bağlantı" title="Zincirleme Tetikleyiciler doğrudan bağlantı" translate="no">​</a></h3>
<p>Aynı komuta birden fazla tetikleyici tanımlanabilir ve bunların çalışma sırası <strong>Sıra (Order)</strong> alanıyla belirlenir. Öncesi (Before) tetikleyicilerde ilk hata zinciri durdurur; böylece işlem güvenli bir şekilde kontrol altına alınır.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="diğer-yenilikler">Diğer Yenilikler<a href="https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu#di%C4%9Fer-yenilikler" class="hash-link" aria-label="Diğer Yenilikler doğrudan bağlantı" title="Diğer Yenilikler doğrudan bağlantı" translate="no">​</a></h2>
<ul>
<li class=""><strong>Aktif/Pasif Yönetimi</strong>: Bir tetikleyiciyi silmeden devre dışı bırakabilirsiniz. Test ortamlarında veya geçici olarak kapatılması gereken kurallarda kullanışlıdır.</li>
<li class=""><strong>Açıklama Alanı</strong>: Her tetikleyiciye bir açıklama eklenebilir; böylece ekip içi anlaşılabilirlik artar.</li>
<li class=""><strong>Tüm komutlar tetiklenebilir</strong>: Artık tetikleyici eklemek için özel bir yapılandırma gerekmez; sistemdeki tüm komutlar tetikleyici almaya uygundur.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="mevcut-tetikleyiciler-hakkında">Mevcut Tetikleyiciler Hakkında<a href="https://docs.mikromax.com.tr/blog/ozel-tetikleyici-script-duyurusu#mevcut-tetikleyiciler-hakk%C4%B1nda" class="hash-link" aria-label="Mevcut Tetikleyiciler Hakkında doğrudan bağlantı" title="Mevcut Tetikleyiciler Hakkında doğrudan bağlantı" translate="no">​</a></h2>
<p>Bu güncellemeyle birlikte tetikleyici veri yapısı değiştirildi. <strong>Eski <code>BeforeEndPoint</code>, <code>AfterEndPoint</code> ve <code>InsteadEndPoint</code> alanlarının yerini <code>Timing</code>, <code>Kind</code> ve <code>EndPoint</code> alanları aldı.</strong> Mevcut tetikleyicilerinizi yeni yapıya göre güncellemeniz gerekmektedir.</p>
<hr>
<p>Ayrıntılı kullanım kılavuzu ve örnek script'ler için <a class="" href="https://docs.mikromax.com.tr/docs/CustomTrigger">Özel Tetikleyici dokümantasyonunu</a> inceleyebilirsiniz.</p>]]></content>
        <author>
            <name>MMX ERP Ekibi</name>
            <uri>https://mikromax.com.tr</uri>
        </author>
        <category label="Yeni Özellik" term="Yeni Özellik"/>
        <category label="tetikleyici" term="tetikleyici"/>
        <category label="otomasyon" term="otomasyon"/>
        <category label="Güncelleme" term="Güncelleme"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Yeni Özellik: Özel SQL Araçları (Custom SQL Tools)]]></title>
        <id>https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu</id>
        <link href="https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu"/>
        <updated>2026-06-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[MMX ERP'ye yeni bir güçlü özellik eklendi: Özel SQL Araçları (Custom SQL Tool). Bu özellik sayesinde yöneticiler, arama editörlerine özel SQL sorguları bağlayarak kullanıcılara bağlamsal veri sorgulama imkânı sunabilir.]]></summary>
        <content type="html"><![CDATA[<p>MMX ERP'ye yeni bir güçlü özellik eklendi: <strong>Özel SQL Araçları (Custom SQL Tool)</strong>. Bu özellik sayesinde yöneticiler, arama editörlerine özel SQL sorguları bağlayarak kullanıcılara bağlamsal veri sorgulama imkânı sunabilir.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="özel-sql-araçları-nedir">Özel SQL Araçları Nedir?<a href="https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu#%C3%B6zel-sql-ara%C3%A7lar%C4%B1-nedir" class="hash-link" aria-label="Özel SQL Araçları Nedir? doğrudan bağlantı" title="Özel SQL Araçları Nedir? doğrudan bağlantı" translate="no">​</a></h2>
<p>Özel SQL Araçları, kullanıcıların <code>BankSearch</code>, <code>ItemSearch</code>, <code>CustomerWithAccountsSearch</code> gibi arama editörlerine özel SELECT sorguları tanımlamasına olanak tanır. Bir sayfada bu editörlerden biri yüklendiğinde, kullanıcının rolüne göre yetkili tanımlı sorgular varsa editörün yanında mavi bir veritabanı ikonu görünür. İkona tıklandığında, editörün mevcut değeri <code>@Id</code> parametresi olarak kullanılarak SQL sorgusu çalıştırılır ve sonuçlar bir popup grid'de gösterilir.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="temel-özellikler">Temel Özellikler<a href="https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu#temel-%C3%B6zellikler" class="hash-link" aria-label="Temel Özellikler doğrudan bağlantı" title="Temel Özellikler doğrudan bağlantı" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="rol-tabanlı-erişim-whitelist-modeli">Rol Tabanlı Erişim (Whitelist Modeli)<a href="https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu#rol-tabanl%C4%B1-eri%C5%9Fim-whitelist-modeli" class="hash-link" aria-label="Rol Tabanlı Erişim (Whitelist Modeli) doğrudan bağlantı" title="Rol Tabanlı Erişim (Whitelist Modeli) doğrudan bağlantı" translate="no">​</a></h3>
<p>Erişim tamamen <strong>rol tabanlı</strong> olarak yönetilir. Bir tanım en az bir role atanmadıkça hiçbir kullanıcı tarafından görülemez. Bu yaklaşım sayesinde hassas verilerin yalnızca yetkili kullanıcılara gösterilmesi güvence altına alınır.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="kolay-tanım-yönetimi">Kolay Tanım Yönetimi<a href="https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu#kolay-tan%C4%B1m-y%C3%B6netimi" class="hash-link" aria-label="Kolay Tanım Yönetimi doğrudan bağlantı" title="Kolay Tanım Yönetimi doğrudan bağlantı" translate="no">​</a></h3>
<p><code>/CustomSqlTool</code> adresindeki yönetici sayfasından:</p>
<ul>
<li class="">Yeni tanımlar oluşturabilir,</li>
<li class="">Hangi arama editörüne bağlanacağını belirleyebilir,</li>
<li class="">SELECT veya CTE (<code>WITH</code>) sorgusu yazabilir,</li>
<li class="">Tanıma erişebilecek rolleri yapılandırabilirsiniz.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="akıllı-kullanıcı-deneyimi">Akıllı Kullanıcı Deneyimi<a href="https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu#ak%C4%B1ll%C4%B1-kullan%C4%B1c%C4%B1-deneyimi" class="hash-link" aria-label="Akıllı Kullanıcı Deneyimi doğrudan bağlantı" title="Akıllı Kullanıcı Deneyimi doğrudan bağlantı" translate="no">​</a></h3>
<ul>
<li class="">Bir editöre yalnızca <strong>tek tanım</strong> atanmışsa, ikona tıklandığında sorgu doğrudan çalıştırılır.</li>
<li class=""><strong>Birden fazla tanım</strong> varsa, açıklama metinlerini içeren bir açılır menü gösterilir.</li>
<li class="">Sorgu sonuçları anlık olarak veritabanından çekilir.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="güvenlik">Güvenlik<a href="https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu#g%C3%BCvenlik" class="hash-link" aria-label="Güvenlik doğrudan bağlantı" title="Güvenlik doğrudan bağlantı" translate="no">​</a></h2>
<ul>
<li class="">Yalnızca <code>SELECT</code> ve <code>WITH</code> (CTE) sorguları kabul edilir. <code>INSERT</code>, <code>UPDATE</code>, <code>DELETE</code> ve benzeri komutlar yasaktır.</li>
<li class=""><code>@Id</code> parametresi her zaman <strong>parametric query</strong> olarak çalıştırılır; SQL injection riski yoktur.</li>
<li class="">Tanım oluşturma ve rol yetkilendirmesi yalnızca yetkili yöneticilere aittir.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="yöneticiler-için-önemli-not">Yöneticiler için Önemli Not<a href="https://docs.mikromax.com.tr/blog/ozel-sql-araclari-duyurusu#y%C3%B6neticiler-i%C3%A7in-%C3%B6nemli-not" class="hash-link" aria-label="Yöneticiler için Önemli Not doğrudan bağlantı" title="Yöneticiler için Önemli Not doğrudan bağlantı" translate="no">​</a></h2>
<p>Sistem güncellemesinin ardından <strong>mevcut tüm tanımlara</strong> uygun rollerin atanması gerekmektedir. Rol atanmamış tanımlar whitelist modeli gereği tüm kullanıcılardan otomatik olarak gizlenir.</p>
<hr>
<p>Daha fazla bilgi ve adım adım kullanım kılavuzu için <a class="" href="https://docs.mikromax.com.tr/docs/CustomSqlTool">Özel SQL Araçları dokümantasyonunu</a> inceleyebilirsiniz.</p>]]></content>
        <author>
            <name>MMX ERP Ekibi</name>
            <uri>https://mikromax.com.tr</uri>
        </author>
        <category label="Yeni Özellik" term="Yeni Özellik"/>
        <category label="SQL" term="SQL"/>
        <category label="Güncelleme" term="Güncelleme"/>
    </entry>
</feed>