Commit bae290a4 authored by Arnaud Fontaine's avatar Arnaud Fontaine

erp5_trade_ja: New bt5 for wkhtmltopdf printout for 'Sale Invoice' with...

erp5_trade_ja: New bt5 for wkhtmltopdf printout for 'Sale Invoice' with >2019/10/01 new Japanese VAT ratio support.

Based on the following ODT Templates (erp5_invoicing):
  * Invoice_viewAsODT.oot.
  * Invoice_viewAsODTStyles_l10n_ja.oot.

wkhtmltopdf template is based on work from slapos_accounting bt5:
  * SaleInvoiceTransaction_viewSlapOSPrintout.zpt.
  * SaleInvoiceTransaction_getSlapOSPrintout.css.zpt.
parent fb9a0d60
Pipeline #6329 failed with stage
in 0 seconds
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>action</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>action_type/object_jio_print</string>
</tuple>
</value>
</item>
<item>
<key> <string>category</string> </key>
<value> <string>object_jio_print</string> </value>
</item>
<item>
<key> <string>condition</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>icon</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>invoice_print_ja</string> </value>
</item>
<item>
<key> <string>permissions</string> </key>
<value>
<tuple>
<string>View</string>
</tuple>
</value>
</item>
<item>
<key> <string>priority</string> </key>
<value> <float>2.0</float> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Print Japanese Invoice</string> </value>
</item>
<item>
<key> <string>visible</string> </key>
<value> <int>1</int> </value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<global name="Expression" module="Products.CMFCore.Expression"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>text</string> </key>
<value> <string>string:${object_url}/Invoice_viewHTMLPrintDialog</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_trade_ja</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
if target_language:
container.REQUEST['AcceptLanguage'].set(target_language, 10)
container.REQUEST.set('format', 'pdf')
return context.getPortalObject().web_page_module.newContent(
portal_type='Web Page',
temp_object=True,
title=context.getReference(),
text_content=context.Invoice_viewAsHTML()).index_html(container.REQUEST)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>target_language=\'\', *args, **kwargs</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Invoice_printAsHTML</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Invoice_viewAsHTML</string> </value>
</item>
<item>
<key> <string>output_encoding</string> </key>
<value> <string>utf-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <unicode></unicode> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<!DOCTYPE html>
<html tal:define="data_dict here/Invoice_getODTDataDict;
quantity_renderer nocall:here/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_quantity/render_pdf;
price_renderer nocall:here/portal_skins/erp5_trade/Base_viewTradeFieldLibrary/my_view_mode_total_price/render_pdf"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>Invoice</title>
<link rel="license" href="http://www.opensource.org/licenses/mit-license/">
<style>
/* Based on http://www.jonathantneal.com/examples/invoice/style.css */
* {
border: 0;
box-sizing: content-box;
color: inherit;
font-family: inherit;
font-size: inherit;
font-style: inherit;
font-weight: inherit;
line-height: inherit;
list-style: none;
margin: 0;
padding: 0;
text-decoration: none;
vertical-align: top;
}
html {
font: 14px/1 'Open Sans', sans-serif;
overflow: auto;
cursor: default;
}
body {
box-sizing: border-box;
min-height: 11in;
width: 100%;
}
/* To have a print-like appearance for @media screen. UNUSED: Not used as cloudooo does not use --print-media-type and
this is not needed anyway as only print is used */
/*
html {
padding: 0.5in;
background: #999;
}
body {
margin: 0 auto;
overflow: hidden;
padding: 0.4in;
width: 8.5in;
background: #FFF;
border-radius: 1px;
box-shadow: 0 0 1in -0.25in rgba(0, 0, 0, 0.5);
}
*/
table {
font-size: 75%;
table-layout: auto;
width: 100%;
border-collapse: separate;
border-spacing: 0;
}
th, td {
padding: 0.7em;
position: relative;
text-align: left;
border-bottom: 1px solid black;
}
th {
background: #DDD;
}
header {
margin: 0 0 3em;
}
header:after {
clear: both;
content: "";
display: table;
}
header td {
border: 0;
}
header td.invoice {
text-align: right;
}
header td.invoice h1 {
padding: 0;
margin: 0;
font-size: 260%;
}
header address {
font-size: 100%;
line-height: 1.25;
margin: 0 1em 1em 0;
}
header address p {
margin: 0 0 0.25em;
}
header img {
max-height: 100%;
max-width: 100%;
display: block;
}
article:after {
clear: both;
content: "";
display: table;
}
article address {
float: left;
}
article address p {
margin-bottom: 5px;
}
table.meta {
margin: 0 0 3em;
}
table.meta th {
vertical-align: middle;
text-align: right;
font-size: 75%;
width: 8%;
}
table.meta td {
vertical-align: middle;
}
table.meta th, table.meta td {
border-left: 1px solid black;
}
table.meta tr:first-child th, table.meta tr:first-child td {
border-top: 1px solid black;
}
table.meta td:last-child {
border-right: 1px solid black;
}
table.meta td.address {
width: 30%;
}
table.meta:after {
clear: both;
content: "";
display: table;
}
table.resource {
clear: both;
width: 100%;
margin: 0 0 1em;
}
table.resource tr {
page-break-inside: avoid;
}
table.resource th {
text-align: center;
page-break-inside: avoid;
}
table.resource td {
padding: 0.97em .7em;
text-align: right;
height: 1em;
page-break-inside: avoid;
}
/* 60% */
table.resource th:nth-child(1), table.resource td:nth-child(1) {
width: 4%;
text-align: left;
}
table.resource th:nth-child(2), table.resource td:nth-child(2) {
width: 14%;
text-align: left;
}
table.resource th:nth-child(3), table.resource td:nth-child(3) {
width: 14%;
text-align: left;
}
table.resource th:nth-child(4), table.resource td:nth-child(4) {
width: 28%;
text-align: left;
}
/* 40% */
table.resource th:nth-child(5), table.resource td:nth-child(5) {
width: 5%;
}
table.resource th:nth-child(6), table.resource td:nth-child(6) {
width: 4%;
}
table.resource th:nth-child(7), table.resource td:nth-child(7) {
width: 7%;
}
table.resource th:nth-child(8), table.resource td:nth-child(8) {
width: 12%;
}
table.resource th:nth-child(9), table.resource td:nth-child(9) {
width: 12%;
}
table.resource th, table.resource td {
border-bottom: 1px solid black;
}
table.balance {
clear: both;
float: right;
width: 40%;
}
table.balance th {
width: 63%;
text-align: right;
}
table.balance td {
width: 34%;
text-align: right;
}
table.balance th, table.balance td {
border-left: 1px solid black;
}
table.balance tr:first-child th, table.balance tr:first-child td {
border-top: 1px solid black;
}
table.balance td:last-child {
border-right: 1px solid black;
}
table.tax {
margin: 1em 0 1em 0;
clear: both;
float: right;
width: 40%;
}
table.tax th, table.tax td {
text-align: right;
}
table.tax th.code {
text-align: center;
}
.notes {
margin: 1em 0 1em 0;
display: block;
padding: .5em;
border: 1px solid black;
font-size: 75%;
}
.notes h1 {
margin-bottom: 0.5em;
}
footer {
font-size: 75%;
width: 100%;
clear: both;
text-align: left;
margin-top: 3em;
}
@page {
margin: 0;
}
/* UNUSED: See comment above
@media print {
* {
-webkit-print-color-adjust: exact;
}
html {
background: none;
padding: 0;
}
body {
box-shadow: none;
margin: 0;
width: 27cm; // XXX: Already specified a4 width/height above but this leaves big margins on the right
height: 29.7cm;
}
span:empty {
display: none;
}
.page-break {
page-break-before: always;
padding-top: 80px;
}
tr.page-break td {
border-top: 1px solid #DDD;
}
table.resource tr {
page-break-inside: avoid;
display:block;
position: relative;
width: 100%;
height: 26px;
}
table.resource tr:after {
content:'';
display:block;
clear: both;
}
table.resource td, table.resource th {
page-break-inside: avoid;
overflow: hidden;
text-overflow: ellipsis;
display: block;
float: left;
white-space: nowrap;
}
table.resource th:nth-child(1), table.resource td:nth-child(1) {
width: 0.84cm; // 4%
}
table.resource th:nth-child(2), table.resource td:nth-child(2) {
width: 2.94cm; // 14%
}
table.resource th:nth-child(3), table.resource td:nth-child(3) {
width: 2.94cm; // 14%
}
table.resource th:nth-child(4), table.resource td:nth-child(4) {
width: 5.88cm; // 28%
}
table.resource th:nth-child(5), table.resource td:nth-child(5) {
width: 1.05cm; // 5%
}
table.resource th:nth-child(6), table.resource td:nth-child(6) {
width: 0.84cm; // 4%
}
table.resource th:nth-child(7), table.resource td:nth-child(7) {
width: 1.47cm; // 7%
}
table.resource th:nth-child(8), table.resource td:nth-child(8) {
width: 2.7cm; // until it fits nicely
}
table.resource th:nth-child(9), table.resource td:nth-child(9) {
width: 2.7cm; // until it fits nicely
}
}
*/
</style>
</head>
<body>
<header tal:define="default_language python:test(request.get('international_form'), 'en', here.Localizer.get_selected_language());
image_path python: here.getPortalType().startswith('Purchase') and data_dict['destination_section_image_path'] or (data_dict['source_decision_image_path'] or data_dict['source_section_image_path']);
image_obj python: here.restrictedTraverse(image_path.encode('utf-8'));
image_width python: here.getPortalType().startswith('Purchase') and data_dict['destination_section_image_width'] or (data_dict['source_decision_image_width'] or data_dict['source_section_image_width']);
image_height python: here.getPortalType().startswith('Purchase') and data_dict['destination_section_image_height'] or (data_dict['source_decision_image_height'] or data_dict['source_section_image_height'])">
<table>
<tbody>
<tr>
<td>
<img tal:attributes="src python: 'data:%s;;base64,%s' % (image_obj.getContentType(), modules['base64'].b64encode(image_obj.getData()));
style python: 'height: %scm;; width: %scm;;' % (image_height, image_width);">
</td>
<td>
<address>
<h1 class="company"
tal:content="python: here.getPortalType().startswith('Purchase') and data_dict['destination_administration_title'] or data_dict['source_administration_title']">
株式会社 Nexedi
</h1>
<p tal:define="administration_address python: here.getPortalType().startswith('Purchase') and data_dict['destination_administration_address'] or data_dict['source_administration_address']">
<tal:block tal:repeat="line python: administration_address.split('\n')">
<span style="display:block" tal:content="line">101-0025 東京都千代田区神田佐久間町3-20-5 秋葉原Y'sビル3F</span>
</tal:block>
</p>
<p tal:content="python: here.getPortalType().startswith('Purchase') and data_dict['destination_administration_telfax'] or data_dict['source_administration_telfax']">
Tel: +81(0)-3-5829-9433
</p>
<p tal:content="python: here.getPortalType().startswith('Purchase') and data_dict['destination_administration_email'] or data_dict['source_administration_email']">
Eメール:yusei@nexedi.com
</p>
<p tal:content="python: here.getPortalType().startswith('Purchase') and data_dict['destination_administration_vatid'] or data_dict['source_administration_vatid']">
VAT ID
</p>
</address>
</td>
<td class="invoice">
<h1 i18n:translate="" i18n:domain="ui">Invoice</h1>
</td>
</tr>
</tbody>
</table>
</header>
<article>
<table class="meta">
<tbody>
<tr>
<th rowspan="3">
<span i18n:translate="" i18n:domain="ui">
Supplier
</span>:
</th>
<td rowspan="3" class="address">
<address>
<h1 class="company"
tal:content="python:data_dict['source_section_title']">
株式会社 Nexedi
</h1>
<p>
<tal:block tal:repeat="line python: data_dict['source_section_address'].split('\n')">
<span style="display:block" tal:content="line">101-0025 東京都千代田区神田佐久間町3-20-5 秋葉原Y'sビル3F</span>
</tal:block>
</p>
<p tal:content="python: data_dict['source_section_telfax']">
Tel: +81(0)-3-5829-9433
</p>
<p tal:content="python: data_dict['source_section_email']">
Eメール:yusei@nexedi.com
</p>
<p tal:content="python: data_dict['source_section_vatid']">
VAT ID
</p>
</address>
</td>
<th rowspan="3">
<span i18n:translate="" i18n:domain="ui">
Client
</span>:
</th>
<td rowspan="3" class="address">
<address>
<h1 class="company"
tal:content="python:data_dict['destination_section_title']">
株式会社 Nexedi
</h1>
<p>
<tal:block tal:repeat="line python: data_dict['destination_section_address'].split('\n')">
<span style="display:block" tal:content="line">101-0025 東京都千代田区神田佐久間町3-20-5 秋葉原Y'sビル3F</span>
</tal:block>
</p>
<p tal:content="python: data_dict['destination_section_telfax']">
Tel: +81(0)-3-5829-9433
</p>
<p tal:content="python: data_dict['destination_section_email']">
Eメール:yusei@nexedi.com
</p>
<p tal:content="python: data_dict['destination_section_vatid']">
VAT ID
</p>
</address>
</td>
<th>
<span i18n:translate="" i18n:domain="ui">
Invoice Number
</span>:
</th>
<td>
<span tal:replace='python:data_dict["reference"]'>42</span>
</td>
</tr>
<tr>
<th>
<span i18n:translate="" i18n:domain="ui">
Document Date
</span>:
</th>
<td>
<span tal:replace="data_dict/start_date">2012/07/18</span>
</td>
</tr>
<tr>
<th>
<span i18n:translate="" i18n:domain="ui">
Currency
</span>:
</th>
<td>
<span tal:replace="python: data_dict['currency']">JPY</span>
</td>
</tr>
<tr>
<th rowspan="3">
<span i18n:translate="" i18n:domain="ui">
Ship From
</span>:
</th>
<td rowspan="3" class="address">
<address>
<h1 class="company"
tal:content="python:data_dict['source_title']">
株式会社 Nexedi
</h1>
<p>
<tal:block tal:repeat="line python: data_dict['source_address'].split('\n')">
<span style="display:block" tal:content="line">101-0025 東京都千代田区神田佐久間町3-20-5 秋葉原Y'sビル3F</span>
</tal:block>
</p>
<p tal:content="python: data_dict['source_telfax']">
Tel: +81(0)-3-5829-9433
</p>
<p tal:content="python: data_dict['source_email']">
Eメール:yusei@nexedi.com
</p>
<p tal:content="python: data_dict['source_vatid']">
VAT ID
</p>
</address>
</td>
<th rowspan="3">
<span i18n:translate="" i18n:domain="ui">
Ship To
</span>:
</th>
<td rowspan="3" class="address">
<address>
<h1 class="company"
tal:content="python: data_dict['destination_title']">
株式会社 Nexedi
</h1>
<p>
<tal:block tal:repeat="line python: data_dict['destination_address'].split('\n')">
<span style="display:block" tal:content="line">101-0025 東京都千代田区神田佐久間町3-20-5 秋葉原Y'sビル3F</span>
</tal:block>
</p>
<p tal:content="python: data_dict['destination_telfax']">
Tel: +81(0)-3-5829-9433
</p>
<p tal:content="python: data_dict['destination_email']">
Eメール:yusei@nexedi.com
</p>
<p tal:content="python: data_dict['destination_vatid']">
VAT ID
</p>
</address>
</td>
<th>
<span i18n:translate="" i18n:domain="ui">
Payment
</span>:
</th>
<td>
<span tal:replace="python:data_dict['payment_condition']">42 days</span>
</td>
</tr>
<tr>
<th>
<span i18n:translate="" i18n:domain="ui">
Delivery Mode
</span>:
</th>
<td>
<span tal:replace='python:data_dict["delivery_mode"]'>del mode</span>
</td>
</tr>
<tr>
<th>
<span i18n:translate="" i18n:domain="ui">
Incoterm
</span>:
</th>
<td>
<span tal:replace='python:data_dict["incoterm"]'>incoterm</span>
</td>
</tr>
</tbody>
</table>
<table class="resource">
<thead>
<tr>
<th>
<span i18n:translate="" i18n:domain="ui">
Line
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Your Item No.
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Our Item No.
</span>
</th>
<th class="description">
<span i18n:translate="" i18n:domain="ui">
Description
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Quantity
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Unit
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Tax Code
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Unit Price
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Total Price
</span>
</th>
</tr>
</thead>
<tbody>
<tr tal:repeat='line_dict python: data_dict["line_not_tax"]'>
<td>
<span tal:content='python: line_dict["number_not_tax_line"]'>
420
</span>
</td>
<td>
<span tal:content='python: line_dict["source_reference"]'>
source_reference
</span>
</td>
<td>
<span tal:content='python: line_dict["reference"]'>
reference
</span>
</td>
<td class="description">
<p>
<tal:block tal:repeat="line python: line_dict['description']">
<span style="display:block" tal:content="line">description</span>
</tal:block>
</p>
</td>
<td>
<span tal:content='python: quantity_renderer(line_dict["total_quantity"])'>
42
</span>
</td>
<td>
<span tal:content='python: line_dict["quantity_unit"]'>
</span>
</td>
<td>
<span tal:content='python: line_dict["tax_number"]'>
tax_n
</span>
</td>
<td>
<span tal:content='python: price_renderer(line_dict["base_price"])'>
1,024
</span>
</td>
<td>
<span tal:content='python: price_renderer(line_dict["total_price"])'>
43,008
</span>
</td>
</tr>
</tbody>
</table>
<table class="balance">
<tbody>
<tr>
<th>
<span i18n:translate="" i18n:domain="ui">
Total Excluding Tax
</span>:
</th>
<td>
<span tal:content='python: price_renderer(data_dict["total_price_exclude_tax"])'>
800.000,00
</span>
</td>
</tr>
</tbody>
</table>
<table class="tax">
<thead>
<tr>
<th class="code">
<span i18n:translate="" i18n:domain="ui">
Tax Code
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Amount
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Rate
</span>
</th>
<th>
<span i18n:translate="" i18n:domain="ui">
Tax Price
</span>
</th>
</tr>
</thead>
<tbody>
<tr tal:repeat='line_tax_dict python:data_dict["line_tax"]'>
<td>
<span tal:content='python: line_tax_dict["number_tax_line"]'>
tax_code
</span>
</td>
<td>
<span tal:content='python: price_renderer(line_tax_dict["total_quantity"])'>
11,422
</span>
</td>
<td>
<span tal:content='python: quantity_renderer(line_tax_dict["base_price"]*100*1.00)+"%"'>
10%
</span>
</td>
<td>
<span tal:content='python: price_renderer(line_tax_dict["total_price"])'>
1234
</span>
</td>
</tr>
</tbody>
</table>
<table class="balance">
<tbody>
<tr>
<th>
<span i18n:translate="" i18n:domain="ui">
Total Including Tax
</span>:
</th>
<td>
<span tal:content="python: price_renderer(data_dict['total_price'])">
4800.000,00
</span>
</td>
</tr>
</tbody>
</table>
<div style="clear: both"></div>
<div class="notes">
<h1>
<span i18n:translate="" i18n:domain="ui">
Notes
</span>:
</h1>
<p>
<tal:block tal:repeat="line python: data_dict['description']">
<span style="display: block" tal:content="line">Anything</span>
</tal:block>
</p>
</div>
</article>
<footer>
Generated with ERP5 - Open Source ERP suite (www.erp5.org)
</footer>
</body>
</html>
\ No newline at end of file
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ERP5 Form" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>action</string> </key>
<value> <string>Invoice_printAsHTML</string> </value>
</item>
<item>
<key> <string>action_title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>edit_order</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>enctype</string> </key>
<value> <string>multipart/form-data</string> </value>
</item>
<item>
<key> <string>group_list</string> </key>
<value>
<list>
<string>left</string>
<string>right</string>
</list>
</value>
</item>
<item>
<key> <string>groups</string> </key>
<value>
<dictionary>
<item>
<key> <string>left</string> </key>
<value>
<list>
<string>your_target_language</string>
<string>your_international_form</string>
<string>your_deferred_style</string>
</list>
</value>
</item>
<item>
<key> <string>right</string> </key>
<value>
<list/>
</value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Invoice_viewHTMLPrintDialog</string> </value>
</item>
<item>
<key> <string>method</string> </key>
<value> <string>POST</string> </value>
</item>
<item>
<key> <string>name</string> </key>
<value> <string>Base_viewHTMLPrintDialog</string> </value>
</item>
<item>
<key> <string>pt</string> </key>
<value> <string>form_dialog</string> </value>
</item>
<item>
<key> <string>row_length</string> </key>
<value> <int>4</int> </value>
</item>
<item>
<key> <string>stored_encoding</string> </key>
<value> <string>UTF-8</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Print Japanese Invoice</string> </value>
</item>
<item>
<key> <string>unicode_mode</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>update_action</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>update_action_title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_deferred_style</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_deferred_style</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDialogFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>your_international_form</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>alternate_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>css_class</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>default</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>Include english and translated version of all terms.</string> </value>
</item>
<item>
<key> <string>editable</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>enabled</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>external_validator</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>extra</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>hidden</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>International Form</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>delegated_list</string> </key>
<value>
<list/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>your_target_language</string> </value>
</item>
<item>
<key> <string>message_values</string> </key>
<value>
<dictionary>
<item>
<key> <string>external_validator_failed</string> </key>
<value> <string>The input failed the external validator.</string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>overrides</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>tales</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</value>
</item>
<item>
<key> <string>values</string> </key>
<value>
<dictionary>
<item>
<key> <string>field_id</string> </key>
<value> <string>your_target_language</string> </value>
</item>
<item>
<key> <string>form_id</string> </key>
<value> <string>Base_viewDialogFieldLibrary</string> </value>
</item>
<item>
<key> <string>target</string> </key>
<value> <string>Click to edit the target</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Nexedi SA 2019
\ No newline at end of file
erp5_web
erp5_invoicing
erp5_advanced_invoicing
erp5_trade
\ No newline at end of file
GPL
\ No newline at end of file
Sale Invoice | invoice_print_ja
\ No newline at end of file
erp5_trade_ja
\ No newline at end of file
erp5_full_text_mroonga_catalog
\ No newline at end of file
erp5_trade_ja
\ No newline at end of file
0.1
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment