Ir al contenido
Odoo Menú
  • Identificarse
  • Pruébalo gratis
  • Aplicaciones
    Finanzas
    • Contabilidad
    • Facturación
    • Gastos
    • Hoja de cálculo (BI)
    • Documentos
    • Firma electrónica
    Ventas
    • CRM
    • Ventas
    • TPV para tiendas
    • TPV para restaurantes
    • Suscripciones
    • Alquiler
    Sitios web
    • Creador de sitios web
    • Comercio electrónico
    • Blog
    • Foro
    • Chat en directo
    • e-learning
    Cadena de suministro
    • Inventario
    • Fabricación
    • PLM
    • Compra
    • Mantenimiento
    • Calidad
    Recursos Humanos
    • Empleados
    • Reclutamiento
    • Ausencias
    • Evaluación
    • Referencias
    • Flota
    Marketing
    • Marketing social
    • Marketing por correo electrónico
    • Marketing por SMS
    • Eventos
    • Automatización de marketing
    • Encuestas
    Servicios
    • Proyecto
    • Partes de horas
    • Servicio de campo
    • Servicio de asistencia
    • Planificación
    • Citas
    Productividad
    • Conversaciones
    • Aprobaciones
    • IoT
    • VoIP
    • Conocimientos
    • WhatsApp
    Aplicaciones de terceros Studio de Odoo Plataforma de Odoo Cloud
  • Industrias
    Comercio al por menor
    • Librería
    • Tienda de ropa
    • Tienda de muebles
    • Tienda de ultramarinos
    • Ferretería
    • Juguetería
    Alimentación y hostelería
    • Bar y pub
    • Restaurante
    • Comida rápida
    • Casa de huéspedes
    • Distribuidor de bebidas
    • Hotel
    Inmueble
    • Agencia inmobiliaria
    • Estudio de arquitectura
    • Construcción
    • Gestión inmobiliaria
    • Jardinería
    • Asociación de propietarios
    Consultoría
    • Empresa contable
    • Partner de Odoo
    • Agencia de marketing
    • Bufete de abogados
    • Adquisición de talentos
    • Auditorías y certificaciones
    Fabricación
    • Textil
    • Metal
    • Muebles
    • Alimentos
    • Cervecería
    • Regalos de empresas
    Salud y bienestar
    • Club deportivo
    • Óptica
    • Gimnasio
    • Terapeutas
    • Farmacia
    • Peluquería
    Oficios
    • Handyman
    • Hardware y soporte técnico
    • Sistemas de energía solar
    • Zapatero
    • Servicios de limpieza
    • Servicios de calefacción, ventilación y aire acondicionado
    Otros
    • Organización sin ánimo de lucro
    • Agencia de protección del medio ambiente
    • Alquiler de paneles publicitarios
    • Estudio fotográfico
    • Alquiler de bicicletas
    • Distribuidor de software
    Explorar todos los sectores
  • Comunidad
    Aprender
    • Tutoriales
    • Documentación
    • Certificaciones
    • Formación
    • Blog
    • Podcast
    Potenciar la educación
    • Programa de formación
    • Scale Up! El juego empresarial
    • Visita Odoo
    Obtener el software
    • Descargar
    • Comparar ediciones
    • Versiones
    Colaborar
    • GitHub
    • Foro
    • Eventos
    • Traducciones
    • Convertirse en partner
    • Servicios para partners
    • Registrar tu empresa contable
    Obtener servicios
    • Encontrar un partner
    • Encontrar un asesor fiscal
    • Contacta con un experto
    • Servicios de implementación
    • Referencias de clientes
    • Ayuda
    • Actualizaciones
    GitHub YouTube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Solicitar una demostración
  • Precios
  • Ayuda

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Contabilidad
  • Inventario
  • PoS
  • Proyecto
  • MRP
All apps
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Debe estar registrado para interactuar con la comunidad.
Todas las publicaciones Personas Insignias
Etiquetas (Ver todo)
odoo accounting v14 pos v15
Acerca de este foro
Ayuda

How do I use a field created in sale.order and display it stock.picking.out

Suscribirse

Reciba una notificación cuando haya actividad en esta publicación

Se marcó esta pregunta
3 Respuestas
10374 Vistas
Avatar
Cameron

Could some please spell this out for me in plain English

  • I want to display a field from sale.order in stock.picking.out

I have search for ages now and found many answers, but because my programming skills are very limited and the people who answer the questions are experts, the answers tend to leave me spinning!

I have created first module - Chuffed as chips!

The module allows the sales man to identify the type of packaging needed for the order)....

from osv import osv, fields
class sale_packaging_type_field(osv.osv):
    _inherit = 'sale.order'
    _columns = {
        'sale_packaging_type': fields.selection((('our', 'Our Packaging'), ('unmark', 'Unmarked Packaging')), 'Sale Packaging Type'),
    }
    _defaults = {
        'sale_packaging_type': 'a',
    }

