You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »



01.09.2023 tarihli e-Belge uygulamalarında düzenlenen belgeler için "Karekod" basımı 9.0.49.1 patch dosyaları ile desteklenmiştir.
Taslak oluşturma sırasında dizayn seçmeden yapılan basımlarda (Kodun içine gömülü dizaynlarda) Karekod basımı ilgili patch dosyaları ile desteklenmiştir. Ayrıca güncelleme sonrasında Temelset dizini altında Xslt klasöründe varsayılan xslt dosyalarında da güncelleme yapılmıştır. Xslt klasörü içinde, e-Fatura için general.xslt, e-Arşiv için arsiv.xslt, e-İrsaliye için irsaliye.xslt ve e-Müstahsil için müstahsil.xslt dosyaları içinde Karekod' u basan ilgili kod blokları yer almaktadır.
Özel dizayn kullanımı durumunda, xslt dosyalarına aşağıdaki kod bloklarının eklenmesiyke Karekod basımı set bağımsız olarak yapalabilecektir.
Örneğin e-Fatura belgelerinde Karekod basımı için 2 adet kod bloğu bulunmaktadır.

  1. kod bloğu head ile style arasına konmalıdır.


<script type="text/javascript">

<![CDATA[var QRCode;!function(){function

a(a){this.mode=c.MODE_8BIT_BYTE,this.data=a,this.parsedData=[];


for(var b=[],d=0,e=this.data.length;e>d;d++){var

f=this.data.charCodeAt(d);f>65536?(b[0]=240|(1835008&f)>>>18,


b[1]=128|(258048&f)>>>12,b[2]=128|(4032&f)>>>6,b[3]=128|63&f):f>2048?(b[0]=2 24|(61440&f)>>>12,b[1]=128|(4032&f)>>>6,


b[2]=128|63&f):f>128?(b[0]=192|(1984&f)>>>6,


b[1]=128|63&f):b[0]=f,this.parsedData=this.parsedData.concat(b)}



Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsed Data.unshift(187),
this.parsedData.unshift(239))}function b(a,b){this.typeNumber=a,this.errorCorrectLevel=b,this.modules=null,this.moduleCount=0,this. dataCache=null,

this.dataList=[]}function

i(a,b){if(void 0==a.length)throw new Error(a.length+"/"+b);for(var

c=0;c<a.length&&0==a[c];)c++;


this.num=new Array(a.length-c+b);for(var d=0;d<a.length-

c;d++)this.num[d]=a[d+c]}function

j(a,b){this.totalCount=a,this.dataCount=b}

function k(){this.buffer=[],this.length=0}function m(){return"undefined"!=typeof

CanvasRenderingContext2D}function n(){var a=!1,b=navigator.userAgent;return/android/i.test(b)&&(a=!0,aMat=b.toString().match(/android

([0-9]\.[0-9])/i),aMat&&aMat[1]&&(a=parseFloat(aMat[1]))),a}function r(a,b){for(var

c=1,e=s(a),f=0,g=l.length;g>=f;f++){var h=0;switch(b){case d.L:h=l[f][0];break;case

d.M:h=l[f][1];break;case d.Q:h=l[f][2];break;case

d.H:h=l[f][3]}if(h>=e)break;c++}if(c>l.length)throw new Error("Too long data");return c}function

s(a){var b=encodeURI(a).toString().replace(/%[0-9a-fA-F]{2}/g,"a");return

b.length+(b.length!=a?3:0)}a.prototype={getLength:function(){return this.parsedData.length},write:function(a){for(var

b=0,c=this.parsedData.length;c>b;b++)a.put(this.parsedData[b],8)}},b.prototype={addData:funct ion(b){var c=new

a(b);this.dataList.push(c),this.dataCache=null},isDark:function(a,b){if(0>a||this.moduleCount<= a||0>b||this.moduleCount<=b)throw new Error(a+","+b);return

this.modules[a][b]},getModuleCount:function(){return

this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:fun ction(a,c){this.moduleCount=4*this.typeNumber+17,this.modules=new

Array(this.moduleCount);for(var d=0;d<this.moduleCount;d++){this.modules[d]=new

Array(this.moduleCount);for(var

e=0;e<this.moduleCount;e++)this.modules[d][e]=null}this.setupPositionProbePattern(0,0),this.s

etupPositionProbePattern(this.moduleCount- 7,0),this.setupPositionProbePattern(0,this.moduleCount- 7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(a,c),this.type Number>=7&&this.setupTypeNumber(a),null==this.dataCache&&(this.dataCache=b.createData( this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,c)},setupPos itionProbePattern:function(a,b){for(var c=1;7>=c;c++)if(!( 1>=a+c||this.moduleCount<=a+c))for(var d=1;7>=d;d++)

1>=b+d||this.moduleCount<=b+d||(this.modules[a+c][b+d]=c>=0&&6>=c&&(0==d||6==d)||d>




Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

=0&&6>=d&&(0==c||6==c)||c>=2&&4>=c&&d>=2&&4>=d?!0:!1)},getBestMaskPattern:functio n(){for(var a=0,b=0,c=0;8>c;c++){this.makeImpl(!0,c);var d=f.getLostPoint(this);(0==c||a>d)&&(a=d,b=c)}return b},createMovieClip:function(a,b,c){var d=a.createEmptyMovieClip(b,c),e=1;this.make();for(var f=0;f<this.modules.length;f++)for(var

g=f*e,h=0;h<this.modules[f].length;h++){var

i=h*e,j=this.modules[f][h];j&&(d.beginFill(0,100),d.moveTo(i,g),d.lineTo(i+e,g),d.lineTo(i+e,g+e),

d.lineTo(i,g+e),d.endFill())}return d},setupTimingPattern:function(){for(var

a=8;a<this.moduleCount-8;a++)null==this.modules[a][6]&&(this.modules[a][6]=0==a%2);for(var

b=8;b<this.moduleCount-

8;b+)null==this.modules[6][b]&&(this.modules[6][b]=0==b%2)},setupPositionAdjustPattern:fun ction(){for(var a=f.getPatternPosition(this.typeNumber),b=0;b<a.length;b+)for(var

c=0;c<a.length;c+){var d=a[b],e=a[c];if(null==this.modules[d][e])for(var g=-2;2>=g;g+)for(var

h=2;2>=h;h++)this.modules[d+g][e+h]=-2==g||2==g||

2==h||2==h||0==g&&0==h?!0:!1}},setupTypeNumber:function(a){for(var b=f.getBCHTypeNumber(this.typeNumber),c=0;18>c;c++){var

d=!a&&1==(1&b>>c);this.modules[Math.floor(c/3)][c%3+this.moduleCount-8-3]=d}for(var

c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[c%3+this.moduleCount-8-

3][Math.floor(c/3)]=d}},setupTypeInfo:function(a,b){for(var

c=this.errorCorrectLevel<<3|b,d=f.getBCHTypeInfo(c),e=0;15>e;e++){var

g=!a&&1==(1&d>>e);6>e?this.modules[e][8]=g:8>e?this.modules[e+1][8]=g:this.modules[this.m oduleCount-15+e][8]=g}for(var e=0;15>e;e++){var

g=!a&&1==(1&d>>e);8>e?this.modules[8][this.moduleCount-e-1]=g:9>e?this.modules[8][15-e-

1+1]=g:this.modules[8][15-e-1]=g}this.modules[this.moduleCount-

8][8]=!a},mapData:function(a,b){for(var c=1,d=this.moduleCount

1,e=7,g=0,h=this.moduleCount-1;h>0;h-=2)for(6==h&&h--;(wink){for(var

i=0;2>i;i++)if(null==this.modules[d][h-i]){var j=!1;g<a.length&&(j=1==(1&a[g]>>>e));var

k=f.getMask(b,d,h-i);k&&(j=!j),this.modules[d][h-i]=j,e-,

1==e&&(g+,e=7)}if(d=c,0>d||this.moduleCount<=d){d-=c,c=- c;break}}}},b.PAD0=236,b.PAD1=17,b.createData=function(a,c,d){for(var e=j.getRSBlocks(a,c),g=new k,h=0;h<d.length;h++){var

i=d[h];g.put(i.mode,4),g.put(i.getLength(),f.getLengthInBits(i.mode,a)),i.write(g)}for(var

l=0,h=0;h<e.length;h+)l=e[h].dataCount;if(g.getLengthInBits()>8*l)throw new Error("code

length overflow. ("g.getLengthInBits()">"8*l")");for(g.getLengthInBits()+4<=8*l&&g.put(0,4);0!=g.getLengthI nBits()%8;)g.putBit(!1);for(;(wink){if(g.getLengthInBits()>=8*l)break;if(g.put(b.PAD0,8),g.getLengthIn Bits()>=8*l)break;g.put(b.PAD1,8)}return b.createBytes(g,e)},b.createBytes=function(a,b){for(var c=0,d=0,e=0,g=new Array(b.length),h=new Array(b.length),j=0;j<b.length;j++){var


Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

k=b[j].dataCount,l=b[j].totalCount-k;d=Math.max(d,k),e=Math.max(e,l),g[j]=new Array(k);for(var

m=0;m<g[j].length;m+)g[j][m]=255&a.buffer[m+c];c=k;var

n=f.getErrorCorrectPolynomial(l),o=new i(g[j],n.getLength()-1),p=o.mod;h[j]=new

Array(n.getLength()1);for(var m=0;m<h[j].length;m++){var q=m+p.getLength()

h[j].length;h[j][m]=q>=0?p.get(q):0}}for(var

r=0,m=0;m<b.length;m+)r=b[m].totalCount;for(var s=new Array(r),t=0,m=0;d>m;m++)for(var

j=0;j<b.length;j+)m<g[j].length&&(s[t]=g[j][m]);for(var m=0;e>m;m+)for(var

j=0;j<b.length;j+)m<h[j].length&&(s[t+]=h[j][m]);return s};for(var

c={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},d={L:1,M:0,Q
:3,H:2},e={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTER

N101:5,PATTERN110:6,PATTERN111:7},f={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,

30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,


48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,7


4,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26


,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,


138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,1


54],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,11


4,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(a){for(var b=a<<10;f.getBCHDigit(b)f.getBCHDigit(f.G15)>=0;)b^=f.G15<<f.getBCHDigit(b) f.getBCHDigit(f.G15);return(a<<10|b)^f.G15_MASK},getBCHTypeNumber:function(a){for(var b=a<<12;f.getBCHDigit(b)f.getBCHDigit(f.G18)>=0;)b^=f.G18<<f.getBCHDigit(b) f.getBCHDigit(f.G18);return a<<12|b},getBCHDigit:function(a){for(var b=0;0!=a;)b++,a>>>=1;return b},getPatternPosition:function(a){return

f.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,b,c){switch(a){case

e.PATTERN000:return 0==(b+c)%2;case e.PATTERN001:return 0==b%2;case e.PATTERN010:return 0==c%3;case e.PATTERN011:return 0==(b+c)%3;case e.PATTERN100:return 0==(Math.floor(b/2)+Math.floor(c/3))%2;case e.PATTERN101:return 0==b*c%2+b*c%3;case e.PATTERN110:return 0==(b*c%2+b*c%3)%2;case e.PATTERN111:return 0==(b*c%3+(b+c)%2)%2;default:throw new Error("bad maskPattern:"+a)}},getErrorCorrectPolynomial:function(a){for(var b=new

i([1],0),c=0;a>c;c++)b=b.multiply(new i([1,g.gexp(c)],0));return

b},getLengthInBits:function(a,b){if(b>=1&&10>b)switch(a){case c.MODE_NUMBER:return 10;case c.MODE_ALPHA_NUM:return 9;case c.MODE_8BIT_BYTE:return 8;case c.MODE_KANJI:return 8;default:throw new Error("mode:"+a)}else if(27>b)switch(a){case c.MODE_NUMBER:return 12;case c.MODE_ALPHA_NUM:return 11;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 10;default:throw new Error("mode:"+a)}else{if(!(41>b))throw new Error("type:"+b);switch(a){case


Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

c.MODE_NUMBER:return 14;case c.MODE_ALPHA_NUM:return 13;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 12;default:throw new Error("mode:"+a)}}},getLostPoint:function(a){for(var b=a.getModuleCount(),c=0,d=0;b>d;d+)for(var e=0;b>e;e+){for(var f=0,g=a.isDark(d,e),h=- 1;1>=h;h++)if(!(0>d+h||d+h>=b))for(var i=- 1;1>=i;i+)0>e+i||e+i>=b||(0!=h||0!=i)&&g==a.isDark(d+h,e+i)&&f;f>5&&(c=3+f-5)}for(var d=0;b-1>d;d+)for(var e=0;b-1>e;e+){var j=0;a.isDark(d,e)&&j+,a.isDark(d+1,e)&&j,a.isDark(d,e+1)&&j,a.isDark(d+1,e+1)&&j+,(0=
=j||4==j)&&(c+=3)}for(var d=0;b>d;d++)for(var e=0;b- 6>e;e+)a.isDark(d,e)&&!a.isDark(d,e+1)&&a.isDark(d,e+2)&&a.isDark(d,e+3)&&a.isDark(d,e+4) &&!a.isDark(d,e+5)&&a.isDark(d,e+6)&&(c=40);for(var e=0;b>e;e++)for(var d=0;b- 6>d;d+)a.isDark(d,e)&&!a.isDark(d+1,e)&&a.isDark(d+2,e)&&a.isDark(d+3,e)&&a.isDark(d+4,e) &&!a.isDark(d+5,e)&&a.isDark(d+6,e)&&(c=40);for(var k=0,e=0;b>e;e++)for(var d=0;b>d;d+)a.isDark(d,e)&&k+;var l=Math.abs(100*k/b/b-50)/5;return c+=10*l}},g={glog:function(a){if(1>a)throw new Error("glog("a")");return

g.LOG_TABLE[a]},gexp:function(a){for(;0>a;)a+=255;for(;a>=256;)a-=255;return

g.EXP_TABLE[a]},EXP_TABLE:new

Array(256),LOG_TABLE:new

Array(256)},h=0;8>h;h++)g.EXP_TABLE[h]=1<<h;for(var

h=8;256>h;h++)g.EXP_TABLE[h]=g.EXP_TABLE[h-4]^g.EXP_TABLE[h-5]^g.EXP_TABLE[h-


6]^g.EXP_TABLE[h-8];for(var

h=0;255>h;h++)g.LOG_TABLE[g.EXP_TABLE[h]]=h;i.prototype={get:function(a){return

this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var b=new

Array(this.getLength()a.getLength()-1),c=0;c<this.getLength();c+)for(var

d=0;d<a.getLength();d++)b[c+d]^=g.gexp(g.glog(this.get(c))+g.glog(a.get(d)));return new

i(b,0)},mod:function(a){if(this.getLength()-a.getLength()<0)return this;for(var b=g.glog(this.get(0))-g.glog(a.get(0)),c=new

Array(this.getLength()),d=0;d<this.getLength();d++)c[d]=this.get(d);for(var

d=0;d<a.getLength();d++)c[d]^=g.gexp(g.glog(a.get(d))+b);return new

i(c,0).mod(a)}},j.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,4


4,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,1


34,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,9


8,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19]


,[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,8


7,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,


4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,


15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,


64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,




Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,1


6],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,


151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44


,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,5


4,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16


,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[


4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,


46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22


,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46


,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,


147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147


,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,4


7,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[


42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,


45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46


,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,1


21,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,12


2],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,1


4,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[4


8,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,5


5,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,4


5,15,61,46,16]],j.getRSBlocks=function(a,b){var c=j.getRsBlockTable(a,b);if(void 0==c)throw new Error("bad rs block @ typeNumber:"a"/errorCorrectLevel:"+b);for(var

d=c.length/3,e=[],f=0;d>f;f+)for(var g=c[3*f+0],h=c[3*f+1],i=c[3*f+2],k=0;g>k;k+)e.push(new

j(h,i));return e},j.getRsBlockTable=function(a,b){switch(b){case d.L:return

j.RS_BLOCK_TABLE[4*(a-1)+0];case d.M:return j.RS_BLOCK_TABLE[4*(a-1)+1];case d.Q:return

j.RS_BLOCK_TABLE[4*(a-1)+2];case d.H:return j.RS_BLOCK_TABLE[4*(a-1)+3];default:return void

0}},k.prototype={get:function(a){var b=Math.floor(a/8);return 1==(1&this.buffer[b]>>>7-

a%8)},put:function(a,b){for(var c=0;b>c;c++)this.putBit(1==(1&a>>>b-c- 1))},getLengthInBits:function(){return this.length},putBit:function(a){var

b=Math.floor(this.length/8);this.buffer.length<=b&&this.buffer.push(0),a&&(this.buffer[b]|=12

8>>>this.length%8),this.length++}};var

l=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,12


2,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,


155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,2


80],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,4


39],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,112




Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

5,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,79


0],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2


