Siirry sisältöön
Odoo Menu
  • Kirjaudu sisään
  • Kokeile ilmaiseksi
  • Sovellukset
    Talous
    • Kirjanpito
    • Laskutus
    • Kulut
    • Datataulukot (BI)
    • Asiakirjat
    • Allekirjoita
    Myynti
    • CRM
    • Myynti
    • Kassajärjestelmä myymälään
    • Kassajärjestelmä ravintolaan
    • Tilaukset
    • Vuokraus
    Verkkosivut
    • Verkkosivun Rakennustyökalu
    • Verkkokauppa
    • Blogi
    • Foorumi
    • Livechat
    • Verkko-oppiminen
    Toimitusketju
    • Varastointi
    • Tuotanto
    • Tuotteen elinkaaren hallinta (PLM)
    • Ostot
    • Huolto
    • Laatu
    Henkilöstöhallinto
    • Työntekijät
    • Rekrytointi
    • Vapaat
    • Arvioinnit
    • Suositukset
    • Kuljetuskalusto
    Markkinointi
    • Somemarkkinointi
    • Sähköpostimarkkinointi
    • Tekstiviestimarkkinointi
    • Tapahtumat
    • Markkinoinnin automaatio
    • Kyselyt
    Palvelut
    • Projekti
    • Työaikakirjaukset
    • Kenttähuolto
    • Asiakaspalvelu
    • Suunnittelu
    • Ajanvaraukset
    Tuottavuus
    • Viestintä
    • Hyväksynnät
    • IoT
    • IP-puhe
    • Tietokirjasto
    • WhatsApp
    Kolmannen osapuolen sovellukset Odoo-Studio Odoo-Pilvialusta
  • Toimialat
    Vähittäiskauppa
    • Kirjakauppa
    • Vaatekauppa
    • Huonekaluliike
    • Ruokakauppa
    • Laitteistokauppa
    • Lelukauppa
    Ruoka & Majoitus
    • Baari ja Pubi
    • Ravintola
    • Pikaruoka
    • Majatalo
    • Juomien jakelija
    • Hotelli
    Kiinteistöt
    • Kiinteistönvälitystoimisto
    • Arkkitehtitoimisto
    • Rakentaminen
    • Kiinteistönhallinta
    • Puutarhanhoito
    • Kiinteistön omistajien yhdistys
    Konsultointi
    • Tilitoimisto
    • Odoo-kumppani
    • Markkinointitoimisto
    • Lakitoimisto
    • Osaajahankinta
    • Tilintarkastus & sertifiointi
    Tuotanto
    • Tekstiili
    • Metalli
    • Huonekalut
    • Ruoka
    • Panimo
    • Yrityslahjat
    Terveys & Liikunta
    • Urheiluseura
    • Silmälasiliike
    • Kuntokeskus
    • Hyvinvointialan ammattilaiset
    • Apteekki
    • Kampaamo
    Kaupat
    • Yleismies
    • IT-laitteisto & Tuki
    • Aurinkoenergiajärjestelmät
    • Suutari
    • Siivouspalvelut
    • LVI-palvelut
    Muut
    • Voittoa tavoittelematon järjestö
    • Ympäristötoimisto
    • Mainostaulujen vuokraus  
    • Valokuvaus
    • Leasing-pyörät
    • Ohjelmistojen jälleenmyyjä
    Selaa kaikkia toimialoja
  • Yhteisö
    Opi
    • Kurssit
    • Dokumentaatio
    • Todistukset
    • Koulutus
    • Blogi
    • Podcast
    Kannusta kouluttautumaan
    • Koulutusohjelmat
    • Scale Up! Liiketoimintapeli
    • Vieraile Odoolla
    Hanki ohjelmisto
    • Lataa
    • Vertaile versioita
    • Julkaisut
    Tee yhteistyötä
    • Github
    • Foorumi
    • Tapahtumat
    • Käännökset
    • Ryhdy kumppaniksi
    • Kumppanipalvelut
    • Rekisteröi tilitoimistosi
    Hanki palveluja
    • Löydä kumppani
    • Löydä kirjanpitäjä
    • Varaa asiantuntijatapaaminen
    • Implementaatiopalvelut
    • Asiakasreferenssit
    • Tuki
    • Versionkorotukset
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Varaa demo
  • Hinnoittelu
  • Asiakaspalvelu

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

  • CRM
  • e-Commerce
  • Kirjanpito
  • Varastointi
  • PoS
  • Projekti
  • MRP