and xml view for sales.order

<openerp>
    <data>
        <record model="ir.ui.view" id="sale_packaging_type_field">
            <field name="name">sale.order.form</field>
            <field name="model">sale.order</field>
            <!-- Inherits from base.view_partner_form -->
            <field name="inherit_id" ref="sale.view_order_form" />
            <field name="arch" type="xml">
                <!-- Add the textual field after the website field -->
                <field name="partner_shipping_id" position="after">
                    <field name="sale_packaging_type" />
                </field>
            </field>
        </record>
    </data>
</openerp>

This works great! :)

So now I'm trying to display the field sale_packaging_type in stock.picking.out using sale_id as the link (so the store man knows how to package the order)

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>
        <record model="ir.ui.view" id="sale_packaging_type_out_field">
            <field name="name">stock.picking.out.form</field>
            <field name="model">stock.picking.out</field>
            <!-- Inherits from base.view_partner_form -->
            <field name="inherit_id" ref="stock.view_picking_out_form" />
            <field name="arch" type="xml">
                <!-- Add the textual field after the website field -->
                <field name="stock_journal_id" position="after">
                    <field name="sale_id" /> #Creates a on screen link that the store man can follow - not checked if he has perm'n yet
                </field>
            </field>
        </record>
    </data>
</openerp>

This works as far as displaying sale_id and creating a link

Questions

1) Is there a way to display sale_packaging_type from sale.order using sale_id and only this xml - maybe something similar to what I would use in a rml report? - Yes or No please? ..... If Yes how please? - I've tried this...but doesn't work sale_id.sale_packaging_type

2) If No then do I have to create a new class and related field ? - Yes or No please? ..... If Yes I'll try to do it myself only way to learn! - I'll post my results later for marking by the community!

3) If No guidance please?

1
Avatar
Descartar
Avatar
Andreas Brueckl
Mejor respuesta

Hello,

  1. To disply sale_packing_type in the view you have to create a related field in stock.picking. In the RML report of the picking you can use [[ picking.sale_id and picking.sale_id.sale_packing_type or '']] to display your field - no related field is required for RML.
  2. Yes you need a related field for views
1
Avatar
Descartar
Avatar
kaynis
Mejor respuesta

You have to inherit the stock picking as well for you to do this not just the sale order

         class stock_move(osv.osv): 
             _name = 'stock.move'
            _inherit = 'stock.move'
            _columns = { 'sale_packaging_type':xxxxx}
      stock_move()

Plus you might need to create an onchange function in your stock_move as well for the field to be carried along when sale order is confirmed. You need to make your field selectable in the stock move page assuming a delivery is to be carried out for a product that was not generated from no sales order (I think). If your field is not in the stock picking, what happens to your field when one clicks create new in stock picking? this might give you error

1
Avatar
Descartar
Cameron
Autor

Your code has dragged up a couple more questions.

You use _name as per technical memento which states it compulsory

You also call the class stock_move() - which I have also seen, which if I do it crashes!

Any answers? - are these related - ie it crashes because I dont name it?

kaynis

This is my email. dkaiyewu@fastmail.fm. send me a mail I will send you a module which might be of help. (PS no money involved)

Avatar
AJ Schrafel Paper Corp
Mejor respuesta

It is much easier to create 2 products, one "our" and one "unmark" for every product. This method would require little to no custom programming.

If you don't like the solution of 2 products, I would suggest that you create a related field in stock.picking that looks up the sale_packaging_type and displays it at the top of the sheet. As Andreas suggested.

Don't bother with stock.move unless you need to itemize the packaging for every product you are selling.

0
Avatar
Descartar
Cameron
Autor

Many thanks, but I only told you half the story - in trying to keep it simple I simplified the code - Our selection criteria actually has 7 options, hence the product list would grow 7 fold. But it may be an option for someone else.

Half the problem is understanding which bit does what to another bit, but I guess thats part of the fun of coding.

¿Le interesa esta conversación? ¡Participe en ella!

Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.

Inscribirse
Comunidad
  • Tutoriales
  • Documentación
  • Foro
Código abierto
  • Descargar
  • GitHub
  • Runbot
  • Traducciones
Servicios
  • Alojamiento Odoo.sh
  • Ayuda
  • Actualizar
  • Desarrollos personalizados
  • Educación
  • Encontrar un asesor fiscal
  • Encontrar un partner
  • Convertirse en partner
Sobre nosotros
  • Nuestra empresa
  • Activos de marca
  • Contacta con nosotros
  • Puestos de trabajo
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Información legal • Privacidad
  • Seguridad
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo es un conjunto de aplicaciones de código abierto que cubren todas las necesidades de tu empresa: CRM, comercio electrónico, contabilidad, inventario, punto de venta, gestión de proyectos, etc.

La propuesta única de valor de Odoo es ser muy fácil de usar y totalmente integrado.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now