Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
333 Vistas

Where can I modify the "BOM Overview" - is there a template?  I would really like to add the description field, maybe even the image field if possible.  Description is necessary.  

Is there a way to export the BOM to excel without doing a copy/paste of the screen?  I am not seeing it anywhere.  If there isn't, there needs to be.

Avatar
Descartar
Autor Mejor respuesta

I modified the code in studio for the bom overview for it to display description, but it's still not displaying.  it might have something to do with the display filter that i don't know how to modify.  anyone look at this code and see anything missing?  it should be forced to display "Description" but it doesn't on the screen or pdf:

<t t-name="mrp.report_mrp_bom">
    <div class="o_mrp_bom_report_page container py-3 py-lg-5 px-0 bg-view">
        <div t-if="data.get('lines')">
            <div class="px-3 mb-5">
                <h1>BoM Overview</h1>
                <h3 t-esc="data['name']"/>
                <hr t-if="data['bom_code']"/>
                <h6 t-if="data['bom_code']">Reference: <t t-esc="data['bom_code']"/></h6>
            </div>
            <t t-set="currency" t-value="data['currency']"/>
            <table class="o_mrp_bom_expandable table table-borderless">
                <thead>
                    <tr>
                        <th name="th_mrp_bom_h">Product</th>
                        <th class="text-end">Quantity</th>
                        <th class="text-end" groups="uom.group_uom"/>
                        <th t-if="data['show_availabilities']" class="text-end">Ready to Produce</th>
                        <th t-if="data['show_availabilities']" class="text-end">Free to Use / On Hand</th>
                        <th t-if="data['show_availabilities']" class="text-center">Availability</th>
                        <th t-if="data['show_lead_times']" class="text-end">Lead Time</th>
                        <th>Route</th>
                        <th t-if="data['show_costs']" class="text-end">BoM Cost</th>
                        <th t-if="data['show_costs']" class="text-end">Product Cost</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td name="td_mrp_bom">
                            <span t-esc="data['name']"/>
                            <span t-if="data.get('show_description') and data.get('Description')">
                                - <small><t t-esc="data['Description']"/></small>
                            </span>
                        </td>
                        <td class="text-end" t-esc="data['quantity']" t-options="{'widget': 'float', 'decimal_precision': 'Product Unit of Measure'}"/>
                        <td class="text-start" groups="uom.group_uom" t-esc="data['uom_name']"/>
                        <td t-if="data['show_availabilities']" class="text-end" t-esc="data['producible_qty']" t-options="{'widget': 'float', 'precision': 0}"/>
                        <td t-if="data['show_availabilities']" class="text-end">
                            <t t-esc="data['quantity_available']" t-options="{'widget': 'float', 'decimal_precision': 'Product Unit of Measure'}"/> /
                            <t t-esc="data['quantity_on_hand']" t-options="{'widget': 'float', 'decimal_precision': 'Product Unit of Measure'}"/>
                        </td>
                        <td t-if="data['show_availabilities']" class="text-center">
                            <t t-if="data.get('components_available', None) != None">
                                <span t-attf-class="{{'text-success' if data['components_available'] and data['availability_state'] != 'unavailable' else 'text-danger' }}" t-esc="data['availability_display']"/>
                            </t>
                        </td>
                        <td t-if="data['show_lead_times']" class="text-end">
                            <span t-if="data['lead_time'] is not False">
                                <t t-esc="data['lead_time']" t-options="{'widget': 'float', 'precision': 0}"/>
                                Days
                            </span>
                        </td>
                        <td>
                            <span t-if="data['route_name']" t-attf-class="{{'text-danger' if data.get('route_alert') else ''}}"><t t-esc="data['route_name']"/>: </span>
                            <span t-esc="data['route_detail']"/>
                        </td>
                        <td t-if="data['show_costs']" class="text-end" t-esc="data['bom_cost']" t-options="{'widget': 'monetary', 'display_currency': currency}"/>
                        <td t-if="data['show_costs']" class="text-end" t-esc="data['prod_cost']" t-options="{'widget': 'monetary', 'display_currency': currency}"/>
                    </tr>
                    <t t-call="mrp.report_mrp_bom_pdf_line"/>
                </tbody>
                <tfoot>
                    <tr t-if="data['show_costs']">
                        <td name="td_mrp_bom_f" class="text-end">
                            <span t-if="data['byproducts']" t-esc="data['name']"/>
                        </td>
                        <td class="text-end"><strong>Unit Cost</strong></td>
                        <td class="text-start" groups="uom.group_uom" t-esc="data['uom_name']"/>
                        <td t-if="data['show_availabilities']"/>
                        <td t-if="data['show_availabilities']"/>
                        <td t-if="data['show_availabilities']"/>
                        <td t-if="data['show_lead_times']"/>
                        <td/>
                        <td class="text-end" t-esc="data['bom_cost'] / data['quantity']" t-options="{'widget': 'monetary', 'display_currency': currency}"/>
                        <td class="text-end" t-esc="data['prod_cost']/data['quantity']" t-options="{'widget': 'monetary', 'display_currency': currency}"/>
                    </tr>
                    <t t-if="data['show_costs'] and data['byproducts']" t-foreach="data['byproducts']" t-as="byproduct">
                        <tr>
                            <td name="td_mrp_bom_byproducts_f" class="text-end" t-esc="byproduct['name']"/>
                            <td class="text-end"><strong>Unit Cost</strong></td>
                            <td class="text-start" groups="uom.group_uom" t-esc="byproduct['uom_name']"/>
                            <td t-if="data['show_availabilities']"/>
                            <td t-if="data['show_availabilities']"/>
                            <td t-if="data['show_availabilities']"/>
                            <td t-if="data['show_lead_times']"/>
                            <td/>
                            <td class="text-end" t-esc="byproduct['bom_cost'] / byproduct['quantity']" t-options="{'widget': 'monetary', 'display_currency': currency}"/>
                            <td class="text-end" t-esc="byproduct['prod_cost'] / byproduct['quantity']" t-options="{'widget': 'monetary', 'display_currency': currency}"/>
                        </tr>
                    </t>
                </tfoot>
            </table>
        </div>
        <div t-else="" class="d-flex align-items-center justify-content-center h-50">
            <h4 class="text-muted">No data available.</h4>
        </div>
    </div>
</t>
Avatar
Descartar