All apps
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Kaikki kirjoitukset Ihmiset Merkit
Tunnisteet (Näytä kaikki)
odoo accounting v14 pos v15
Tietoa tästä foorumista
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Kaikki kirjoitukset Ihmiset Merkit
Tunnisteet (Näytä kaikki)
odoo accounting v14 pos v15
Tietoa tästä foorumista
Apua

Missing products in zpl report from wizard

Tilaa

Saat ilmoituksen, kun tähän viestiin ilmaantuu aktiviteettia

Tämä kysymys on merkitty
actiondevelopmentwizard
977 Näkymät
Avatar
Ramón Reyna García

Hi!, 


Im trying to create a zpl report by giving products from an delivery move, but when i print the report the products are empty, my wizard have a grid where i write the quantity of labels and the quantity of each product, but when the zpl prints it doesnt contain the products, i read about transient models and saw that the many2one fields are not maintained when I create the zpl, what can i do?

This is the code to my wizard:

from odoo import models, fields, api


class WizardOutLabel(models.Model):

    _name = "out.label.wizard"

    _description = "Wizard para etiquetas de salida"


    transient_out_label_id = fields.One2many(

        'out.label', 'wizard_id', string="Wizard ID"

    )


    stock_picking_id = fields.Many2one('stock.picking', string="Movimiento de salida")


    @api.model

    def default_get(self, fields):

        res = super().default_get(fields)

        picking_id = self.env.context.get('default_stock_picking_id')

        if picking_id:

            picking = self.env['stock.picking'].browse(picking_id)

            lines = []

            for move in picking.move_ids_without_package:

                lines.append((0, 0, {

                    'product_id': move.product_id.product_tmpl_id.id,

                    'product_qty': move.product_uom_qty,

                    'labels_qty': 1,

                    'stock_picking_id': picking.id,

                    'product_name': move.product_id.display_name,

                }))

            res['transient_out_label_id'] = lines

            res['stock_picking_id'] = picking.id

        return res


    def action_confirm(self):

        report_action = self.env.ref('inventory_labels.download_out_label_report_zpl').report_action(self)

        report_action['close_on_report_download'] = True

        return report_action

Then i have my grid for products in other model:

from odoo import models, fields, api


class TransientOutLabel(models.Model):

    _name = "out.label"

    _description = "Utilizado para etiquetas de salida"


    wizard_id = fields.Many2one('out.label.wizard', string="Wizard")


    product_id = fields.Many2one(

        'product.template',

        string="Producto"

    )


    product_name = fields.Char(string="Nombre del producto")


    stock_picking_id = fields.Many2one('stock.picking', string="Movimiento de salida")


    labels_qty = fields.Integer(string="Cantidad de etiquetas")


    product_qty = fields.Float(string="Cantidad de producto")


my code xml is:

<data>

    <record id="view_out_labels_wizard_form" model="ir.ui.view">

        <field name="name">out.labels.wizard.list</field>

        <field name="model">out.label.wizard</field>

        <field name="arch" type="xml">

            <form string="Etiquetas de salida">

                <field name="transient_out_label_id">

                <tree editable="bottom" create="0" delete="0">

                    <field name="product_id" readonly="1"/>

                    <field name="product_name" readonly="1"/>

                    <field name="labels_qty"/>

                    <field name="product_qty"/>

                </tree>

            </field>

                <footer>

                    <button name="action_confirm" type="object" string="Confirmar" class="btn-primary"/>

                    <button string="Cancelar" class="btn-secondary" special="cancel"/>

                </footer>

            </form>

        </field>

    </record>


    <record id="out_label_form_view_inherit_wizard" model="ir.ui.view">

        <field name="name">stock.picking.form.inherit.wizard</field>

        <field name="model">stock.picking</field>

        <field name="inherit_id" ref="stock.view_picking_form"/>

        <field name="arch" type="xml">

            <xpath expr="//button[@name='do_print_picking']" position="replace">

                <button string="Imprimir etiquetas" name="%(open_out_label_wizard)d" type="action"/>

            </xpath>

        </field>

    </record>


    <record id="product_out_label_zpl_report" model="ir.ui.view">

    <field name="name">out_label.zpl_report</field>

    <field name="type">qweb</field>

    <field name="arch" type="xml">

        <t t-name="inventory_labels.product_out_label_zpl_report">

    <t t-foreach="docs" t-as="wizard">

        <t t-foreach="wizard.transient_out_label_id" t-as="line">

            <t t-foreach="range(line.labels_qty)" t-as="i">

