one2many в канбан ничего не отображается - PullRequest
1 голос
/ 13 марта 2019

Я использую Odoo 12. У меня нет доступа к Python-части Odoo, только режим разработчика Odoo.Я установил модуль web_one2many_kanban, но кроме изображений и идентификатора строк моего one2many, я не могу отобразить остальные данные.

Мой код:

<t t-name="kanban-box">
  <div t-attf-class="oe_kanban_card  {{ record.x_bom_line_ids.raw_value }}">
    <t t-if="record.x_bom_line_ids.raw_value">
      <div class="row">
        <div class="col-8">
          <strong>
            <span>
              <t t-esc="record.product_id.value"/>
            </span>
          </strong>
        </div>
        <div class="col-4">
          <strong>
            <span class="float-right text-right">
              <t t-esc="record.x_virtual_available.value"/>
            </span>
          </strong>
        </div>
      </div>
    </t>
  </div>
</t>

<t t-foreach="record.x_bom_line_ids.raw_value" t-as="room">
  <img t-att-src="kanban_image('mrp.bom.line', 'x_image', room)" t-att-data-member_id="room" />

Моя ошибка:

"Uncaught TypeError: Cannot read property 'value' of undefined"

Ответы [ 3 ]

2 голосов
/ 13 марта 2019

Вы забыли упомянуть модель записи, для которой вы пишете этот шаблон.Из вашего кода очевидно, что вы пытаетесь отобразить поле value для двух реляционных полей, одно - product_id, другое - x_virtual_available.Данное сообщение об ошибке появляется из-за того, что любое из связанных полей вашей записи не установлено, поэтому значение равно False / empty для python и undefined для javascript.И когда вы пытаетесь получить доступ к полю значения этого связанного поля, вы получаете эту ошибку.Чтобы устранить эту ошибку, внимательно изучите свою запись и проверьте значение этих полей.

<t t-name="kanban-box">
  <div t-attf-class="oe_kanban_card  {{ record.x_bom_line_ids.raw_value }}">
    <t t-if="record.x_bom_line_ids.raw_value">
      <div class="row">
        <div class="col-8">
          <strong>
            <span>
              <t t-esc="record.product_id.name"/>
            </span>
          </strong>
        </div>
        <div class="col-4">
          <strong>
            <span class="float-right text-right">
              <t t-esc="record.x_virtual_available"/>
            </span>
          </strong>
        </div>
      </div>
    </t>
  </div>
</t>

<t t-foreach="record.x_bom_line_ids.raw_value" t-as="room">
  <img t-att-src="kanban_image('mrp.bom.line', 'x_image', room)" t-att-data-member_id="room" />
0 голосов
/ 18 марта 2019

код завершен: первая часть = x_bomlineids вторая часть = x_composants

<kanban>
            <field name="id"/>
            <field name="image_small"/>
            <field name="lst_price"/>
            <field name="bom_count"/>
            <field name="product_variant_count"/>
            <field name="product_variant_ids"/>
            <field name="currency_id"/>
           <field name="x_bom_line_ids"/>
           <field name="x_bomlineids"/>
           <field name="x_composants"/>

            <templates>

                <t t-name="kanban-box">
                    <div class="oe_kanban_global_click">
                        <div class="o_kanban_image">
                            <img t-att-src="kanban_image('product.template', 'image_small', record.id.raw_value)" alt="Article"/>
                        </div>

                        <div class="oe_kanban_details">
                            <strong class="o_kanban_record_title">
                               <strong> <field name="name"/></strong>
                                <small t-if="record.default_code.value">[<field name="default_code"/>]<field name="x_mixte"/></small>
                            </strong>
                            <div t-if="record.product_variant_count.value &gt; 1" groups="product.group_product_variant">
                                <strong>
                                    <t t-esc="record.product_variant_count.value"/> Variantes

                                </strong>
                            </div>

                            <div name="tags"/>
                            <ul>

                                <li> <span style="color:grey !important;">Prix Catalogue:</span> <field name="lst_price" widget="monetary" options="{'currency_field': 'currency_id', 'field_digits': True}"/></li>
                            <li><span style="color:grey !important;">Prix d'Achat:</span> <field name="standard_price" widget="monetary" options="{'currency_field': 'currency_id', 'field_digits': True}"/></li>
                            <p>
                                  <div class="oe_kanban_content">
                                    <t t-foreach="record.x_composants.raw_value"  t-as="l">
                                   <span style="color:blue !important;">
                                    <strong>Peux se trouver dans: <t t-esc="l.x_names" t-att-data-list_id="r"/></strong></span>
                                   <br/>
                                  </t>
                                 </div>
                                                                 </p>
                              <t t-foreach="record.x_bom_line_ids.raw_value" t-as="room">
<img t-att-src="kanban_image('mrp.bom.line', 'x_image', room)" t-att-data-member_id="room" /> 


           <p>
           <t t-foreach="record.x_bomlineids.raw_value"  t-as="r">
            <span style="color:blue !important;">
            <strong> <t t-esc="r.x_name" t-att-data-list_id="r"/></strong></span>
             <span style="color:grey !important;"> Démixé libre: </span><strong> 
            <t t-esc="r.x_virtual_available" /> </strong><t t-esc="r.x_unite"/>   <br/>

             </t>
                </p>
                 </div>  
                                                </ul>
                            <div name="tags"/>

                            </div>

                                </div>
                                           </t>
            </templates>
                           </kanban>
            please help me!

Я не понимаю причину

0 голосов
/ 18 марта 2019

извините, я понял ошибку, я сосредоточился на поле много2 многие вместо одного2 много! проблема решена, но теперь я пытаюсь сделать то же самое с другим полем one2many, и оно не работает, первая часть работает, но не вторая, почему?

 <p>
               <t t-foreach="record.x_bomlineids.raw_value"  t-as="r">
                <span style="color:blue !important;">
                <strong> <t t-esc="r.x_name" t-att-data-list_id="r"/></strong></span>
                 <span style="color:grey !important;"> Démixé libre: </span><strong> 
 <t t-esc="r.x_virtual_available" /> </strong><t t-esc="r.x_unite"/>   <br/>


                 </t>
                    </p>
                 <p>
                        <t t-foreach="record.bom_line_ids.raw_value"  t-as="l">
                <span style="color:blue !important;">
                <strong> <t t-esc="l.product_tmpl_id" t-att-data-list_id="l"/> 
 </strong></span>
                <span style="color:grey !important;"> stock coli mixte: </span> 
 <strong><t t-esc="l.x_virtual_available" /> </strong><t t-esc="l.x_unite"/>   <br/>
                       </t>
            </p>
...