431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2


953,2331,1663,1273]],o=function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){function g(a,b){var c=document.createElementNS("http://www.w3.org/2000/svg",a);for(var d in

b)b.hasOwnProperty(d)&&c.setAttribute(d,b[d]);return c}var

b=this._htOption,c=this._el,d=a.getModuleCount();Math.floor(b.width/d),Math.floor(b.height/d
),this.clear();var h=g("svg",{viewBox:"0 0 "String(d)" "+String(d),width:"100%",height:"100%",fill:b.colorLight});h.setAttributeNS("http://www.w3.org
/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),c.appendChild(h),h.appendChild( g("rect",{fill:b.colorDark,width:"1",height:"1",id:"template"}));for(var i=0;d>i;i++)for(var j=0;d>j;j++)if(a.isDark(i,j)){var k=g("use",{x:String(info),y:String(j)});k.setAttributeNS("http://www.w3.org/1999/xlink","href","#te mplate"),h.appendChild(k)}},a.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el. removeChild(this._el.lastChild)},a}(),p="svg"===document.documentElement.tagName.toLower Case(),q=p?o:m()?function(){function a(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block ",this._elCanvas.style.display="none"}function d(a,b){var c=this;if(c._fFail=b,c._fSuccess=a,null===c._bSupportDataURI){var d=document.createElement("img"),e=function(){c._bSupportDataURI=!1,c._fFail&&_fFail.call(c)}
,f=function(){c._bSupportDataURI=!0,c._fSuccess&&c._fSuccess.call(c)};return d.onabort=e,d.onerror=e,d.onload=f,d.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEU gAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4O
HwAAAABJRU5ErkJggg==",void 0}c._bSupportDataURI===!0&&c._fSuccess?c._fSuccess.call(c):c._bSupportDataURI===!1&&c._f Fail&&c._fFail.call(c)}if(this._android&&this._android<=2.1){var b=1/window.devicePixelRatio,c=CanvasRenderingContext2D.prototype.drawImage;CanvasRend eringContext2D.prototype.drawImage=function(a,d,e,f,g,h,i,j){if("nodeName"in a&&/img/i.test(a.nodeName))for(var l=arguments.length-1;l>=1;l--

)arguments[l]=arguments[l]*b;else"undefined"==typeof

j&&(arguments[1]=b,arguments[2]=b,arguments[3]=b,arguments[4]=b);c.apply(this,argum

ents)}}var e=function(a,b){this._bIsPainted=!1,this._android=n(),this._htOption=b,this._elCanvas=docume nt.createElement("canvas"),this._elCanvas.width=b.width,this._elCanvas.height=b.height,a.app endChild(this._elCanvas),this._el=a,this._oContext=this._elCanvas.getContext("2d"),this._bIsPai nted=!1,this._elImage=document.createElement("img"),this._elImage.style.display="none",this.


Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

_el.appendChild(this._elImage),this._bSupportDataURI=null};return e.prototype.draw=function(a){var b=this._elImage,c=this._oContext,d=this._htOption,e=a.getModuleCount(),f=d.width/e,g=d.heig ht/e,h=Math.round(f),i=Math.round(g);b.style.display="none",this.clear();for(var j=0;e>j;j+)for(var k=0;e>k;k+){var l=a.isDark(j,k),m=k*f,n=j*g;c.strokeStyle=l?d.colorDark:d.colorLight,c.lineWidth=1,c.fillStyle=l?d. colorDark:d.colorLight,c.fillRect(m,n,f,g),c.strokeRect(Math.floor(m).5,Math.floor(thumbs down).5,h,i),c.st rokeRect(Math.ceil(m).5,Math.ceil(thumbs down)
.5,h,i)}this._bIsPainted=!0},e.prototype.makeImage=function(){this._bIsPainted&&d.call(this,a)}, e.prototype.isPainted=function(){return this._bIsPainted},e.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width
,this._elCanvas.height),this._bIsPainted=!1},e.prototype.round=function(a){return a?Math.floor(1e3*a)/1e3:a},e}():function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){for(var

b=this._htOption,c=this._el,d=a.getModuleCount(),e=Math.floor(b.width/d),f=Math.floor(b.heig ht/d),g=['<table style="border:0;border-

collapse:collapse;">'],h=0;d>h;h+){g.push("<tr>");for(var i=0;d>i;i+)g.push('<td style="border:0;border- collapse:collapse;padding:0;margin:0;width:'e"px;height:"f"px;background-

color:"(a.isDark(h,i)?b.colorDark:b.colorLight)';"></td>');g.push("</tr>")}g.push("</table>"),c.i nnerHTML=g.join("");var j=c.childNodes[0],k=(b.width-j.offsetWidth)/2,l=(b.height-

j.offsetHeight)/2;k>0&&l>0&&(j.style.margin=l+"px "k"px")},a.prototype.clear=function(){this._el.innerHTML=""},a}();QRCode=function(a,b){if(thi s._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",corr ectLevel:d.H},"string"==typeof b&&(b={text:b}),b)for(var c in b)

this._htOption[c]=b[c];"string"==typeof a&&(a=document.getElementById(a)),

this._android=n(),this._el=a,
this._oQRCode=null,this._oDrawing=new q(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},
QRCode.prototype.makeCode=function(a){this._oQRCode=new b(r(a,this._htOption.correctLevel),this._htOption.correctLevel),
this._oQRCode.addData(a),this._oQRCode.make(),this._el.title=a,this._oDrawing.dra w(this._oQRCode),this.makeImage()},
QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage ()},



Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

;]]>
QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=d}()
</script>

  1. kod bloğu ise, karekodun çıkacağı yere kopyalanması gerekmektedir. Karekod mevzuata göre sağ üstte yer almalıdır. Basım yapılacak yere göre xsltye aşağıdaki kod bloğu kopyalanmalıdır. İlgili kod bloğu aşağıda yer almaktadır.


