I have been facing a peculiar problem of unable to print some delivery notes on a POS printer. The printer specs are unknown since its a chinese make POS thermal receipt printer but the best match I could find is as below:
http://lavapos.en.made-in-china.com/product/NqjnwWpYZTrb/China-80mm-POS-Thermal-Receipt-Printer-TM200-.html
Now the problem is that some DN (not all) DN don’t print on this printer and this is related to a particular DN. The printer hangs and along with it hangs the Firefox as well, I think the problem is with some characters getting hanged on the printer.
I am enclosing the HTML code of the 2 delivery notes, one of which is printing perfectly and the other does not print at all.
Code of the DN printing PERFECTLY:
HTML Code of DN printing properly:
<!DOCTYPE html>
<html> <head> <title>DN121300714</title> <style>html, body, div, span, td { font-family: Arial, Helvetica; font-size: 12px; }
pre { margin:0; padding:0;}
.simpletable, .noborder { border-collapse: collapse; margin-bottom: 10px;}
.simpletable td {border: 1pt solid #000; vertical-align: top; padding: 2px; }
.noborder td { vertical-align: top; }</style> </head> <body>
<div class=“page-settings”>
<div></div><!-- .cust_tbl { border-collapse:collapse; } .cust_tbl td { border:1px solid #848484; } –> <!–Other charges function–>
<span></span>
<div style=“border: 0px solid black; padding: 0px; font-family: ‘Arial’, Times, serif; font-size: 12px;”><!–header–>
<div><strong>
<span>Warrior Tools Store</span>
</strong> <br>
<span>228, Meena Bazaar
Delhi 110006
Delhi
India
Phone: 23265340, 23283573</span>
<table style=“width: 100%;” border=“0”>
<tbody>
<tr>
<td align=“left” valign=“top”>
<table border=“0”>
<tbody>
<tr>
<td><strong>DN No.</strong></td>
<td><strong>:</strong></td>
<td>
<span>DN121300714</span>
</td>
</tr>
<tr>
<td><strong><span style=“font-weight: normal;”><strong>DN</strong></span> Date</strong></td>
<td><strong>:</strong></td>
<td>
<span>07-06-2012</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<div><br>
<span></span>
</div>
<div>
<span><table style=“width: 100%; border-collapse: collapse; margin-bottom: 10px;”><tbody><tr>
<td style=“width: 30px; border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold;”>Sr</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 59%;”>Description</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 5%; text-align: right;”>Qty</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 3%;”>UoM</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 10%; text-align: right;”>Rate</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 15%; text-align: right;”>Amount</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>1</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-SQ 1/2’‘x1/2’‘x4’’ M2 Khulla</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>100.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>147.50</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>14,750.00</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>2</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-SQ 5/8’‘x5/8’‘x6’’ M2 Khulla</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>25.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>335.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>8,375.00</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>3</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-RND 6mmx75mm 1X</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>50.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>34.20</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>1,710.00</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>4</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-SQ 5/16’‘x5/16’‘x4’’ 1X</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>50.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>64.80</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>3,240.00</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>5</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-SQ 5/16’‘x5/16’‘x4’’ 2X</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>30.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>88.20</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>2,646.00</td></tr></tbody></table></span>
</div>
<!–Other charges table–>
<div>
<table style=“width: 100%;” border=“0” cellspacing=“1”>
<tbody>
<tr>
<td style=“width: 45%;”> </td>
<td style=“width: 55%;”>
<span>
<div><table class=“noborder” style=“width:100%”><tbody><tr>
<td style=“width:50%”><b>Net Total</b></td>
<td style=“width:20%;text-align:right”>INR</td>
<td style=“width:20%;text-align:right”>30,721.00</td></tr><tr>
<td style=“width:50%”><b>Grand Total</b></td>
<td style=“width:20%;text-align:right”>INR</td>
<td style=“width:20%;text-align:right”>30,721.00</td></tr><tr>
<td style=“width:50%”><b>Rounded Total</b></td>
<td style=“width:20%;text-align:right”>INR</td>
<td style=“width:20%;text-align:right”>30,721.00</td></tr></tbody></table></div></span>
</td>
</tr>
<tr>
<td style=“width: 35%;”> </td>
<td style=“width: 65%;”>
<table style=“width: 100%;” border=“0”>
<tbody>
<tr>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div></div>
<div><br>
<div><br> <strong>Notes:</strong>
<span></span>
</div>
</div>
</div>
</div>
</body>
</html>
HTML code of the DN NOT PRINTING PROPERLY:
<!DOCTYPE html>
<html> <head> <title>DN121300715</title> <style>html, body, div, span, td { font-family: Arial, Helvetica; font-size: 12px; }
pre { margin:0; padding:0;}
.simpletable, .noborder { border-collapse: collapse; margin-bottom: 10px;}
.simpletable td {border: 1pt solid #000; vertical-align: top; padding: 2px; }
.noborder td { vertical-align: top; }</style> </head> <body>
<div class=“page-settings”>
<div></div><!-- .cust_tbl { border-collapse:collapse; } .cust_tbl td { border:1px solid #848484; } –> <!–Other charges function–>
<span></span>
<div style=“border: 0px solid black; padding: 0px; font-family: ‘Arial’, Times, serif; font-size: 12px;”><!–header–>
<div><strong>
<span>Super Trading Company</span>
</strong> <br>
<span>Hauz Qazi
Delhi
Delhi
India
Phone: 23236276, 23222664</span>
<table style=“width: 100%;” border=“0”>
<tbody>
<tr>
<td align=“left” valign=“top”>
<table border=“0”>
<tbody>
<tr>
<td><strong>DN No.</strong></td>
<td><strong>:</strong></td>
<td>
<span>DN121300715</span>
</td>
</tr>
<tr>
<td><strong><span style=“font-weight: normal;”><strong>DN</strong></span> Date</strong></td>
<td><strong>:</strong></td>
<td>
<span>07-06-2012</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<div><br>
<span></span>
</div>
<div>
<span><table style=“width: 100%; border-collapse: collapse; margin-bottom: 10px;”><tbody><tr>
<td style=“width: 30px; border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold;”>Sr</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 59%;”>Description</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 5%; text-align: right;”>Qty</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 3%;”>UoM</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 10%; text-align: right;”>Rate</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; background-color: rgb(221, 221, 221); font-weight: bold; width: 15%; text-align: right;”>Amount</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>1</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-SQ 1/2’‘x1/2’‘x6’’ 3X</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>20.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>585.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>11,700.00</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>2</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-SQ 1/2’‘x1/2’‘x8’’ 3X</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>10.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>787.50</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>7,875.00</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>3</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-SQ 1/2’‘x1/2’‘x6’’ M2 Khulla</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>150.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>217.50</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>32,625.00</td></tr><tr>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>4</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>HSS-SQ 5/8’‘x5/8’‘x8’’ 3X</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>6.00</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top;”>Nos</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>1,237.50</td>
<td style=“border: 1px solid rgb(0, 0, 0); padding: 2px; vertical-align: top; text-align: right;”>7,425.00</td></tr></tbody></table></span>
</div>
<!–Other charges table–>
<div>
<table style=“width: 100%;” border=“0” cellspacing=“1”>
<tbody>
<tr>
<td style=“width: 45%;”> </td>
<td style=“width: 55%;”>
<span>
<div><table class=“noborder” style=“width:100%”><tbody><tr>
<td style=“width:50%”><b>Net Total</b></td>
<td style=“width:20%;text-align:right”>INR</td>
<td style=“width:20%;text-align:right”>59,625.00</td></tr><tr>
<td style=“width:50%”><b>Grand Total</b></td>
<td style=“width:20%;text-align:right”>INR</td>
<td style=“width:20%;text-align:right”>59,625.00</td></tr><tr>
<td style=“width:50%”><b>Rounded Total</b></td>
<td style=“width:20%;text-align:right”>INR</td>
<td style=“width:20%;text-align:right”>59,625.00</td></tr></tbody></table></div></span>
</td>
</tr>
<tr>
<td style=“width: 35%;”> </td>
<td style=“width: 65%;”>
<table style=“width: 100%;” border=“0”>
<tbody>
<tr>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div></div>
<div><br>
<div><br> <strong>Notes:</strong>
<span></span>
</div>
</div>
</div>
</div>
</body>
</html>
The code of the CUSTOM FORMAT in the ERP is as below:
<!-- .cust_tbl { border-collapse:collapse; } .cust_tbl td { border:1px solid #848484; } –> <!–Other charges function–>
<script type=“text/javascript”>// <![CDATA[
var make_row = function(title,val,bold){
var bstart = ‘<b>’; var bend = ‘</b>’;
return ‘<tr><td style=“width:50%”>’+(bold?bstart:‘’)+title+(bold?bend:‘’)+‘</td>’
+‘<td style=“width:20%;text-align:right”>’+doc.currency+‘</td>’
+‘<td style=“width:20%;text-align:right”>’+val+‘</td>’
+‘</tr>’
}
function get_other_charges(){
var cl = getchildren(‘Sales Taxes and Charges’,doc.name,‘other_charges’);
var out=‘’;
out +=‘<div><table class=“noborder” style=“width:100%”>’
+make_row(‘Net Total’,fmt_money(convert_rate(doc.net_total)),1);
//
// if(cl.length){
// for(var i=0;i<cl.length;i++){
// out += make_row(cl[i].description,fmt_money(convert_rate(cl[i].tax_amount)),0);
// }
// }
out +=make_row(‘Grand Total’,fmt_money(doc.grand_total_export),1)
+make_row(‘Rounded Total’,fmt_money(doc.rounded_total_export),1)
out +=‘</table></div>’;
return out;
}
function get_letter_head(){
var cp = locals[‘Control Panel’][‘Control Panel’];
if(cp.letter_head != ‘None’) {return cp.letter_head; }
else{ return ‘’};
}
function convert_rate(val){
var new_val = flt(val)/flt(doc.conversion_rate);
return new_val;
}
function get_transporter_details(){
var out = ‘’;
if(doc.transporter_name || doc.lr_no || doc.lr_date){
out += ‘<div><table class=“noborder” style=“width:40%”>’
+‘<tr><td style=“width:80%”><b>’ + ‘Transporter Details’+‘</b></td><td style=“width:20%”><br mce_bogus=“1” /></td></tr>’
if(doc.transporter_name){ out += ‘<tr><td style=“width:40%”>’ + ‘Transporter Name’+‘</td><td style=“width:60%”>’+doc.transporter_name+‘</td></tr>’}
if(doc.lr_no){ out += ‘<tr><td style=“width:40%”>’ + ‘LR No’+‘</td><td style=“width:60%”>’+doc.lr_no+‘</td></tr>’}
if(doc.lr_date){ out += ‘<tr><td style=“width:40%”>’ + ‘LR Date’+‘</td><td style=“width:60%”>’+doc.lr_date+‘</td></tr>’}
out += ‘</table></div>’
}
return out;
}
// ]]></script>
<div style=“border: 0px solid black; padding: 0px; font-family: ‘Arial’, Times, serif; font-size: 12px;”><!–header–>
<div><strong>
<script type=“text/javascript”>// <![CDATA[
doc.customer_name
// ]]></script>
</strong> <br />
<script type=“text/javascript”>// <![CDATA[
doc.address_display
// ]]></script>
<table style=“width: 100%;” border=“0”>
<tbody>
<tr>
<td align=“left” valign=“top”>
<table border=“0”>
<tbody>
<tr>
<td><strong>DN No.</strong></td>
<td><strong>:</strong></td>
<td>
<script type=“text/javascript”>// <![CDATA[
doc.name
// ]]></script>
</td>
</tr>
<tr>
<td><strong><span style=“font-weight: normal;”><strong>DN</strong></span> Date</strong></td>
<td><strong>:</strong></td>
<td>
<script type=“text/javascript”>// <![CDATA[
date.str_to_user(doc.posting_date)
// ]]></script>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<br />
<div><br />
<script type=“text/javascript”>// <![CDATA[
replace_newlines(doc.note)
// ]]></script>
</div>
<div>
<script type=“text/javascript”>// <![CDATA[
var t = print_table(‘Delivery Note’, doc.name, ‘delivery_note_details’, ‘Delivery Note Item’, [‘SR’,‘description’,‘qty’,‘stock_uom’,‘export_rate’,‘export_amount’], [‘Sr’, ‘Description’,‘Qty’,‘UoM’,‘Rate’,‘Amount’], [‘3%’, ‘59%’,‘5%’,‘3%’,‘10%’, ‘15%’],‘’,cssclass=“cust_tbl”)
if(t.appendChild) {
// single
out = t.innerHTML;
}
else {//multiple
out = ‘’
for(var i=0;i<t.length;i++) {
if(i!=t.length-1){
out += ‘<div style:“padding-top:5px;”></div>’ + t[i].innerHTML +‘<div style=“page-break-after:always” mce_style=“page-break-after:always”></div>’;
}
else out += ‘<div style:“padding-top:5px;”></div>’ + t[i].innerHTML;
}
}
out;
// ]]></script>
</div>
<!–Other charges table–>
<div>
<table style=“width: 100%;” border=“0” cellspacing=“1”>
<tbody>
<tr>
<td style=“width: 45%;”> </td>
<td style=“width: 55%;”>
<script type=“text/javascript”>// <![CDATA[
get_other_charges()
// ]]></script>
</td>
</tr>
<tr>
<td style=“width: 35%;”> </td>
<td style=“width: 65%;”>
<table style=“width: 100%;” border=“0”>
<tbody>
<tr>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div></div>
<div><br />
<div><br /> <strong>Notes:</strong>
<script type=“text/javascript”>// <![CDATA[
replace_newlines(doc.concluding_note)
// ]]></script>
</div>
</div>
</div>
I would request any EXPERT to come and let me know where exactly is the problem, I have seen that the printer would print properly upto a particular part, the code which prints properly in the DN format not printing properly is HIGHLIGHTED in GREEN and the part which does not print properly is HIGHLIGHTED in RED.
–
You received this message because you are subscribed to the Google Groups “ERPNext Developer Forum” group.
To view this discussion on the web visit https://groups.google.com/d/msg/erpnext-developer-forum/-/9zoC5JFSS1UJ.
To post to this group, send email to er...@googlegroups.com.
To unsubscribe from this group, send email to erpnext-developer-forum+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/erpnext-developer-forum?hl=en.