Initial commit: OCA Financial packages (186 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:04 +02:00
commit 3e0e8473fb
8757 changed files with 947473 additions and 0 deletions

View file

@ -0,0 +1,123 @@
=================
Purchase Analytic
=================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:29e780dfe7855cc5a36aa1348802e5d1035bffb39eb3825103ed2a4fa61f4ada
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--analytic-lightgray.png?logo=github
:target: https://github.com/OCA/account-analytic/tree/16.0/purchase_analytic
:alt: OCA/account-analytic
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-analytic-16-0/account-analytic-16-0-purchase_analytic
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/account-analytic&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
The goal of this module is to ease analytic distribution management on purchase order.
This module add analytic distribution on purchase order.
If all lines of the purchase order have the same analytic distribution, the analytic distribution on the purchase order is automatically set with this value.
If a analytic distribution is set on the purchase order, all lines of the purchase will take this value.
**Table of contents**
.. contents::
:local:
Changelog
=========
16.0.1.0.0 (2023-01-16)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 16.
15.0.1.0.0 (2022-05-17)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 15.
13.0.1.0.0 (2020-01-08)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 13.
12.0.1.0.0 (2019-10-23)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 12.
10.0.1.0.0 (2017-05-11)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 10.
8.0.1.0.0 (2016-04-22)
~~~~~~~~~~~~~~~~~~~~~~~
First version.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-analytic/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/account-analytic/issues/new?body=module:%20purchase_analytic%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* Acsone SA/NV
Contributors
~~~~~~~~~~~~
* Laetitia Gangloff <laetitia.gangloff@acsone.eu>
* Cédric Pigeon <cedric.pigeon@acsone.eu>
* Pimolnat Suntian <pimolnats@ecosoft.co.th>
* `Jarsa <https://www.jarsa.com>`_
* Alan Ramos
* Lois Rilo <lois.rilo@forgeflow.com>
* `Quartile <https://www.quartile.co>`__:
* Aung Ko Ko Lin
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/account-analytic <https://github.com/OCA/account-analytic/tree/16.0/purchase_analytic>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1 @@
from . import models

View file

@ -0,0 +1,15 @@
# © 2016 Laetitia Gangloff, Acsone SA/NV (http://www.acsone.eu)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Purchase Analytic",
"version": "16.0.2.1.0",
"author": "Acsone SA/NV, Odoo Community Association (OCA)",
"category": "Purchase Management",
"website": "https://github.com/OCA/account-analytic",
"depends": ["purchase", "base_view_inheritance_extension"],
"data": ["views/purchase_views.xml"],
"license": "AGPL-3",
"installable": True,
"application": False,
}

View file

@ -0,0 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_analytic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution
msgid "Analytic"
msgstr "Analitika"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_names
msgid "Analytic Account Names"
msgstr "Za fakturisanje"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic Accounts"
msgstr "Analitički računi"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr "Pretraga analitičkih distribucija"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_precision
msgid "Analytic Precision"
msgstr "Preciznost analitike"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic accounts computed from analytic distribution."
msgstr "Usluga"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid "Analytic distribution (importable)"
msgstr "Fakturisano"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_names
msgid ""
"Comma-separated analytic account names, in case it is useful to be included "
"in the exported data."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid ""
"Defining this field, it will set the analytical distribution in JSON format,"
" but using the analytic accounts names as keys of the dictionary, so it "
"eases the human input."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__manual_distribution_id
msgid "Manual Distribution"
msgstr "Posao"
#. module: purchase_analytic
#: model:ir.model,name:purchase_analytic.model_purchase_order
msgid "Purchase Order"
msgstr "Nalog za nabavu"

View file