Not !!! Bu kod bloğu e-Fatura belgeleri için kullanılmaktadır. E-Arşiv, e-İrsaliye ve e-Müstahsil belgelerinde farklılık göstermektedir. E-Arşiv, e-İrsaliye, e-Müstahsil belgeleri için 2. Kod blokları dokümanın sonunda yer almaktadır.


<td width="40%" align="center" valign="middle" >
<div id="qrcode"/>
<div id="qrvalue" style="vissibility: hidden; height: 30px;width: 30px; display:none">
{
"vkntckn":"<xsl:value-of

select="n1:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID =

'TCKN' or @schemeID = 'VKN']"/>",
"avkntckn":"<xsl:value-of

select="n1:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID =

'TCKN' or @schemeID = 'VKN']"/>",


Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

"senaryo":"<xsl:value-of select="n1:Invoice/cbc:ProfileID"/>", "tip":"<xsl:value-of select="n1:Invoice/cbc:InvoiceTypeCode"/>", "tarih":"<xsl:value-of select="n1:Invoice/cbc:IssueDate"/>", "no":"<xsl:value-of select="n1:Invoice/cbc:ID"/>", "ettn":"<xsl:value-of select="n1:Invoice/cbc:UUID"/>",
"parabirimi":"<xsl:value-of select="n1:Invoice/cbc:DocumentCurrencyCode"/>", "malhizmettoplam":"<xsl:value-of
select="n1:Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount"/>",
<xsl:for-each

