Przejdź do zawartości
Odoo Menu
  • Zaloguj się
  • Wypróbuj za darmo
  • Aplikacje
    Finanse
    • Księgowość
    • Fakturowanie
    • Wydatki
    • Arkusz kalkulacyjny (BI)
    • Dokumenty
    • Podpisy
    Sprzedaż
    • CRM
    • Sprzedaż
    • PoS Sklep
    • PoS Restauracja
    • Subskrypcje
    • Wypożyczalnia
    Strony Internetowe
    • Kreator Stron Internetowych
    • eCommerce
    • Blog
    • Forum
    • Czat na Żywo
    • eLearning
    Łańcuch dostaw
    • Magazyn
    • Produkcja
    • PLM
    • Zakupy
    • Konserwacja
    • Jakość
    Zasoby Ludzkie
    • Pracownicy
    • Rekrutacja
    • Urlopy
    • Ocena pracy
    • Polecenia Pracownicze
    • Flota
    Marketing
    • Marketing Społecznościowy
    • E-mail Marketing
    • SMS Marketing
    • Wydarzenia
    • Automatyzacja Marketingu
    • Ankiety
    Usługi
    • Projekt
    • Ewidencja czasu pracy
    • Usługi Terenowe
    • Helpdesk
    • Planowanie
    • Spotkania
    Produktywność
    • Dyskusje
    • Sztuczna inteligencja
    • IoT
    • VoIP
    • Wiedza
    • WhatsApp
    Aplikacje trzecich stron Studio Odoo Odoo Cloud Platform
  • Branże
    Sprzedaż detaliczna
    • Księgarnia
    • Sklep odzieżowy
    • Sklep meblowy
    • Sklep spożywczy
    • Sklep z narzędziami
    • Sklep z zabawkami
    Żywienie i hotelarstwo
    • Bar i Pub
    • Restauracja
    • Fast Food
    • Pensjonat
    • Dystrybutor napojów
    • Hotel
    Agencja nieruchomości
    • Agencja nieruchomości
    • Biuro architektoniczne
    • Budowa
    • Zarządzanie nieruchomościami
    • Ogrodnictwo
    • Stowarzyszenie właścicieli nieruchomości
    Doradztwo
    • Biuro księgowe
    • Partner Odoo
    • Agencja marketingowa
    • Kancelaria prawna
    • Agencja rekrutacyjna
    • Audyt i certyfikacja
    Produkcja
    • Tekstylia
    • Metal
    • Meble
    • Jedzenie
    • Browar
    • Prezenty firmowe
    Zdrowie & Fitness
    • Klub sportowy
    • Salon optyczny
    • Centrum fitness
    • Praktycy Wellness
    • Apteka
    • Salon fryzjerski
    Transakcje
    • Złota rączka
    • Wsparcie Sprzętu IT
    • Systemy energii słonecznej
    • Szewc
    • Firma sprzątająca
    • Usługi HVAC
    Inne
    • Organizacja non-profit
    • Agencja Środowiskowa
    • Wynajem billboardów
    • Fotografia
    • Leasing rowerów
    • Sprzedawca oprogramowania
    Przeglądaj wszystkie branże
  • Community
    Ucz się
    • Samouczki
    • Dokumentacja
    • Certyfikacje
    • Szkolenie
    • Blog
    • Podcast
    Pomóż w nauce innym
    • Program Edukacyjny
    • Scale Up! Gra biznesowa
    • Odwiedź Odoo
    Skorzystaj z oprogramowania
    • Pobierz
    • Porównaj edycje
    • Wydania
    Współpracuj
    • Github
    • Forum
    • Wydarzenia
    • Tłumaczenia
    • Zostań partnerem
    • Usługi dla partnerów
    • Zarejestruj swoją firmę rachunkową
    Skorzystaj z usług
    • Znajdź partnera
    • Znajdź księgowego
    • Spotkaj się z doradcą
    • Usługi wdrożenia
    • Opinie klientów
    • Wsparcie
    • Aktualizacje
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Zaplanuj demo
  • Cennik
  • Pomoc
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
Wszystkie posty Osoby Odznaki
Tagi (Zobacz wszystko)
odoo accounting v14 pos v15
O tym forum
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
Wszystkie posty Osoby Odznaki
Tagi (Zobacz wszystko)
odoo accounting v14 pos v15
O tym forum
Pomoc

ir.attachment res_*-fields NULL on save

Zaprenumeruj

Otrzymaj powiadomienie o aktywności w tym poście

To pytanie dostało ostrzeżenie
ir.attachmentcustommoduleodoo12
1 Odpowiedz
8039 Widoki
Awatar
Christoph Farnleitner

model (relevant part):

