diff --git a/project_stock_quick/README.rst b/project_stock_quick/README.rst index 912ec265..fe7f195a 100644 --- a/project_stock_quick/README.rst +++ b/project_stock_quick/README.rst @@ -19,19 +19,19 @@ Create stock pickings from a project task and keep them linked to that task. The native ``project_stock`` module already links pickings to the **project**, but not to the **task**. This module adds that missing link: -#. New boolean **Transfer management** on the project (Settings tab, Inventory +#. New boolean **Transfer Management** on the project (Settings tab, Inventory group), only visible to inventory users. #. When enabled, two optional settings show up: - - **Default operation type**: pickings created from the tasks start with + - **Default Operation Type**: pickings created from the tasks start with that operation type. If empty, the user picks it. - - **Stages that allow transfers**: if set, the create button only shows up + - **Stages That Allow Transfers**: if set, the create button only shows up when the task is in one of those stages. If empty, any stage allows it. -#. New **New transfer** header button on the task, which opens a picking form +#. New **New Transfer** header button on the task, which opens a picking form with the task's partner, project, company and the task name as source document already set. #. New **Transfers** stat button on the task, with the count of pickings - originated on it. + originated on it. It only shows up when the task has at least one picking. #. New **Task** field on the picking form, next to the project that ``project_stock`` provides. Setting it by hand aligns project and partner. @@ -60,18 +60,19 @@ Configuration To configure this module, you need to: #. Go to the project, Settings tab, Inventory group, and enable - **Transfer management**. -#. Optionally set **Default operation type** and **Stages that allow - transfers**. + **Transfer Management**. +#. Optionally set **Default Operation Type** and **Stages That Allow + Transfers**. Usage ===== To use this module, you need to: -#. Open a task of that project and press **New transfer**. +#. Open a task of that project and press **New Transfer**. #. Complete the products and save: the picking stays linked to the task. -#. Back on the task, the **Transfers** stat button shows the linked pickings. +#. Back on the task, the **Transfers** stat button shows the linked pickings + (it only shows up once there is at least one). #. To link an existing picking, open it and set the **Task** field. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas diff --git a/project_stock_quick/__manifest__.py b/project_stock_quick/__manifest__.py index fd8be464..88222f4a 100644 --- a/project_stock_quick/__manifest__.py +++ b/project_stock_quick/__manifest__.py @@ -1,6 +1,6 @@ { "name": "Project Stock Quick", - "version": "19.0.1.0.0", + "version": "20.0.1.0.0", "category": "Services/Project", "author": "ADHOC SA", "website": "www.adhoc.com.ar", @@ -15,7 +15,7 @@ "views/project_task_views.xml", "views/stock_picking_views.xml", ], - "installable": False, + "installable": True, "application": False, "auto_install": False, } diff --git a/project_stock_quick/i18n/es.po b/project_stock_quick/i18n/es.po new file mode 100644 index 00000000..c8539f04 --- /dev/null +++ b/project_stock_quick/i18n/es.po @@ -0,0 +1,305 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * project_stock_quick +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 20.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-15 21:56+0000\n" +"PO-Revision-Date: 2026-10-15 21:56+0000\n" +"Last-Translator: Automatically generated\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" + +#. module: project_stock_quick +#: model:ir.module.module,description:base.module_project_stock_quick +msgid "" +".. |company| replace:: ADHOC SA\n" +"\n" +".. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png\n" +" :alt: ADHOC SA\n" +" :target: https://www.adhoc.com.ar\n" +"\n" +".. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png\n" +"\n" +".. image:: https://img.shields.io/badge/license-AGPL--3-blue.png\n" +" :target: https://www.gnu.org/licenses/agpl\n" +" :alt: License: AGPL-3\n" +"\n" +"===================\n" +"Project Stock Quick\n" +"===================\n" +"\n" +"Create stock pickings from a project task and keep them linked to that task.\n" +"\n" +"The native ``project_stock`` module already links pickings to the **project**,\n" +"but not to the **task**. This module adds that missing link:\n" +"\n" +"#. New boolean **Transfer Management** on the project (Settings tab, Inventory\n" +" group), only visible to inventory users.\n" +"#. When enabled, two optional settings show up:\n" +"\n" +" - **Default Operation Type**: pickings created from the tasks start with\n" +" that operation type. If empty, the user picks it.\n" +" - **Stages That Allow Transfers**: if set, the create button only shows up\n" +" when the task is in one of those stages. If empty, any stage allows it.\n" +"#. New **New Transfer** header button on the task, which opens a picking form\n" +" with the task's partner, project, company and the task name as source\n" +" document already set.\n" +"#. New **Transfers** stat button on the task, with the count of pickings\n" +" originated on it. It only shows up when the task has at least one picking.\n" +"#. New **Task** field on the picking form, next to the project that\n" +" ``project_stock`` provides. Setting it by hand aligns project and partner.\n" +"\n" +"Technical notes:\n" +"\n" +"- ``stock.picking.task_id`` is a plain many2one (indexed, with\n" +" ``check_company``), not a stored related or compute, to avoid mass\n" +" recomputations on a high volume transactional model. Project and partner are\n" +" propagated through the action defaults and an onchange.\n" +"- The create button is resolved by\n" +" ``project.task.display_create_picking_button`` and\n" +" ``action_create_stock_picking`` validates the same conditions server side:\n" +" hiding a button is not a control.\n" +"\n" +"Installation\n" +"============\n" +"\n" +"To install this module, you need to:\n" +"\n" +"#. Just install the module. ``project_stock`` is a native module, auto\n" +" installed with ``project`` and ``stock``.\n" +"\n" +"Configuration\n" +"=============\n" +"\n" +"To configure this module, you need to:\n" +"\n" +"#. Go to the project, Settings tab, Inventory group, and enable\n" +" **Transfer Management**.\n" +"#. Optionally set **Default Operation Type** and **Stages That Allow\n" +" Transfers**.\n" +"\n" +"Usage\n" +"=====\n" +"\n" +"To use this module, you need to:\n" +"\n" +"#. Open a task of that project and press **New Transfer**.\n" +"#. Complete the products and save: the picking stays linked to the task.\n" +"#. Back on the task, the **Transfers** stat button shows the linked pickings\n" +" (it only shows up once there is at least one).\n" +"#. To link an existing picking, open it and set the **Task** field.\n" +"\n" +".. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas\n" +" :alt: Try me on Runbot\n" +" :target: http://runbot.adhoc.com.ar/\n" +"\n" +"Bug Tracker\n" +"===========\n" +"\n" +"Bugs are tracked on `GitHub Issues\n" +"`_. In case of trouble, please\n" +"check there if your issue has already been reported. If you spotted it first,\n" +"help us smashing it by providing a detailed and welcomed feedback.\n" +"\n" +"Credits\n" +"=======\n" +"\n" +"Images\n" +"------\n" +"\n" +"* |company| |icon|\n" +"\n" +"Contributors\n" +"------------\n" +"\n" +"Maintainer\n" +"----------\n" +"\n" +"|company_logo|\n" +"\n" +"This module is maintained by the |company|.\n" +"\n" +"To contribute to this module, please visit https://www.adhoc.com.ar.\n" +msgstr "" + +#. module: project_stock_quick +#: model_terms:ir.ui.view,arch_db:project_stock_quick.edit_project_inherit_project_stock_quick +msgid "Any stage" +msgstr "Cualquier etapa" + +#. module: project_stock_quick +#: model:ir.module.module,summary:base.module_project_stock_quick +msgid "" +"Create stock pickings from a project task and keep them linked to that task" +msgstr "Crear traslados de inventario desde una tarea de proyecto y mantenerlos vinculados a esa tarea" + +#. module: project_stock_quick +#: model:ir.model.fields,field_description:project_stock_quick.field_project_project__picking_type_id +msgid "Default Operation Type" +msgstr "Tipo de operación por defecto" + +#. module: project_stock_quick +#: model:ir.model.fields,field_description:project_stock_quick.field_project_task__display_create_picking_button +msgid "Display Create Picking Button" +msgstr "Mostrar botón de crear traslado" + +#. module: project_stock_quick +#: model:ir.model.fields,field_description:project_stock_quick.field_project_project__display_name +#: model:ir.model.fields,field_description:project_stock_quick.field_project_task__display_name +#: model:ir.model.fields,field_description:project_stock_quick.field_stock_picking__display_name +msgid "Display Name" +msgstr "Nombre para mostrar" + +#. module: project_stock_quick +#: model:ir.model.fields,help:project_stock_quick.field_project_project__allow_stock_picking +#: model:ir.model.fields,help:project_stock_quick.field_project_task__allow_stock_picking +msgid "" +"Enables, on the tasks of this project, the button to create stock pickings " +"and the counter of the ones already created." +msgstr "Habilita, en las tareas de este proyecto, el botón para crear traslados de inventario y el contador de los ya creados." + +#. module: project_stock_quick +#: model_terms:ir.ui.view,arch_db:project_stock_quick.edit_project_inherit_project_stock_quick +msgid "Enables, on the tasks, the button to create stock pickings" +msgstr "Habilita, en las tareas, el botón para crear traslados de inventario" + +#. module: project_stock_quick +#: model:ir.model.fields,field_description:project_stock_quick.field_project_project__id +#: model:ir.model.fields,field_description:project_stock_quick.field_project_task__id +#: model:ir.model.fields,field_description:project_stock_quick.field_stock_picking__id +msgid "ID" +msgstr "" + +#. module: project_stock_quick +#: model:ir.model.fields,help:project_stock_quick.field_project_project__picking_type_id +msgid "" +"If set, the pickings created from the tasks of this project start with this " +"operation type. If empty, the user chooses it every time." +msgstr "Si se establece, los traslados creados desde las tareas de este proyecto comienzan con este tipo de operación. Si está vacío, el usuario lo elige cada vez." + +#. module: project_stock_quick +#: model_terms:ir.ui.view,arch_db:project_stock_quick.edit_project_inherit_project_stock_quick +msgid "Inventory" +msgstr "Inventario" + +#. module: project_stock_quick +#. odoo-python +#: code:addons/project_stock_quick/models/project_task.py:0 +#: model_terms:ir.ui.view,arch_db:project_stock_quick.view_task_form2_inherit_project_stock_quick +msgid "New Transfer" +msgstr "Nuevo traslado" + +#. module: project_stock_quick +#. odoo-python +#: code:addons/project_stock_quick/models/project_project.py:0 +msgid "" +"Operation type '%(picking_type)s' belongs to company '%(picking_company)s' " +"and project '%(project)s' belongs to '%(project_company)s'." +msgstr "El tipo de operación '%(picking_type)s' pertenece a la compañía '%(picking_company)s' y el proyecto '%(project)s' pertenece a '%(project_company)s'." + +#. module: project_stock_quick +#: model:ir.model.fields,field_description:project_stock_quick.field_project_task__picking_count +msgid "Picking Count" +msgstr "Cantidad de traslados" + +#. module: project_stock_quick +#: model:ir.model,name:project_stock_quick.model_project_project +msgid "Project" +msgstr "Proyecto" + +#. module: project_stock_quick +#. odoo-python +#: code:addons/project_stock_quick/models/project_task.py:0 +msgid "Project '%s' does not have transfer management enabled." +msgstr "El proyecto '%s' no tiene habilitada la gestión de traslados." + +#. module: project_stock_quick +#: model:ir.module.module,shortdesc:base.module_project_stock_quick +msgid "Project Stock Quick" +msgstr "Traslados rápidos desde tareas" + +#. module: project_stock_quick +#. odoo-python +#: code:addons/project_stock_quick/models/project_task.py:0 +msgid "" +"Stage '%(stage)s' does not allow creating pickings on project '%(project)s'." +msgstr "La etapa '%(stage)s' no permite crear traslados en el proyecto '%(project)s'." + +#. module: project_stock_quick +#: model:ir.model.fields,field_description:project_stock_quick.field_project_project__picking_stage_ids +msgid "Stages That Allow Transfers" +msgstr "Etapas que permiten traslados" + +#. module: project_stock_quick +#: model:ir.model,name:project_stock_quick.model_project_task +#: model:ir.model.fields,field_description:project_stock_quick.field_stock_picking__task_id +msgid "Task" +msgstr "Tarea" + +#. module: project_stock_quick +#: model:ir.model.fields,help:project_stock_quick.field_project_project__picking_stage_ids +msgid "" +"Task stages on which pickings can be created. If empty, they can be created " +"on any stage." +msgstr "Etapas de la tarea en las que se pueden crear traslados. Si está vacío, se pueden crear en cualquier etapa." + +#. module: project_stock_quick +#: model:ir.model.fields,help:project_stock_quick.field_stock_picking__task_id +msgid "Task this picking was created from." +msgstr "Tarea desde la que se creó este traslado." + +#. module: project_stock_quick +#: model:ir.model,name:project_stock_quick.model_stock_picking +msgid "Transfer" +msgstr "Traslado" + +#. module: project_stock_quick +#: model:ir.model.fields,field_description:project_stock_quick.field_project_project__allow_stock_picking +#: model:ir.model.fields,field_description:project_stock_quick.field_project_task__allow_stock_picking +msgid "Transfer Management" +msgstr "Gestión de traslados" + +#. module: project_stock_quick +#. odoo-python +#: code:addons/project_stock_quick/models/project_task.py:0 +#: model:ir.model.fields,field_description:project_stock_quick.field_project_task__picking_ids +#: model_terms:ir.ui.view,arch_db:project_stock_quick.view_task_form2_inherit_project_stock_quick +msgid "Transfers" +msgstr "Traslados" + +#. module: project_stock_quick +#: model:ir.model.fields,help:project_stock_quick.field_project_task__display_name +msgid "" +"Use these keywords in the title to set new tasks:\n" +"\n" +" #tags Set tags on the task\n" +" @user Assign the task to a user\n" +" ! Set the task a medium priority\n" +" !! Set the task a high priority\n" +" !!! Set the task a urgent priority\n" +"\n" +" Make sure to use the right format and order e.g. Improve the configuration screen #feature #v16 @Mitchell !" +msgstr "" +"Usa estas palabras clave en el título para configurar nuevas tareas:\n" +"\n" +" 30h Asigna 30 horas a la tarea\n" +" #etiquetas Agrega etiquetas a la tarea\n" +" @usuario Asígnale la tarea a un usuario\n" +" ! Define que la prioridad de la tarea es media\n" +" !! Define que la prioridad de la tarea es alta\n" +" !!! Define que la prioridad de la tarea es urgente\n" +"\n" +" Asegúrate de utilizar el formato y el orden correcto, por ejemplo: Realizar mejoras a la pantalla de configuración 5h #función #v16 @Mitchell !" + +#. module: project_stock_quick +#. odoo-python +#: code:addons/project_stock_quick/models/project_task.py:0 +msgid "task_id" +msgstr "" diff --git a/project_stock_quick/i18n/project_stock_quick.pot b/project_stock_quick/i18n/project_stock_quick.pot index 5fcf0d78..4eb09a3a 100644 --- a/project_stock_quick/i18n/project_stock_quick.pot +++ b/project_stock_quick/i18n/project_stock_quick.pot @@ -4,10 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 19.0+e\n" +"Project-Id-Version: Odoo Server 20.0+e\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-29 16:25+0000\n" -"PO-Revision-Date: 2026-09-29 16:25+0000\n" +"POT-Creation-Date: 2026-10-15 21:56+0000\n" +"PO-Revision-Date: 2026-10-15 21:56+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -15,11 +15,130 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: project_stock_quick +#: model:ir.module.module,description:base.module_project_stock_quick +msgid "" +".. |company| replace:: ADHOC SA\n" +"\n" +".. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png\n" +" :alt: ADHOC SA\n" +" :target: https://www.adhoc.com.ar\n" +"\n" +".. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png\n" +"\n" +".. image:: https://img.shields.io/badge/license-AGPL--3-blue.png\n" +" :target: https://www.gnu.org/licenses/agpl\n" +" :alt: License: AGPL-3\n" +"\n" +"===================\n" +"Project Stock Quick\n" +"===================\n" +"\n" +"Create stock pickings from a project task and keep them linked to that task.\n" +"\n" +"The native ``project_stock`` module already links pickings to the **project**,\n" +"but not to the **task**. This module adds that missing link:\n" +"\n" +"#. New boolean **Transfer Management** on the project (Settings tab, Inventory\n" +" group), only visible to inventory users.\n" +"#. When enabled, two optional settings show up:\n" +"\n" +" - **Default Operation Type**: pickings created from the tasks start with\n" +" that operation type. If empty, the user picks it.\n" +" - **Stages That Allow Transfers**: if set, the create button only shows up\n" +" when the task is in one of those stages. If empty, any stage allows it.\n" +"#. New **New Transfer** header button on the task, which opens a picking form\n" +" with the task's partner, project, company and the task name as source\n" +" document already set.\n" +"#. New **Transfers** stat button on the task, with the count of pickings\n" +" originated on it. It only shows up when the task has at least one picking.\n" +"#. New **Task** field on the picking form, next to the project that\n" +" ``project_stock`` provides. Setting it by hand aligns project and partner.\n" +"\n" +"Technical notes:\n" +"\n" +"- ``stock.picking.task_id`` is a plain many2one (indexed, with\n" +" ``check_company``), not a stored related or compute, to avoid mass\n" +" recomputations on a high volume transactional model. Project and partner are\n" +" propagated through the action defaults and an onchange.\n" +"- The create button is resolved by\n" +" ``project.task.display_create_picking_button`` and\n" +" ``action_create_stock_picking`` validates the same conditions server side:\n" +" hiding a button is not a control.\n" +"\n" +"Installation\n" +"============\n" +"\n" +"To install this module, you need to:\n" +"\n" +"#. Just install the module. ``project_stock`` is a native module, auto\n" +" installed with ``project`` and ``stock``.\n" +"\n" +"Configuration\n" +"=============\n" +"\n" +"To configure this module, you need to:\n" +"\n" +"#. Go to the project, Settings tab, Inventory group, and enable\n" +" **Transfer Management**.\n" +"#. Optionally set **Default Operation Type** and **Stages That Allow\n" +" Transfers**.\n" +"\n" +"Usage\n" +"=====\n" +"\n" +"To use this module, you need to:\n" +"\n" +"#. Open a task of that project and press **New Transfer**.\n" +"#. Complete the products and save: the picking stays linked to the task.\n" +"#. Back on the task, the **Transfers** stat button shows the linked pickings\n" +" (it only shows up once there is at least one).\n" +"#. To link an existing picking, open it and set the **Task** field.\n" +"\n" +".. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas\n" +" :alt: Try me on Runbot\n" +" :target: http://runbot.adhoc.com.ar/\n" +"\n" +"Bug Tracker\n" +"===========\n" +"\n" +"Bugs are tracked on `GitHub Issues\n" +"`_. In case of trouble, please\n" +"check there if your issue has already been reported. If you spotted it first,\n" +"help us smashing it by providing a detailed and welcomed feedback.\n" +"\n" +"Credits\n" +"=======\n" +"\n" +"Images\n" +"------\n" +"\n" +"* |company| |icon|\n" +"\n" +"Contributors\n" +"------------\n" +"\n" +"Maintainer\n" +"----------\n" +"\n" +"|company_logo|\n" +"\n" +"This module is maintained by the |company|.\n" +"\n" +"To contribute to this module, please visit https://www.adhoc.com.ar.\n" +msgstr "" + #. module: project_stock_quick #: model_terms:ir.ui.view,arch_db:project_stock_quick.edit_project_inherit_project_stock_quick msgid "Any stage" msgstr "" +#. module: project_stock_quick +#: model:ir.module.module,summary:base.module_project_stock_quick +msgid "" +"Create stock pickings from a project task and keep them linked to that task" +msgstr "" + #. module: project_stock_quick #: model:ir.model.fields,field_description:project_stock_quick.field_project_project__picking_type_id msgid "Default Operation Type" @@ -100,6 +219,11 @@ msgstr "" msgid "Project '%s' does not have transfer management enabled." msgstr "" +#. module: project_stock_quick +#: model:ir.module.module,shortdesc:base.module_project_stock_quick +msgid "Project Stock Quick" +msgstr "" + #. module: project_stock_quick #. odoo-python #: code:addons/project_stock_quick/models/project_task.py:0 diff --git a/project_stock_quick/static/description/index.html b/project_stock_quick/static/description/index.html index b9cbddc0..8dae52be 100644 --- a/project_stock_quick/static/description/index.html +++ b/project_stock_quick/static/description/index.html @@ -3,23 +3,23 @@ - Transferencias rápidas desde Tareas + Traslados rápidos desde tareas
-
ADHOC SA  ·  OBA 19.0
-

