ROZWIĄZANY - Bardzo poręczne narzędzie pozwalające na pokazanie stanów w lokalizacjach podczas wykonywania operacji 'Stock.Move' [Zamknięte]

To pytanie zostało zamknięte z powodu: niezwiązane z tematem lub nieaktualne

przez
Dr.One
na 13.01.2016 21:45:38

Walka ukończona. Nie poddałem się i walczyłem do końca :)

Otóż Panowie, wykombinowałem sobie takie rozwiązanie z użyciem onchange():

Odczytuję lokalizacje i zapisuję do nowo zdefiniowanego pola pól new_product_id natomiast lista lokalizacji wyszukanych dla wskazanego produktu ląduje w my_location_id. Z pewnością działa tak jak właśnie sobie to wymarzyłem.

class stock_location(osv.osv):
    
    _name = 'stock.move'

    def onchange_new_product_id(self,cr,uid,ids,new_product_id,context=None):

        res = {}

        location_list = []

        quant_obj = self.pool.get('stock.quant')

        quant_ids = quant_obj.search(cr,uid, [('product_id','=',new_product_id)])

        for quant_data in quant_obj.browse(cr, uid, quant_ids, context=context):

            location_list.append(quant_data.location_id.id)

        return {'domain':{'my_location_id':[('id','in',location_list)]}}

    _columns = {
                'new_product_id' : fields.many2one('product.product', string="My Product"),
                'my_location_id' : fields.many2one('stock.location', string="My Location"),
}

(Ten moduł działa poprawnie i wyczytuje lokalizację powiązaną z produktem. Zgodnie za założeniem, jeśli produkt znajduje się w jednej lokalizacji na liście pojawia się jedna pozycja, jesli w większej lista zawiera wszystkie w których wybrany produkt się znajduje. Ułatwia to znacząco wyszukiwanie produktów w procesie przenoszenia z magazynu do magazynu czy pomiędzy lokalizacjami.

Po wprowadzeniu pewnych modyfikacji i zaimplementowaniu do modułu Stock.Move wszystko działa poprawnie.
Temat uważam za zakończony.

Działanie modułu można zobaczyć na YT 

Dr.One
Dr.One
341
| 5 3 5
Data pytania 20.07.2015, 19:14
0
głos
790 Odsłony

Podaj dokładną treśc komunikatu błedu

Dariusz Żbikowski
na 21.07.2015, 16:01

Po drugie coś podajerzanie wygląda nagłowek: _name = 'stock.move' dlaczego _name a nie _inherit?

Dariusz Żbikowski
na 21.07.2015, 16:05

Problem ostatecznie rozwiązany. Dziękuję, pozdrawiam.

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record id="my_obj_form" model="ir.ui.view">
            <field name="name">my_obj</field>
            <field name="inherit_id" ref="stock.view_move_form"/>
            <field name="model">stock.move</field>
            <field name="arch" type="xml">
            <field name="location_id" position="attributes">
                <attribute name="context">{'prod_id': product_id}</attribute>
            </field>
            </field>
        </record>   
    </data>
</openerp>

Dr.One
Dr.One
341
| 5 3 5
Data odpowiedzi 26.07.2015, 16:26
0
głos

Twoja odpowiedź

Spróbuj dać znacząca odpowiedź. Jeśli chcesz wypowiedzieć się na temat pytania lub odpowiedzi, po prostu użyj narzędzia komentowania. Proszę pamiętać, że zawsze można zrewidować swoją odpowiedź - nie ma potrzeby odpowiadać na to samo pytanie dwa razy. Także prosimy, nie zapomnij zagłosować - to naprawdę pomaga wybrać najlepsze pytania i odpowiedzi!

Zadaj Pytanie

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: 20.07.2015, 19:14
Oglądano: 790 razy
Ostatnia aktualizacja: 13.01.2016, 21:45