select="n1:Invoice/cac:TaxTotal/cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:TaxTypeCode =

'0015']">
<xsl:text>"kdvmatrah</xsl:text>(<xsl:value-of select="cbc:Percent"/>)":"<xsl:value-of select="cbc:TaxableAmount"/>",
</xsl:for-each>
<xsl:for-each

select="n1:Invoice/cac:TaxTotal/cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:TaxTypeCode =

'0015']">
<xsl:text>"hesaplanankdv</xsl:text>(<xsl:value-of select="cbc:Percent"/>)":"<xsl:value-of select="cbc:TaxAmount"/>",
</xsl:for-each> "vergidahil":"<xsl:value-of
select="n1:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount"/>", "odenecek":"<xsl:value-of
select="n1:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount"/>"
}
</div>
<script type="text/javascript">
var qrcode = new QRCode(document.getElementById("qrcode"), { width : 140,
height : 140,
correctLevel: QRCode.CorrectLevel.L
});
var minifiedValues =document.getElementById("qrvalue").innerHTML.replace(/\s/g, ''); qrcode.makeCode(minifiedValues)
</script>
</td>







Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği


e-Arşiv belgeleri için 2. Kod bloğu:
<td width="40%" align="center" valign="middle" >
<div id="qrcode" style="width:140px;"/>
<div id="qrvalue" style="visibility: hidden;position:absolute;">
{
"vkntckn":"<xsl:value-of

select="n1:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID =

'TCKN' or @schemeID = 'VKN']"/>",
"avkntckn":"<xsl:value-of