Transferencias rápidas desde Tareas

-

Crea una transferencia de inventario desde la tarea en la que estás trabajando, y la deja vinculada a esa tarea.

+
ADHOC SA  ·  OBA 20.0
+

Traslados rápidos desde tareas

+

Crea un traslado de inventario desde la tarea en la que estás trabajando, y lo deja vinculado a esa tarea.

¿Qué hace?

-

Cuando un proyecto implica mover mercadería —entregar material en obra, recibir equipos para reparar, mandar repuestos a un cliente— el movimiento de stock y la tarea que lo motiva viven en pantallas separadas. Quien atiende la tarea tiene que salir a Inventario, crear la transferencia a mano, volver a buscar el contacto y el proyecto, y después no queda rastro de qué tarea la originó.

-

Este módulo cierra ese circuito. En los proyectos donde se habilita, cada tarea suma un botón que abre una transferencia nueva con el contacto, el proyecto y el documento de origen ya cargados. La transferencia queda enganchada a la tarea, y la tarea muestra cuántas lleva.

+

Cuando un proyecto implica mover mercadería —entregar material en obra, recibir equipos para reparar, mandar repuestos a un cliente— el movimiento de stock y la tarea que lo motiva viven en pantallas separadas. Quien atiende la tarea tiene que salir a Inventario, crear el traslado a mano, volver a buscar el contacto y el proyecto, y después no queda rastro de qué tarea la originó.