<t t-set="clean_name"

    t-value="(line.product_name or '').translate({

        ord('á'): 'a', ord('é'): 'e', ord('í'): 'i', ord('ó'): 'o', ord('ú'): 'u',

        ord('Á'): 'A', ord('É'): 'E', ord('Í'): 'I', ord('Ó'): 'O', ord('Ú'): 'U',

        ord('ñ'): 'n', ord('Ñ'): 'N'

    }).strip()"/>


<t t-if="len(clean_name) &lt;= 48">

^XA

^FO50,50^A0N,30,30^FDProducto: <t t-esc="line.product_id.name"/>^FS

^FO50,95^A0N,30,30^FDCantidad: <t t-esc="line.product_qty"/>^FS

^XZ

</t>

<t t-else="">

^XA

^FO50,50^A0N,30,30^FDProducto: <t t-esc="clean_name[:48]"/>^FS

^FO50,85^A0N,30,30^FD<t t-esc="clean_name[48:]"/>^FS

^FO50,140^A0N,30,30^FDCantidad: <t t-esc="line.product_qty"/>^FS

^XZ

</t>

            </t>

        </t>

    </t>

</t>



    </field>

</record>



</data>


and my actions:

<record id="open_out_label_wizard" model="ir.actions.act_window">

        <field name="name">Etiquetas de salida de producto</field>

        <field name="res_model">out.label.wizard</field>

        <field name="view_mode">form</field>

        <field name="target">new</field>

        <field name="context">{'default_stock_picking_id': active_id}</field>

    </record>


    <record id="download_out_label_report_zpl" model="ir.actions.report">

        <field name="name">Etiquetas de salida de producto</field>

        <field name="model">out.label.wizard</field>

        <field name="report_type">qweb-text</field>

        <field name="report_name">inventory_labels.product_out_label_zpl_report</field>

    </record>

0
Avatar
Hylkää
Nautitko keskustelusta? Älä vain lue, vaan osallistu!

Luo tili jo tänään nauttiaksesi yksinoikeusominaisuuksista ja osallistuaksesi mahtavaan yhteisöömme!

Rekisteröidy
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
¿Cómo llamar a BoA desde celular?
action development
Avatar
0
marrask. 25
2
Problem with opening full composer in send message
action wizard
Avatar
0
tammik. 25
2090
Basic wizard help with multiple object types
action wizard
Avatar
0
maalisk. 15
4722
Wizard doesn't show up in selection more list view
action wizard
Avatar
1
maalisk. 15
6316
Convert Consumable Product to Storable Product تحويل حالة المنتجات الى قابل للتخزين Ratkaistu
action development configuration
Avatar
Avatar
1
marrask. 25
115
Yhteisö
  • Kurssit
  • Dokumentaatio
  • Foorumi
Avoin lähdekoodi
  • Lataa
  • Github
  • Runbot
  • Käännökset
Palvelut
  • Odoo.sh hosting
  • Tuki
  • Versionkorotus
  • Räätälöidyt kehitykset
  • Koulutus
  • Löydä kirjanpitäjä
  • Löydä kumppani
  • Ryhdy kumppaniksi
Meistä
  • Yrityksemme
  • Tavaramerkki
  • Ota yhteyttä
  • Työpaikat
  • Tapahtumat
  • Podcast
  • Blogi
  • Asiakkaat
  • Oikeudellinen ilmoitus • Yksityisyys
  • Tietoturva
الْعَرَبيّة 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 on kokoelma avoimen lähdekoodin yrityssovelluksia, jotka kattavat kaikki yrityksesi tarpeet: asiakkuudenhallinta eli CRM, verkkokauppa, kirjanpito, varastointi, kassajärjestelmä, projektinhallinta, jne.

Odoon uniikki arvolupaus on olla samanaikaisesti erittäin helppokäyttöinen ja täysin integroitu.

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