Stok kalemlerinin belirli alanlara göre kümüle edilip kümüle edilmiş şekilde e-Belgeler üzerinde görüntülenmesi ve basılabilmesi için XSLT editör üzerinde gruplama özelliği kullanılır.
Belgedeki stok kalemlerinin; stok kodlarına, stok isimlerine, stokların grup kodlarına, diğer kod 1/2/3/4/5 kodlarına, stokların GTIP' lerine (Gümrük Tarife Kodu), belgede kalem bazında girilen ekalanlara veya farklı alanlara göre kümüle edilerek e-Belge üzerinde görüntülenmesi ve basılabilmesi sağlanır.
!! XSLT editör üzerinde yapılan kümülasyon sonrasında e-Belge görüntüsünde yapılan kümülasyon görüntülenirken, XML içerisine yapılan kümülasyon yansımaz. Belge kalemleri kümüle edilmeden XML içinde gösterilir.
Örneğin, belgede girilen stok kalemlerinin stok grup kodlarına göre kümüle edildiğinde gerekli tanımlamalar nelerdir?
1-Dizayn içerisinde kümülasyon yapılacak olan alan tanımlaması ve e-Devlet XML tagiyle eşleştirilmesi
Dizayn içerisinde kümülasyon yapılacak alan, dizayn alan numarası seçilerek veya sql desteği kullanılarak tanımlanır.
Tanımlanan bu dizayn satırı, e-Devlet XML Tag alanında XSLT dosyasında stok kalemleri kısmında kullanılmamış ve boşta olan InvoiceLine taglerinden biri ile eşleştirilir.
Gruplamada kullanılabilecek e-Devlet XML tagleri, InvoiceLine-Brandname, InvoiceLine- BuyersItemIdentification, InvoiceLine-SellersItemIdentification, InvoiceLine-Description, InvoiceLine-ModelName,InvoiceLine-Name,InvoiceLine-Note, InvoiceLine- ManufacturersItemIdentification, InvoiceLine-ItemClassificationCode tagleridir.
Örnekte Yer olarak "Kalem", Tip olarak "Program", stok grup kodu için alan numarası "4003" ve E-Devlet XML Tag olarak "InvoiceLine-ModelName" seçilir.
2-XSLT editörde stok kalemleri kısmında dizayn içinde kümülasyon için tanımlanan alan için kolon eklemesi yapılır.
XSLT dosyasında kolon başlığı eklemek için aşağıdaki kod bloğu eklenir. Örneğe göre eklenen kolonun başlığı, "Grup Kodu" 'dur.
<td width="100">
<strong>
<xsl:text>Grup Kodu</xsl:text>
</strong>
</td>
XSLT dosyasında eklenen kolonun değerini getirmek için dizaynda tanımlanan satırın eşlendiği e- Devlet XML Tag' inin yer aldığı aşağıdaki kod bloğu eklenir. Örneğe göre "ModelName" e-Devlet tagi kullanılır.
<td align="left" style="white-space: nowrap">
<xsl:text> </xsl:text>
<xsl:value-of select="cac:Item/cbc:ModelName" />
</td>
3-XSLT editörde kümülasyon için, XSLT Grup Oluşturma ekranında Özellikler listesinden ilgili e-Devlet XML Tag seçilip butonu ile eklenir ve butonu ile gruplama XSLT' ye eklenir.
XSLT dosyasında gruplama yapıldıktan sonra, gruplama ile ilgili bazı XSLT kodları dosyaya eklenir.
ve dosya kaydedilir.
<xsl:key name="kNetsisKeys" match="//n1:Invoice/cac:InvoiceLine" use="concat(generate-id(..), ./cac:Item/cbc:ModelName,'+',
./cac:Price/cbc:PriceAmount)" />
XSLT de sütun değerlerinin olduğu bölümün başına da aşağıdaki kod bloğu eklenir.
<xsl:for-each select=
"//n1:Invoice/cac:InvoiceLine\[generate-id()=generate-
id(key('kNetsisKeys',concat(generate-id(..), ./cac:Item/cbc:ModelName,'+',
./cac:Price/cbc:PriceAmount))\[1\])\]">
<xsl:variable name="vNetsisIncVar">
<xsl:value-of select="position()" /> </xsl:variable>
<xsl:variable name="vNetsiskeyGroup" select="key('kNetsisKeys', concat(generate-id(..),
./cac:Item/cbc:ModelName,'+',./cac:Price/cbc:PriceAmount))" />
4-Belge girilir ve Toplu e-Fatura/e-Arşiv Oluşturma ekranında ilgili dizan seçilerek taslak oluşturulur.
Girilen belgede 2 ürün bulunmaktadır. Her 2 ürünün Stok Kartı Kayıtları ekranında Grup Kodu "12- Meyva" 'dır. Taslak oluşturma sonrasında e-Belge Görüntüsünde 2 stok kaleminin kümüle edildiği görülür.