Witamy!

Forum dla profesjonalistów i entuzjastów systemu Odoo. Dyskusje, porady, opinie, komentarze.

0

Nowe pole w definicji produktu (z użyciem własnego modułu) [Zamknięte]

przez
Dr.One
on 08.01.2015, 16:12 1090 odsłony

- Pytanie has been closed z powodu: niezwiązane z tematem lub nieaktualne

przez
Dr.One
na 19.04.2015 12:11:38

Bardzo proszę, walczę z tematem od kilku godzin i jakoś nie moge sobie poradzić :)
Szperając po sieci natknąłem się na jakies przyklady ale także bez sukcesu.

Zapomniałem dodać, że taka forma mnie najbardziej interesuje. Oczywiście każda inna też :)

 

 


1

Dariusz Żbikowski

--Dariusz Żbikowski--
Krokus Sp. z o.o.
http://www.krokus.com.pl
1278
| 4 3 3
LODZ, Polska
--Dariusz Żbikowski--
Dariusz Żbikowski
na 09.01.2015, 09:12

Po pierwsze zauważ, że istnieją dwa modele product.template oraz product.product. Pierwszy stanowi szablon dla definiowanych produktów za pomocą drugiego modelu. Model product.product dziedziczy z product.template.

Po drugie zauważ, że produkt jako taki posiada warianty, co najmniej jeden. Wariant produktu to własnie odpowiednik modelu product.product. Wariantem może być np. kolor lub rodzaj obudowy komputera.

Możemy zatem zdefiniowac przykładowo produkt Komputer i jego warianty kolor: biały, czarny  obudowa: mała, duża. Będziemy mieli jeden szablon i w efekcie 4 warianty produktu wynikająće z kombinacji koloru i rodzaju obudowy .

Dodając jakieś cechę, czyli pole do produktu, musimy zatem zdecydować najpierw jakie ono ma własności. Czy stanowi cechę szablonu czy też cechę wariantu. Jeśli np. chemy dodać cechę "ilość pamięci" to pytanie czy zależy ona np. od obudowy. Jeśli tak to jest cechą wariantu a nie szablonu.

Przykład modułu:

  • Nadpisanie modelu product.template, pole "foo", 32 znaki, wymagane

from openerp.osv import fields, orm

class product_template(orm.Model):
    _inherit = 'product.template'
 
    _columns = {
        'foo': fields.char('FOO field', size=32, required=True),
    }
    
product_template()

  • Utworzenie widoku form oraz tree (o ile zmiana tego jest potrzebna)

            <record id='view_product_foo_template_form' model='ir.ui.view'>
                  <field name="name">product.template.foo.form</field>
                  <field name="model">product.template</field>
                  <field name="inherit_id" ref="product.product_template_form_view" />
                  <field name="arch" type="xml">
                <field name="list_price" position="after">
                              <field name="foo" />
                        </field>
                </field>
            </record>
        
        <record id="product_template_foo_tree_view" model="ir.ui.view">
            <field name="name">product.template.foo.tree</field>
            <field name="model">product.template</field>
            <field name="inherit_id" ref="product.product_template_tree_view" />
                  <field name="arch" type="xml">
                <field name="state" position="after">
                              <field name="foo" />
                        </field>
                </field>
        </record>

 

  • Oflaguj


0
Dr.One
na 09.01.2015, 09:24

Czyli, robiłem dobrze jedynie przypisywałem to do złego modelu ponieważ product_product dziedziczy od product_template a nie odwrotnie ?

Widzę też różnicę w nazwie rekordu."product_template_cośtam_tree_view" dlatego pewnie miałem całą listę błędów przy próbie zainstalowania modułu bo próbowałem modyfikować istniejący.

Wielkie dzięki, dzisiaj bedę testował :)

Dam znać co z tego wyszło :) :)

 

  • Oflaguj

Nazwy rekordów są dowolne - byle się nie powielały w systemie.

Dariusz Żbikowski
na 09.01.2015, 10:03

Własnie zauważyłem, usilnie starałem się zainstalować dwa moduły nie sprawdzając czy nazwy pól się nie nałokładają :) ... no i się nakładały :) ale już poprawiłem i wszystko dziala :) Jutro popracuję nad listami rozwijanymi. Chodzi mi po głowie jeszcze jeden element ale o tym w osobnym poście :) Dziekuję Darku (jesli mogę tak pisać :) )

Dr.One
na 09.01.2015, 17:00

Powodzenia Robercie :)

Janusz Stefaniak
na 09.01.2015, 17:27

Bądź na bieżąco

O tym forum

Forum dla profesjonalistów i entuzjastów systemu Odoo. Dyskusje, porady, opinie, komentarze. Przeczytaj wytyczne

Narzędzia do pytań

3 obserwujący

Statystyki

Spytał/a: 08.01.2015, 16:12
Oglądano: 1090 razy
Ostatnia aktualizacja: 09.01.2015, 09:28