รูปภาพแจ้งข่าว ทางเว็บบอร์ด openerpthailand.org ได้เปลี่ยนระบบเว็บบอร์ด ใหม่เป็น phpBB 3.1
  1. บุคคลทั่วไป จะไม่สามารถเข้าอ่านกระทู้บางบอร์ด แนะนำให้ท่าน สมัครสมาชิกคลิกตามลิงค์นี้
  2. สมาชิกใหม่ ถ้ายังไม่ได้แนะนำตัวจะไม่สามารถ ตั้งกระทู้ และ ดาวน์โหลด ไฟล์จากเว็บบอร์ดได้ ท่านจำเป็นต้องแนะนำตัวที่หมวดนี้
  3. ถ้ามีปัญหาการใช้งาน หรือ ข้อเสนอแนะใดๆ แนะนำได้ที่นี่
  4. ปุ่มรูปหัวใจใต้โพส แต่ละโพส ท่านสามารถกดเพื่อสื่อถึงคนโพสนั้นถูกใจท่าน
  5. ห้ามลง E-mail, เบอร์โทรส่วนตัว, Line id หรือข้อมูลส่วนตัวอื่นๆ เพื่อป้องกันการแอบอ้างและโฆษณาแฝง โดยสามารถติดต่อสมาชิกท่านอื่นผ่านระบบ PM ของบอร์ด
  6. ท่านสามารถปิดการแจ้งนี้ได้ ที่มุมขวาของกล่องข้อความนี้

บุคคลทั่วไปสามาเข้าสู่ระบบ ด้วย Account ของ FaceBook ได้แล้ว คลิกที่นี่ได้เลย

เชื่อมโยงข้อมูลในแต่ละ Process

ตอบกระทู้


คำถามนี้ เพื่อป้องกันการส่งแบบอัตโนมัติจากสแปมบอท
รูปแสดงอารมณ์
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode เปิด
[img] เปิด
[flash] ปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: เชื่อมโยงข้อมูลในแต่ละ Process

Re: เชื่อมโยงข้อมูลในแต่ละ Process

โพสต์ โดย wichate » ศุกร์ 17 พ.ค. 2013 12:42 pm

^
เจอแล้วครับ มีให้ตั้ง Server Action ได้ แต่ยอมรับว่าทำไม่เป็น ช่วยแนะนำหน่อยครับ

Re: เชื่อมโยงข้อมูลในแต่ละ Process

โพสต์ โดย openerpthailand » ศุกร์ 17 พ.ค. 2013 10:26 am

ตรงนี้ผมคิดว่า ทำจาก เครื่องมือ น่าจะดีกว่านะครับจะได้ไม่กระทบกับ core สามารถทำเป็น Server Action ได้ หน้า admin (ใน OpenERP7.0) นะครับ
ส่วน 6.0 นี่ไม่แน่ใจว่าทำได้จากหน้า admin หรือเปล่า

Re: เชื่อมโยงข้อมูลในแต่ละ Process

โพสต์ โดย wichate » ศุกร์ 17 พ.ค. 2013 8:27 am

^
ขอบคุณครับท่าน คงต้องศึกษา python เพิ่มเสียแล้ว

Re: เชื่อมโยงข้อมูลในแต่ละ Process

โพสต์ โดย kittiu » พฤหัสฯ. 16 พ.ค. 2013 11:28 pm

น่าจะต้องแก้โค้ดนะครับ ที่ ไฟล์ addons/purchase_requisition/purchase_requisition.py (ผมดูที่ ver7 นะแต่โค้ดส่วนนี้น่าจะไม่เปลี่ยน)

