Skip to Content
Odoo เมนู
  • ลงชื่อเข้าใช้
  • ทดลองใช้ฟรี
  • แอป
    การเงิน
    • ระบบบัญชี
    • ระบบการออกใบแจ้งหนี้
    • ระบบบัญชีรายจ่าย
    • ระบบการจัดการข้อมูลผ่านสเปรดชีต (BI)
    • เอกสาร
    • ระบบลงลายเซ็น
    การขาย
    • ลูกค้าสัมพันธ์
    • การขาย
    • POS ร้านค้า
    • POS ร้านอาหาร
    • ระบบสมัครสมาชิก
    • การเช่า
    การจัดการเว็บไซต์
    • เครื่องมือสร้างเว็บไซต์
    • อีคอมเมิร์ซ
    • บล็อก
    • ฟอรั่ม
    • ไลฟ์แชท
    • ระบบการอบรมออนไลน์
    ซัพพลายเชน
    • คลังสินค้า
    • ระบบการผลิต
    • PLM
    • ระบบการจัดซื้อ
    • การซ่อมบำรุง
    • ระบบจัดการคุณภาพ
    ทรัพยากรบุคคล
    • ข้อมูลพนักงาน
    • ระบบสรรหาบุคลากร
    • ระบบการลา
    • การประเมิน
    • ระบบการแนะนำพนักงาน
    • ระบบจัดการยานพาหนะ
    การตลาด
    • โซเชียลมาร์เก็ตติ้ง
    • การตลาดผ่านอีเมล
    • ระบบการตลาดผ่าน SMS
    • ระบบการจัดงานอีเวนต์
    • การตลาดแบบอัตโนมัติ
    • ระบบแบบสำรวจ
    การบริการ
    • โปรเจกต์
    • ระบบบันทึกเวลา
    • ระบบการจัดการบริการภาคสนาม
    • ระบบดูแลช่วยเหลือ
    • การวางแผน
    • การนัดหมาย
    ประสิทธิผล
    • ระบบแสดงความคิดเห็น
    • Artificial Intelligence
    • ไอโอที
    • VoIP
    • คลังข้อมูล
    • WhatsApp
    แอปพลิเคชันของบุคคลที่สาม Odoo สตูดิโอ แพลตฟอร์มคลาวด์ของ Odoo
  • อุตสาหกรรม
    การค้าปลีก
    • ร้านขายหนังสือ
    • ร้านขายเสื้อผ้า
    • ร้านขายเฟอร์นิเจอร์
    • ร้านขายของชำ
    • ร้านขายฮาร์ดแวร์
    • ร้านขายของเล่น
    อาหาร & การบริการ
    • บาร์และผับ
    • ร้านอาหาร
    • อาหารฟาสต์ฟู้ด
    • เกสต์เฮ้าส์
    • ตัวแทนจำหน่ายเครื่องดื่ม
    • โรงแรม
    อสังหาริมทรัพย์
    • Real Estate Agency
    • บริษัทสถาปัตยกรรม
    • บริษัทรับเหมา
    • Property Management
    • การจัดสวน
    • สมาคมเจ้าของอสังหาริมทรัพย์
    ปรึกษา
    • สำนักงานบัญชี
    • Odoo พาร์ทเนอร์
    • เอเจนซี่การตลาด
    • สำนักงานกฎหมาย
    • บริการสรรหาบุคลากร
    • การตรวจสอบและการรับรอง
    ระบบการผลิต
    • Textile
    • เหล็ก
    • เฟอร์นิเจอร์
    • อาหาร
    • โรงผลิตเบียร์
    • ของขวัญขององค์กร
    สุขภาพ & ฟิตเนส
    • ชมรมกีฬา
    • ร้านขายแว่นตา
    • ฟิตเนส
    • ผู้ประกอบวิชาชีพด้านสุขภาพ
    • ร้านขายยา
    • ร้านทำผม
    Trades
    • ช่างซ่อม
    • ฮาร์ดแวร์และการสนับสนุนด้านไอที
    • ระบบพลังงานแสงอาทิตย์
    • ช่างทำรองเท้า
    • บริการทำความสะอาด
    • HVAC Services
    อื่น ๆ
    • Nonprofit Organization
    • สำนักงานสิ่งแวดล้อม
    • ร้านเช่าป้ายโฆษณา
    • การถ่ายภาพ
    • ร้านเช่าจักรยาน
    • ตัวแทนจำหน่ายซอฟต์แวร์
    Browse all Industries
  • คอมมูนิตี้
    ศึกษา
    • บทเรียน
    • เอกสารกำกับโปรแกรม
    • การรับรอง
    • การฝึกอบรม
    • บล็อก
    • พอดแคสต์
    เพิ่มศักยภาพให้กับการศึกษา
    • โปรแกรมการศึกษา
    • Scale Up! Business Game
    • เยี่ยมชม Odoo
    รับซอฟต์แวร์
    • ดาวน์โหลด
    • เปรียบเทียบรุ่น
    • เผยแพร่
    ทำงานร่วมกัน
    • Github
    • ฟอรั่ม
    • ระบบการจัดงานอีเวนต์
    • การแปล
    • ร่วมเป็นพาร์ทเนอร์
    • Services for Partners
    • ลงทะเบียนเพื่อสร้างบัญชีบริษัทของคุณ
    รับบริการ
    • ค้นหาพาร์ทเนอร์
    • ค้นหานักบัญชี
    • พบกับที่ปรึกษา
    • บริการติดตั้งระบบเพื่อใช้งาน
    • ข้อมูลอ้างอิงลูกค้า
    • การสนับสนุน
    • อัปเกรด
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    รับการสาธิต
  • ราคา
  • ช่วยเหลือ
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
All Posts คน เหรียญรางวัล
แท็ก (View all)
odoo accounting v14 pos v15
เกี่ยวกับฟอรั่มนี้
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
All Posts คน เหรียญรางวัล
แท็ก (View all)
odoo accounting v14 pos v15
เกี่ยวกับฟอรั่มนี้
ช่วยเหลือ

