Skip to main content
Netsis Developer Network

B2B Developer's Blog

Go Search
Home
  

B2B Developer's Blog
B2B'de kullanıcıya özel cari rehber
B2B portalında yer alan cari rehberler, login olan kullanıcıya göre özelleştirilebilmektedir. B2B altyapısı, bunun için Netsis'in windows tarafında tanımlanan kısıtları dikkate alarak çalışmaktadır.
 
Windows uygulamasında "ENetsis Kullanıcı Cari Kısıtları" ekranı ( Genel --> Yardımcı Programlar --> Kayıt --> E-Netsis.Net --> E-Netsis Kullanıcı Cari Kısıtları ) kullanılarak tanımlanan kısıtlar doğrultusunda, B2B tarafında cari rehbere filtreleme uygulanır.

 

B2B Güncelleme Adımları

Sürekli olarak iyileştirmeler ve yeni özellikler ile desteklediğimiz B2B uygulama çerçevesinin güncel hali ftp://ftp.netsis.com.tr/B2B/Guncel_Set_B2B_Developers/ adresinde yayınlanmaktadır. Güncel dosyalar bu adresten indirildikten sonra izlenecek güncelleme adımlar şu şekildedir :

 

1-      DLL Güncellemesi

 

-          B2BXBLL.dll ve varsa diğer dosyalar (LogisticsXBLL, CRMXBLL, FinanceXBLL vs.), Netsis klasöründeki Temelset dizinine kopyalanır.

(Temelset dizinin nerede olduğunu bulmak için regedit çalıştırılır. H_KEY_LOCAL_MACHINE\SOFTWARE yolu takip edildikten sonra 32 bit makinelerde \Netsis\Ticari yolu, 64 bit makinelerde ise Wow6432Node\Netsis\Ticari yolu takip edilir. Registery’de Program Dizini olarak tanımlanan adres Temelset dizinini işaret etmektedir.)

 

-          Dll dosyaları kopyalandıktan sonra Netsis klasöründeki Servis dizini açılır ve “RegControl” uygulaması çalıştırılır.

 

2-      AppServer Güncellemesi

 

-          Services.msc çalıştırılır ve herhangi bir Redcode servisinin özelliklerine bakılarak AppServer dizini bulunur.

 

-          Bu dizinde yer alan App.config dosyasının yedeği alınır.

 

-          Redcode servisleri durdurulduktan sonra güncel sette AppServer içerisinde yer alan dosyalar ilgili dizine kopyalanır.

 

-          Yedeği alınan App.config dosyası tekrar aynı dizine alınır. (Eski App.config dosyasını saklayarak bizim makinemize özel olan kurulum ayarlarını vs. korumuş olduk.)

 

3-      WebServer Güncellemesi

 

-          IIS’ten WebServer’ın dosyalarının olduğu dizin bulunur.

 

-          Bu dizinde yer alan web.config dosyasının yedeği alınır.

 

-          Application Pool durdurulduktan sonra güncel sette WebServer içerisinde yer alan dosyalar ilgili dizine kopyalanır.

 

-          Yedeği alınan web.config dosyası tekrar aynı dizine alınır. (Eski Web.config dosyasını saklayarak projeye özel olan ayarları vs. korumuş olduk.)

 

Redcode servisleri ve Application başlatılarak güncelleme işlemi tamamlanır.

 

B2B'de sipariş belgesinin detaylarına erişmek
Üzerinde işlem yapılmakta olan sipariş belgesi, Order.aspx sayfası içerisinden aşağıdaki şekilde çağrılmaktadır :
 

...

using Netsis.DAL.Core.Invoice;

using Netsis.Catalog;

...

OrderEDAL edal = InvokeBll(Catalogs.BLL.Core.B2B.ORDER_BLL, "GetActiveOrderObject", new Guid(this.ActiveDocumentId)) as OrderEDAL;

...

Bu şekilde çağırılan OrderEDAL nesnesi üzerinden erişilebilen detaylara örnekler şu şekildedir:

- edal.DocumentNumber : Sipariş numarası

- edal.DeliveryDate : Teslim tarihi

- edal.FinalTotal: Genel toplam (this.Calculate() metodundan sonra kullanılmak şartıyla)

B2B'de mal fazlası iskontosunun kullanımı
B2B alt yapısında mal fazlası iskontosu, arama sonuçlarının listelendiği bileşenlerde (ItemSearchResultsGridView ve ItemSearchResultsGridInput), editlenebilir sepet özelliğindeki kalem detay giriş bileşeninde (B2BEditItemDetail) ve özet bilgiler bileşeninde (B2BPrintPreview) desteklenmektedir.
 
- Mal fazlası iskontosu girişinin yapılabilmesi için öncelikle Netsis’in Windows tarafında ilgili parametrenin ("Mal fazlası iskontosu var mı") seçili olması gerekmektedir.
 
- ItemSearchResultsGridView ve ItemSearchResultsGridInput bileşenleri, Order.aspx sayfasında register edildikten sonra EnableGiftDiscount parametresi örnekteki şekilde düzenlenmelidir.
 