+

Este módulo cierra ese circuito. En los proyectos donde se habilita, cada tarea suma un botón que abre un traslado nuevo con el contacto, el proyecto y el documento de origen ya cargados. El traslado queda enganchado a la tarea, y la tarea muestra cuántos lleva.

Lo gana el equipo que trabaja sobre la tarea: crea el movimiento sin cambiar de pantalla, y cualquiera que abra la tarea después ve qué se movió por ella.

@@ -29,11 +29,11 @@

  • Abrir el proyecto donde se quiere habilitar la funcionalidad.
  • Ir a la pestaña Ajustes.
  • -
  • En el grupo Inventario, activar Gestión de transferencias.
  • +
  • En el grupo Inventario, activar Gestión de traslados.
  • Se despliegan dos opciones, ambas opcionales:
      -
    • Tipo de operación por defecto — si se completa, las transferencias que se crean desde las tareas arrancan con ese tipo y no hay que elegirlo cada vez.
    • -
    • Etapas que permiten transferencias — si se cargan etapas, el botón solo aparece cuando la tarea está en alguna de ellas. Si se deja vacío, se puede crear en cualquier etapa.
    • +
    • Tipo de operación por defecto — si se completa, los traslados que se crean desde las tareas arrancan con ese tipo y no hay que elegirlo cada vez.
    • +
    • Etapas que permiten traslados — si se cargan etapas, el botón solo aparece cuando la tarea está en alguna de ellas. Si se deja vacío, se puede crear en cualquier etapa.
  • Guardar.
  • @@ -51,50 +51,50 @@

    Cómo usarlo

    -

    Crear una transferencia desde la tarea

    +

    Crear un traslado desde la tarea

    Abrir la tarea -→ Nueva transferencia +→ Nuevo traslado → se abre el formulario con contacto, proyecto y origen cargados → elegir el tipo de operación y cargar los productos → guardar
      -
    1. Abrir la tarea. En el encabezado aparece el botón Nueva transferencia.
    2. -
    3. Presionarlo. Se abre el formulario de transferencia con el contacto de la tarea, el proyecto y el nombre de la tarea como documento de origen.
    4. +
    5. Abrir la tarea. En el encabezado aparece el botón Nuevo traslado.
    6. +
    7. Presionarlo. Se abre el formulario del traslado con el contacto de la tarea, el proyecto y el nombre de la tarea como documento de origen.
    8. Elegir el tipo de operación —entrega, recepción o movimiento interno—, salvo que el proyecto ya declare uno por defecto.
    9. -
    10. Cargar los productos y guardar. La transferencia sigue después su circuito normal de Inventario.
    11. +
    12. Cargar los productos y guardar. El traslado sigue después su circuito normal de Inventario.
    Ejemplo:
    - En el proyecto "Obra Sucursal Rosario", la tarea "Instalación de racks" necesita que salgan 12 racks del depósito central. El técnico abre la tarea, presiona Nueva transferencia, elige la operación de entrega del depósito central, carga los 12 racks y guarda. La transferencia queda con el contacto de la obra, el proyecto y "Instalación de racks" como origen. + En el proyecto "Obra Sucursal Rosario", la tarea "Instalación de racks" necesita que salgan 12 racks del depósito central. El técnico abre la tarea, presiona Nuevo traslado, elige la operación de entrega del depósito central, carga los 12 racks y guarda. El traslado queda con el contacto de la obra, el proyecto y "Instalación de racks" como origen.
    - + -

    Ver las transferencias de una tarea

    -

    Apenas existe la primera, la tarea muestra el botón Transferencias con la cantidad vinculada. Si hay una sola, se abre directamente su formulario; si hay varias, se abre la lista filtrada por esa tarea.

    - +

    Ver los traslados de una tarea

    +

    Apenas existe el primero, la tarea muestra el botón Traslados con la cantidad vinculada; mientras no haya ninguno, el botón no aparece. Si hay uno solo, se abre directamente su formulario; si hay varios, se abre la lista filtrada por esa tarea.

    + -

    Vincular una transferencia que ya existe

    -

    En el formulario de la transferencia, dentro de Otra información, está el campo Tarea. Al elegir una tarea, el proyecto y el contacto se completan solos con los de esa tarea. Sirve para enganchar movimientos que se habían creado por afuera.

    - +

    Vincular un traslado que ya existe

    +

    En el formulario del traslado, dentro de Información adicional, está el campo Tarea. Al elegir una tarea, el proyecto y el contacto se completan solos con los de esa tarea. Sirve para enganchar movimientos que se habían creado por afuera.

    +

    Validaciones y restricciones

    -

    ⚠️ La tarea y la transferencia tienen que pertenecer a la misma compañía. Si no coinciden, Odoo no deja guardar.

    +

    ⚠️ La tarea y el traslado tienen que pertenecer a la misma compañía. Si no coinciden, Odoo no deja guardar.

    ⚠️ Si el proyecto no declara un tipo de operación por defecto, es el único dato que hay que completar a mano antes de guardar.

    -

    ⚠️ Si la tarea no tiene contacto cargado, la transferencia se abre sin contacto. Conviene completar el contacto en la tarea antes de usar el botón.

    +

    ⚠️ Si la tarea no tiene contacto cargado, el traslado se abre sin contacto. Conviene completar el contacto en la tarea antes de usar el botón.

    ⚠️ El tipo de operación por defecto tiene que ser de la misma compañía que el proyecto. Si no coinciden, el sistema no deja guardar la configuración.

    -

    Cuando la tarea está en una etapa que no permite transferencias, el botón directamente no se muestra. Si se llega igual por otra vía, el sistema avisa y no crea nada.

    +

    Cuando la tarea está en una etapa que no permite traslados, el botón directamente no se muestra. Si se llega igual por otra vía, el sistema avisa y no crea nada.

    El botón no aparece en plantillas de tarea ni en tareas de proyectos plantilla.

    diff --git a/project_stock_quick/views/project_project_views.xml b/project_stock_quick/views/project_project_views.xml index 991202f7..7bd97af7 100644 --- a/project_stock_quick/views/project_project_views.xml +++ b/project_stock_quick/views/project_project_views.xml @@ -6,29 +6,27 @@ project.project - - -
    - - - -
    -
    -
    -
    -
    + + + + +
    + +
    +
    - -
    +
    +
    +
    +
    diff --git a/project_stock_quick/views/project_task_views.xml b/project_stock_quick/views/project_task_views.xml index 05005411..7287b30b 100644 --- a/project_stock_quick/views/project_task_views.xml +++ b/project_stock_quick/views/project_task_views.xml @@ -18,7 +18,7 @@