Write this object to the given output protocol and return self.

        :type oprot: thryft.protocol._output_protocol._OutputProtocol
        :rtype: pastpy.gen.database.impl.dbf.objects_dbf_record.ObjectsDbfRecord

def write(self, oprot):
        '''
        Write this object to the given output protocol and return self.

        :type oprot: thryft.protocol._output_protocol._OutputProtocol
        :rtype: pastpy.gen.database.impl.dbf.objects_dbf_record.ObjectsDbfRecord
        '''

        oprot.write_struct_begin('ObjectsDbfRecord')

        if self.accessno is not None:
            oprot.write_field_begin(name='accessno', type=11, id=None)
            oprot.write_string(self.accessno)
            oprot.write_field_end()

        if self.accessory is not None:
            oprot.write_field_begin(name='accessory', type=11, id=None)
            oprot.write_string(self.accessory)
            oprot.write_field_end()

        if self.acqvalue is not None:
            oprot.write_field_begin(name='acqvalue', type=11, id=None)
            oprot.write_decimal(self.acqvalue)
            oprot.write_field_end()

        if self.age is not None:
            oprot.write_field_begin(name='age', type=11, id=None)
            oprot.write_string(self.age)
            oprot.write_field_end()

        if self.appnotes is not None:
            oprot.write_field_begin(name='appnotes', type=11, id=None)
            oprot.write_string(self.appnotes)
            oprot.write_field_end()

        if self.appraisor is not None:
            oprot.write_field_begin(name='appraisor', type=11, id=None)
            oprot.write_string(self.appraisor)
            oprot.write_field_end()

        if self.assemzone is not None:
            oprot.write_field_begin(name='assemzone', type=11, id=None)
            oprot.write_string(self.assemzone)
            oprot.write_field_end()

        if self.bagno is not None:
            oprot.write_field_begin(name='bagno', type=11, id=None)
            oprot.write_string(self.bagno)
            oprot.write_field_end()

        if self.boxno is not None:
            oprot.write_field_begin(name='boxno', type=11, id=None)
            oprot.write_string(self.boxno)
            oprot.write_field_end()

        if self.caption is not None:
            oprot.write_field_begin(name='caption', type=11, id=None)
            oprot.write_string(self.caption)
            oprot.write_field_end()

        if self.cat is not None:
            oprot.write_field_begin(name='cat', type=11, id=None)
            oprot.write_string(self.cat)
            oprot.write_field_end()

        if self.catby is not None:
            oprot.write_field_begin(name='catby', type=11, id=None)
            oprot.write_string(self.catby)
            oprot.write_field_end()

        if self.catdate is not None:
            oprot.write_field_begin(name='catdate', type=10, id=None)
            oprot.write_date(self.catdate)
            oprot.write_field_end()

        if self.cattype is not None:
            oprot.write_field_begin(name='cattype', type=11, id=None)
            oprot.write_string(self.cattype)
            oprot.write_field_end()

        if self.chemcomp is not None:
            oprot.write_field_begin(name='chemcomp', type=11, id=None)
            oprot.write_string(self.chemcomp)
            oprot.write_field_end()

        if self.circum is not None:
            oprot.write_field_begin(name='circum', type=11, id=None)
            oprot.write_decimal(self.circum)
            oprot.write_field_end()

        if self.circumft is not None:
            oprot.write_field_begin(name='circumft', type=11, id=None)
            oprot.write_decimal(self.circumft)
            oprot.write_field_end()

        if self.circumin is not None:
            oprot.write_field_begin(name='circumin', type=11, id=None)
            oprot.write_decimal(self.circumin)
            oprot.write_field_end()

        if self.classes is not None:
            oprot.write_field_begin(name='classes', type=11, id=None)
            oprot.write_string(self.classes)
            oprot.write_field_end()

        if self.colldate is not None:
            oprot.write_field_begin(name='colldate', type=10, id=None)
            oprot.write_date(self.colldate)
            oprot.write_field_end()

        if self.collection is not None:
            oprot.write_field_begin(name='collection', type=11, id=None)
            oprot.write_string(self.collection)
            oprot.write_field_end()

        if self.collector is not None:
            oprot.write_field_begin(name='collector', type=11, id=None)
            oprot.write_string(self.collector)
            oprot.write_field_end()

        if self.conddate is not None:
            oprot.write_field_begin(name='conddate', type=10, id=None)
            oprot.write_date(self.conddate)
            oprot.write_field_end()

        if self.condexam is not None:
            oprot.write_field_begin(name='condexam', type=11, id=None)
            oprot.write_string(self.condexam)
            oprot.write_field_end()

        if self.condition is not None:
            oprot.write_field_begin(name='condition', type=11, id=None)
            oprot.write_string(self.condition)
            oprot.write_field_end()

        if self.condnotes is not None:
            oprot.write_field_begin(name='condnotes', type=11, id=None)
            oprot.write_string(self.condnotes)
            oprot.write_field_end()

        if self.count is not None:
            oprot.write_field_begin(name='count', type=11, id=None)
            oprot.write_string(self.count)
            oprot.write_field_end()

        if self.creator is not None:
            oprot.write_field_begin(name='creator', type=11, id=None)
            oprot.write_string(self.creator)
            oprot.write_field_end()

        if self.creator2 is not None:
            oprot.write_field_begin(name='creator2', type=11, id=None)
            oprot.write_string(self.creator2)
            oprot.write_field_end()

        if self.creator3 is not None:
            oprot.write_field_begin(name='creator3', type=11, id=None)
            oprot.write_string(self.creator3)
            oprot.write_field_end()

        if self.credit is not None:
            oprot.write_field_begin(name='credit', type=11, id=None)
            oprot.write_string(self.credit)
            oprot.write_field_end()

        if self.crystal is not None:
            oprot.write_field_begin(name='crystal', type=11, id=None)
            oprot.write_string(self.crystal)
            oprot.write_field_end()

        if self.culture is not None:
            oprot.write_field_begin(name='culture', type=11, id=None)
            oprot.write_string(self.culture)
            oprot.write_field_end()

        if self.curvalmax is not None:
            oprot.write_field_begin(name='curvalmax', type=11, id=None)
            oprot.write_decimal(self.curvalmax)
            oprot.write_field_end()

        if self.curvalue is not None:
            oprot.write_field_begin(name='curvalue', type=11, id=None)
            oprot.write_decimal(self.curvalue)
            oprot.write_field_end()

        if self.dataset is not None:
            oprot.write_field_begin(name='dataset', type=11, id=None)
            oprot.write_string(self.dataset)
            oprot.write_field_end()

        if self.date is not None:
            oprot.write_field_begin(name='date', type=11, id=None)
            oprot.write_string(self.date)
            oprot.write_field_end()

        if self.datingmeth is not None:
            oprot.write_field_begin(name='datingmeth', type=11, id=None)
            oprot.write_string(self.datingmeth)
            oprot.write_field_end()

        if self.datum is not None:
            oprot.write_field_begin(name='datum', type=11, id=None)
            oprot.write_string(self.datum)
            oprot.write_field_end()

        if self.depth is not None:
            oprot.write_field_begin(name='depth', type=11, id=None)
            oprot.write_decimal(self.depth)
            oprot.write_field_end()

        if self.depthft is not None:
            oprot.write_field_begin(name='depthft', type=11, id=None)
            oprot.write_decimal(self.depthft)
            oprot.write_field_end()

        if self.depthin is not None:
            oprot.write_field_begin(name='depthin', type=11, id=None)
            oprot.write_decimal(self.depthin)
            oprot.write_field_end()

        if self.descrip is not None:
            oprot.write_field_begin(name='descrip', type=11, id=None)
            oprot.write_string(self.descrip)
            oprot.write_field_end()

        if self.diameter is not None:
            oprot.write_field_begin(name='diameter', type=11, id=None)
            oprot.write_decimal(self.diameter)
            oprot.write_field_end()

        if self.diameterft is not None:
            oprot.write_field_begin(name='diameterft', type=11, id=None)
            oprot.write_decimal(self.diameterft)
            oprot.write_field_end()

        if self.diameterin is not None:
            oprot.write_field_begin(name='diameterin', type=11, id=None)
            oprot.write_decimal(self.diameterin)
            oprot.write_field_end()

        if self.dimnotes is not None:
            oprot.write_field_begin(name='dimnotes', type=11, id=None)
            oprot.write_string(self.dimnotes)
            oprot.write_field_end()

        if self.dimtype is not None:
            oprot.write_field_begin(name='dimtype', type=8, id=None)
            oprot.write_i32(self.dimtype)
            oprot.write_field_end()

        if self.dispvalue is not None:
            oprot.write_field_begin(name='dispvalue', type=11, id=None)
            oprot.write_string(self.dispvalue)
            oprot.write_field_end()

        if self.earlydate is not None:
            oprot.write_field_begin(name='earlydate', type=8, id=None)
            oprot.write_i32(self.earlydate)
            oprot.write_field_end()

        if self.elements is not None:
            oprot.write_field_begin(name='elements', type=11, id=None)
            oprot.write_string(self.elements)
            oprot.write_field_end()

        if self.epoch is not None:
            oprot.write_field_begin(name='epoch', type=11, id=None)
            oprot.write_string(self.epoch)
            oprot.write_field_end()

        if self.era is not None:
            oprot.write_field_begin(name='era', type=11, id=None)
            oprot.write_string(self.era)
            oprot.write_field_end()

        if self.event is not None:
            oprot.write_field_begin(name='event', type=11, id=None)
            oprot.write_string(self.event)
            oprot.write_field_end()

        if self.ew is not None:
            oprot.write_field_begin(name='ew', type=11, id=None)
            oprot.write_string(self.ew)
            oprot.write_field_end()

        if self.excavadate is not None:
            oprot.write_field_begin(name='excavadate', type=10, id=None)
            oprot.write_date(self.excavadate)
            oprot.write_field_end()

        if self.excavateby is not None:
            oprot.write_field_begin(name='excavateby', type=11, id=None)
            oprot.write_string(self.excavateby)
            oprot.write_field_end()

        if self.exhibitid is not None:
            oprot.write_field_begin(name='exhibitid', type=11, id=None)
            oprot.write_string(self.exhibitid)
            oprot.write_field_end()

        if self.exhibitno is not None:
            oprot.write_field_begin(name='exhibitno', type=8, id=None)
            oprot.write_i32(self.exhibitno)
            oprot.write_field_end()

        if self.exhlabel1 is not None:
            oprot.write_field_begin(name='exhlabel1', type=11, id=None)
            oprot.write_string(self.exhlabel1)
            oprot.write_field_end()

        if self.exhlabel2 is not None:
            oprot.write_field_begin(name='exhlabel2', type=11, id=None)
            oprot.write_string(self.exhlabel2)
            oprot.write_field_end()

        if self.exhlabel3 is not None:
            oprot.write_field_begin(name='exhlabel3', type=11, id=None)
            oprot.write_string(self.exhlabel3)
            oprot.write_field_end()

        if self.exhlabel4 is not None:
            oprot.write_field_begin(name='exhlabel4', type=11, id=None)
            oprot.write_string(self.exhlabel4)
            oprot.write_field_end()

        if self.exhstart is not None:
            oprot.write_field_begin(name='exhstart', type=10, id=None)
            oprot.write_date(self.exhstart)
            oprot.write_field_end()

        if self.family is not None:
            oprot.write_field_begin(name='family', type=11, id=None)
            oprot.write_string(self.family)
            oprot.write_field_end()

        if self.feature is not None:
            oprot.write_field_begin(name='feature', type=11, id=None)
            oprot.write_string(self.feature)
            oprot.write_field_end()

        if self.flagdate is not None:
            oprot.write_field_begin(name='flagdate', type=10, id=None)
            oprot.write_date_time(self.flagdate)
            oprot.write_field_end()

        if self.flagnotes is not None:
            oprot.write_field_begin(name='flagnotes', type=11, id=None)
            oprot.write_string(self.flagnotes)
            oprot.write_field_end()

        if self.flagreason is not None:
            oprot.write_field_begin(name='flagreason', type=11, id=None)
            oprot.write_string(self.flagreason)
            oprot.write_field_end()

        if self.formation is not None:
            oprot.write_field_begin(name='formation', type=11, id=None)
            oprot.write_string(self.formation)
            oprot.write_field_end()

        if self.fossils is not None:
            oprot.write_field_begin(name='fossils', type=11, id=None)
            oprot.write_string(self.fossils)
            oprot.write_field_end()

        if self.found is not None:
            oprot.write_field_begin(name='found', type=11, id=None)
            oprot.write_string(self.found)
            oprot.write_field_end()

        if self.fracture is not None:
            oprot.write_field_begin(name='fracture', type=11, id=None)
            oprot.write_string(self.fracture)
            oprot.write_field_end()

        if self.frame is not None:
            oprot.write_field_begin(name='frame', type=11, id=None)
            oprot.write_string(self.frame)
            oprot.write_field_end()

        if self.framesize is not None:
            oprot.write_field_begin(name='framesize', type=11, id=None)
            oprot.write_string(self.framesize)
            oprot.write_field_end()

        if self.genus is not None:
            oprot.write_field_begin(name='genus', type=11, id=None)
            oprot.write_string(self.genus)
            oprot.write_field_end()

        if self.gparent is not None:
            oprot.write_field_begin(name='gparent', type=11, id=None)
            oprot.write_string(self.gparent)
            oprot.write_field_end()

        if self.grainsize is not None:
            oprot.write_field_begin(name='grainsize', type=11, id=None)
            oprot.write_string(self.grainsize)
            oprot.write_field_end()

        if self.habitat is not None:
            oprot.write_field_begin(name='habitat', type=11, id=None)
            oprot.write_string(self.habitat)
            oprot.write_field_end()

        if self.hardness is not None:
            oprot.write_field_begin(name='hardness', type=11, id=None)
            oprot.write_string(self.hardness)
            oprot.write_field_end()

        if self.height is not None:
            oprot.write_field_begin(name='height', type=11, id=None)
            oprot.write_decimal(self.height)
            oprot.write_field_end()

        if self.heightft is not None:
            oprot.write_field_begin(name='heightft', type=11, id=None)
            oprot.write_decimal(self.heightft)
            oprot.write_field_end()

        if self.heightin is not None:
            oprot.write_field_begin(name='heightin', type=11, id=None)
            oprot.write_decimal(self.heightin)
            oprot.write_field_end()

        if self.homeloc is not None:
            oprot.write_field_begin(name='homeloc', type=11, id=None)
            oprot.write_string(self.homeloc)
            oprot.write_field_end()

        if self.idby is not None:
            oprot.write_field_begin(name='idby', type=11, id=None)
            oprot.write_string(self.idby)
            oprot.write_field_end()

        if self.iddate is not None:
            oprot.write_field_begin(name='iddate', type=10, id=None)
            oprot.write_date(self.iddate)
            oprot.write_field_end()

        if self.imagefile is not None:
            oprot.write_field_begin(name='imagefile', type=11, id=None)
            oprot.write_string(self.imagefile)
            oprot.write_field_end()

        if self.imageno is not None:
            oprot.write_field_begin(name='imageno', type=8, id=None)
            oprot.write_i32(self.imageno)
            oprot.write_field_end()

        if self.imagesize is not None:
            oprot.write_field_begin(name='imagesize', type=11, id=None)
            oprot.write_string(self.imagesize)
            oprot.write_field_end()

        if self.inscomp is not None:
            oprot.write_field_begin(name='inscomp', type=11, id=None)
            oprot.write_string(self.inscomp)
            oprot.write_field_end()

        if self.inscrlang is not None:
            oprot.write_field_begin(name='inscrlang', type=11, id=None)
            oprot.write_string(self.inscrlang)
            oprot.write_field_end()

        if self.inscrpos is not None:
            oprot.write_field_begin(name='inscrpos', type=11, id=None)
            oprot.write_string(self.inscrpos)
            oprot.write_field_end()

        if self.inscrtech is not None:
            oprot.write_field_begin(name='inscrtech', type=11, id=None)
            oprot.write_string(self.inscrtech)
            oprot.write_field_end()

        if self.inscrtext is not None:
            oprot.write_field_begin(name='inscrtext', type=11, id=None)
            oprot.write_string(self.inscrtext)
            oprot.write_field_end()

        if self.inscrtrans is not None:
            oprot.write_field_begin(name='inscrtrans', type=11, id=None)
            oprot.write_string(self.inscrtrans)
            oprot.write_field_end()

        if self.inscrtype is not None:
            oprot.write_field_begin(name='inscrtype', type=11, id=None)
            oprot.write_string(self.inscrtype)
            oprot.write_field_end()

        if self.insdate is not None:
            oprot.write_field_begin(name='insdate', type=10, id=None)
            oprot.write_date(self.insdate)
            oprot.write_field_end()

        if self.insphone is not None:
            oprot.write_field_begin(name='insphone', type=11, id=None)
            oprot.write_string(self.insphone)
            oprot.write_field_end()

        if self.inspremium is not None:
            oprot.write_field_begin(name='inspremium', type=11, id=None)
            oprot.write_string(self.inspremium)
            oprot.write_field_end()

        if self.insrep is not None:
            oprot.write_field_begin(name='insrep', type=11, id=None)
            oprot.write_string(self.insrep)
            oprot.write_field_end()

        if self.insvalue is not None:
            oprot.write_field_begin(name='insvalue', type=11, id=None)
            oprot.write_decimal(self.insvalue)
            oprot.write_field_end()

        if self.invnby is not None:
            oprot.write_field_begin(name='invnby', type=11, id=None)
            oprot.write_string(self.invnby)
            oprot.write_field_end()

        if self.invndate is not None:
            oprot.write_field_begin(name='invndate', type=10, id=None)
            oprot.write_date(self.invndate)
            oprot.write_field_end()

        if self.kingdom is not None:
            oprot.write_field_begin(name='kingdom', type=11, id=None)
            oprot.write_string(self.kingdom)
            oprot.write_field_end()

        if self.latdeg is not None:
            oprot.write_field_begin(name='latdeg', type=11, id=None)
            oprot.write_decimal(self.latdeg)
            oprot.write_field_end()

        if self.latedate is not None:
            oprot.write_field_begin(name='latedate', type=8, id=None)
            oprot.write_i32(self.latedate)
            oprot.write_field_end()

        if self.legal is not None:
            oprot.write_field_begin(name='legal', type=11, id=None)
            oprot.write_string(self.legal)
            oprot.write_field_end()

        if self.length is not None:
            oprot.write_field_begin(name='length', type=11, id=None)
            oprot.write_decimal(self.length)
            oprot.write_field_end()

        if self.lengthft is not None:
            oprot.write_field_begin(name='lengthft', type=11, id=None)
            oprot.write_decimal(self.lengthft)
            oprot.write_field_end()

        if self.lengthin is not None:
            oprot.write_field_begin(name='lengthin', type=11, id=None)
            oprot.write_decimal(self.lengthin)
            oprot.write_field_end()

        if self.level is not None:
            oprot.write_field_begin(name='level', type=11, id=None)
            oprot.write_string(self.level)
            oprot.write_field_end()

        if self.lithofacie is not None:
            oprot.write_field_begin(name='lithofacie', type=11, id=None)
            oprot.write_string(self.lithofacie)
            oprot.write_field_end()

        if self.loancond is not None:
            oprot.write_field_begin(name='loancond', type=11, id=None)
            oprot.write_string(self.loancond)
            oprot.write_field_end()

        if self.loandue is not None:
            oprot.write_field_begin(name='loandue', type=10, id=None)
            oprot.write_date(self.loandue)
            oprot.write_field_end()

        if self.loanid is not None:
            oprot.write_field_begin(name='loanid', type=11, id=None)
            oprot.write_string(self.loanid)
            oprot.write_field_end()

        if self.loaninno is not None:
            oprot.write_field_begin(name='loaninno', type=11, id=None)
            oprot.write_string(self.loaninno)
            oprot.write_field_end()

        if self.loanno is not None:
            oprot.write_field_begin(name='loanno', type=8, id=None)
            oprot.write_i32(self.loanno)
            oprot.write_field_end()

        if self.loanrenew is not None:
            oprot.write_field_begin(name='loanrenew', type=10, id=None)
            oprot.write_date(self.loanrenew)
            oprot.write_field_end()

        if self.locfield1 is not None:
            oprot.write_field_begin(name='locfield1', type=11, id=None)
            oprot.write_string(self.locfield1)
            oprot.write_field_end()

        if self.locfield2 is not None:
            oprot.write_field_begin(name='locfield2', type=11, id=None)
            oprot.write_string(self.locfield2)
            oprot.write_field_end()

        if self.locfield3 is not None:
            oprot.write_field_begin(name='locfield3', type=11, id=None)
            oprot.write_string(self.locfield3)
            oprot.write_field_end()

        if self.locfield4 is not None:
            oprot.write_field_begin(name='locfield4', type=11, id=None)
            oprot.write_string(self.locfield4)
            oprot.write_field_end()

        if self.locfield5 is not None:
            oprot.write_field_begin(name='locfield5', type=11, id=None)
            oprot.write_string(self.locfield5)
            oprot.write_field_end()

        if self.locfield6 is not None:
            oprot.write_field_begin(name='locfield6', type=11, id=None)
            oprot.write_string(self.locfield6)
            oprot.write_field_end()

        if self.longdeg is not None:
            oprot.write_field_begin(name='longdeg', type=11, id=None)
            oprot.write_decimal(self.longdeg)
            oprot.write_field_end()

        if self.luster is not None:
            oprot.write_field_begin(name='luster', type=11, id=None)
            oprot.write_string(self.luster)
            oprot.write_field_end()

        if self.made is not None:
            oprot.write_field_begin(name='made', type=11, id=None)
            oprot.write_string(self.made)
            oprot.write_field_end()

        if self.maintcycle is not None:
            oprot.write_field_begin(name='maintcycle', type=11, id=None)
            oprot.write_string(self.maintcycle)
            oprot.write_field_end()

        if self.maintdate is not None:
            oprot.write_field_begin(name='maintdate', type=10, id=None)
            oprot.write_date(self.maintdate)
            oprot.write_field_end()

        if self.maintnote is not None:
            oprot.write_field_begin(name='maintnote', type=11, id=None)
            oprot.write_string(self.maintnote)
            oprot.write_field_end()

        if self.material is not None:
            oprot.write_field_begin(name='material', type=11, id=None)
            oprot.write_string(self.material)
            oprot.write_field_end()

        if self.medium is not None:
            oprot.write_field_begin(name='medium', type=11, id=None)
            oprot.write_string(self.medium)
            oprot.write_field_end()

        if self.member is not None:
            oprot.write_field_begin(name='member', type=11, id=None)
            oprot.write_string(self.member)
            oprot.write_field_end()

        if self.mmark is not None:
            oprot.write_field_begin(name='mmark', type=11, id=None)
            oprot.write_string(self.mmark)
            oprot.write_field_end()

        if self.nhclass is not None:
            oprot.write_field_begin(name='nhclass', type=11, id=None)
            oprot.write_string(self.nhclass)
            oprot.write_field_end()

        if self.nhorder is not None:
            oprot.write_field_begin(name='nhorder', type=11, id=None)
            oprot.write_string(self.nhorder)
            oprot.write_field_end()

        if self.notes is not None:
            oprot.write_field_begin(name='notes', type=11, id=None)
            oprot.write_string(self.notes)
            oprot.write_field_end()

        if self.ns is not None:
            oprot.write_field_begin(name='ns', type=11, id=None)
            oprot.write_string(self.ns)
            oprot.write_field_end()

        if self.objectid is not None:
            oprot.write_field_begin(name='objectid', type=11, id=None)
            oprot.write_string(self.objectid)
            oprot.write_field_end()

        if self.objname is not None:
            oprot.write_field_begin(name='objname', type=11, id=None)
            oprot.write_string(self.objname)
            oprot.write_field_end()

        if self.objname2 is not None:
            oprot.write_field_begin(name='objname2', type=11, id=None)
            oprot.write_string(self.objname2)
            oprot.write_field_end()

        if self.objname3 is not None:
            oprot.write_field_begin(name='objname3', type=11, id=None)
            oprot.write_string(self.objname3)
            oprot.write_field_end()

        if self.objnames is not None:
            oprot.write_field_begin(name='objnames', type=11, id=None)
            oprot.write_string(self.objnames)
            oprot.write_field_end()

        if self.occurrence is not None:
            oprot.write_field_begin(name='occurrence', type=11, id=None)
            oprot.write_string(self.occurrence)
            oprot.write_field_end()

        if self.oldno is not None:
            oprot.write_field_begin(name='oldno', type=11, id=None)
            oprot.write_string(self.oldno)
            oprot.write_field_end()

        if self.origin is not None:
            oprot.write_field_begin(name='origin', type=11, id=None)
            oprot.write_string(self.origin)
            oprot.write_field_end()

        if self.othername is not None:
            oprot.write_field_begin(name='othername', type=11, id=None)
            oprot.write_string(self.othername)
            oprot.write_field_end()

        if self.otherno is not None:
            oprot.write_field_begin(name='otherno', type=11, id=None)
            oprot.write_string(self.otherno)
            oprot.write_field_end()

        if self.outdate is not None:
            oprot.write_field_begin(name='outdate', type=10, id=None)
            oprot.write_date(self.outdate)
            oprot.write_field_end()

        if self.owned is not None:
            oprot.write_field_begin(name='owned', type=11, id=None)
            oprot.write_string(self.owned)
            oprot.write_field_end()

        if self.parent is not None:
            oprot.write_field_begin(name='parent', type=11, id=None)
            oprot.write_string(self.parent)
            oprot.write_field_end()

        if self.people is not None:
            oprot.write_field_begin(name='people', type=11, id=None)
            oprot.write_string(self.people)
            oprot.write_field_end()

        if self.period is not None:
            oprot.write_field_begin(name='period', type=11, id=None)
            oprot.write_string(self.period)
            oprot.write_field_end()

        if self.phylum is not None:
            oprot.write_field_begin(name='phylum', type=11, id=None)
            oprot.write_string(self.phylum)
            oprot.write_field_end()

        if self.policyno is not None:
            oprot.write_field_begin(name='policyno', type=11, id=None)
            oprot.write_string(self.policyno)
            oprot.write_field_end()

        if self.ppid is not None:
            oprot.write_field_begin(name='ppid', type=11, id=None)
            oprot.write_string(self.ppid)
            oprot.write_field_end()

        if self.preparator is not None:
            oprot.write_field_begin(name='preparator', type=11, id=None)
            oprot.write_string(self.preparator)
            oprot.write_field_end()

        if self.prepdate is not None:
            oprot.write_field_begin(name='prepdate', type=10, id=None)
            oprot.write_date(self.prepdate)
            oprot.write_field_end()

        if self.preserve is not None:
            oprot.write_field_begin(name='preserve', type=11, id=None)
            oprot.write_string(self.preserve)
            oprot.write_field_end()

        if self.pressure is not None:
            oprot.write_field_begin(name='pressure', type=11, id=None)
            oprot.write_string(self.pressure)
            oprot.write_field_end()

        if self.provenance is not None:
            oprot.write_field_begin(name='provenance', type=11, id=None)
            oprot.write_string(self.provenance)
            oprot.write_field_end()

        if self.pubnotes is not None:
            oprot.write_field_begin(name='pubnotes', type=11, id=None)
            oprot.write_string(self.pubnotes)
            oprot.write_field_end()

        if self.qrurl is not None:
            oprot.write_field_begin(name='qrurl', type=11, id=None)
            oprot.write_string(self.qrurl)
            oprot.write_field_end()

        if self.recas is not None:
            oprot.write_field_begin(name='recas', type=11, id=None)
            oprot.write_string(self.recas)
            oprot.write_field_end()

        if self.recdate is not None:
            oprot.write_field_begin(name='recdate', type=11, id=None)
            oprot.write_string(self.recdate)
            oprot.write_field_end()

        if self.recfrom is not None:
            oprot.write_field_begin(name='recfrom', type=11, id=None)
            oprot.write_string(self.recfrom)
            oprot.write_field_end()

        if self.relation is not None:
            oprot.write_field_begin(name='relation', type=11, id=None)
            oprot.write_string(self.relation)
            oprot.write_field_end()

        if self.relnotes is not None:
            oprot.write_field_begin(name='relnotes', type=11, id=None)
            oprot.write_string(self.relnotes)
            oprot.write_field_end()

        if self.renewuntil is not None:
            oprot.write_field_begin(name='renewuntil', type=10, id=None)
            oprot.write_date(self.renewuntil)
            oprot.write_field_end()

        if self.repatby is not None:
            oprot.write_field_begin(name='repatby', type=11, id=None)
            oprot.write_string(self.repatby)
            oprot.write_field_end()

        if self.repatclaim is not None:
            oprot.write_field_begin(name='repatclaim', type=11, id=None)
            oprot.write_string(self.repatclaim)
            oprot.write_field_end()

        if self.repatdate is not None:
            oprot.write_field_begin(name='repatdate', type=10, id=None)
            oprot.write_date(self.repatdate)
            oprot.write_field_end()

        if self.repatdisp is not None:
            oprot.write_field_begin(name='repatdisp', type=11, id=None)
            oprot.write_string(self.repatdisp)
            oprot.write_field_end()

        if self.repathand is not None:
            oprot.write_field_begin(name='repathand', type=11, id=None)
            oprot.write_string(self.repathand)
            oprot.write_field_end()

        if self.repatnotes is not None:
            oprot.write_field_begin(name='repatnotes', type=11, id=None)
            oprot.write_string(self.repatnotes)
            oprot.write_field_end()

        if self.repatnotic is not None:
            oprot.write_field_begin(name='repatnotic', type=10, id=None)
            oprot.write_date(self.repatnotic)
            oprot.write_field_end()

        if self.repattype is not None:
            oprot.write_field_begin(name='repattype', type=11, id=None)
            oprot.write_string(self.repattype)
            oprot.write_field_end()

        if self.rockclass is not None:
            oprot.write_field_begin(name='rockclass', type=11, id=None)
            oprot.write_string(self.rockclass)
            oprot.write_field_end()

        if self.rockcolor is not None:
            oprot.write_field_begin(name='rockcolor', type=11, id=None)
            oprot.write_string(self.rockcolor)
            oprot.write_field_end()

        if self.rockorigin is not None:
            oprot.write_field_begin(name='rockorigin', type=11, id=None)
            oprot.write_string(self.rockorigin)
            oprot.write_field_end()

        if self.rocktype is not None:
            oprot.write_field_begin(name='rocktype', type=11, id=None)
            oprot.write_string(self.rocktype)
            oprot.write_field_end()

        if self.role is not None:
            oprot.write_field_begin(name='role', type=11, id=None)
            oprot.write_string(self.role)
            oprot.write_field_end()

        if self.role2 is not None:
            oprot.write_field_begin(name='role2', type=11, id=None)
            oprot.write_string(self.role2)
            oprot.write_field_end()

        if self.role3 is not None:
            oprot.write_field_begin(name='role3', type=11, id=None)
            oprot.write_string(self.role3)
            oprot.write_field_end()

        if self.school is not None:
            oprot.write_field_begin(name='school', type=11, id=None)
            oprot.write_string(self.school)
            oprot.write_field_end()

        if self.sex is not None:
            oprot.write_field_begin(name='sex', type=11, id=None)
            oprot.write_string(self.sex)
            oprot.write_field_end()

        if self.sgflag is not None:
            oprot.write_field_begin(name='sgflag', type=11, id=None)
            oprot.write_string(self.sgflag)
            oprot.write_field_end()

        if self.signedname is not None:
            oprot.write_field_begin(name='signedname', type=11, id=None)
            oprot.write_string(self.signedname)
            oprot.write_field_end()

        if self.signloc is not None:
            oprot.write_field_begin(name='signloc', type=11, id=None)
            oprot.write_string(self.signloc)
            oprot.write_field_end()

        if self.site is not None:
            oprot.write_field_begin(name='site', type=11, id=None)
            oprot.write_string(self.site)
            oprot.write_field_end()

        if self.siteno is not None:
            oprot.write_field_begin(name='siteno', type=11, id=None)
            oprot.write_string(self.siteno)
            oprot.write_field_end()

        if self.specgrav is not None:
            oprot.write_field_begin(name='specgrav', type=11, id=None)
            oprot.write_string(self.specgrav)
            oprot.write_field_end()

        if self.species is not None:
            oprot.write_field_begin(name='species', type=11, id=None)
            oprot.write_string(self.species)
            oprot.write_field_end()

        if self.sprocess is not None:
            oprot.write_field_begin(name='sprocess', type=11, id=None)
            oprot.write_string(self.sprocess)
            oprot.write_field_end()

        if self.stage is not None:
            oprot.write_field_begin(name='stage', type=11, id=None)
            oprot.write_string(self.stage)
            oprot.write_field_end()

        if self.status is not None:
            oprot.write_field_begin(name='status', type=11, id=None)
            oprot.write_string(self.status)
            oprot.write_field_end()

        if self.statusby is not None:
            oprot.write_field_begin(name='statusby', type=11, id=None)
            oprot.write_string(self.statusby)
            oprot.write_field_end()

        if self.statusdate is not None:
            oprot.write_field_begin(name='statusdate', type=10, id=None)
            oprot.write_date(self.statusdate)
            oprot.write_field_end()

        if self.sterms is not None:
            oprot.write_field_begin(name='sterms', type=11, id=None)
            oprot.write_string(self.sterms)
            oprot.write_field_end()

        if self.stratum is not None:
            oprot.write_field_begin(name='stratum', type=11, id=None)
            oprot.write_string(self.stratum)
            oprot.write_field_end()

        if self.streak is not None:
            oprot.write_field_begin(name='streak', type=11, id=None)
            oprot.write_string(self.streak)
            oprot.write_field_end()

        if self.subfamily is not None:
            oprot.write_field_begin(name='subfamily', type=11, id=None)
            oprot.write_string(self.subfamily)
            oprot.write_field_end()

        if self.subjects is not None:
            oprot.write_field_begin(name='subjects', type=11, id=None)
            oprot.write_string(self.subjects)
            oprot.write_field_end()

        if self.subspecies is not None:
            oprot.write_field_begin(name='subspecies', type=11, id=None)
            oprot.write_string(self.subspecies)
            oprot.write_field_end()

        if self.technique is not None:
            oprot.write_field_begin(name='technique', type=11, id=None)
            oprot.write_string(self.technique)
            oprot.write_field_end()

        if self.tempauthor is not None:
            oprot.write_field_begin(name='tempauthor', type=11, id=None)
            oprot.write_string(self.tempauthor)
            oprot.write_field_end()

        if self.tempby is not None:
            oprot.write_field_begin(name='tempby', type=11, id=None)
            oprot.write_string(self.tempby)
            oprot.write_field_end()

        if self.tempdate is not None:
            oprot.write_field_begin(name='tempdate', type=10, id=None)
            oprot.write_date(self.tempdate)
            oprot.write_field_end()

        if self.temperatur is not None:
            oprot.write_field_begin(name='temperatur', type=11, id=None)
            oprot.write_string(self.temperatur)
            oprot.write_field_end()

        if self.temploc is not None:
            oprot.write_field_begin(name='temploc', type=11, id=None)
            oprot.write_string(self.temploc)
            oprot.write_field_end()

        if self.tempnotes is not None:
            oprot.write_field_begin(name='tempnotes', type=11, id=None)
            oprot.write_string(self.tempnotes)
            oprot.write_field_end()

        if self.tempreason is not None:
            oprot.write_field_begin(name='tempreason', type=11, id=None)
            oprot.write_string(self.tempreason)
            oprot.write_field_end()

        if self.tempuntil is not None:
            oprot.write_field_begin(name='tempuntil', type=11, id=None)
            oprot.write_string(self.tempuntil)
            oprot.write_field_end()

        if self.texture is not None:
            oprot.write_field_begin(name='texture', type=11, id=None)
            oprot.write_string(self.texture)
            oprot.write_field_end()

        if self.title is not None:
            oprot.write_field_begin(name='title', type=11, id=None)
            oprot.write_string(self.title)
            oprot.write_field_end()

        if self.tlocfield1 is not None:
            oprot.write_field_begin(name='tlocfield1', type=11, id=None)
            oprot.write_string(self.tlocfield1)
            oprot.write_field_end()

        if self.tlocfield2 is not None:
            oprot.write_field_begin(name='tlocfield2', type=11, id=None)
            oprot.write_string(self.tlocfield2)
            oprot.write_field_end()

        if self.tlocfield3 is not None:
            oprot.write_field_begin(name='tlocfield3', type=11, id=None)
            oprot.write_string(self.tlocfield3)
            oprot.write_field_end()

        if self.tlocfield4 is not None:
            oprot.write_field_begin(name='tlocfield4', type=11, id=None)
            oprot.write_string(self.tlocfield4)
            oprot.write_field_end()

        if self.tlocfield5 is not None:
            oprot.write_field_begin(name='tlocfield5', type=11, id=None)
            oprot.write_string(self.tlocfield5)
            oprot.write_field_end()

        if self.tlocfield6 is not None:
            oprot.write_field_begin(name='tlocfield6', type=11, id=None)
            oprot.write_string(self.tlocfield6)
            oprot.write_field_end()

        if self.udf1 is not None:
            oprot.write_field_begin(name='udf1', type=11, id=None)
            oprot.write_string(self.udf1)
            oprot.write_field_end()

        if self.udf10 is not None:
            oprot.write_field_begin(name='udf10', type=11, id=None)
            oprot.write_string(self.udf10)
            oprot.write_field_end()

        if self.udf11 is not None:
            oprot.write_field_begin(name='udf11', type=11, id=None)
            oprot.write_string(self.udf11)
            oprot.write_field_end()

        if self.udf12 is not None:
            oprot.write_field_begin(name='udf12', type=11, id=None)
            oprot.write_string(self.udf12)
            oprot.write_field_end()

        if self.udf13 is not None:
            oprot.write_field_begin(name='udf13', type=8, id=None)
            oprot.write_i32(self.udf13)
            oprot.write_field_end()

        if self.udf14 is not None:
            oprot.write_field_begin(name='udf14', type=11, id=None)
            oprot.write_decimal(self.udf14)
            oprot.write_field_end()

        if self.udf15 is not None:
            oprot.write_field_begin(name='udf15', type=11, id=None)
            oprot.write_decimal(self.udf15)
            oprot.write_field_end()

        if self.udf16 is not None:
            oprot.write_field_begin(name='udf16', type=11, id=None)
            oprot.write_decimal(self.udf16)
            oprot.write_field_end()

        if self.udf17 is not None:
            oprot.write_field_begin(name='udf17', type=11, id=None)
            oprot.write_decimal(self.udf17)
            oprot.write_field_end()

        if self.udf18 is not None:
            oprot.write_field_begin(name='udf18', type=10, id=None)
            oprot.write_date(self.udf18)
            oprot.write_field_end()

        if self.udf19 is not None:
            oprot.write_field_begin(name='udf19', type=10, id=None)
            oprot.write_date(self.udf19)
            oprot.write_field_end()

        if self.udf2 is not None:
            oprot.write_field_begin(name='udf2', type=11, id=None)
            oprot.write_string(self.udf2)
            oprot.write_field_end()

        if self.udf20 is not None:
            oprot.write_field_begin(name='udf20', type=10, id=None)
            oprot.write_date(self.udf20)
            oprot.write_field_end()

        if self.udf21 is not None:
            oprot.write_field_begin(name='udf21', type=11, id=None)
            oprot.write_string(self.udf21)
            oprot.write_field_end()

        if self.udf22 is not None:
            oprot.write_field_begin(name='udf22', type=11, id=None)
            oprot.write_string(self.udf22)
            oprot.write_field_end()

        if self.udf3 is not None:
            oprot.write_field_begin(name='udf3', type=11, id=None)
            oprot.write_string(self.udf3)
            oprot.write_field_end()

        if self.udf4 is not None:
            oprot.write_field_begin(name='udf4', type=11, id=None)
            oprot.write_string(self.udf4)
            oprot.write_field_end()

        if self.udf5 is not None:
            oprot.write_field_begin(name='udf5', type=11, id=None)
            oprot.write_string(self.udf5)
            oprot.write_field_end()

        if self.udf6 is not None:
            oprot.write_field_begin(name='udf6', type=11, id=None)
            oprot.write_string(self.udf6)
            oprot.write_field_end()

        if self.udf7 is not None:
            oprot.write_field_begin(name='udf7', type=11, id=None)
            oprot.write_string(self.udf7)
            oprot.write_field_end()

        if self.udf8 is not None:
            oprot.write_field_begin(name='udf8', type=11, id=None)
            oprot.write_string(self.udf8)
            oprot.write_field_end()

        if self.udf9 is not None:
            oprot.write_field_begin(name='udf9', type=11, id=None)
            oprot.write_string(self.udf9)
            oprot.write_field_end()

        if self.unit is not None:
            oprot.write_field_begin(name='unit', type=11, id=None)
            oprot.write_string(self.unit)
            oprot.write_field_end()

        if self.updated is not None:
            oprot.write_field_begin(name='updated', type=10, id=None)
            oprot.write_date_time(self.updated)
            oprot.write_field_end()

        if self.updatedby is not None:
            oprot.write_field_begin(name='updatedby', type=11, id=None)
            oprot.write_string(self.updatedby)
            oprot.write_field_end()

        if self.used is not None:
            oprot.write_field_begin(name='used', type=11, id=None)
            oprot.write_string(self.used)
            oprot.write_field_end()

        if self.valuedate is not None:
            oprot.write_field_begin(name='valuedate', type=10, id=None)
            oprot.write_date(self.valuedate)
            oprot.write_field_end()

        if self.varieties is not None:
            oprot.write_field_begin(name='varieties', type=11, id=None)
            oprot.write_string(self.varieties)
            oprot.write_field_end()

        if self.vexhtml is not None:
            oprot.write_field_begin(name='vexhtml', type=11, id=None)
            oprot.write_string(self.vexhtml)
            oprot.write_field_end()

        if self.vexlabel1 is not None:
            oprot.write_field_begin(name='vexlabel1', type=11, id=None)
            oprot.write_string(self.vexlabel1)
            oprot.write_field_end()

        if self.vexlabel2 is not None:
            oprot.write_field_begin(name='vexlabel2', type=11, id=None)
            oprot.write_string(self.vexlabel2)
            oprot.write_field_end()

        if self.vexlabel3 is not None:
            oprot.write_field_begin(name='vexlabel3', type=11, id=None)
            oprot.write_string(self.vexlabel3)
            oprot.write_field_end()

        if self.vexlabel4 is not None:
            oprot.write_field_begin(name='vexlabel4', type=11, id=None)
            oprot.write_string(self.vexlabel4)
            oprot.write_field_end()

        if self.webinclude is not None:
            oprot.write_field_begin(name='webinclude', type=2, id=None)
            oprot.write_bool(self.webinclude)
            oprot.write_field_end()

        if self.weight is not None:
            oprot.write_field_begin(name='weight', type=11, id=None)
            oprot.write_decimal(self.weight)
            oprot.write_field_end()

        if self.weightin is not None:
            oprot.write_field_begin(name='weightin', type=11, id=None)
            oprot.write_decimal(self.weightin)
            oprot.write_field_end()

        if self.weightlb is not None:
            oprot.write_field_begin(name='weightlb', type=11, id=None)
            oprot.write_decimal(self.weightlb)
            oprot.write_field_end()

        if self.width is not None:
            oprot.write_field_begin(name='width', type=11, id=None)
            oprot.write_decimal(self.width)
            oprot.write_field_end()

        if self.widthft is not None:
            oprot.write_field_begin(name='widthft', type=11, id=None)
            oprot.write_decimal(self.widthft)
            oprot.write_field_end()

        if self.widthin is not None:
            oprot.write_field_begin(name='widthin', type=11, id=None)
            oprot.write_decimal(self.widthin)
            oprot.write_field_end()

        if self.xcord is not None:
            oprot.write_field_begin(name='xcord', type=11, id=None)
            oprot.write_decimal(self.xcord)
            oprot.write_field_end()

        if self.ycord is not None:
            oprot.write_field_begin(name='ycord', type=11, id=None)
            oprot.write_decimal(self.ycord)
            oprot.write_field_end()

        if self.zcord is not None:
            oprot.write_field_begin(name='zcord', type=11, id=None)
            oprot.write_decimal(self.zcord)
            oprot.write_field_end()

        if self.zsorter is not None:
            oprot.write_field_begin(name='zsorter', type=11, id=None)
            oprot.write_string(self.zsorter)
            oprot.write_field_end()

        if self.zsorterx is not None:
            oprot.write_field_begin(name='zsorterx', type=11, id=None)
            oprot.write_string(self.zsorterx)
            oprot.write_field_end()

        oprot.write_field_stop()

        oprot.write_struct_end()

        return self