292 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			292 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!--
 | |
| 	Sample Print Format for ERPNext
 | |
| 	Please use at your own discretion
 | |
| 	For suggestions and contributions:
 | |
| 		https://github.com/webnotes/erpnext-print-templates
 | |
| 
 | |
| 	Freely usable under MIT license
 | |
| -->
 | |
| 
 | |
| <!-- Style Settings -->
 | |
| <style>
 | |
| 	/*
 | |
| 		common style for whole page
 | |
| 		This should include:
 | |
| 		+ page size related settings
 | |
| 		+ font family settings
 | |
| 		+ line spacing settings
 | |
| 	*/
 | |
| 	@media screen {
 | |
| 		body {
 | |
| 			width: 8.3in;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	html, body, div, span, td {
 | |
| 		font-family: "Georgia", serif;
 | |
| 		font-size: 12px;
 | |
| 	}
 | |
| 
 | |
| 	body {
 | |
| 		padding: 10px;
 | |
| 		margin: auto;
 | |
| 		font-size: 12px;
 | |
| 		line-height: 150%;
 | |
| 	}
 | |
| 
 | |
| 	.common {
 | |
| 		font-family: "Georgia", serif !important;
 | |
| 		font-size: 12px;
 | |
| 		padding: 10px 0px;
 | |
| 	}
 | |
| 
 | |
| 	table {
 | |
| 		border-collapse: collapse;
 | |
| 		width: 100%;
 | |
| 		vertical-align: top;
 | |
| 	}
 | |
| 
 | |
| 	table td {
 | |
| 		padding: 2px 0px;
 | |
| 	}
 | |
| 	
 | |
| 	table h1, h2, h3, h4, h5, h6 {
 | |
| 		padding: 0px;
 | |
| 		margin: 0px;
 | |
| 	}
 | |
| 
 | |
| 	table.header-table td {
 | |
| 		vertical-align: top;
 | |
| 	}
 | |
| 
 | |
| 	table.header-table thead {
 | |
| 		border-bottom: 1px solid black;
 | |
| 	}
 | |
| 
 | |
| 	table.header-table h3 {
 | |
| 		color: gray;
 | |
| 	}
 | |
| 
 | |
| 	table.header-table thead td {
 | |
| 		padding: 5px 0px;
 | |
| 	}
 | |
| 
 | |
| 	div.page-body table td:nth-child(6),
 | |
| 	div.page-body table td:nth-child(7) {
 | |
| 		text-align: right;
 | |
| 	}
 | |
| 
 | |
| 	table.footer-table td {
 | |
| 		vertical-align: top;
 | |
| 	}
 | |
| 
 | |
| 	table.footer-table td table td:nth-child(2),
 | |
| 	table.footer-table td table td:nth-child(3) {
 | |
| 		text-align: right;
 | |
| 	}
 | |
| </style>
 | |
| 
 | |
| 
 | |
| <!-- Javascript -->
 | |
| <script>
 | |
| 	si_std = {
 | |
| 		print_item_table: function() {
 | |
| 			var table = print_table(
 | |
| 				'Delivery Note',
 | |
| 				doc.name,
 | |
| 				'delivery_note_details',
 | |
| 				'Delivery Note Detail',
 | |
| 				[// Here specify the table columns to be displayed
 | |
| 					'SR', 'item_code', 'item_name', 'description', 'qty', 'stock_uom',
 | |
| 					'basic_rate', 'amount'
 | |
| 				],
 | |
| 				[// Here specify the labels of column headings
 | |
| 					'Sr', 'Item Code', 'Item Name', 'Description', 'Qty',
 | |
| 					'UoM', 'Basic Rate', 'Amount'
 | |
| 				],
 | |
| 				[// Here specify the column widths
 | |
| 					'3%', '10%', '15%', '32%', '5%',
 | |
| 					'5%', '15%', '15%'
 | |
| 				],
 | |
| 				null,
 | |
| 				null,
 | |
| 				{
 | |
| 					'description' : function(data_row) {
 | |
| 						var to_append = ''
 | |
| 						if(data_row.adj_rate){
 | |
| 							to_append = '<div style="padding-left: 15px;"><i>Discount: ' + 
 | |
| 								data_row.adj_rate + '% on ' + doc.currency + ' ' +
 | |
| 								fmt_money(data_row.ref_rate) + '</i></div>';
 | |
| 							if(data_row.description.indexOf(to_append)==-1) {
 | |
| 								data_row.description = data_row.description + to_append;
 | |
| 							}
 | |
| 						}
 | |
| 						
 | |
| 						if(data_row.serial_no) {
 | |
| 							to_append = '<div style="padding-left: 15px;"><i>Serial No.:' + 
 | |
| 								((data_row.serial_no.indexOf('\n')>-1)?'<br />':' ') + 
 | |
| 								data_row.serial_no + '</i></div>';
 | |
| 							if(data_row.description.indexOf(to_append)==-1) {
 | |
| 								data_row.description = data_row.description + to_append;
 | |
| 							}
 | |
| 						}
 | |
| 	
 | |
| 						return data_row.description;
 | |
| 					}
 | |
| 				}
 | |
| 			);
 | |
| 
 | |
| 			// This code takes care of page breaks
 | |
| 			if(table.appendChild) {
 | |
| 				out = table.innerHTML;
 | |
| 			} else {
 | |
| 				out = '';
 | |
| 				for(var i=0; i < (table.length-1); i++) {
 | |
| 					out += table[i].innerHTML + 
 | |
| 						'<div style = "page-break-after: always;" \
 | |
| 						class = "page_break"></div>\
 | |
| 						<div class="page-settings"></div>';
 | |
| 				}
 | |
| 				out += table[table.length-1].innerHTML;
 | |
| 			}
 | |
| 			return out;
 | |
| 		},
 | |
| 
 | |
| 
 | |
| 		print_other_charges: function(parent) {
 | |
| 			var oc = getchildren('RV Tax Detail', doc.name, 'other_charges');
 | |
| 			var rows = '<table width=100%>\n';
 | |
| 			for(var i=0; i<oc.length; i++) {
 | |
| 				if(!oc[i].included_in_print_rate) {
 | |
| 					rows +=
 | |
| 						'<tr>\n' +
 | |
| 							'\t<td>' + oc[i].description + '</td>\n' +
 | |
| 							'\t<td></td>\n' +
 | |
| 							'\t<td width=38%>' + fmt_money(oc[i].tax_amount) + '</td>\n' +
 | |
| 						'</tr>\n';
 | |
| 				}
 | |
| 			}
 | |
| 			return rows + '</table>\n';
 | |
| 		}
 | |
| 	};
 | |
| </script>
 | |
| 
 | |
| 
 | |
| <!-- Page Layout Settings -->
 | |
| <div class='common page-header'>
 | |
| 	<!-- 
 | |
| 		Page Header will contain
 | |
| 			+ table 1
 | |
| 				+ table 1a
 | |
| 					- Name
 | |
| 					- Address
 | |
| 					- Contact
 | |
| 					- Mobile No
 | |
| 				+ table 1b
 | |
| 					- Voucher Date
 | |
| 					- Due Date
 | |
| 	-->
 | |
| 	<table class='header-table' cellspacing=0>
 | |
| 		<thead>
 | |
| 			<tr><td><script>'<h1>' + (doc.select_print_heading || 'Delivery Note') + '</h1>'</script></td></tr>
 | |
| 			<tr><td><h3><script>cur_frm.docname</script></h3></td></tr>
 | |
| 		</thead>
 | |
| 		<tbody>
 | |
| 			<tr>
 | |
| 				<td width=60%><table width=100% cellspacing=0><tbody>
 | |
| 					<tr>
 | |
| 						<td width=22%><b>Name</b></td>
 | |
| 						<td><script>doc.customer_name</script></td>
 | |
| 					</tr>
 | |
| 					<tr>
 | |
| 						<td><b>Address</b></td>
 | |
| 						<td><script>replace_newlines(doc.address_display)</script></td>
 | |
| 					</tr>
 | |
| 					<tr>
 | |
| 						<td><b>Contact</b></td>
 | |
| 						<td><script>doc.contact_display</script></td>
 | |
| 					</tr>
 | |
| 				</tbody></table></td>
 | |
| 				<td><table width=100% cellspacing=0><tbody>
 | |
| 					<tr>
 | |
| 						<td width=63%><b>Delivery Note Date</b></td>
 | |
| 						<td><script>date.str_to_user(doc.transaction_date)</script></td>
 | |
| 					<tr>					
 | |
| 					<tr>
 | |
| 						<td><b>Sales Order No.</b></td>
 | |
| 						<td>
 | |
| 							<script>doc.sales_order_no</script><br />
 | |
| 							<i>(<script>date.str_to_user(doc.posting_date)</script>)</i>
 | |
| 						</td>
 | |
| 					<tr>					
 | |
| 				</tbody></table></td>
 | |
| 			</tr>
 | |
| 		</tbody>
 | |
| 		<tfoot>
 | |
| 		
 | |
| 		</tfoot>
 | |
| 	</table>
 | |
| </div>
 | |
| <div class='common page-body'>
 | |
| 	<!-- 
 | |
| 		Page Body will contain
 | |
| 			+ table 2
 | |
| 				- Sales Invoice Data
 | |
| 	-->
 | |
| 	<script>si_std.print_item_table()</script>
 | |
| </div>
 | |
| <div class='common page-footer'>
 | |
| 	<!-- 
 | |
| 		Page Footer will contain
 | |
| 			+ table 3
 | |
| 				- Terms and Conditions
 | |
| 				- Total Rounded Amount Calculation
 | |
| 				- Total Rounded Amount in Words
 | |
| 	-->
 | |
| 	<table class='footer-table' width=100% cellspacing=0>
 | |
| 		<thead>
 | |
| 			
 | |
| 		</thead>
 | |
| 		<tbody>
 | |
| 			<tr>
 | |
| 				<td width=60% style='padding-right: 10px;'>
 | |
| 					<b>Terms, Conditions & Other Information:</b><br />
 | |
| 					<script>doc.terms</script>
 | |
| 				</td>
 | |
| 				<td>
 | |
| 					<table cellspacing=0 width=100%><tbody>
 | |
| 						<tr>
 | |
| 							<td>Net Total</td>
 | |
| 							<td></td>
 | |
| 							<td width=38%><script>
 | |
| 								fmt_money(doc.net_total)
 | |
| 							</script></td>
 | |
| 						</tr>
 | |
| 						<tr><td colspan=3><script>si_std.print_other_charges()</script></td></tr>
 | |
| 						<tr>
 | |
| 							<td>Grand Total</td>
 | |
| 							<td></td>
 | |
| 							<td><script>
 | |
| 								fmt_money(doc.grand_total_export)
 | |
| 							</script></td>
 | |
| 						</tr>
 | |
| 						<tr style='font-weight: bold'>
 | |
| 							<td>Rounded Total</td>
 | |
| 							<td><script>doc.currency</script></td>
 | |
| 							<td><script>
 | |
| 								fmt_money(doc.rounded_total_export)
 | |
| 							</script></td>
 | |
| 						</tr>
 | |
| 					</tbody></table>
 | |
| 					<br /><b>In Words</b><br />
 | |
| 					<i><script>doc.in_words_export</script></i>
 | |
| 				</td>
 | |
| 			</tr>		
 | |
| 		</tbody>
 | |
| 		<tfoot>
 | |
| 		
 | |
| 		</tfoot>
 | |
| 	</table>
 | |
| </div>
 | |
| 
 |