get current url for transient model define its possible?

ติดตาม

รับการแจ้งเตือนเมื่อมีกิจกรรมในโพสต์นี้

คำถามนี้ถูกตั้งค่าสถานะ
URL
1 ตอบกลับ
3311 มุมมอง
อวตาร
Gaston Carrera

(Odoo v.12)

Good morning, i wanna ask for the next:

 

I got a Transient Model, what have to read another model. This Transient Model its explicity writed for work with one model what i call "empresa.modelo1". This Transient Model its called "modelo1.datos".

 

I create already 2 transients for 2 models:

model1 "empresa.model1"

transient1 "model1.datos"

model2 "empresa.model2"

transient2 "model2.datos"

 

The Transient Model makes always the same, in the Tree View of "modelo1" i put a button, which  if you select diferents rows in tree view and click pop a window (transient model) with a field "campo" where you write the field name that you want to search, and by a "onchange" function refresh the "texto" (text field) with all the values of that field in all the selected rows.

 

 

The transient "model1.datos" have:

 

campos_disponibles=fields.Text (shows all the fields names of "empresa.model1")

campo=fields.Char here you write the name of field what wants search his value in "empresa.modelo1" selected rows 

 

texto=fields.Texto this field fills with all the results.

 

 

@api.onchange("campo")

def set_texto(self):

​ ​search in "model1" the actives ids, and write the data in self.texto

​ ​resul=self.env['empresa.modelo1'].search( active ids  )

​​for rec in resul​:

​ ​ ​ ​self.texto+=rec[self.campo]+'\n'

 

The case its that for not repite for all models this transient model, i wish could make a generic transient model wich read the actual "active_model" and use that for define himself, (but i havent acces to  "self.env" or "self._context" what i actually use for read the url).

 

 

class ExportaDatos(models.TransientModel):

    """Wizard to update a manual goal"""

    _name = 'exporta.datos'

    _description = 'Exportar Datos'

 

    current_url=http .request.httprequest.url #Traté de sacar así la url

    curr1=current_url[current_url.find('active_model=')+len('active_model='):]

    activemodel=curr1[:curr1.find('&')]

 

    campos_disponibles=fields.Text('Campos disponibles')

    campo=fields.Char('Campo a Buscar')

    texto = fields.Text(string="Datos Exportados")

    ids_lines=fields.One2many('ids_exporta.lines', 'elem_id', string='Ids seleccionados')

 

    @api.onchange('campo')

    def set_texto(self):

 

        current_url = http .request.httprequest.url

        curr1 = current_url[current_url.find('active_model=') + len('active_model='):]

 

        activemodel = curr1[:curr1.find('&')]

        revisap = self.env[activemodel].browse(self._context.get('active_ids'))

        RESEARCH=False

        if revisap:

            h0=0

            for rec in revisap:

                if h0==0:

                    if self.campo in rec.fields_get():

                        RESEARCH=True

                else:

                    break

                h0+=1

            if RESEARCH:

                texto = ''

                for rec in revisap:

                    if self.campo in rec.fields_get():

                        if rec[self.campo]:

                            prev1 = str(rec[self.campo])

                            texto += prev1 + '\n'

 

                self.texto = texto

 

    @api.model

    def default_get(self, fields):

 

        current_url = http .request.httprequest.url

        curr1 = current_url[current_url.find('active_model=') + len('active_model='):]

 

        activemodel = curr1[:curr1.find('&')]

        resul = super(ExportaDatos, self).default_get(fields)

        revisap = self.env[activemodel].browse(self._context.get('active_ids'))

        resul['campo']='tel'

        res = self.env[activemodel].search([], limit=1)

        h0 = 0

        for Field in res.fields_get():

            if h0 == 0:

                resul['campos_disponibles'] = 'Campos para extraer:\n' + Field + ' (%s)' % str(res[Field])

            else:

                resul['campos_disponibles'] += '\n' + Field + ' (%s)' % str(res[Field])

            h0+=1

 

        if revisap:

            texto=''

            resul['ids_lines']=[]

            for rec in revisap:

                resul['ids_lines'].append((0,0,{'id_model':rec.id,'elem_id':self.id }))

                if 'tel' in revisap.fields_get():

                    if rec.tel:

                        texto+=prev1+'\n'

 

                elif 'name' in revisap.fields_get():

                    texto+=prev1+'\n'

 

 

            resul['texto']=texto

 

 

        return resul

 

 

 

