object dmObras: TdmObras
  OldCreateOrder = True
  OnCreate = DAClientDataModuleCreate
  RemoteService = RORemoteService
  Adapter = DABINAdapter
  SchemaCall.MethodName = 'GetSchemaAsXML'
  SchemaCall.Params = <
    item
      Name = 'Result'
      ParamType = fResult
      DataType = rtString
    end>
  Left = 632
  Top = 299
  Height = 498
  Width = 480
  object RORemoteService: TRORemoteService
    ServiceName = 'srvObras'
    Message = dmBase.ROMessage
    Channel = dmBase.ROChannel
    Left = 48
    Top = 44
  end
  object DABINAdapter: TDABINAdapter
    Left = 48
    Top = 136
  end
  object tbl_Obras: TDACDSDataTable
    RemoteUpdatesOptions = []
    Fields = <
      item
        Name = 'CODIGOEMPRESA'
        DataType = datInteger
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGOSEMPRESAS'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CODIGO'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'd. obra'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGOOBRA'
        InPrimaryKey = True
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'FECHAALTA'
        DataType = datDateTime
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Fecha de alta'
        Alignment = taLeftJustify
        DictionaryEntry = 'FECHAALTA'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'USUARIO'
        DataType = datString
        Size = 100
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Usuario de alta'
        Alignment = taLeftJustify
        DictionaryEntry = 'USUARIO'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'NOMBRE'
        DataType = datString
        Size = 100
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Nombre'
        Alignment = taLeftJustify
        DictionaryEntry = 'NOMBRE'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'FECHAINIOBR'
        DataType = datDateTime
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        DictionaryEntry = 'FECHAINICIO'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'FECHAFINOBR'
        DataType = datDateTime
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        DictionaryEntry = 'FECHAFIN'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CALLE'
        DataType = datString
        Size = 150
        BlobType = dabtUnknown
        DisplayWidth = 0
        DisplayLabel = 'Calle'
        Alignment = taLeftJustify
        DictionaryEntry = 'CALLE'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CODIGOPOSTAL'
        DataType = datString
        Size = 5
        BlobType = dabtUnknown
        DisplayWidth = 0
        DisplayLabel = 'C'#243'd. postal'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGOPOSTAL'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'POBLACION'
        DataType = datString
        Size = 40
        BlobType = dabtUnknown
        DisplayWidth = 0
        DisplayLabel = 'Poblaci'#243'n'
        Alignment = taLeftJustify
        DictionaryEntry = 'POBLACION'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'PROVINCIA'
        DataType = datString
        Size = 30
        BlobType = dabtUnknown
        DisplayWidth = 0
        DisplayLabel = 'Provincia'
        Alignment = taLeftJustify
        DictionaryEntry = 'PROVINCIA'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'TIPO'
        DataType = datString
        Size = 20
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'DIMENSIONES'
        DataType = datInteger
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'HONORARIOS'
        DataType = datFloat
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'IMPORTEHONORARIOS'
        DataType = datCurrency
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'APLICAHONORARIOS'
        DataType = datString
        Size = 1
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'TOTALPRESUPUESTOSINI'
        DataType = datCurrency
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'TOTALPRESUPUESTOSFIN'
        DataType = datCurrency
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CODIGOCONTACTO'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'd. contacto'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGOCONTACTO'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'NOMBRECLIENTE'
        DataType = datString
        Size = 100
        BlobType = dabtUnknown
        DisplayWidth = 0
        DisplayLabel = 'Nombre'
        Alignment = taLeftJustify
        ServerAutoRefresh = True
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'ALMACEN'
        DataType = datString
        Size = 1
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end>
    Params = <>
    MasterMappingMode = mmDataRequest
    StreamingOptions = [soDisableEventsWhileStreaming]
    SchemaCall.MethodName = 'GetDatasetSchema'
    SchemaCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'aDatasetName'
        ParamType = fIn
        DataType = rtString
        Value = 'Obras'
      end>
    DataRequestCall.MethodName = 'GetDatasetDataEx'
    DataRequestCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'DatasetName'
        ParamType = fIn
        DataType = rtString
        Value = 'Obras'
      end
      item
        Name = 'Params'
        ParamType = fIn
        DataType = rtUserDefined
        UserClassName = 'TDADatasetParamArray'
      end
      item
        Name = 'UserFilter'
        ParamType = fIn
        DataType = rtString
        Value = ''
      end
      item
        Name = 'IncludeSchema'
        ParamType = fIn
        DataType = rtBoolean
        Value = False
      end
      item
        Name = 'MaxRecords'
        ParamType = fIn
        DataType = rtInteger
        Value = -1
      end>
    DataUpdateCall.MethodName = 'UpdateData'
    DataUpdateCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'Delta'
        ParamType = fIn
        DataType = rtBinary
      end>
    ScriptCall.MethodName = 'GetDatasetScripts'
    ScriptCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtString
        Value = ''
      end
      item
        Name = 'DatasetNames'
        ParamType = fIn
        DataType = rtString
        Value = 'Obras'
      end>
    ReadOnly = False
    RemoteService = RORemoteService
    Adapter = DABINAdapter
    DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
    MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
    LogicalName = 'Obras'
    IndexDefs = <>
    Left = 184
    Top = 48
  end
  object ds_Obras: TDADataSource
    DataTable = tbl_Obras
    Left = 288
    Top = 48
  end
  object tbl_PresupuestosObra: TDACDSDataTable
    RemoteUpdatesOptions = []
    Fields = <
      item
        Name = 'CODIGO'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'digo'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGO'
        InPrimaryKey = True
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CODIGOOBRA'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'd. obra'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGOOBRA'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CODIGOCONTACTO'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'd. contacto'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGOCONTACTO'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'FECHAALTA'
        DataType = datDateTime
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Fecha de alta'
        Alignment = taLeftJustify
        DictionaryEntry = 'FECHAALTA'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'USUARIO'
        DataType = datString
        Size = 100
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Usuario de alta'
        Alignment = taLeftJustify
        DictionaryEntry = 'USUARIO'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'FECHA'
        DataType = datDateTime
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Fecha presupuesto'
        Alignment = taLeftJustify
        DictionaryEntry = 'FECHAPRESUPUESTO'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CLASE'
        DataType = datString
        Size = 1
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Clase'
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'ACEPTADO'
        DataType = datInteger
        BlobType = dabtUnknown
        DefaultValue = '0'
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Aceptado'
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'TIPO'
        DataType = datString
        Size = 10
        Description = 'Cocina, ba'#241'o, etc'
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Tipo'
        Alignment = taLeftJustify
        DictionaryEntry = 'TIPOPRESUPUESTO'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'DESCRIPCION'
        DataType = datString
        Size = 2000
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Descripci'#243'n'
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'PRESUPUESTOINICIAL'
        DataType = datCurrency
        BlobType = dabtUnknown
        DefaultValue = '0'
        DisplayWidth = 0
        DisplayLabel = 'Presupuesto inicial'
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'PRESUPUESTOFINAL'
        DataType = datCurrency
        BlobType = dabtUnknown
        DefaultValue = '0'
        DisplayWidth = 0
        DisplayLabel = 'Presupuesto final'
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'APLICARETENCION'
        DataType = datInteger
        BlobType = dabtUnknown
        DefaultValue = '0'
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Aplica retenci'#243'n'
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'RETENCION'
        DataType = datFloat
        BlobType = dabtUnknown
        DefaultValue = '0'
        DisplayWidth = 0
        DisplayLabel = 'Retenci'#243'n'
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'TIEMPORETENCION'
        DataType = datString
        Size = 2000
        BlobType = dabtUnknown
        DefaultValue = '0'
        DisplayWidth = 0
        DisplayLabel = 'Tiempo retenci'#243'n'
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'IMPORTERETENCION'
        DataType = datCurrency
        BlobType = dabtUnknown
        DefaultValue = '0'
        DisplayWidth = 0
        DisplayLabel = 'Importe a retener'
        Alignment = taRightJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'NOMBRE'
        DataType = datString
        Size = 100
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end>
    Params = <
      item
        Name = 'CODIGOOBRA'
        DataType = datInteger
        BlobType = dabtUnknown
        Value = ''
        ParamType = daptInput
      end>
    MasterMappingMode = mmParams
    MasterParamsMappings.Strings = (
      'CODIGOOBRA=CODIGO')
    StreamingOptions = [soDisableEventsWhileStreaming]
    SchemaCall.MethodName = 'GetDatasetSchema'
    SchemaCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'aDatasetName'
        ParamType = fIn
        DataType = rtString
        Value = 'PresupuestosObra'
      end>
    DataRequestCall.MethodName = 'GetDatasetDataEx'
    DataRequestCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'DatasetName'
        ParamType = fIn
        DataType = rtString
        Value = 'PresupuestosObra'
      end
      item
        Name = 'Params'
        ParamType = fIn
        DataType = rtUserDefined
        UserClassName = 'TDADatasetParamArray'
      end
      item
        Name = 'UserFilter'
        ParamType = fIn
        DataType = rtString
        Value = ''
      end
      item
        Name = 'IncludeSchema'
        ParamType = fIn
        DataType = rtBoolean
        Value = False
      end
      item
        Name = 'MaxRecords'
        ParamType = fIn
        DataType = rtInteger
        Value = -1
      end>
    DataUpdateCall.MethodName = 'UpdateData'
    DataUpdateCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'Delta'
        ParamType = fIn
        DataType = rtBinary
      end>
    ScriptCall.MethodName = 'GetDatasetScripts'
    ScriptCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtString
        Value = ''
      end
      item
        Name = 'DatasetNames'
        ParamType = fIn
        DataType = rtString
        Value = 'PresupuestosObra'
      end>
    ReadOnly = False
    RemoteService = RORemoteService
    Adapter = DABINAdapter
    MasterSource = ds_Obras
    MasterFields = 'CODIGO'
    DetailFields = 'CODIGOOBRA'
    DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
    MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
    Filtered = True
    Filter = 'CODIGOCONTACTO=10'
    LogicalName = 'PresupuestosObra'
    IndexDefs = <>
    Left = 184
    Top = 216
  end
  object ds_PresupuestosObra: TDADataSource
    DataTable = tbl_PresupuestosObra
    Left = 304
    Top = 216
  end
  object tbl_ContactosObra: TDACDSDataTable
    RemoteUpdatesOptions = []
    Fields = <
      item
        Name = 'CODIGOOBRA'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'd. obra'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGOOBRA'
        InPrimaryKey = True
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CODIGOCONTACTO'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'd. contacto'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGOCONTACTO'
        InPrimaryKey = True
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'NOMBRE'
        DataType = datString
        Size = 100
        BlobType = dabtUnknown
        DisplayWidth = 0
        DisplayLabel = 'Nombre'
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CATEGORIAS'
        DataType = datString
        Size = 1000
        BlobType = dabtUnknown
        DisplayWidth = 0
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end>
    Params = <
      item
        Name = 'CODIGOOBRA'
        DataType = datInteger
        BlobType = dabtUnknown
        Value = 80
        ParamType = daptInput
      end>
    MasterMappingMode = mmParams
    MasterParamsMappings.Strings = (
      'CODIGOOBRA=CODIGO')
    StreamingOptions = [soDisableEventsWhileStreaming]
    SchemaCall.MethodName = 'GetDatasetSchema'
    SchemaCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'aDatasetName'
        ParamType = fIn
        DataType = rtString
        Value = 'ContactosObra'
      end>
    DataRequestCall.MethodName = 'GetDatasetDataEx'
    DataRequestCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'DatasetName'
        ParamType = fIn
        DataType = rtString
        Value = 'ContactosObra'
      end
      item
        Name = 'Params'
        ParamType = fIn
        DataType = rtUserDefined
        UserClassName = 'TDADatasetParamArray'
      end
      item
        Name = 'UserFilter'
        ParamType = fIn
        DataType = rtString
        Value = ''
      end
      item
        Name = 'IncludeSchema'
        ParamType = fIn
        DataType = rtBoolean
        Value = False
      end
      item
        Name = 'MaxRecords'
        ParamType = fIn
        DataType = rtInteger
        Value = -1
      end>
    DataUpdateCall.MethodName = 'UpdateData'
    DataUpdateCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'Delta'
        ParamType = fIn
        DataType = rtBinary
      end>
    ScriptCall.MethodName = 'GetDatasetScripts'
    ScriptCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtString
        Value = ''
      end
      item
        Name = 'DatasetNames'
        ParamType = fIn
        DataType = rtString
        Value = 'ContactosObra'
      end>
    ReadOnly = False
    RemoteService = RORemoteService
    Adapter = DABINAdapter
    MasterSource = ds_Obras
    MasterFields = 'CODIGO'
    DetailFields = 'CODIGOOBRA'
    DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
    MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
    LogicalName = 'ContactosObra'
    IndexDefs = <>
    Left = 184
    Top = 128
  end
  object ds_ContactosObra: TDADataSource
    DataTable = tbl_ContactosObra
    Left = 296
    Top = 128
  end
  object tbl_ProyectosObra: TDACDSDataTable
    RemoteUpdatesOptions = []
    Fields = <
      item
        Name = 'CODIGO'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'digo'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGO'
        InPrimaryKey = True
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'CODIGOOBRA'
        DataType = datInteger
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'C'#243'digo'
        Alignment = taLeftJustify
        DictionaryEntry = 'CODIGO'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'DESCRIPCION'
        DataType = datString
        Size = 100
        BlobType = dabtUnknown
        DisplayWidth = 0
        DisplayLabel = 'Descripci'#243'n'
        Alignment = taLeftJustify
        DictionaryEntry = 'DESCRIPCION'
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'TIPO'
        DataType = datString
        Size = 20
        BlobType = dabtUnknown
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Tipo proyecto'
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end
      item
        Name = 'TERMINADO'
        DataType = datInteger
        BlobType = dabtUnknown
        DefaultValue = '0'
        Required = True
        DisplayWidth = 0
        DisplayLabel = 'Estado'
        Alignment = taLeftJustify
        InPrimaryKey = False
        Calculated = False
        Lookup = False
        LookupCache = False
      end>
    Params = <
      item
        Name = 'CODIGOOBRA'
        DataType = datInteger
        BlobType = dabtUnknown
        Value = ''
        ParamType = daptInput
      end>
    MasterMappingMode = mmParams
    MasterParamsMappings.Strings = (
      'CODIGOOBRA=CODIGO')
    StreamingOptions = [soDisableEventsWhileStreaming]
    SchemaCall.MethodName = 'GetDatasetSchema'
    SchemaCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'aDatasetName'
        ParamType = fIn
        DataType = rtString
        Value = 'ProyectosObra'
      end>
    DataRequestCall.MethodName = 'GetDatasetDataEx'
    DataRequestCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'DatasetName'
        ParamType = fIn
        DataType = rtString
        Value = 'ProyectosObra'
      end
      item
        Name = 'Params'
        ParamType = fIn
        DataType = rtUserDefined
        UserClassName = 'TDADatasetParamArray'
      end
      item
        Name = 'UserFilter'
        ParamType = fIn
        DataType = rtString
        Value = ''
      end
      item
        Name = 'IncludeSchema'
        ParamType = fIn
        DataType = rtBoolean
        Value = False
      end
      item
        Name = 'MaxRecords'
        ParamType = fIn
        DataType = rtInteger
        Value = -1
      end>
    DataUpdateCall.MethodName = 'UpdateData'
    DataUpdateCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtBinary
      end
      item
        Name = 'Delta'
        ParamType = fIn
        DataType = rtBinary
      end>
    ScriptCall.MethodName = 'GetDatasetScripts'
    ScriptCall.Params = <
      item
        Name = 'Result'
        ParamType = fResult
        DataType = rtString
        Value = ''
      end
      item
        Name = 'DatasetNames'
        ParamType = fIn
        DataType = rtString
        Value = 'ProyectosObra'
      end>
    ReadOnly = False
    RemoteService = RORemoteService
    Adapter = DABINAdapter
    MasterSource = ds_Obras
    MasterFields = 'CODIGO'
    DetailFields = 'CODIGOOBRA'
    DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
    MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
    LogicalName = 'ProyectosObra'
    IndexDefs = <>
    Left = 184
    Top = 304
  end
  object ds_ProyectosObra: TDADataSource
    DataTable = tbl_ProyectosObra
    Left = 304
    Top = 304
  end
end
