E-Fatura QR Code Ekleme

E-Fatura xlst template dosyamıza qr code ekleyebiliriz. Bunun için bir web api yada base64 e çevrilmiş bir qrcode resmi kullanmamız gerekir

Gösteceğim örnek dinamik gelen bir qrcode verisini web api kullanarak qrcode u base64 olarak alıp e-fatura dosyasında göstereceğiz .

	<img>
		  <xsl:attribute name="src"> https://api.qrserver.com/v1/create-qr-code/?data=https://www.ahmetaydinlik.com&amp;size=150x150</xsl:attribute>
		  <xsl:attribute name="height">150</xsl:attribute>
		  <xsl:attribute name="width">150</xsl:attribute>
	</img>

xsl:attribute komutu ile image nesnemin özelliklerini atıyorum.

eğer burada dinamik bir veri dönüştürmek isteseydik src verimizin içeriğini değiştirirek api serverdaki data parametresine dinamik verimizi eklersek istediğimiz veriyi bize 150px boyutunda bir qrcode oluşturur

ekran görüntüsü

aşağıdaki komut ile örneğe bakabilirsiniz


<img>
     <xsl:attribute name="src"> https://api.qrserver.com/v1/create-qr-code/?data=<xsl:for-each select="//n1:DespatchAdvice/cbc:Note[2]"><xsl:value-of select="."/></xsl:for-each>&amp;size=150x150</xsl:attribute>
	 <xsl:attribute name="height">150</xsl:attribute>
	 <xsl:attribute name="width">150</xsl:attribute>
</img>


Burada e-fatura xml dosyasında gelen not 2 deki veriyi qrcode a yerleştirdik

E-Fatura Not Alanından Veri Alma

E-Fatura xslt template dosyasında not alanlarına yazılmış olan notlardan belirli karakterler arasında veri almak için aşağıdaki komutu kullanabiliriz

     <xsl:for-each select="//n1:DespatchAdvice/cbc:Note[3]">									 
	      <xsl:value-of select="substring-before(substring(.,0,21),'#')"/>	
	 </xsl:for-each>


Yukarıda yazılı olan substring-before komutu ile not alanında gelen kelimin 0 ıncı karakterinden başyalıp 21 inci karaktere kadar yazmasını istedik

E-Fatura Banka Bilgileri Ekleme

E-fatura xml template bölümünde id=”notesTable” alanının altına eklediğiniz de notlar alanında gözükecektir

<br>
<table width="770" align="left" height="80">
	<tbody>
		<tr align="left">
			<td id="notesTableTd" style="width:3%">
				<span style="font-weight:bold;">
					<xsl:text>BANKA -1</xsl:text><br>
					<xsl:text>BANKA -2</xsl:text><br>					 
				</span>
			</td>
			
			<td id="notesTableTd" style="width:3%">
				<span style="font-weight:bold; ">
					<xsl:text>BANKA1-ŞUBE</xsl:text><br>
					<xsl:text>BANKA2-ŞUBE</xsl:text><br>				 
				</span>
			</td>
			
			<td id="notesTableTd" style="width:1%">
				<span>			 
					<xsl:text>TL Hesabı</xsl:text><br>
					<xsl:text>TL Hesabı</xsl:text><br>														
				</span>
			</td>
			
			<td id="notesTableTd" style="width:7%">
				<span style="font-weight:bold;">
					<xsl:text>BANKA-1 IBAN</xsl:text><br>
					<xsl:text>BANKA-2 IBAN</xsl:text><br>						 
				</span>
			</td>
		</tr>
	</tbody>
</table>

BANKA -1
BANKA -2
BANKA1-ŞUBE
BANKA2-ŞUBE
TL Hesabı
TL Hesabı
BANKA-1 IBAN
BANKA-2 IBAN

E-Fatura Teslim Alan Teslim Eden Ekleme

E-fatura xml template bölümünde id=”notesTable” alanının altına eklediğiniz de notlar alanında gözükecektir

 
	<table border="1"  width="100%"  height="150">
		<tbody>
			<tr>
				<td width="50%" align="center" height="20" >
					<b>Teslim Alan</b>
				</td>
				
				<td width="50%" align="center" height="20">
					<b>Teslim Eden</b>
				</td>
			</tr>
			<tr>
				<td width="50%" align="center" ></td>
				<td width="50%" align="center"></td>
			</tr>
		</tbody>
 </table>
Teslim Alan Teslim Eden