Celem automatycznego rozdzielania zadań .... [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:52

Kod w modelu iprodstep_log (custom module): .... poprawiony i działa poprawnie.

#----------------- Main class -----------------    
class iprodstep_log(models.Model):
    _name = 'iprodstep.log'

    @api.multi
    def sort_order(self):
        records = self.env['iprodstep.log'].search([('state','=','draft')])

...     elif record.postage_service == 'Other 24 Hour Courier':
            record.write({'state': 'in','urgent_id': True})
        else:
            record.write({'state' : 'in'})

Po zmianie i przestawieniu nieco  definicji 'sort_orders', poprawieniu indentacji nie dostaję już komunikatu o błędzie ale .... tworzy pusty rekord. Oczywiście to nie jest problemem, rekord można bez problemu skasować, niemniej szukam sposobu na uniknięcie jego tworzenia.

 

Dr.One
Dr.One
341
| 5 3 5
Data pytania 03.09.2015, 15:27
0
głos
585 Odsłony

Chyba nie ma to związku z tym fragmentem kodu. Raczej z metodą sort_order, tu jest pokazana metoda nieco inaczej nazwana (podkreślink z przodu) _sort_order.

Janusz Stefaniak
na 03.09.2015, 16:50

Ooo faktycznie, niemniej .... czy z podkreśleniem czy bez wciąż mi wywala komunikat: " return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) AttributeError: 'iprodstep.log' object has no attribute 'sort_order' " A to już mnie denerwuje ..... nieco :)

Dr.One
na 03.09.2015, 19:24

Wprowadziłem poprawki (patrz powyżej) ale w dalszym ciągu nie chce mi działać. Co źle robię ?

Dr.One
na 04.09.2015, 08:24

Mea culpa ..... poprawki poprawkami a błędy błedami więc ... znalazłem, poprawiłem i wszystko pięknie ... no prawie bo za każdym razem gdy włączam proces sortowania, dodaje i pusty rekord na końcu listy .... Dlaczego ?

Dr.One
na 04.09.2015, 09:51

Pozwoliłem sobie zrobić filmik https://www.youtube.com/watch?v=YTv1Tek1o0Y pokazujący działanie modułu - przynajmniej częsciowo - wraz z opisem w którym miejscu chciałbym przejść z widoku form do kanban. Chyba juz wiem jak należy się do tego zabrać ale ..... jeśli znacie jakiś nieskomplikowany sposób ....

Dr.One
na 07.09.2015, 15:42

Problem rozwiązałem, działa z niewielkim błędem polegającym na dodawaniu pustego rekordu. Nie wyśledziłem jeszcze w którym momencie go dodaje, czy na koniec czy przy starcie procedury.

Chciałem także dodać wyskakującą informację w przypadku gdy niema nic do sortowania.

    @api.multi
    def order_sort(self):
        records = self.env['iprodstep.log'].search([('state','=','draft')])

#        if records == '':    nie bardzo wiem jak to zrobić :)
#            raise Warning('Nothing to sort') # i w tym miejscu STOP jeśli record in records jest pusty
#

        for record in records:

            if record.postage_service == 'Royal Mail 1st Class':
                record.write({'state' : 'royal1'})
            elif record.postage_service == 'Royal Mail 2nd Class':
                record.write({'state' : 'royal2'})

Znalazłem przyczynę :) Niestety nie wiem jak się z tym uporać. W chwili gdy otwieram menu sortowania pojawia się przycisk "Create" co oznacza, że mamy otwarty nowy rekord. W chwili uruchomienia procesu sortowania Odoo automatycznie zapisuje ten rekord mimo, ze jest pusty. Jak się tego pozbyć ?

Dr.One
Dr.One
341
| 5 3 5
Data odpowiedzi 03.09.2015, 19:09
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: 03.09.2015, 15:27
Oglądano: 585 razy
Ostatnia aktualizacja: 13.01.2016, 21:45