select="n1:Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeID =

'TCKN' or @schemeID = 'VKN']"/>",
"senaryo":"<xsl:value-of select="n1:Invoice/cbc:ProfileID"/>",

Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

"tip":"<xsl:value-of select="n1:Invoice/cbc:InvoiceTypeCode"/>", "tarih":"<xsl:value-of select="n1:Invoice/cbc:IssueDate"/>", "no":"<xsl:value-of select="n1:Invoice/cbc:ID"/>", "ettn":"<xsl:value-of select="n1:Invoice/cbc:UUID"/>",
"parabirimi":"<xsl:value-of select="n1:Invoice/cbc:DocumentCurrencyCode"/>", "malhizmettoplam":"<xsl:value-of select="n1:Invoice/cac:LegalMonetaryTotal/cbc:LineExtensionAmount"/>",
<xsl:for-each

select="n1:Invoice/cac:TaxTotal/cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:TaxTypeCode =

'0015']">
<xsl:text>"kdvmatrah</xsl:text>(<xsl:value-of select="cbc:Percent"/>)":"<xsl:value-of select="cbc:TaxableAmount"/>",
</xsl:for-each>
<xsl:for-each

select="n1:Invoice/cac:TaxTotal/cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:TaxTypeCode =

'0015']">
<xsl:text>"hesaplanankdv</xsl:text>(<xsl:value-of select="cbc:Percent"/>)":"<xsl:value-of select="cbc:TaxAmount"/>",
</xsl:for-each>
"vergidahil":"<xsl:value-of select="n1:Invoice/cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount"/>", "odenecek":"<xsl:value-of select="n1:Invoice/cac:LegalMonetaryTotal/cbc:PayableAmount"/>"
}
</div>
<script type="text/javascript">
var qrcode = new QRCode(document.getElementById("qrcode"), { width : 140,
height : 140,
correctLevel: QRCode.CorrectLevel.L
});
var minifiedValues = document.getElementById("qrvalue").innerHTML.replace(/\s/g, '') ; qrcode.makeCode(minifiedValues)
</script>
</td>
e-İrsaliye belgeleri için 2. Kod bloğu:
<td width="40%" align="center" valign="middle" >
<div id="qrcode" style="width:140px;"/>
<div id="qrvalue" style="visibility: hidden;position:absolute;">
{


Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

"vkntckn":"<xsl:value-of

select="n1:DespatchAdvice/cac:DespatchSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schem eID

= 'TCKN' or @schemeID = 'VKN']"/>",
"avkntckn":"<xsl:value-of