@ -0,0 +1,83 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_analytic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-08-07 14:25+0000\n"
"Last-Translator: Miquel Romera <mromera@pmsastro.es>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.4\n"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution
msgid "Analytic"
msgstr "Analítica"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_names
msgid "Analytic Account Names"
msgstr "Nombres de cuentas analíticas"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic Accounts"
msgstr "Cuentas Analíticas"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr "Búsqueda de distribución analítica"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_precision
msgid "Analytic Precision"
msgstr "Precisión analítica"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic accounts computed from analytic distribution."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid "Analytic distribution (importable)"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_names
msgid ""
"Comma-separated analytic account names, in case it is useful to be included "
"in the exported data."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid ""
"Defining this field, it will set the analytical distribution in JSON format, "
"but using the analytic accounts names as keys of the dictionary, so it eases "
"the human input."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__manual_distribution_id
msgid "Manual Distribution"
msgstr ""
#. module: purchase_analytic
#: model:ir.model,name:purchase_analytic.model_purchase_order
msgid "Purchase Order"
msgstr "Pedido de Compra"
#~ msgid "Analytic Account"
#~ msgstr "Cuenta Analítica"
#~ msgid "The analytic account related to a purchase order."
#~ msgstr "La cuenta analítica relacionada al pedido de compra."

View file

@ -0,0 +1,92 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_analytic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-07 08:25+0000\n"
"PO-Revision-Date: 2023-05-15 18:34+0000\n"
"Last-Translator: Sandrine (ACSONE) <sandrine.ravet@acsone.eu>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.14.1\n"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution
msgid "Analytic"
msgstr "Analytique"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_names
msgid "Analytic Account Names"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic Accounts"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr "Recherche de distribution analytique"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_precision
msgid "Analytic Precision"
msgstr "Précision analytique"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic accounts computed from analytic distribution."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid "Analytic distribution (importable)"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_names
msgid ""
"Comma-separated analytic account names, in case it is useful to be included "
"in the exported data."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid ""
"Defining this field, it will set the analytical distribution in JSON format, "
"but using the analytic accounts names as keys of the dictionary, so it eases "
"the human input."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__manual_distribution_id
msgid "Manual Distribution"
msgstr ""
#. module: purchase_analytic
#: model:ir.model,name:purchase_analytic.model_purchase_order
msgid "Purchase Order"
msgstr "Bon de commande"
#~ msgid "Analytic Account"
#~ msgstr "Compte analytique"
#~ msgid "The analytic account related to a purchase order."
#~ msgstr "Le compte analytique lié à un bon de commande."
#~ msgid "Contract / Analytic"
#~ msgstr "Contrat / analytique"
#~ msgid "Use to store the value of project_id if there is no lines"
#~ msgstr ""
#~ "Utilisé pour stocker la valeur du champs project_id lorsqu'il n'y a pas "
#~ "de lignes"

View file

@ -0,0 +1,78 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_analytic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-02-16 14:23+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>\n"
"Language-Team: none\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.14.1\n"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution
msgid "Analytic"
msgstr "Analitika"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_names
msgid "Analytic Account Names"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic Accounts"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_precision
msgid "Analytic Precision"
msgstr "Preciznost analitike"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic accounts computed from analytic distribution."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid "Analytic distribution (importable)"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_names
msgid ""
"Comma-separated analytic account names, in case it is useful to be included "
"in the exported data."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid ""
"Defining this field, it will set the analytical distribution in JSON format, "
"but using the analytic accounts names as keys of the dictionary, so it eases "
"the human input."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__manual_distribution_id
msgid "Manual Distribution"
msgstr ""
#. module: purchase_analytic
#: model:ir.model,name:purchase_analytic.model_purchase_order
msgid "Purchase Order"
msgstr "Nalog za nabavu"

View file

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_analytic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-03-06 11:53+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.2\n"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution
msgid "Analytic"
msgstr "Analitico"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_names
msgid "Analytic Account Names"
msgstr "Nomi conto analitico"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic Accounts"
msgstr "Conti analitici"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr "Ricerca distribuzione analitica"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_precision
msgid "Analytic Precision"
msgstr "Precisione analitica"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic accounts computed from analytic distribution."
msgstr "Conti analitici calcolati da distribuzione analitica."
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid "Analytic distribution (importable)"
msgstr "Distribuzione analitica (importabile)"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_names
msgid ""
"Comma-separated analytic account names, in case it is useful to be included "
"in the exported data."
msgstr ""
"Nomi conti analitici separati da virgola, nel caso sia utile includerli nei "
"dati esportati."
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid ""
"Defining this field, it will set the analytical distribution in JSON format, "
"but using the analytic accounts names as keys of the dictionary, so it eases "
"the human input."
msgstr ""
"Definendo questo campo, verrà impostata la distribuzione analitica in "
"formato JSON, ma utilizzando i nomi degli account analitici come chiavi del "
"dizionario, in modo da semplificare l'inserimento umano."
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__manual_distribution_id
msgid "Manual Distribution"
msgstr "Distribuzione manuale"
#. module: purchase_analytic
#: model:ir.model,name:purchase_analytic.model_purchase_order
msgid "Purchase Order"
msgstr "Ordine di acquisto"
#~ msgid "Manual Distribution ID"
#~ msgstr "ID distribuzione manuale"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_analytic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-13 16:06+0000\n"
"Last-Translator: Rodrigo Sottomaior Macedo "
"<sottomaiormacedotec@sottomaiormacedo.tech>\n"
"Language-Team: none\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.6.2\n"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution
msgid "Analytic"
msgstr "Analítica"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_names
msgid "Analytic Account Names"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic Accounts"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr "Pesquisa Distribuição Analítica"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_precision
msgid "Analytic Precision"
msgstr "Precisão Analítica"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic accounts computed from analytic distribution."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid "Analytic distribution (importable)"
msgstr "Distribuição analítica (importável)"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_names
msgid ""
"Comma-separated analytic account names, in case it is useful to be included "
"in the exported data."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid ""
"Defining this field, it will set the analytical distribution in JSON format, "
"but using the analytic accounts names as keys of the dictionary, so it eases "
"the human input."
msgstr ""
"Ao definir esse campo, ele definirá a distribuição analítica no formato "
"JSON, mas usando os nomes das contas analíticas como chaves do dicionário, "
"facilitando a entrada humana."
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__manual_distribution_id
msgid "Manual Distribution"
msgstr "Distribuição Manual"
#. module: purchase_analytic
#: model:ir.model,name:purchase_analytic.model_purchase_order
msgid "Purchase Order"
msgstr "Pedido de Compra"

View file

@ -0,0 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_analytic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution
msgid "Analytic"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_names
msgid "Analytic Account Names"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic Accounts"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_precision
msgid "Analytic Precision"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic accounts computed from analytic distribution."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid "Analytic distribution (importable)"
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_names
msgid ""
"Comma-separated analytic account names, in case it is useful to be included "
"in the exported data."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid ""
"Defining this field, it will set the analytical distribution in JSON format,"
" but using the analytic accounts names as keys of the dictionary, so it "
"eases the human input."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__manual_distribution_id
msgid "Manual Distribution"
msgstr ""
#. module: purchase_analytic
#: model:ir.model,name:purchase_analytic.model_purchase_order
msgid "Purchase Order"
msgstr ""

View file

@ -0,0 +1,79 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_analytic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-04-15 07:43+0000\n"
"Last-Translator: Betül Öğmen <betulo@eska.biz>\n"
"Language-Team: none\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.4\n"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution
msgid "Analytic"
msgstr "Analitik"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_names
msgid "Analytic Account Names"
msgstr "Analitik Hesap İsimleri"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic Accounts"
msgstr "Analitik Hesaplar"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr "Analitik Dağılım Araması"
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_precision
msgid "Analytic Precision"
msgstr "Analitik Hassasiyet"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_ids
msgid "Analytic accounts computed from analytic distribution."
msgstr "Analitik dağılımdan hesaplanan analitik hesaplar."
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid "Analytic distribution (importable)"
msgstr "Analitik dağılım (içe aktarılabilir)"
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_account_names
msgid ""
"Comma-separated analytic account names, in case it is useful to be included "
"in the exported data."
msgstr ""
"Dışa aktarılacak verilerde yer alması yararlı olacağı için, virgülle "
"ayrılmış analitik hesap isimleri."
#. module: purchase_analytic
#: model:ir.model.fields,help:purchase_analytic.field_purchase_order__analytic_distribution_import
msgid ""
"Defining this field, it will set the analytical distribution in JSON format,"
" but using the analytic accounts names as keys of the dictionary, so it "
"eases the human input."
msgstr ""
#. module: purchase_analytic
#: model:ir.model.fields,field_description:purchase_analytic.field_purchase_order__manual_distribution_id
msgid "Manual Distribution"
msgstr "Manuel Dağılım"
#. module: purchase_analytic
#: model:ir.model,name:purchase_analytic.model_purchase_order
msgid "Purchase Order"
msgstr "Satınalma Siparişi"