...

    <b2b:GridSR ID="ucGridSR" runat="server" GridPageSize="5" EnableAddItemByQuantity="true" EnableGiftDiscount="true">

        <Params>

            <prms:DataParam DataField="STOK_KODU" Caption="Ürün Kodu">

            </prms:DataParam>

            <prms:DataParam DataField="STOK_ADI" Caption="Ürün Adı">

            </prms:DataParam>

        </Params>

    </b2b:GridSR>

...

 

- B2BEditItemDetail bileşeni, Order.aspx sayfasında register edildikten sonra EditItemParams-ItemGiftDisc parametresi şu şekilde düzenlenmelidir.

...

<b2b:EditItem ID="ucEditItem" runat="server" EditItemParams-ItemGiftDisc="Editable" />

...

 

- B2BPrintPreview bileşeninde ItemListParams etiketinde STHAR_MALFISK sahası için parametre belirtilmelidir.

...

<ItemListParams>

<Params>

  <prms:DataParam DataField="STOK_KODU" Caption="Stok Kodu" />

  <prms:DataParam DataField="STOK_ADI" Caption="Stok Adı" />

  <prms:DataParam DataField="STHAR_GCMIK" Caption="Miktar" />

  <prms:DataParam DataField="STHAR_MALFISK" Caption="Mal Fazlası"></prms:DataParam>

  <prms:DataParam DataField="STHAR_BF" Caption="Fiyat" />

</Params>

</ItemListParams>

...

 

Bu düzenlemeler yapıldığında mal fazlası iskontosu B2B sayfalarında kullanılabilir hale gelmektedir.

Web.config dosyasına ExpressionBuilder tanımlarının eklenmesi
28.06.2011 tarihinden sonra yayınlanan tüm güncel setler için web.config dosyasında <compilation debug="true"> satırının altına aşağıdaki etiketler eklenmelidir.
 
Bu etiketler eklenmediğinde;
"Parser Error Message: The expression prefix 'NImages! was not recognized. Please correct the prefix or register the prefix in the <expressionBuilders> section of configuration."
şeklinde hata alınacaktır.
 

...

<expressionBuilders>

        <add expressionPrefix="NImages" type="Netsis.WEB.UI.NImageExpressionBuilder, RCWebSys" />

        <add expressionPrefix="NCommonCss" type="Netsis.WEB.UI.NCommonCssExpressionBuilder, RCWebSys" />

        <add expressionPrefix="NCss" type="Netsis.WEB.UI.NCssExpressionBuilder, RCWebSys" />

        <add expressionPrefix="NScript" type="Netsis.WEB.UI.NScriptExpressionBuilder, RCWebSys" />

</expressionBuilders>

... 

Siparişte fiyatların KDV dahil şeklinde hesaplanması

    protected override void DoFormLoad(object sender, EventArgs e)

    {

        base.DoFormLoad(sender, e);

  ...

        this.ucConstInfo.OnDefaultData += new   OnGetPostDataTable(ucConstInfo_OnDefaultData);

    }

 

    void ucConstInfo_OnDefaultData(Hashtable AdditionalColumnsAndValues)

    {

        AdditionalColumnsAndValues["KDV_DAHILMI"] = 'E';

    }

Ek bilgilerdeki açıklamalarda istenilen değerin saklanması
B2B alt yapısıyla beraber hazır olarak gelen, sipariş ek bilgilerine kayıt atan bileşenin OnDefaultData olayına girerek, istenilen değerler açıklama sahalarında saklanabilir.
 

protected override void DoFormLoad(object sender, EventArgs e)

    {

        base.DoFormLoad(sender, e);

        ...

        this.uc_AdditionalInfo.OnDefaultData += new OnGetPostDataTable(uc_AdditionalInfo_OnDefaultData);

        ...

    }

 

 

 

void uc_AdditionalInfo_OnDefaultData(Hashtable AdditionalColumnsAndValues)

    {

        AdditionalColumnsAndValues.Add("TBLFATUEK.ACIK13", "B2B");

    }

B2B'de login olan kullanıcının müşteri kodunun okunması

 

LogonDetail.Session.GetCustomParam(B2BConsts.CustomerCodeParamKey);

B2B'de Select cümlesi çalıştırmak

B2B kütüphanesindeki "GetSQLDataTable" fonskiyonu ile select cümlesi çalıştırılabilir. Sonuç kümesi, DataTable nesnesi şeklinde döndürülmektedir.

Aşağıdaki örnekten faydalanabilirsiniz;

using Netsis.Catalog;

 

...

 

DataTable dtCust = InvokeBll (Catalogs.BLL.Core.B2B.ORDER_BLL,"GetSQLDataTable", "Select * FROM TBLCASABIT WHERE CARI_KOD = '00001'") as DataTable;  

 

B2B'de eposta gönderme örneği

Aktif şubenin parametrelerini kullanarak eposta gönderen kod örneği;

 

 

string to = "to@netsis.com.tr";

string cc = "cc@netsis.com.tr";

string bcc = "bcc@netsis.com.tr";

string emailContent = "Email içeriğini buraya yazınız.";

if (to.Assigned() || cc.Assigned())

  InvokeBll(Catalogs.BLL.Core.B2B.ORDER_BLL, "SendMail", "from@netsis.com.tr", to, cc, bcc, "Sipariş kaydı bilgilendirme", emailContent);

 

 

1 - 10 Next

 ‭(Hidden)‬ Admin Links