class ListaExportarIds(models.TransientModel):

    """Wizard to update a manual goal"""

    _name = 'ids_exporta.lines'

    _description = 'Ids a utilizar'

 

    current_url = http .request.httprequest.url

    curr1 = current_url[current_url.find('active_model=') + len('active_model='):]

 

    activemodel = curr1[:curr1.find('&')]

 

    id_model = fields.Many2one(activemodel, string="ID elem")

    elem_id=fields.Many2one('exporta.datos', string='lista_ids')

 


0
อวตาร
ละทิ้ง
อวตาร
Gaston Carrera
ผู้เขียน คำตอบที่ดีที่สุด

I could solve my problem!, finally choose to avoid the use of all Many2one and One2many in the transients models, so i could use one only transient model for all the models.  


Thanks!

0
อวตาร
ละทิ้ง
Gaston Carrera
ผู้เขียน

i dont know how close this answer solved, if some mod can help me?

สนุกกับการพูดคุยนี้ใช่ไหม? เข้าร่วมเลย!

สร้างบัญชีวันนี้เพื่อเพลิดเพลินไปกับฟีเจอร์พิเศษและมีส่วนร่วมกับคอมมูนิตี้ที่ยอดเยี่ยมของเรา!

ลงชื่อ
Related Posts ตอบกลับ มุมมอง กิจกรรม
I would like to capture data from a URL into a form on a webpage
URL
อวตาร
0
ต.ค. 24
2844
Change the URL of Odoo project
URL
อวตาร
0
ส.ค. 23
3313
How to pass external UserID to Odoo Online Webshop and store it in the Sales Order แก้ไขแล้ว
webshop URL
อวตาร
อวตาร
1
มิ.ย. 25
1639
SEO problem. 403 errors, 404 errors and URL parameters
URL SEO
อวตาร
อวตาร
1
มี.ค. 25
3112
connect to external URL แก้ไขแล้ว
website URL
อวตาร
อวตาร
อวตาร
3
พ.ย. 24
7237
คอมมูนิตี้
  • บทเรียน
  • เอกสารกำกับโปรแกรม
  • ฟอรั่ม
โอเพนซอร์ส
  • ดาวน์โหลด
  • Github
  • Runbot
  • การแปล
บริการ
  • โฮสติ้ง odoo.sh เซิร์ฟเวอร์
  • การสนับสนุน
  • อัปเกรด
  • การพัฒนาที่กำหนดเอง
  • การศึกษา
  • ค้นหานักบัญชี
  • ค้นหาพาร์ทเนอร์
  • ร่วมเป็นพาร์ทเนอร์
เกี่ยวกับเรา
  • บริษัทของเรา
  • ทรัพย์สินในรูปของเครื่องหมายการค้า
  • ติดต่อเรา
  • งาน
  • ระบบการจัดงานอีเวนต์
  • พอดแคสต์
  • บล็อก
  • ลูกค้า
  • กฎหมาย • ความเป็นส่วนตัว
  • ความปลอดภัย
الْعَرَبيّة 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 เป็นชุดแอปธุรกิจแบบเปิดที่ครอบคลุมทุกความต้องการของบริษัทของคุณ อาธิ CRM eCommerce ระบบบัญชี ระบบคลังสินค้า ระบบการขายหน้าร้าน โปรเจกต์ และ อีกมากมาย

ความเหนือกว่าอันเป็นเอกลักษณ์ของ Odoo คือการใช้งานที่ง่ายดายและผสานการทำงานอย่างสมบูรณ์แบบในเวลาเดียวกัน

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