select="n1:DespatchAdvice/cac:DeliveryCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID[@sche meID =

'TCKN' or @schemeID = 'VKN']"/>",
"senaryo":"<xsl:value-of select="n1:DespatchAdvice/cbc:ProfileID"/>", "tip":"<xsl:value-of select="n1:DespatchAdvice/cbc:DespatchAdviceTypeCode"/>", "tarih":"<xsl:value-of select="n1:DespatchAdvice/cbc:IssueDate"/>", "no":"<xsl:value-of select="n1:DespatchAdvice/cbc:ID"/>",
"ettn":"<xsl:value-of select="n1:DespatchAdvice/cbc:UUID"/>", "sevktarihi":"<xsl:value-of
select="n1:DespatchAdvice/cac:Shipment/cac:Delivery/cac:Despatch/cbc:ActualDespatchDate"/>", "sevkzamani":"<xsl:value-of select="substring(n1:DespatchAdvice/cac:Shipment/cac:Delivery/cac:Despatch/cbc:ActualDespatchTime, 0,9)"/>",
"tasiyicivkn":"<xsl:value-of select="n1:DespatchAdvice/cac:Shipment/cac:Delivery/cac:CarrierParty/cac:PartyIdentification/cbc:ID"/
>",
"plaka":"<xsl:value-of select="n1:DespatchAdvice/cac:Shipment/cac:ShipmentStage/cac:TransportMeans/cac:RoadTransport/c bc:LicensePlateID"/>"
}
</div>
<script type="text/javascript">
var qrcode = new QRCode(document.getElementById("qrcode"), { width : 140,
height : 140,
correctLevel: QRCode.CorrectLevel.L
});
var minifiedValues = document.getElementById("qrvalue").innerHTML.replace(/\s/g, ''); qrcode.makeCode(minifiedValues)
</script>
</td>
e-Müstahsil belgeleri için 2. Kod bloğu:
<div id="qrcode" style="width:140px;"/>
<div id="qrvalue" style="visibility: hidden;position:absolute;">
{


Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

"vkntckn":"<xsl:value-of

select="n1:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID[@schemeI D = 'TCKN'

or @schemeID = 'VKN']"/>",
"avkntckn":"<xsl:value-of