View file

@ -0,0 +1 @@
from . import purchase

View file

@ -0,0 +1,44 @@
# © 2016 Laetitia Gangloff, Acsone SA/NV (http://www.acsone.eu)
# Copyright 2022 ForgeFlow S.L. (https://www.forgeflow.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class PurchaseOrder(models.Model):
_name = "purchase.order"
_inherit = ["purchase.order", "analytic.mixin"]
analytic_distribution = fields.Json(
inverse="_inverse_analytic_distribution",
# To be consistent with order_line readonly behavior
states={"done": [("readonly", True)], "cancel": [("readonly", True)]},
)
@api.depends("order_line.analytic_distribution")
def _compute_analytic_distribution(self):
"""If all order line have same analytic distribution set analytic_distribution.
If no lines, respect value given by the user.
"""
for po in self:
if po.order_line:
al = po.order_line[0].analytic_distribution or False
for ol in po.order_line:
if ol.analytic_distribution != al:
al = False
break
po.analytic_distribution = al
def _inverse_analytic_distribution(self):
"""When set analytic_distribution set analytic distribution on all order lines"""
for po in self:
if po.analytic_distribution:
po.order_line.write({"analytic_distribution": po.analytic_distribution})
@api.onchange("analytic_distribution")
def _onchange_analytic_distribution(self):
"""When change analytic_distribution set analytic distribution on all order lines"""
if self.analytic_distribution:
self.order_line.update(
{"analytic_distribution": self.analytic_distribution}
)

View file

@ -0,0 +1,11 @@
* Laetitia Gangloff <laetitia.gangloff@acsone.eu>
* Cédric Pigeon <cedric.pigeon@acsone.eu>
* Pimolnat Suntian <pimolnats@ecosoft.co.th>
* `Jarsa <https://www.jarsa.com>`_
* Alan Ramos
* Lois Rilo <lois.rilo@forgeflow.com>
* `Quartile <https://www.quartile.co>`__:
* Aung Ko Ko Lin

View file

@ -0,0 +1,5 @@
The goal of this module is to ease analytic distribution management on purchase order.
This module add analytic distribution on purchase order.
If all lines of the purchase order have the same analytic distribution, the analytic distribution on the purchase order is automatically set with this value.
If a analytic distribution is set on the purchase order, all lines of the purchase will take this value.

View file

