{"en_US": "<t t-name=\"stock.report_delivery_document\">\n        <t t-call=\"web.html_container\">\n            <t t-call=\"web.external_layout\">\n                <t t-set=\"o\" t-value=\"o.with_context(lang=o._get_report_lang())\"/>\n                <t t-set=\"partner\" t-value=\"o.partner_id or (o.move_ids and o.move_ids[0].partner_id) or False\"/>\n\n                <t t-set=\"address\">\n                    <div name=\"div_outgoing_address\">\n                        <div name=\"outgoing_delivery_address\" t-if=\"o.should_print_delivery_address()\">\n                            <span><strong>Delivery Address:</strong></span>\n                            <div t-field=\"o.move_ids[0].partner_id\" t-options=\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;, &quot;phone&quot;], &quot;no_marker&quot;: True, &quot;phone_icons&quot;: True}\"/>\n                        </div>\n                        <div name=\"outgoing_warehouse_address\" t-elif=\"o.picking_type_id.code != 'internal' and o.picking_type_id.warehouse_id.partner_id\">\n                            <span><strong>Warehouse Address:</strong></span>\n                            <div t-field=\"o.picking_type_id.warehouse_id.partner_id\" t-options=\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;, &quot;phone&quot;], &quot;no_marker&quot;: True, &quot;phone_icons&quot;: True}\"/>\n                        </div>\n                    </div>\n                </t>\n                <t t-set=\"information_block\">\n                    <div class=\"row\">\n                        <div class=\"col-7\" name=\"div_incoming_address\">\n                            <t t-set=\"show_partner\" t-value=\"False\"/>\n                            <div name=\"vendor_address\" t-if=\"o.picking_type_id.code=='incoming' and partner\">\n                                <span><strong>Vendor Address:</strong></span>\n                                <t t-set=\"show_partner\" t-value=\"True\"/>\n                            </div>\n                            <div name=\"customer_address\" t-if=\"o.picking_type_id.code=='outgoing' and partner and partner != partner.commercial_partner_id\">\n                                <span><strong>Customer Address:</strong></span>\n                                <t t-set=\"show_partner\" t-value=\"True\"/>\n                            </div>\n                            <div t-if=\"show_partner\" name=\"partner_header\">\n                                <div t-field=\"partner.commercial_partner_id\" t-options=\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;, &quot;phone&quot;, &quot;vat&quot;], &quot;no_marker&quot;: True, &quot;phone_icons&quot;: True}\"/>\n                            </div>\n                        </div>\n                    </div>\n                </t>\n                <div class=\"page\">\n                    <h2>\n                        <span t-field=\"o.name\"/>\n                    </h2>\n                    <div class=\"row mt-4 mb-4\">\n                        <div t-if=\"o.origin\" class=\"col-auto col-3 mw-100 mb-2\" name=\"div_origin\">\n                            <strong>Order:</strong>\n                            <p t-field=\"o.origin\" class=\"m-0\"/>\n                        </div>\n                        <div t-if=\"o.state\" class=\"col-auto col-3 mw-100 mb-2\" name=\"div_sched_date\">\n                            <strong>Shipping Date:</strong>\n                            <t t-if=\"o.state == 'done'\">\n                                <p t-field=\"o.date_done\" class=\"m-0\"/>\n                            </t>\n                            <t t-if=\"o.state != 'done'\">\n                                <p t-field=\"o.scheduled_date\" class=\"m-0\"/>\n                            </t>\n                        </div>\n                    </div>\n                    <table class=\"table table-sm\" t-if=\"o.state!='done'\" name=\"stock_move_table\">\n                        <thead>\n                            <tr>\n                                <th name=\"th_sm_product\"><strong>Product</strong></th>\n                                <th name=\"th_sm_ordered\"><strong>Ordered</strong></th>\n                                <th name=\"th_sm_quantity\"><strong>Delivered</strong></th>\n                            </tr>\n                        </thead>\n                        <tbody>\n                            <t t-set=\"lines\" t-value=\"o.move_ids.filtered(lambda x: x.product_uom_qty)\"/>\n                            <tr t-foreach=\"lines\" t-as=\"move\">\n                                <td>\n                                    <span t-field=\"move.product_id\"/>\n                                    <p t-if=\"move.description_picking != move.product_id.name and move.description_picking != move.product_id.display_name\">\n                                        <span t-field=\"move.description_picking\"/>\n                                    </p>\n                                </td>\n                                <td>\n                                    <span t-field=\"move.product_uom_qty\"/>\n                                    <span t-field=\"move.product_uom\"/>\n                                </td>\n                                <td>\n                                    <span t-field=\"move.quantity_done\"/>\n                                    <span t-field=\"move.product_uom\"/>\n                                </td>\n                            </tr>\n                        </tbody>\n                    </table>\n                    <table class=\"table table-sm mt48\" t-if=\"o.move_line_ids and o.state=='done'\" name=\"stock_move_line_table\">\n                        <t t-set=\"has_serial_number\" t-value=\"False\"/>\n                        <t t-set=\"has_serial_number\" t-value=\"o.move_line_ids.mapped('lot_id')\" groups=\"stock.group_lot_on_delivery_slip\"/>\n                        <thead>\n                            <tr>\n                                <th name=\"th_sml_product\"><strong>Product</strong></th>\n                                <t name=\"lot_serial\" t-if=\"has_serial_number\">\n                                    <th>\n                                        Lot/Serial Number\n                                    </th>\n                                </t>\n                                <th name=\"th_sml_qty_ordered\" class=\"text-center\" t-if=\"not has_serial_number\">\n                                    <strong>Ordered</strong>\n                                </th>\n                                <th name=\"th_sml_quantity\" class=\"text-center\"><strong>Delivered</strong></th>\n                            </tr>\n                        </thead>\n                        <tbody>\n                        <!-- This part gets complicated with different use cases (additional use cases in extensions of this report):\n                                1. If serial numbers are used and set to print on delivery slip => print lines as is, otherwise group them by overlapping\n                                    product + description + uom combinations\n                                2. If any packages are assigned => split products up by package (or non-package) and then apply use case 1 -->\n                            <!-- If has destination packages => create sections of corresponding products -->\n                            <t t-if=\"o.has_packages\" name=\"has_packages\">\n                                <t t-set=\"packages\" t-value=\"o.move_line_ids.mapped('result_package_id')\"/>\n                                <t t-foreach=\"packages\" t-as=\"package\">\n                                    <t t-call=\"stock.stock_report_delivery_package_section_line\"/>\n                                    <t t-set=\"package_move_lines\" t-value=\"o.move_line_ids.filtered(lambda l: l.result_package_id == package)\"/>\n                                    <!-- If printing lots/serial numbers => keep products in original lines -->\n                                    <t t-if=\"has_serial_number\">\n                                        <tr t-foreach=\"package_move_lines\" t-as=\"move_line\">\n                                            <t t-call=\"stock.stock_report_delivery_has_serial_move_line\"/>\n                                        </tr>\n                                    </t>\n                                    <!-- If not printing lots/serial numbers => merge lines with same product+description+uom -->\n                                    <t t-else=\"\">\n                                        <t t-set=\"aggregated_lines\" t-value=\"package_move_lines._get_aggregated_product_quantities(strict=True)\"/>\n                                        <t t-call=\"stock.stock_report_delivery_aggregated_move_lines\"/>\n                                    </t>\n                                </t>\n                                <!-- Make sure we do another section for package-less products if they exist -->\n                                <t t-set=\"move_lines\" t-value=\"o.move_line_ids.filtered(lambda l: not l.result_package_id)\"/>\n                                <t t-set=\"aggregated_lines\" t-value=\"o.move_line_ids._get_aggregated_product_quantities(except_package=True)\"/>\n                                <t t-if=\"move_lines or aggregated_lines\" name=\"no_package_move_lines\">\n                                    <t t-call=\"stock.stock_report_delivery_no_package_section_line\" name=\"no_package_section\"/>\n                                    <t t-if=\"has_serial_number\">\n                                        <tr t-foreach=\"move_lines\" t-as=\"move_line\">\n                                            <t t-call=\"stock.stock_report_delivery_has_serial_move_line\"/>\n                                        </tr>\n                                    </t>\n                                    <t t-elif=\"aggregated_lines\">\n                                        <t t-call=\"stock.stock_report_delivery_aggregated_move_lines\"/>\n                                    </t>\n                                </t>\n                            </t>\n                            <!-- No destination packages -->\n                            <t t-else=\"\">\n                                <!-- If printing lots/serial numbers => keep products in original lines -->\n                                <t t-if=\"has_serial_number\">\n                                    <tr t-foreach=\"o.move_line_ids\" t-as=\"move_line\">\n                                        <t t-call=\"stock.stock_report_delivery_has_serial_move_line\"/>\n                                    </tr>\n                                </t>\n                                <!-- If not printing lots/serial numbers => merge lines with same product -->\n                                <t t-else=\"\" name=\"aggregated_move_lines\">\n                                    <t t-set=\"aggregated_lines\" t-value=\"o.move_line_ids._get_aggregated_product_quantities()\"/>\n                                    <t t-call=\"stock.stock_report_delivery_aggregated_move_lines\"/>\n                                </t>\n                            </t>\n                        </tbody>\n                    </table>\n                    <t t-set=\"backorders\" t-value=\"o.backorder_ids.filtered(lambda x: x.state not in ('done', 'cancel'))\"/>\n                    <t t-if=\"o.backorder_ids and backorders\">\n                        <p class=\"mt-5\">\n                            <span>Remaining quantities not yet delivered:</span>\n                        </p>\n                        <table class=\"table table-sm\" name=\"stock_backorder_table\" style=\"table-layout: fixed;\">\n                            <thead>\n                                <tr>\n                                    <th name=\"th_sb_product\"><strong>Product</strong></th>\n                                    <th/>\n                                    <th name=\"th_sb_quantity\" class=\"text-center\"><strong>Quantity</strong></th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <t t-foreach=\"backorders\" t-as=\"backorder\">\n                                    <t t-set=\"bo_lines\" t-value=\"backorder.move_ids.filtered(lambda x: x.product_uom_qty)\"/>\n                                    <tr t-foreach=\"bo_lines\" t-as=\"bo_line\">\n                                        <td class=\"w-auto\">\n                                            <span t-field=\"bo_line.product_id\"/>\n                                            <p t-if=\"bo_line.description_picking != bo_line.product_id.name and bo_line.description_picking != bo_line.product_id.display_name\">\n                                                <span t-field=\"bo_line.description_picking\"/>\n                                            </p>\n                                        </td>\n                                        <td/>\n                                        <td class=\"text-center w-auto\">\n                                            <span t-field=\"bo_line.product_uom_qty\"/>\n                                            <span t-field=\"bo_line.product_uom\"/>\n                                        </td>\n                                    </tr>\n                                </t>\n                            </tbody>\n                        </table>\n                    </t>\n\n                    <div t-if=\"o.signature\" class=\"mt32 ml64 mr4\" name=\"signature\">\n                        <div class=\"offset-8\">\n                            <strong>Signature</strong>\n                        </div>\n                        <div class=\"offset-8\">\n                            <img t-att-src=\"image_data_uri(o.signature)\" style=\"max-height: 4cm; max-width: 8cm;\"/>\n                        </div>\n                        <div class=\"offset-8 text-center\">\n                            <p t-field=\"o.partner_id.name\"/>\n                        </div>\n                    </div>\n                </div>\n            </t>\n         </t>\n    </t>", "vi_VN": "<t t-name=\"stock.report_delivery_document\">\n        <t t-call=\"web.html_container\">\n            <t t-call=\"web.external_layout\">\n                <t t-set=\"o\" t-value=\"o.with_context(lang=o._get_report_lang())\"/>\n                <t t-set=\"partner\" t-value=\"o.partner_id or (o.move_ids and o.move_ids[0].partner_id) or False\"/>\n\n                <t t-set=\"address\">\n                    <div name=\"div_outgoing_address\">\n                        <div name=\"outgoing_delivery_address\" t-if=\"o.should_print_delivery_address()\">\n                            <span><strong>Địa chỉ giao hàng:</strong></span>\n                            <div t-field=\"o.move_ids[0].partner_id\" t-options=\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;, &quot;phone&quot;], &quot;no_marker&quot;: True, &quot;phone_icons&quot;: True}\"/>\n                        </div>\n                        <div name=\"outgoing_warehouse_address\" t-elif=\"o.picking_type_id.code != 'internal' and o.picking_type_id.warehouse_id.partner_id\">\n                            <span><strong>Địa chỉ kho hàng:</strong></span>\n                            <div t-field=\"o.picking_type_id.warehouse_id.partner_id\" t-options=\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;, &quot;phone&quot;], &quot;no_marker&quot;: True, &quot;phone_icons&quot;: True}\"/>\n                        </div>\n                    </div>\n                </t>\n                <t t-set=\"information_block\">\n                    <div class=\"row\">\n                        <div class=\"col-7\" name=\"div_incoming_address\">\n                            <t t-set=\"show_partner\" t-value=\"False\"/>\n                            <div name=\"vendor_address\" t-if=\"o.picking_type_id.code=='incoming' and partner\">\n                                <span><strong>Địa chỉ nhà cung cấp:</strong></span>\n                                <t t-set=\"show_partner\" t-value=\"True\"/>\n                            </div>\n                            <div name=\"customer_address\" t-if=\"o.picking_type_id.code=='outgoing' and partner and partner != partner.commercial_partner_id\">\n                                <span><strong>Địa chỉ khách hàng:</strong></span>\n                                <t t-set=\"show_partner\" t-value=\"True\"/>\n                            </div>\n                            <div t-if=\"show_partner\" name=\"partner_header\">\n                                <div t-field=\"partner.commercial_partner_id\" t-options=\"{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;, &quot;phone&quot;, &quot;vat&quot;], &quot;no_marker&quot;: True, &quot;phone_icons&quot;: True}\"/>\n                            </div>\n                        </div>\n                    </div>\n                </t>\n                <div class=\"page\">\n                    <h2>\n                        <span t-field=\"o.name\"/>\n                    </h2>\n                    <div class=\"row mt-4 mb-4\">\n                        <div t-if=\"o.origin\" class=\"col-auto col-3 mw-100 mb-2\" name=\"div_origin\">\n                            <strong>Đơn hàng:</strong>\n                            <p t-field=\"o.origin\" class=\"m-0\"/>\n                        </div>\n                        <div t-if=\"o.state\" class=\"col-auto col-3 mw-100 mb-2\" name=\"div_sched_date\">\n                            <strong>Ngày vận chuyển:</strong>\n                            <t t-if=\"o.state == 'done'\">\n                                <p t-field=\"o.date_done\" class=\"m-0\"/>\n                            </t>\n                            <t t-if=\"o.state != 'done'\">\n                                <p t-field=\"o.scheduled_date\" class=\"m-0\"/>\n                            </t>\n                        </div>\n                    </div>\n                    <table class=\"table table-sm\" t-if=\"o.state!='done'\" name=\"stock_move_table\">\n                        <thead>\n                            <tr>\n                                <th name=\"th_sm_product\"><strong>Sản phẩm</strong></th>\n                                <th name=\"th_sm_ordered\"><strong>Đã đặt hàng</strong></th>\n                                <th name=\"th_sm_quantity\"><strong>Đã giao</strong></th>\n                            </tr>\n                        </thead>\n                        <tbody>\n                            <t t-set=\"lines\" t-value=\"o.move_ids.filtered(lambda x: x.product_uom_qty)\"/>\n                            <tr t-foreach=\"lines\" t-as=\"move\">\n                                <td>\n                                    <span t-field=\"move.product_id\"/>\n                                    <p t-if=\"move.description_picking != move.product_id.name and move.description_picking != move.product_id.display_name\">\n                                        <span t-field=\"move.description_picking\"/>\n                                    </p>\n                                </td>\n                                <td>\n                                    <span t-field=\"move.product_uom_qty\"/>\n                                    <span t-field=\"move.product_uom\"/>\n                                </td>\n                                <td>\n                                    <span t-field=\"move.quantity_done\"/>\n                                    <span t-field=\"move.product_uom\"/>\n                                </td>\n                            </tr>\n                        </tbody>\n                    </table>\n                    <table class=\"table table-sm mt48\" t-if=\"o.move_line_ids and o.state=='done'\" name=\"stock_move_line_table\">\n                        <t t-set=\"has_serial_number\" t-value=\"False\"/>\n                        <t t-set=\"has_serial_number\" t-value=\"o.move_line_ids.mapped('lot_id')\" groups=\"stock.group_lot_on_delivery_slip\"/>\n                        <thead>\n                            <tr>\n                                <th name=\"th_sml_product\"><strong>Sản phẩm</strong></th>\n                                <t name=\"lot_serial\" t-if=\"has_serial_number\">\n                                    <th>\n                                        Số lô/sê-ri\n                                    </th>\n                                </t>\n                                <th name=\"th_sml_qty_ordered\" class=\"text-center\" t-if=\"not has_serial_number\">\n                                    <strong>Đã đặt hàng</strong>\n                                </th>\n                                <th name=\"th_sml_quantity\" class=\"text-center\"><strong>Đã giao</strong></th>\n                            </tr>\n                        </thead>\n                        <tbody>\n                        <!-- This part gets complicated with different use cases (additional use cases in extensions of this report):\n                                1. If serial numbers are used and set to print on delivery slip => print lines as is, otherwise group them by overlapping\n                                    product + description + uom combinations\n                                2. If any packages are assigned => split products up by package (or non-package) and then apply use case 1 -->\n                            <!-- If has destination packages => create sections of corresponding products -->\n                            <t t-if=\"o.has_packages\" name=\"has_packages\">\n                                <t t-set=\"packages\" t-value=\"o.move_line_ids.mapped('result_package_id')\"/>\n                                <t t-foreach=\"packages\" t-as=\"package\">\n                                    <t t-call=\"stock.stock_report_delivery_package_section_line\"/>\n                                    <t t-set=\"package_move_lines\" t-value=\"o.move_line_ids.filtered(lambda l: l.result_package_id == package)\"/>\n                                    <!-- If printing lots/serial numbers => keep products in original lines -->\n                                    <t t-if=\"has_serial_number\">\n                                        <tr t-foreach=\"package_move_lines\" t-as=\"move_line\">\n                                            <t t-call=\"stock.stock_report_delivery_has_serial_move_line\"/>\n                                        </tr>\n                                    </t>\n                                    <!-- If not printing lots/serial numbers => merge lines with same product+description+uom -->\n                                    <t t-else=\"\">\n                                        <t t-set=\"aggregated_lines\" t-value=\"package_move_lines._get_aggregated_product_quantities(strict=True)\"/>\n                                        <t t-call=\"stock.stock_report_delivery_aggregated_move_lines\"/>\n                                    </t>\n                                </t>\n                                <!-- Make sure we do another section for package-less products if they exist -->\n                                <t t-set=\"move_lines\" t-value=\"o.move_line_ids.filtered(lambda l: not l.result_package_id)\"/>\n                                <t t-set=\"aggregated_lines\" t-value=\"o.move_line_ids._get_aggregated_product_quantities(except_package=True)\"/>\n                                <t t-if=\"move_lines or aggregated_lines\" name=\"no_package_move_lines\">\n                                    <t t-call=\"stock.stock_report_delivery_no_package_section_line\" name=\"no_package_section\"/>\n                                    <t t-if=\"has_serial_number\">\n                                        <tr t-foreach=\"move_lines\" t-as=\"move_line\">\n                                            <t t-call=\"stock.stock_report_delivery_has_serial_move_line\"/>\n                                        </tr>\n                                    </t>\n                                    <t t-elif=\"aggregated_lines\">\n                                        <t t-call=\"stock.stock_report_delivery_aggregated_move_lines\"/>\n                                    </t>\n                                </t>\n                            </t>\n                            <!-- No destination packages -->\n                            <t t-else=\"\">\n                                <!-- If printing lots/serial numbers => keep products in original lines -->\n                                <t t-if=\"has_serial_number\">\n                                    <tr t-foreach=\"o.move_line_ids\" t-as=\"move_line\">\n                                        <t t-call=\"stock.stock_report_delivery_has_serial_move_line\"/>\n                                    </tr>\n                                </t>\n                                <!-- If not printing lots/serial numbers => merge lines with same product -->\n                                <t t-else=\"\" name=\"aggregated_move_lines\">\n                                    <t t-set=\"aggregated_lines\" t-value=\"o.move_line_ids._get_aggregated_product_quantities()\"/>\n                                    <t t-call=\"stock.stock_report_delivery_aggregated_move_lines\"/>\n                                </t>\n                            </t>\n                        </tbody>\n                    </table>\n                    <t t-set=\"backorders\" t-value=\"o.backorder_ids.filtered(lambda x: x.state not in ('done', 'cancel'))\"/>\n                    <t t-if=\"o.backorder_ids and backorders\">\n                        <p class=\"mt-5\">\n                            <span>Số lượng còn lại chưa giao:</span>\n                        </p>\n                        <table class=\"table table-sm\" name=\"stock_backorder_table\" style=\"table-layout: fixed;\">\n                            <thead>\n                                <tr>\n                                    <th name=\"th_sb_product\"><strong>Sản phẩm</strong></th>\n                                    <th/>\n                                    <th name=\"th_sb_quantity\" class=\"text-center\"><strong>Số lượng</strong></th>\n                                </tr>\n                            </thead>\n                            <tbody>\n                                <t t-foreach=\"backorders\" t-as=\"backorder\">\n                                    <t t-set=\"bo_lines\" t-value=\"backorder.move_ids.filtered(lambda x: x.product_uom_qty)\"/>\n                                    <tr t-foreach=\"bo_lines\" t-as=\"bo_line\">\n                                        <td class=\"w-auto\">\n                                            <span t-field=\"bo_line.product_id\"/>\n                                            <p t-if=\"bo_line.description_picking != bo_line.product_id.name and bo_line.description_picking != bo_line.product_id.display_name\">\n                                                <span t-field=\"bo_line.description_picking\"/>\n                                            </p>\n                                        </td>\n                                        <td/>\n                                        <td class=\"text-center w-auto\">\n                                            <span t-field=\"bo_line.product_uom_qty\"/>\n                                            <span t-field=\"bo_line.product_uom\"/>\n                                        </td>\n                                    </tr>\n                                </t>\n                            </tbody>\n                        </table>\n                    </t>\n\n                    <div t-if=\"o.signature\" class=\"mt32 ml64 mr4\" name=\"signature\">\n                        <div class=\"offset-8\">\n                            <strong>Chữ ký</strong>\n                        </div>\n                        <div class=\"offset-8\">\n                            <img t-att-src=\"image_data_uri(o.signature)\" style=\"max-height: 4cm; max-width: 8cm;\"/>\n                        </div>\n                        <div class=\"offset-8 text-center\">\n                            <p t-field=\"o.partner_id.name\"/>\n                        </div>\n                    </div>\n                </div>\n            </t>\n         </t>\n    </t>"}