class AcmeSapPricelist(models.Model):
    _name = "acme.sap.pricelist"
    _inherit = 'portal.mixin'
    _description = "Some Model"
    _order = 'date desc, id desc'
    partner_id = fields.Many2one('res.partner', string='Partner', required=True)
    company_id = fields.Many2one('res.company', string='Company', required=True, default=lambda self: self.env.user.company_id)
    name = fields.Char(string='Document name')
    origin = fields.Char(string='Document origin/source')
    date = fields.Datetime(string='Document creation date')
    note = fields.Char(string='Note')
    file = fields.Many2one(comodel_name="ir.attachment", string="SAP file")
    pricelist_lines = fields.One2many('acme.sap.pricelist.line', compute='_pricelist_lines', store=False)
    @api.multi
    def _pricelist_lines(self):
        self.pricelist_lines = request.env['acme.sap.pricelist.line'].search([('sap_pricelist_id', '=', 1)])


view (relevant part):

        <record id="view_acme_sap_pricelist_form" model="ir.ui.view">
            <field name="name">acme.sap.pricelist.form</field>
            <field name="model">acme.sap.pricelist</field>
            <field name="priority" eval="8" />
            <field name="arch" type="xml"> 
                <form string="Pricelist">
                    <sheet>
                        <div class="oe_title">
                            <h1>
                                <field name="name"/>
                            </h1>
                        </div>
                        <group>
                            <group>
                                <field name="date"/>
                                <field name="id"/>
                            </group>
                            <group>
                                <field name="partner_id"/>
                                <field name="csv"/>
                            </group>
                        </group>
                        <group>
                            <group>
                                <field name="origin"/>
                                <field name="note"/>
                            </group>
                        </group>
                    </sheet>
                </form>
            </field>
        </record>


 

Above (file = fields.Many2one(comodel_name="ir.attachment", string="SAP file")) is writing a record to ir.attachment table, however I'm unable to figure how to get the columns

res_model
res_model_name
res_field
res_id

filled too. All of them are set to NULL when uploading an file making it impossible to process the record further.


Based on some testing, at least res_model (=>res.partner in this case) and res_id (=>the partners Id) would be required (i.e. for allowing a website user to access the attachment via /web/content/id). How can I tell my module to pass on these two? 

0
Awatar
Odrzuć
Awatar
Christoph Farnleitner
Autor Najlepsza odpowiedź

My approach now looks the following - seems like that's how you're supposed to do it:

model:

    @api.onchange('partner_id')
    def onchange_partner_id(self):
        if(self.csv):
            if(self.partner_id):
                self.csv.write({'res_model': 'res.partner', 'res_field': 'woa_sappricelist', 'res_id': self.partner_id})


view:

    <field attrs="{'invisible':[('partner_id', '==', False)]}" name="csv" context="{'default_res_model': 'res.partner', 'default_res_id': partner_id}"  />


attrs .. invisible is just do hide the field as long as no partner is selected, which just helps to make sure there is a partner selected before uploading a file.


0
Awatar
Odrzuć
Podoba Ci się ta dyskusja? Dołącz do niej!

Stwórz konto dzisiaj, aby cieszyć się ekskluzywnymi funkcjami i wchodzić w interakcje z naszą wspaniałą społecznością!

Zarejestruj się
Powiązane posty Odpowiedzi Widoki Czynność
Creating Attachments For account.invoice in odoo 12? Rozwiązane
attachments ir.attachment odoo12
Awatar
1
sty 23
11649
[odoo12]How to update data inside a custom module Rozwiązane
update sql custommodule odoo12
Awatar
Awatar
2
lip 20
5488
psycopg2.ProgrammingError When deleting record Rozwiązane
delete psycopg2 custommodule odoo12
Awatar
Awatar
5
gru 19
7477
Survey User
odoo12
Awatar
1
kwi 26
4355
Odoo Mail Sending Limit Rozwiązane
odoo12
Awatar
Awatar
Awatar
2
gru 23
18759
Społeczność
  • Samouczki
  • Dokumentacja
  • Forum
Open Source
  • Pobierz
  • Github
  • Runbot
  • Tłumaczenia
Usługi
  • Hosting Odoo.sh
  • Wsparcie
  • Aktualizacja
  • Indywidualne rozwiązania
  • Edukacja
  • Znajdź księgowego
  • Znajdź partnera
  • Zostań partnerem
O nas
  • Nasza firma
  • Zasoby marki
  • Skontaktuj się z nami
  • Oferty pracy
  • Wydarzenia
  • Podcast
  • Blog
  • Klienci
  • Informacje prawne • Prywatność
  • Bezpieczeństwo Odoo
الْعَرَبيّة 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 Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo to pakiet aplikacji biznesowych typu open source, które zaspokoją wszystkie potrzeby Twojej firmy: CRM, eCommerce, księgowość, inwentaryzacja, punkt sprzedaży, zarządzanie projektami itp.

Unikalną wartością Odoo jest to, że jest jednocześnie bardzo łatwe w użyciu i w pełni zintegrowane.

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