@ -0,0 +1,29 @@
16.0.1.0.0 (2023-01-16)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 16.
15.0.1.0.0 (2022-05-17)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 15.
13.0.1.0.0 (2020-01-08)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 13.
12.0.1.0.0 (2019-10-23)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 12.
10.0.1.0.0 (2017-05-11)
~~~~~~~~~~~~~~~~~~~~~~~
Migrated to odoo 10.
8.0.1.0.0 (2016-04-22)
~~~~~~~~~~~~~~~~~~~~~~~
First version.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,471 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Purchase Analytic</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="purchase-analytic">
<h1 class="title">Purchase Analytic</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:29e780dfe7855cc5a36aa1348802e5d1035bffb39eb3825103ed2a4fa61f4ada
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-analytic/tree/16.0/purchase_analytic"><img alt="OCA/account-analytic" src="https://img.shields.io/badge/github-OCA%2Faccount--analytic-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-analytic-16-0/account-analytic-16-0-purchase_analytic"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-analytic&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>The goal of this module is to ease analytic distribution management on purchase order.
This module add analytic distribution on purchase order.</p>
<p>If all lines of the purchase order have the same analytic distribution, the analytic distribution on the purchase order is automatically set with this value.
If a analytic distribution is set on the purchase order, all lines of the purchase will take this value.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#changelog" id="toc-entry-1">Changelog</a><ul>
<li><a class="reference internal" href="#section-1" id="toc-entry-2">16.0.1.0.0 (2023-01-16)</a></li>
<li><a class="reference internal" href="#section-2" id="toc-entry-3">15.0.1.0.0 (2022-05-17)</a></li>
<li><a class="reference internal" href="#section-3" id="toc-entry-4">13.0.1.0.0 (2020-01-08)</a></li>
<li><a class="reference internal" href="#section-4" id="toc-entry-5">12.0.1.0.0 (2019-10-23)</a></li>
<li><a class="reference internal" href="#section-5" id="toc-entry-6">10.0.1.0.0 (2017-05-11)</a></li>
<li><a class="reference internal" href="#section-6" id="toc-entry-7">8.0.1.0.0 (2016-04-22)</a></li>
</ul>
</li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-8">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-9">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-10">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-11">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-12">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="changelog">
<h1><a class="toc-backref" href="#toc-entry-1">Changelog</a></h1>
<div class="section" id="section-1">
<h2><a class="toc-backref" href="#toc-entry-2">16.0.1.0.0 (2023-01-16)</a></h2>
<p>Migrated to odoo 16.</p>
</div>
<div class="section" id="section-2">
<h2><a class="toc-backref" href="#toc-entry-3">15.0.1.0.0 (2022-05-17)</a></h2>
<p>Migrated to odoo 15.</p>
</div>
<div class="section" id="section-3">
<h2><a class="toc-backref" href="#toc-entry-4">13.0.1.0.0 (2020-01-08)</a></h2>
<p>Migrated to odoo 13.</p>
</div>
<div class="section" id="section-4">
<h2><a class="toc-backref" href="#toc-entry-5">12.0.1.0.0 (2019-10-23)</a></h2>
<p>Migrated to odoo 12.</p>
</div>
<div class="section" id="section-5">
<h2><a class="toc-backref" href="#toc-entry-6">10.0.1.0.0 (2017-05-11)</a></h2>
<p>Migrated to odoo 10.</p>
</div>
<div class="section" id="section-6">
<h2><a class="toc-backref" href="#toc-entry-7">8.0.1.0.0 (2016-04-22)</a></h2>
<p>First version.</p>
</div>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-8">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/account-analytic/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/account-analytic/issues/new?body=module:%20purchase_analytic%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-9">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-10">Authors</a></h2>
<ul class="simple">
<li>Acsone SA/NV</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-11">Contributors</a></h2>
<ul class="simple">
<li>Laetitia Gangloff &lt;<a class="reference external" href="mailto:laetitia.gangloff&#64;acsone.eu">laetitia.gangloff&#64;acsone.eu</a>&gt;</li>
<li>Cédric Pigeon &lt;<a class="reference external" href="mailto:cedric.pigeon&#64;acsone.eu">cedric.pigeon&#64;acsone.eu</a>&gt;</li>
<li>Pimolnat Suntian &lt;<a class="reference external" href="mailto:pimolnats&#64;ecosoft.co.th">pimolnats&#64;ecosoft.co.th</a>&gt;</li>
<li><a class="reference external" href="https://www.jarsa.com">Jarsa</a><ul>
<li>Alan Ramos</li>
</ul>
</li>
<li>Lois Rilo &lt;<a class="reference external" href="mailto:lois.rilo&#64;forgeflow.com">lois.rilo&#64;forgeflow.com</a>&gt;</li>
<li><a class="reference external" href="https://www.quartile.co">Quartile</a>:<ul>
<li>Aung Ko Ko Lin</li>
</ul>
</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-12">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-analytic/tree/16.0/purchase_analytic">OCA/account-analytic</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1 @@
from . import test_purchase_analytic

