Skip to Content
Menu
This question has been flagged
1 Reply
2135 Views

Hi, 

I have several custom worksheets created in Studio for different maintenance tasks in Field Services. Which all work well apart from when I want to send the field service to the client as it will not include the multi line sections, it just replaces them with :-

Door Units                x_project_task_worksheet_template_16_line_fe9aa(2, 3, 4) 

Inside Units              x_project_task_worksheet_template_16_line_cd368(2, 3, 4)


I have the worksheets in the print option when they are open, but when going to the task I am unable to add them as they are not in the task.project model.

How can I add these  worksheets to the task report.


Many thanks  




Avatar
Discard
Best Answer

Solution for Including Multiline Sections in Custom Worksheets in Field Services Reports

If you’ve created custom worksheets in Studio for maintenance tasks in Field Services and the multiline sections aren't displaying correctly in reports (replaced with something like x_project_task_worksheet_template_16_line_fe9aa(2, 3, 4)), here's how you can resolve the issue.

Issue

The custom worksheets created in Studio display correctly in the Odoo interface, but when printing or generating reports, the One2many fields (multiline sections) are not rendered properly. Instead, they appear as technical references, e.g., x_project_task_worksheet_template_16_line_cd368(2, 3, 4).

This happens because the automatically generated templates from Studio don't handle One2many fields directly in the QWeb report.

Solution: Customize the QWeb Template

To fix this issue, you need to manually customize the QWeb template that renders the report for the worksheet. Follow these steps:

  1. Identify the QWeb Template:
    • The automatically generated QWeb template for the worksheet can be found under Settings > Technical > User Interface > Views (enable developer mode if needed).
    • Locate the template by its external ID. In this case, it might look like industry_fsm_report.report_custom_x_project_task_worksheet_template_16.
  2. Modify the Template to Handle One2many Fields:
    • Edit the template and replace the default rendering for the One2many field with a loop to display its data.
    • Here's an example of how you can update the template:
      <div t-att-class="('col-5' if report_type == 'pdf' else 'col-lg-3 col-12') + ' fw-bold'">
          Door Units
      </div>
      <div nolabel="1" colspan="2" t-att-class="'col-7' if report_type == 'pdf' else 'col-lg-9 col-12'">
          <table class="table table-sm">
              <thead>
                  <tr>
                      <th>Quantity</th>
                      <th>Sequence</th>
                      <th>Description</th>
                  </tr>
              </thead>
              <tbody>
                  <t t-foreach="worksheet.x_studio_one2many_field" t-as="line">
                      <tr>
                          <td><t t-esc="line.x_studio_qty"/></td>
                          <td><t t-esc="line.x_studio_sequence"/></td>
                          <td><t t-esc="line.x_name"/></td>
                      </tr>
                  </t>
              </tbody>
          </table>
      </div>
      
      Replace x_studio_one2many_field, x_studio_qty, x_studio_sequence, and x_name with the actual technical names of your One2many field and its subfields.
  3. Test the Report:
    • Save the changes and regenerate the report.
    • Check that the multiline sections now display correctly with the expected data.

Explanation

The solution involves manually iterating through the records of the One2many field in the QWeb template using t-foreach. Each row is rendered dynamically based on the values stored in the One2many field, ensuring the data is displayed properly in the report.

Additional Notes

  • If the worksheet isn't linked to the project.task model directly, you might need to add a Many2one relation in Studio or via code to associate the worksheet with the task.
  • This solution is applicable for any module or report in Odoo where Studio-generated One2many fields aren't displaying correctly.
  • For advanced customizations, consider developing a custom Odoo module instead of relying entirely on Studio.

This approach ensures that your custom worksheets will display all multiline sections properly in the reports generated from Field Services tasks. 😊

Avatar
Discard
Related Posts Replies Views Activity
1
Jan 22
4869
0
Nov 23
1100
0
Feb 25
856
5
Feb 24
9025
0
Oct 22
2328