Kwota słownie po polsku

witam poszukuje sposobu na kwote słownie na fakturze, mozecie podsunąc proste w implementacji rozwiązania?

9.0
Dorian Duddzisz
Dorian Duddzisz
4
| 2 1 1
Data pytania 10.02.2016, 10:31
0
głos
850 Odsłony

Mam nadzieję, że ten opis nie wprowadzi większego chaosu niż aktualnie panujący :) i pozwoli ci utworzyć niezbędne elementy potrzebne do konwersji liczb na tekst:
Zależnie od tego czy chcesz aby odbywało się to ręcznie, ponieważ w tej wersji tekstowa wersja ceny/wartości będzie się pokazywała w chwili wprowadzenia lub zmiany tej wartości/ceny. Jeśli chchesz natomiast aby działo się to automatycznie musisz dopisać linie 2 i 5 nieco inaczej.

Więc ....

0. dopisać na początku sale.py(bo tu będziemy modyfikować)

from openerp.tools import amount_to_text_en
from openerp.tools.amount_to_text_en import amount_to_text

1. utworzyć definicję onchange_dla-pola-w-którym-wyświetlana-jest-suma w pliku .py Miejsce gdzie powinna znajdować się definicja zależy od tego gdzie chcesz umieścić pole/gdzie ma być wyświetlana jego wartość (odpowiednia klasa)

<pre>

1.    def onchange_pole-suma(self, cr, uid, ids, pole-suma):
2.        text_suma = amount_to_text_en.amount_to_text(pole-suma, 'en', '£')
#tu konieczne będzie albo przerobienie kodu w pliku amount_to_text_en.py lub utworzenie nowego np amount_to_text_pl.py z odpowiednio zmodyfikowanym kodem. Angielska składnia jest nieco inna niż polska ;) i bez modyfikacji będzie ci wyświetlało np jeden hundred zamiast 'Sto'

3.        print '== text_suma ====================================================================='
4.        print '   ',text_suma
5.        return {'value': {'text_suma': text_suma}}
</pre>

2. utworzyć pole w którym będzie wyświetlana przekonwertowana wartośćw postaci tekstu.

<pre>

'text_suma': fields.char('Słownie:'), #stare API

text_suma = fields.Char('Słownie') #nowe API

</pre>

#.

w pliku .xml jeśli chcesz wyświetlić na ekranie musisz dopisać w odpowiednim miejscu

<pre>

<field name="pole-suma" on_change="onchange_pole-suma(pole-suma)"/>

</pre>

Jeśli coś opisałem nie tak jak należy proszę mnie poprawić :)

W kwestii umieszczenia pola text_suma na fakturze, musisz znaleźć plik/pliki fakturyt (xml/xsl - nie sprawdzałem jeszcze) i dopisać to pole w odpowiednim miejscu.

 

Dr.One
Dr.One
341
| 5 3 5
Data odpowiedzi 13.02.2016, 22:12
0
głos

Dobra dotarłem do takiego postu na forum jednak, mam problem z tym w jakim modelu mam dodać to pole i w jakim widoku 

link -> https://www.odoo.com/forum/help-1/question/detailed-procedure-to-do-the-number-to-text-conversion-10504

Dorian Duddzisz
Dorian Duddzisz
4
| 2 1 1
Data odpowiedzi 10.02.2016, 14:45
0
głos

Może ten wątek będzie ci bardziej pomocny: https://www.odoo.com/forum/help-1/question/conversion-of-amount-to-text-in-openerp-43765

Janusz Stefaniak
na 10.02.2016, 18:34

może inaczej, chodzi mi o to który model i widok mam w edytować, w module invoice i chodzi o wersje 9.0 podesłałeś mi do 7.0.....

Dorian Duddzisz
na 10.02.2016, 18:49

Podesłałem od 8.0, w 9.0 sytuacja jest podobna, zerknij na pliki amount_to_text.py w repozytorium wersji 9: https://github.com/odoo/odoo/tree/9.0/openerp/tools

Janusz Stefaniak
na 10.02.2016, 18:54

wiesz jak by takie rzeczy mi pomogly to bym nie pytal sie tutaj... moze naprowadzic czy będziesz podbijał tylko licznik postów.... przez naprowadzenie mam na mysli jakie pliki w module invoice mam wyedytowac.....

Dorian Duddzisz
na 10.02.2016, 21:05

Nie powiem abyś był zbyt uprzejmy dla kogoś, kto stara Ci się pomóc. Mimo to "nabiję licznik dalej". Jeśli nie znasz się na programowaniu, z tą sprawą sobie nie poradzisz. Jeśli się znasz.. to wskazałem Ci drogę. Pliki: definicje widoku faktury znajdziesz w pliku /addons/account/views/report_invoice.xml (widok typu qweb o nazwie report_invoice), wywołania tego raportu w pliku /addons/account/account_report.xml. Dodanie jednak obsługi kwoty słownie wymaga utworzenia własnej obsługi zamiany kwoty na słowa w języku polskim i stworzenia nowej, własnej obsługi w kodzie pythona wskazanego raportu.

Janusz Stefaniak
na 10.02.2016, 21:38

niestety nadal stoje w miejscu i nie mogę tego wykorzystać, z edycja pliku z en czy fr na polski dam rade ale nadal nie wiem jak to wyświetlić na fakturze..... zapewne na instrukcje krok po kroku nie ma co liczyć?

Dorian Duddzisz
na 11.02.2016, 13:40

W międzyczasie zagłębiłem się lekko w temat, nawet nie wiedziałem, że takie coś jest dostępne :)

Dr.One
na 11.02.2016, 16:53

OK, rozpykałem, prosta sprawa, pięknie pokazuje sumy w postaci tekstu :)

Dr.One
na 11.02.2016, 21:23

Pozostało tylko przepisać słówka w amount to text en albo utworzyć nowy plik amount to text pl :)

Dr.One
na 11.02.2016, 21:24

No i niewielka przeróbka kodu z uwagi na Hundreds :) ale to betka. W przypadku przepisania jedynie słowników jeśli wprowadzisz 156 wyświetli "Jeden Hundred Pięćdziesiąt Sześć" :)

Dr.One
na 11.02.2016, 21:38

Dr. One a mozesz opisać co i gdzie robiles?

Dorian Duddzisz
na 12.02.2016, 06:02

Napisz mi gdzie chcesz mieć kwotę słownie, dokładnie w którym miejscu to ci przygotuję mały manual krok po kroku co trzeba zrobić :)

Dr.One
na 12.02.2016, 11:18

Janusz Witam

Mam prośbę zrobiłbyś funkcje kwote słownie w fakturze w moim Odoo v9 ?

Krzysztof

601918370

ABKrzysztof
ABKrzysztof
2
| 1 0 0
Data odpowiedzi 11.02.2016, 19:07
0
głos

Adam Słodowy - Zrób To Sam Ja dałem radę ...

Dr.One
na 11.02.2016, 21:27

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ń

4 obserwujący

Statystyki

Spytał/a: 10.02.2016, 10:31
Oglądano: 850 razy
Ostatnia aktualizacja: 14.02.2016, 20:45