select="n1:CreditNote/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID[@scheme ID = 'TCKN'

or @schemeID = 'VKN']"/>",
"senaryo":"<xsl:value-of select="n1:CreditNote/cbc:ProfileID"/>", "tip":"MUHTAHSILMAKBUZU",
"tarih":"<xsl:value-of select="n1:CreditNote/cbc:IssueDate"/>", "no":"<xsl:value-of select="n1:CreditNote/cbc:ID"/>", "ettn":"<xsl:value-of select="n1:CreditNote/cbc:UUID"/>",
"parabirimi":"<xsl:value-of select="n1:CreditNote/cbc:DocumentCurrencyCode"/>", "malhizmettoplam":"<xsl:value-of select="n1:CreditNote/cac:LegalMonetaryTotal/cbc:LineExtensionAmount"/>",
<xsl:for-each

select="n1:CreditNote/cac:TaxTotal/cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:TaxTypeCode


= '0003']">
"gvstopaj":"<xsl:value-of select="cbc:TaxAmount"/>",
</xsl:for-each>
<xsl:for-each

select="n1:CreditNote/cac:TaxTotal/cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:TaxTypeCode


= '9040']">
"merafonu":"<xsl:value-of select="cbc:TaxAmount"/>",
</xsl:for-each>
<xsl:for-each