View file

@ -0,0 +1,83 @@
# © 2016 Laetitia Gangloff, Acsone SA/NV (http://www.acsone.eu)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from datetime import datetime
from odoo.tests.common import TransactionCase
class TestPurchaseAnalytic(TransactionCase):
def setUp(self):
super().setUp()
self.partner_id = self.env.ref("base.res_partner_12")
self.product_id = self.env.ref("product.product_product_9")
self.uom_id = self.env.ref("uom.product_uom_unit")
analytic_plan = self.env["account.analytic.plan"].create(
{"name": "Plan Test", "company_id": False}
)
analytic_account_manual = self.env["account.analytic.account"].create(
{"name": "manual", "plan_id": analytic_plan.id}
)
self.analytic_distribution_manual = {str(analytic_account_manual.id): 100}
def test_analytic_distribution(self):
"""Create a purchase order (create)
Set analytic distribution on purchase
Check analytic distribution and line is set
"""
po = self.env["purchase.order"].create(
{
"partner_id": self.partner_id.id,
"order_line": [
(
0,
0,
{
"name": self.product_id.name,
"product_id": self.product_id.id,
"product_qty": 1.0,
"product_uom": self.uom_id.id,
"price_unit": 121.0,
"date_planned": datetime.today(),
},
)
],
}
)
po.analytic_distribution = self.analytic_distribution_manual
po._onchange_analytic_distribution()
self.assertEqual(po.analytic_distribution, self.analytic_distribution_manual)
self.assertEqual(
po.order_line.analytic_distribution, self.analytic_distribution_manual
)
def test_analytic_disctribution_with_new(self):
"""Create a purchase order (new)
Set analytic distribution on purchase
Check analytic distribution and line is set
"""
po = self.env["purchase.order"].new(
{
"partner_id": self.partner_id.id,
"analytic_distribution": self.analytic_distribution_manual,
"order_line": [
(
0,
0,
{
"name": self.product_id.name,
"product_id": self.product_id.id,
"product_qty": 1.0,
"product_uom": self.uom_id.id,
"price_unit": 121.0,
"date_planned": datetime.today(),
},
)
],
}
)
po._onchange_analytic_distribution()
self.assertEqual(po.analytic_distribution, self.analytic_distribution_manual)
self.assertEqual(
po.order_line.analytic_distribution, self.analytic_distribution_manual
)

View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="purchase_order_kpis_tree_inherit_purchase_analytic" model="ir.ui.view">
<field name="name">purchase.order.kpis.tree (purchase_analytic)</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_kpis_tree" />
<field name="arch" type="xml">
<field name="origin" position="before">
<field
name="analytic_distribution"
widget="analytic_distribution"
groups="analytic.group_analytic_accounting"
optional="show"
/>
</field>
</field>
</record>
<record id="purchase_order_view_tree_inherit_purchase_analytic" model="ir.ui.view">
<field name="name">purchase.order.tree (purchase_analytic)</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_view_tree" />
<field name="arch" type="xml">
<field name="origin" position="before">
<field
name="analytic_distribution"
widget="analytic_distribution"
groups="analytic.group_analytic_accounting"
optional="show"
/>
</field>
</field>
</record>
<record id="purchase_order_view_form_inherit_purchase_analytic" model="ir.ui.view">
<field name="name">purchase.order.form (purchase_analytic)</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_form" />
<field name="arch" type="xml">
<field name="partner_ref" position="after">
<field
name="analytic_distribution"
widget="analytic_distribution"
groups="analytic.group_analytic_accounting"
/>
<field name="analytic_distribution" invisible="1" />
</field>
<field name="order_line" position="attributes">
<attribute name="context" operation="update">
{
"default_analytic_distribution": analytic_distribution,
}
</attribute>
</field>
</field>
</record>
</odoo>