ผลต่างระหว่างรุ่นของ "Openerp/histest"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 1: แถว 1:
  
 
== สร้างโมเดล Department และเชื่อมโยงกับ Appointment เพื่อค้นหาและสร้างรายงาน ==
 
== สร้างโมเดล Department และเชื่อมโยงกับ Appointment เพื่อค้นหาและสร้างรายงาน ==
 +
 +
=== histest.py ===
 +
 +
<syntaxhighlight lang="python">
 +
class HISAppointment(osv.Model):
 +
    _name = 'histest.appointment'
 +
    _columns = {
 +
        'date': fields.date(string=u'วันที่',
 +
                            required=True),
 +
        'patient_id': fields.many2one('histest.patient',
 +
                                      'Patient'),
 +
        'department_id': fields.many2one('histest.department',
 +
                                        'Department'),
 +
    }
 +
 +
class HISDepartment(osv.Model):
 +
    _name = 'histest.department'
 +
    _columns = {
 +
        'name': fields.char(size=200,
 +
                            string=u'แผนก',
 +
                            required=True),
 +
        'appointment_ids': fields.one2many('histest.appointment',
 +
                                          'department_id',
 +
                                          'Appointments'),
 +
    }
 +
 +
class HISDepartmentSearch(osv.TransientModel):
 +
    _name = 'histest.departmentsearch'
 +
 +
    def appointment_search(self, cr, uid, ids, field_name=None,
 +
                          arg=None, context=None):
 +
 +
        appointment_obj = self.pool.get('histest.appointment')
 +
 +
        dsearches = self.browse(cr, uid, ids)
 +
        result = {}
 +
        for dsearch in dsearches:
 +
            result[dsearch.id] = (
 +
                appointment_obj.search(cr, uid,
 +
                                      [('department_id','=',dsearch.department_id.id),
 +
                                        ('date','=',dsearch.search_date)],
 +
                                      context=context))
 +
        return result
 +
 +
    _columns = {
 +
        'department_id': fields.many2one('histest.department',
 +
                                        'Department'),
 +
        'search_date': fields.date(string=u'วันที่ต้องการหา'),
 +
 +
        'appointment_ids': fields.function(appointment_search,
 +
                                          type='one2many',
 +
                                          relation='histest.appointment',
 +
                                          string='Appointment by date'),
 +
    }
 +
</syntaxhighlight>
  
 
== เอกสารครั้งก่อน ๆ ==
 
== เอกสารครั้งก่อน ๆ ==

รุ่นแก้ไขเมื่อ 07:33, 24 เมษายน 2557

สร้างโมเดล Department และเชื่อมโยงกับ Appointment เพื่อค้นหาและสร้างรายงาน

histest.py

class HISAppointment(osv.Model):
    _name = 'histest.appointment'
    _columns = {
        'date': fields.date(string=u'วันที่',
                            required=True),
        'patient_id': fields.many2one('histest.patient',
                                      'Patient'),
        'department_id': fields.many2one('histest.department',
                                         'Department'),
    }

class HISDepartment(osv.Model):
    _name = 'histest.department'
    _columns = {
        'name': fields.char(size=200,
                            string=u'แผนก',
                            required=True),
        'appointment_ids': fields.one2many('histest.appointment',
                                           'department_id',
                                           'Appointments'),
    }

class HISDepartmentSearch(osv.TransientModel):
    _name = 'histest.departmentsearch'

    def appointment_search(self, cr, uid, ids, field_name=None,
                           arg=None, context=None):

        appointment_obj = self.pool.get('histest.appointment')

        dsearches = self.browse(cr, uid, ids)
        result = {}
        for dsearch in dsearches:
            result[dsearch.id] = (
                appointment_obj.search(cr, uid,
                                       [('department_id','=',dsearch.department_id.id),
                                        ('date','=',dsearch.search_date)],
                                       context=context))
        return result

    _columns = {
        'department_id': fields.many2one('histest.department',
                                         'Department'),
        'search_date': fields.date(string=u'วันที่ต้องการหา'),

        'appointment_ids': fields.function(appointment_search,
                                           type='one2many',
                                           relation='histest.appointment',
                                           string='Appointment by date'),
    }

เอกสารครั้งก่อน ๆ