select="n1:CreditNote/cac:TaxTotal/cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:TaxTypeCode


= '8001']">
"borsatescilucreti":"<xsl:value-of select="cbc:TaxAmount"/>",
</xsl:for-each>
<xsl:for-each

select="n1:CreditNote/cac:TaxTotal/cac:TaxSubtotal[cac:TaxCategory/cac:TaxScheme/cbc:TaxTypeCode


= 'SGK_PRIM']">
"sgkprimkesintisi":"<xsl:value-of select="cbc:TaxAmount"/>",
</xsl:for-each>
"odenecek":"<xsl:value-of select="n1:CreditNote/cac:LegalMonetaryTotal/cbc:PayableAmount"/>"
}
</div>
<script type="text/javascript">
var qrcode = new QRCode(document.getElementById("qrcode"), { width : 140,
height : 140,

Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği

correctLevel: QRCode.CorrectLevel.L
});
var minifiedValues = document.getElementById("qrvalue").innerHTML.replace(/\s/g, ''); qrcode.makeCode(minifiedValues)
</script>
</td>
Not!!! Özel tasarım dizayn kullanımında xslt dosya yolu olarak …\TemelSet\XSLT klasörü içindeki xslt dosyaları verilmişse, güncelleme öncesinde bu dosyaların yedeklenmesi önerilir. Güncelleme sonrası bu dizindeki xslt dosyalarıda güncellenecektir.



































Tarih:14/08/2023
Konu: e-Belgelerde Karekod Basım Desteği