public DocDocumentoVO getDocumentoByIdInterno(String idInterno) {
    String qual =
        new StringBuffer()
            .append(" WHERE ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID_FICH, idInterno))
            .toString();

    TableDef tablaDocElectronicos = new TableDef(TABLE_NAME);
    JoinDefinition[] joins =
        new JoinDefinition[] {
          new JoinDefinition(
              new DbColumnDef(tablaDocElectronicos, CAMPO_ID_EXT_DEPOSITO),
              new DbColumnDef(
                  new TableDef(DepositoElectronicoDBEntityImpl.TABLE_NAME),
                  DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT)),
        };

    StringBuffer sqlFrom = new StringBuffer();
    sqlFrom.append(DBUtils.generateLeftOuterJoinCondition(tablaDocElectronicos, joins));

    DbColumnDef[] COLS_DEF_QUERY =
        (DbColumnDef[])
            ArrayUtils.concat(
                new DbColumnDef[] {DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE}, COL_DEFS);

    DocDocumentoVO documento =
        (DocDocumentoVO) getVO(qual, sqlFrom.toString(), COLS_DEF_QUERY, DocDocumentoVO.class);
    if (documento != null) documento.setTipoObjeto(TipoObjeto.ELEMENTO_CF);

    return documento;
  }
  /**
   * Obtiene el documento electrónico.
   *
   * @param id Identificador del documento electrónico.
   * @return Documento electrónico.
   */
  public DocDocumentoVO getDocumento(String id) {
    // HashMap pairs = new HashMap();
    // pairs.put(TABLE_NAME,COL_DEFS);
    // pairs.put(DepositoElectronicoDBEntityImpl.TABLE_NAME,
    // new DbColumnDef [] {
    // new DbColumnDef("nombreDeposito",
    // DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE) });
    // TODO ZMIGRACION BD - OUTER JOIN (PROBADO
    String qual =
        new StringBuffer()
            .append(" WHERE ")
            // .append(DBUtils.generateOuterJoinCondition(DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT,
            // CAMPO_ID_EXT_DEPOSITO))
            // .append(" AND ")
            .append(DBUtils.generateEQTokenField(CAMPO_ID, id))
            .toString();

    TableDef tablaDocElectronicos = new TableDef(TABLE_NAME);
    JoinDefinition[] joins =
        new JoinDefinition[] {
          new JoinDefinition(
              new DbColumnDef(tablaDocElectronicos, CAMPO_ID_EXT_DEPOSITO),
              new DbColumnDef(
                  new TableDef(DepositoElectronicoDBEntityImpl.TABLE_NAME),
                  DepositoElectronicoDBEntityImpl.CAMPO_ID_EXT)),
        };

    StringBuffer sqlFrom = new StringBuffer();
    sqlFrom.append(DBUtils.generateLeftOuterJoinCondition(tablaDocElectronicos, joins));

    DbColumnDef[] COLS_DEF_QUERY =
        (DbColumnDef[])
            ArrayUtils.concat(
                new DbColumnDef[] {DepositoElectronicoDBEntityImpl.CAMPO_NOMBRE}, COL_DEFS);

    DocDocumentoVO documento =
        (DocDocumentoVO) getVO(qual, sqlFrom.toString(), COLS_DEF_QUERY, DocDocumentoVO.class);

    // DocDocumentoVO documento = (DocDocumentoVO) getVO(qual, pairs,
    // DocDocumentoVO.class);
    if (documento != null) documento.setTipoObjeto(TipoObjeto.ELEMENTO_CF);

    return documento;
  }