Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


  • exec sp_executesql N'EXEC PRTSP_REVENUE_LINE_CHART BranchId,CurrentAccountCode,@FormData',N'@CurrentAccountCode nvarchar(8),@BranchId int,@StoreId int,@UserId int,@FormData nvarchar(346)',@CurrentAccountCode=N'12011001',@BranchId=0,@StoreId=0,@UserId=2,@FormData=N'<?xml version="1.0"?>
    <WidgetFormParam xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <DataForm>
       <FormElement name="ACCOUNT_CODE" formvalue="12011001" />
       <FormElement name="filterWidgetDataId" formvalue="8f41b741-5127-4b0b-862d-3520b0e2fc08" />
    </DataForm>
    </WidgetFormParam>'
    Yukarıdaki örnekte "FormData" isimli xml tipindeki input sayesinde istenen alanı filtrelemek mümkündür. Stored procedure için geçerli olan bu yapıda prosedür içine de aşağıdaki örnek gibi bir uyarlama yapılması gerekmektedir.

    2) Tablo ve viewlara kısıt gönderme:

    *Parametreler içindeki *ColumnName yani kolon ismi alanı, tablolar ve viewlar için kısıt vermeye yarar.
    Parametre widgetında cari kodu ile bir kısıtlama işlemi yapılarak rapor çekildiğinde ise aşağıdaki ekran görüntüsünde olduğu gibi profiler sorguda "ACCOUNT_CODE" kısıtı verilmiş olur.



    SELECT * FROM (SELECT ROW_NUMBER() OVER(  ORDER BY ACCOUNT_CODE)  AS RN, * FROM PRTV_BASKET (NOLOCK)  where ID>5000) AS A WHERE RN BETWEEN 1 AND 10

    Ekran

    Görünüm

    Girilen ayarlara göre sayfada bulunan diğer widgetların veri kaynaklarına kısıt uygular.
    Aşağıdaki örnek için parametre widgetının ayarları aşağıdaki gibi kullanılmıştır.



    Örneğin; boş bir sayfaya parametre widgetı ve grafik raporu eklenildiğinde ve ayarları yapıldığında, sayfa ilk yüklendiğinde görünüm kısıt verilmemiş şekildedir. (Örnekte grafik tüm cariler ve tarih için geçerli)



    "Filtrele" butonuna tıklandığında ise widgetın içinde belirlenmiş olan kısıtlar uygulanır ve sonuç örneğin aşağıdaki gibi değişir.



    Ayarlar

    Yetki dahilinde Tasarım modu ile widget üzerinde görünen "Ayarlar" kısmından eklentinin parametre ekranı açılır. 

  • Başlık Widget başlık bilgisi
  • Parametreler Parametreler bölümünde json dizisi yazılarak tek tek verilmesi gereken kısıtlar yazılır. Json içine yazılabilecek olan değerler:
  • Name: İsim alanı, prosedürlere gönderilen "FormData" xml inde gönderilen alan ismi için kullanılır.

**Dinamik rapor ve Parametre (Kısıt) widget ayarlarında; verilen tarih kısıtları için "Parametreler" bölümünde "Name" alan isminin içinde büyük ya da küçük harflerle "TARIH" veya "DATE" kelimeleri geçmesi gerekmektedir. Aksi durumda, bu kısıtlar tarih formatında algılanmaz.
**Dinamik rapor ve Parametre (Kısıt) widget ayarlarında; verilen ondalık kısıtları için "Parametreler" bölümünde "Name" alan isminin içinde büyük ya da küçük harflerle "ONDALIK" veya "DOUBLE" kelimeleri geçmesi gerekmektedir. Aksi durumda, bu kısıtlar ondalık formatında algılanmaz.

  • ColumnName: Kolon ismi alanı, tablolar ve viewlar için kısıt vermeye yarar.
  • Label: Alanın widget içerisinde görünüm etiketi için kullanılır.
  • DefaultValue: Filtre için varsayılan bir değer tutar.
  • Required: True durumunda zorunlu alan olarak tanımlanır.
  • DataType: Kolon verisinin tipinin belirlendiği alandır. Bu alanlar ;

...

String(Metin) = 1,
Int(Tamsayı) = 2,
Date(Tarih) = 3,
Boolean(Doğru/Yanlış) = 4,
CurrentAccount (Cari)= 5,
ResellerCode(Plasiyer Kodu) = 6,
ResellerId (Plasiyer ID)= 7,
Inventory(Stok) = 8,
ProjectCode (Proje Kodu)= 9,
Salesman (Satıcı)= 10,
Invoice (Fatura)= 11,
WarehouseCode(Depo) = 12,
ReturnInvoices (İade Faturası)= 13,
SpecialCode1(Özel Kod1) = 14,
SpecialCode2 (Özel Kod2)= 15,
ConditionalCode (Koşul Kodu)= 16,
AllCurrentAccounts (Tüm Cariler )= 17,
Double (Ondalık) = 18


şeklinde tanımlanmıştır.

  • Operator: Veritabanında yapılan aramalarda kullanılan büyüklük, küçüklük, ya da eşitlik işlemlerinin belirlendiği alandır. Bunların kullanımı ise;

...