Печать бланка почтовых переводов через админку

Тема в разделе "Shop-script", создана пользователем simbion, 1 ноя 2008.

Статус темы:
Закрыта.
  1. simbion

    simbion Постоялец

    Регистр.:
    5 апр 2006
    Сообщения:
    59
    Симпатии:
    1
    Помогите реализовать одну мелочь.
    Мне нужно в админке на странице детального описания нового поступившего заказа (custord_new_orders.tpl) слегка изменить функцию "Версия для печати". А именно, что бы при нажатии на эту кнопку во вновь открывшемся окне для печати, итоговая сумма заказа (ИТОГО) писалась прописью.
     
  2. Aramis_AV

    Aramis_AV Прохожие

    Я бы сделал на javascript!

    В шаблон пишем: <SCRIPT>sumPROP(1234.50);</SCRIPT>
    Где 1234.50 - твоя переменная...
    Сам скрипт js (вставить или в этот же tpl или отдельным файлом:
    Код:
    <script>
    function sumPROP(XS){
    if (XS>0) {xx=Math.floor(XS); xx1=Math.round((XS-Math.floor(XS))*100);} else {document.write("Ноль рублей 00 коп."); return;}
    
    var cifir= new Array("од","дв","три","четыр","пят","шест","сем","восем","девят");
    var sotN=new Array("сто","двести","триста","четыреста","пятьсот","шестьсот","семьcот","восемьсот","девятьсот");
    var milion=new Array("триллион","миллиард","миллион","тысяч");
    var anDan =new Array("","","","сорок","","","","","девяносто");
    var scet=4;
    var cifR='';
    var cfR='';
    var oboR=new Array(0);
    
    yy=Math.floor(xx/1000);
    delen=Math.round((xx/1000-yy)*1000);
    sot=Math.floor(delen/100)*100;
    
    des=(Math.floor(delen-sot)>9?Math.floor((delen-sot)/10)*10:0);
    ed=Math.floor(delen-sot)-Math.floor((delen-sot)/10)*10;
    
    te=des+ed;
    if (te>9 && te<21) {namerub="рублей";} else
    {
    if (ed == 1) {namerub="рубль";} else {if (ed>1 && ed<5) {namerub="ру***";} else {namerub="рублей";}};
    }
    
    
    //==========================
    	if (xx>999999999999999) { cfR="Густо!"; return cfR; }
    	while(xx/1000>0){
    		yy=Math.floor(xx/1000);
    		delen=Math.round((xx/1000-yy)*1000);
    		//-------------------------------
    		sot=Math.floor(delen/100)*100;
    		des=(Math.floor(delen-sot)>9?Math.floor((delen-sot)/10)*10:0);
    		ed=Math.floor(delen-sot)-Math.floor((delen-sot)/10)*10;
    		//-------------------------------
    
    
    
    
    		//-------------------------------
    		forDes=(des/10==2?'а':'')
        forEd=(ed==1?'ин': (ed==2?'е':''));
        ffD=(ed>4?'ь':(ed==1 || scet<3?(scet<3 && ed<2?'ин':(scet==3?'на':(scet<4?(ed==2?'а':( ed==4?'е':'')):'ин'))) :(ed==2?'a':(ed==4?'е':''))));
        if (scet<4 && ed==2) {ffD='e';}
        if (scet<3 && ed==2) {ffD='a';}
    
    		forTys=(des/10==1? (scet<3?'ов':'') : (scet<3? (ed==1?'': (ed>1 && ed<5?'а':'ов') ) : (ed==1?'а': (ed>1 && ed<5?'и':'') )) );
    		//===============================
    			oprSot=(sotN[sot/100-1]!=null?sotN[sot/100-1]:'');
    			oprDes=' '+(cifir[des/10-1]!=null? (des/10==1?'': (des/10==4 || des/10==9?anDan[des/10-1]:(des/10==2 || des/10==3?cifir[des/10-1]+forDes+'дцать':cifir[des/10-1]+'ьдесят') ) ) :'');
    			oprEd=' '+(cifir[ed-1]!=null? cifir[ed-1]+(des/10==1?forEd+'надцать' : ffD ) : (des==10?'десять':'') );
    			oprTys=' '+(milion[scet]!=null && delen>0 ?milion[scet]+forTys:'');
    		//-------------------------------
    		cifR=(oprSot.length>1?oprSot:'')+
    			 (oprDes.length>1?oprDes:'')+
                 (oprEd.length>1?oprEd:'')+
    			 (oprTys.length>1?oprTys:'');
    		oboR[oboR.length]=cifR;
    		xx=Math.floor(xx/1000);
    		scet-=1;
    		if ( Math.floor(xx)<1 ) {	break;	}
    	}
    		oboR.reverse();
    		for (i=0; i<oboR.length; i++){
    			cfR+=oboR[i]+' ';
    		}
    		(cfR.length<3?cfR='ноль ':cfR);
    		if (xx1<10){xx1="0"+xx1;};
    		if (cfR.substr(0,1)==' ') {  cfR=cfR.substr(1)}
    		cfR=cfR.charAt(0).toUpperCase()+cfR.substr(1);
    		cfR+=namerub+' '+xx1+' коп.';
    
    		document.write(cfR);
    }</script>
    
     
  3. sskiev

    sskiev Постоялец

    Регистр.:
    1 фев 2008
    Сообщения:
    97
    Симпатии:
    13
    Интересно а почему в названии темы стоит Печать бланка почтовых переводов? Где тут посчтовые переводы - непонятно :nezn:
     
  4. simbion

    simbion Постоялец

    Регистр.:
    5 апр 2006
    Сообщения:
    59
    Симпатии:
    1
    sskiev, планировалось, чтобы вместо версии для печати, открывалось поп-ап окно с заполненным почтовым бланком. А в почтовом бланке необходимо сумму перевода указывать также прописью...
    Aramis_AV, За скрипт большоее спасибо! Теперь буду разбираться....
     
Статус темы:
Закрыта.