โค้ด: เลือกทั้งหมด

    def make_purchase_order(self, cr, uid, ids, partner_id, context=None):
        """
        Create New RFQ for Supplier
        """
        if context is None:
            context = {}
        assert partner_id, 'Supplier should be specified'
        purchase_order = self.pool.get('purchase.order')
        purchase_order_line = self.pool.get('purchase.order.line')
        res_partner = self.pool.get('res.partner')
        fiscal_position = self.pool.get('account.fiscal.position')
        supplier = res_partner.browse(cr, uid, partner_id, context=context)
        supplier_pricelist = supplier.property_product_pricelist_purchase or False
        res = {}
        for requisition in self.browse(cr, uid, ids, context=context):
            if supplier.id in filter(lambda x: x, [rfq.state <> 'cancel' and rfq.partner_id.id or None for rfq in requisition.purchase_ids]):
                 raise osv.except_osv(_('Warning!'), _('You have already one %s purchase order for this partner, you must cancel this purchase order to create a new quotation.') % rfq.state)
            location_id = requisition.warehouse_id.lot_input_id.id
            purchase_id = purchase_order.create(cr, uid, {
                        'origin': requisition.name,
                        'partner_id': supplier.id,
                        'pricelist_id': supplier_pricelist.id,
                        'location_id': location_id,
                        'company_id': requisition.company_id.id,
                        'fiscal_position': supplier.property_account_position and supplier.property_account_position.id or False,
                        'requisition_id':requisition.id,
                        'notes':requisition.description,
                        'warehouse_id':requisition.warehouse_id.id ,
            })
            res[requisition.id] = purchase_id
            for line in requisition.line_ids:
                product = line.product_id
                seller_price, qty, default_uom_po_id, date_planned = self._seller_details(cr, uid, line, supplier, context=context)
                taxes_ids = product.supplier_taxes_id
                taxes = fiscal_position.map_tax(cr, uid, supplier.property_account_position, taxes_ids)
                purchase_order_line.create(cr, uid, {
                    'order_id': purchase_id,
                    'name': product.partner_ref,
                    'product_qty': qty,
                    'price_unit': line.req_price_unit    # <-------------- เพิ่มที่นี่ โดยผมสมมุติว่าคุณใช้ฟิลด์ว่า req_price_unit
                    'product_id': product.id,
                    'product_uom': default_uom_po_id,
                    'price_unit': seller_price,
                    'date_planned': date_planned,
                    'taxes_id': [(6, 0, taxes)],
                }, context=context)
               
        return res


ไม่ได้ลองนะครับ แต่น่าจะประมาณนี้ ที่จริงถ้าจะให้ดีเขียนเป็น addons ดีกว่าเพราะไม่กระทบ standard code แต่อธิบายลำบากครับ

kittiu

เชื่อมโยงข้อมูลในแต่ละ Process

โพสต์ โดย wichate » พฤหัสฯ. 16 พ.ค. 2013 3:56 pm

สวัสดีทุกท่าน วันนี้ผมมีปัญหาเรื่องการปรับแต่ง OpenERP จะมาขอคำแนะนำฮะ
..เดี๋ยวขออธิบายคร่าวๆ ก่อนเลย

1.ตอนนี้ผมใช้ OpenERP 6.1 ใน module purchase ตรงใบ Purchase Requisitions (PR) ผมเพิ่มช่อง ราคา กับ Remark เข้าไปในรายการย่อยด้วย
2.คราวนี้เวลาผมเอาใบ PR ไปเปิดเป็น Purchase Order (PO) จะมีวิธีไหนที่จะให้นำเอาตัวเลขราคาใน PR ไปขึ้นใน PO โดยอัตโนมัติเลย ไม่ต้องกรอกราคาเอง


ตอนนี้ที่ผมทำคือเขียนเป็น store procedure ใน postgressql เพื่อดึงข้อมูลจาก Table PR มาใส่ใน Table ของ PO ครับ
ซึ่งเป็นการแก้ใขในระดับโครงสร้าง Database และ store procedure มันก็มีผลกับเอกสารทุกใบ ไม่ได้มีผลเฉพาะกับเอกสารที่กำลังทำ
ผมเลยอยากหาวิธีอื่นที่ดีกว่านี้มีไหมครับท่าน :roll:

ข้างบน