BASE DE PRECIOS DE LA CONSTRUCCIÓN DE LA COMUNIDAD DE MADRID

 

DEFINICION DEL FORMATO DE INTERCAMBIO ESTANDAR DE BASES DE DATOS DE CONSTRUCCION FIEBDC-3/95


PRESENTACION

La siguiente definición del Formato de Intercambio Estándar de Bases de Datos de Construcción, fue aprobada en diciembre de 1.994, para entrar en vigor a partir del 1 de enero de 1.995 como versión 3.

Este documento se pone a disposición de usuarios y empresas, con la única condición de que cualquier implementación informática del presente formato debe recoger tanto la entrada como la salida de datos.

Este formato pretende abarcar toda la información contenida en las actuales bases de datos de construcción. No todos los desarrolladores de bases de datos necesitarán utilizar todas las posibilidades del formato; así como tampoco todos los programas de mediciones y presupuestos harán uso de toda la información suministrada.

Se prevé además, dentro del propio formato, la posibilidad de ampliación; manteniendo en lo posible la compatibilidad entre versiones en el caso de tratar nuevos contenidos que se prevean en un futuro.

FORMATO FIEBDC-3. ESPECIFICACION.

Toda la información necesaria para reconstruir completamente una base de datos u obra en soportes físico y lógico distintos a aquellos en los cuales se produjo la información es el objetivo del formato FIEBDC, Formato de Intercambio Estándar de Bases de Datos de Construcción.

La información de una base de datos, obra o certificación se dispondrá en cualquier número de archivos en formato FIEBDC, con la extensión ".BC3", teniendo en cuenta que estos archivos ordenados alfabéticamente contengan la información en el orden deseado.

La única limitación de tamaño de cada archivo será la máxima que permita el soporte físico utilizado para su transporte. Si se utiliza algún tipo de compresor de archivos, se deberá incluir en el mismo soporte el descompresor o utilizar un formato autodescomprimible.

El juego de caracteres a emplear en los campos código será el definido por MS-DOS 6.0, incluyendo < . > (ASCII-46), < $ > (ASCII-36), < # > (ASCII-35), < %> (ASCII-37), < & > (ASCII-38), < _ > (ASCII-95).

El fin de línea será el estándar de los archivos MS-DOS (ASCII-13 y ASCII-10). El fin de archivo se marcará según el mismo estándar (ASCII-26). El único carácter de control adicional que se permitirá será el tabulador (ASCII-9).


Cada archivo estará compuesto de registros, zonas de texto entre el carácter de principio de registro < ~ > (ASCII-126) y el siguiente principio de registro o fin de archivo. Los archivos deberán contener registros completos, es decir, la división de archivos se deberá realizar al comienzo de un registro (carácter < ~ >).

Cada registro estará compuesto de campos separados por caracteres < | > (ASCII-124). Todo campo con información tendrá que finalizar con el separador de campos y el registro deberá contener todos los separadores de campos anteriores, aunque no contengan información. No es necesario disponer de finalizadores de los campos posteriores al último con información.

Cada campo estará compuesto de subcampos separados por caracteres < \ > (ASCII-92). El separador final, entre el último dato de un campo y el fin de campo es opcional.

El primer campo de cada registro es la cabecera de registro, una letra mayúscula que identifica el tipo de registro.

Se ignorará cualquier información entre el último separador de campos de un registro (carácter < | >) o el comienzo del archivo y el comienzo del siguiente registro (carácter < ~>).

Se ignorarán los caracteres blancos (32), tabuladores (9) y de fin de línea (13 y 10), delante de los separadores < ~ >, < | > y < \ >.

La disposición de registros dentro de un archivo es completamente libre, pero se garantizará la lectura secuencial de los mismos para evitar ambigüedades en las sustituciones de información.

Los campos vacíos se considerarán SIN INFORMACION, no con información nula, esto permite producir archivos de actualización que contengan únicamente la información en alguno de sus campos y, por supuesto, el CODIGO de referencia.

Para anular un campo numérico deberá aparecer explícitamente el valor 0 (cero).
Para anular un campo alfanumérico deberá aparecer explícitamente el ROTULO NUL.

CONVENIOS DE NOTACION

[a] Indica nada o "a"
{a} Indica cero o más ocurrencias de "a"
(c) Tamaño máximo en número de caracteres del campo

Todos los valores numéricos irán sin separadores de miles y con el carácter punto '.' entre la parte entera y la decimal.

REGISTRO TIPO PROPIEDAD Y VERSION

Este registro se utiliza para documentar la procedencia y el formato de los archivos y, cuando exista, se dispondrá al comienzo del primer archivo.

~V |PROPIEDAD_ARCHIVO | VERSION_FORMATO \ DDMMAA |
PROGRAMA_EMISION| [CABECERA] \ {ROTULO_IDENTIFICACION \ } |

PROPIEDAD_ARCHIVO: Redactor de la base de datos u obra, fecha, ...

VERSION_FORMATO: Versión del formato del archivo, la actual es FIEBDC-3

DDMMAA: DD representa el día con dos dígitos, MM el mes y AA el año, si la fecha tiene menos de 5 dígitos representa mes y año únicamente, si tiene menos de tres, solo el año. Si se identifica la fecha con un número impar de dígitos, se completará con el carácter cero por la izquierda.

PROGRAMA_EMISION: Programa y/o empresa que genera los ficheros en formato BC3.

CABECERA: Título general de los ROTULOS_IDENTIFICACION.

ROTULO_IDENTIFICACION: Asigna secuencialmente títulos a los valores definidos en el campo PRECIO del registro ~C, que tal como se indica en su especificación, puede representar distintas épocas, ámbitos geográficos, etc., estableciéndose una relación biunívoca entre ambos.

REGISTRO TIPO CONCEPTO

Este registro contiene la información básica de un concepto de cualquier tipo, material, auxiliar, partida, capítulo, entidad, documento, etc., tanto en su versión paramétrica como definición tradicional.

~C | {CODIGO \ } |UNIDAD | RESUMEN | { PRECIO \} | { FECHA \ } |TIPO
| CURVA_PRECIO_SIMPLE | CURVA_PRECIO_COMPUESTO |


CODIGO: CODIGO del concepto descrito. Un concepto puede tener varios CODIGOs que actuarán como sinónimos, este mecanismo permite integrar distintos sistemas de clasificación.

Para distinguir el concepto tipo raíz de un archivo, así como los conceptos tipo capítulo, se ampliará su CODIGO con los caracteres '##' y '#' respectivamente; quedando dicha notación reflejada obligatoriamante el el registro tipo ~C ,siendo opcional en los restantes registros del mismo concepto.
Las referencias a un CODIGO con y sin #, se entienden únicas a un mismo concepto.

Unicamente puede haber un concepto raíz en una base de datos u obra, siendo obligatorio que figure.

UNIDAD: Unidad de medida. Existe una relación de unidades de medida recomendadas, elaborada por la Asociación de Redactores de Bases de Datos de Construcción.

RESUMEN: Resumen del texto descriptivo. Cada soporte indicará el número de caracteres que admite en su campo resumen.

PRECIO: Precio del concepto. Un concepto puede tener varios precios alternativos que representen distintas épocas, ámbitos geográficos, etc.

FECHA: Fecha de la última actualización del precio. Cuando haya más de una fecha se asignarán secuencialmente a cada precio definido, si hay más precios que fechas, los precios sin su correspondiente fecha tomarán la última fecha definida.

Las fechas se definirán en el formato DDMMAA; DD representa el día con dos dígitos, MM el mes y AA el año, si la fecha tiene menos de 5 dígitos representa mes y año únicamente, si tiene menos de tres, solo el año. Si se identifica la fecha con un número impar de dígitos, se completará con el carácter cero por la izquierda.

TIPO: Tipo de concepto, Inicialmente se reservan los siguientes tipos:
0(Sin clasificar) 1 (Mano de obra), 2 (Maquinaria y medios aux.), 3 (Materiales)

CURVA_PRECIO_SIMPLE: Indicará una curva de variación del precio unitario correspondiente, según propuesta definida por el Banco de Precios de la Construcción de Aragón (perteneciente a la Diputación General de Aragón).

CURVA_PRECIO_COMPUESTO: incluirá un conjunto de coeficientes de variación de precio en función de la cantidad utilizada de este precio en la obra. Actualmente utilizados por la base de datos de EDETCO.

REGISTRO TIPO DESCOMPOSICION

Este registro contiene la descomposición de un concepto en otros a través de una o dos cantidades. El mismo registro lo emplearemos para definir la descomposición de un concepto tipo unidad de obra en conceptos tipo materiales, mano de obra, maquinaria y auxiliares y para la descomposición de un concepto tipo capítulo en conceptos tipo unidad de obra o subcapítulo.

~D |CODIGO_PADRE | { CODIGO_HIJO \ FACTOR \ RENDIMIENTO \ } |

CODIGO_PADRE: CODIGO del concepto descompuesto.

CODIGO_HIJO: CODIGO de cada concepto que interviene en la descomposición

FACTOR: Factor de rendimiento, por defecto 1.0

RENDIMIENTO: Número de unidades, rendimiento o medición.

El CODIGO_HIJO, cuando es un porcentaje, tiene tres partes:

1.- Prefijo que forma una máscara indicando sobre qué elementos se aplica el porcentaje. Si el prefijo es nulo, el porcentaje se aplica a todas las líneas anteriores.

2.- Un juego de caracteres que puede ser:

'&' para porcentajes acumulables.
'%' para porcentajes no acumulables expresados en tantos por uno.

3.- El resto del CODIGO permite diferenciar un porcentaje de otro.

Ejemplo: LD%N0001

LD - Sobre todas las líneas anteriores cuyo CODIGO comience por LD
% - No acumulable en tanto por uno.
N0001 - CODIGO diferenciador.

El rendimiento será el porcentaje que se aplica sobre las líneas anteriores a la actual y que queden afectadas por la máscara.

Ejemplo de una línea de descomposición: L%N004 \\0.03\

Esta línea representa un porcentaje del 0.03 por uno (3%) de todas las líneas anteriores a la actual, incluso porcentajes, cuyo CODIGO comience por L y cuyo texto estará en la definición del CODIGO 'L%N004'.

REGISTRO TIPO AÑADIR DESCOMPOSICION

Con este registro se pueden añadir líneas de descomposición, el registro tipo ~D cambia la descomposición completa. Para añadir conceptos nuevos a una base de datos, además de definir los registros C,T,L,D,... deberíamos posicionar los nuevos conceptos en el capítulo o capítulos donde queramos situarlos, para ello, es necesario un registro que nos permita añadir una o varias líneas de descomposición por cada capítulo donde queramos posicionar un nuevo concepto.

~Y |CODIGO_PADRE |{CODIGO_HIJO \FACTOR \RENDIMIENTO \} |

Todos los campos tienen el mismo significado que en el registro tipo D.

REGISTRO TIPO TEXTO

Este registro contiene el texto descriptivo de un concepto

~T |CODIGO_CONCEPTO |TEXTO_DESCRIPTIVO |

CODIGO_CONCEPTO: CODIGO del concepto descrito

TEXTO_DESCRIPTIVO: Texto descriptivo del concepto sin limitación de tamaño. El texto podrá contener caracteres fin de línea (ASCII-13 + ASCII-10) que se mantendrán al reformatearlo.

REGISTRO TIPO DESCRIPCION PARAMETRICA

Este registro contiene la descripción paramétrica que incluye la definición de parámetros, descomposiciones, comentario de ayuda a la selección de parámetros, resúmenes, textos, pliegos, claves e información comercial, en función de tablas, expresiones y variables, para una familia de conceptos.

~P |CODIGO_FAMILIA |DESCRIPCION_PARAMETRICA |

CODIGO_FAMILIA: CODIGO del concepto tipo familia descrito.

DESCRIPCION_PARAMETRICA. Ver Anexo 1

REGISTRO TIPO PLIEGOS

Este registro contendrá las diferentes secciones del pliego de condiciones de un concepto. El pliego de condiciones se estructura de forma jerárquica con el Sistema de Clasificación por Codificación y de forma facetada en varias secciones de distinto contenido.
El registro tipo pliego puede adoptar dos formas, cuando el primer campo está vacío, el registro definirá los CODIGOs de cada pliego y sus ROTULOs correspondientes. Este registro es único para una base de datos u obra.


~L| | { CODIGO_SECCION_PLIEGO \ ROTULO_SECCION_PLIEGO \ }|

CODIGO_SECCION_ PLIEGO- CODIGO que define cada SECCION o faceta del pliego.

ROTULO_SECCION_PLIEGO- Definición del ROTULO asociado a cada CODIGO correspon-diente de cada SECCION o faceta del pliego.

Cuando el primer campo no está vacío, identifica a un concepto determinado. Puede haber un registro de este tipo por cada concepto de una base de datos u obra.

~L | CODIGO_CONCEPTO | { CODIGO_SECCION_PLIEGO
\ TEXTO_SECCION_PLIEGO \} |


CODIGO_CONCEPTO - CODIGO del concepto descrito, contenido en la base de datos.

CODIGO_SECCION_PLIEGO - Definición del CODIGO asociado a cada pliego.

TEXTO_SECCION_PLIEGO - Texto asignado a cada faceta o SECCION del pliego de condiciones del concepto.
El pliego de condiciones de cada concepto estará dividido con caracteres '\' en varias secciones o facetas, pensadas para imprimirse juntas o por separado.
Los fines de línea de cada SECCION del pliego se tratarán como en el REGISTRO TIPO TEXTO.

Ejemplo de las secciones de los pliegos definidas para la Base de Datos de Construcción de la Comunidad de Madrid y la Base de Datos de Construcción de la Comunidad Valenciana, indicando CODIGO y ROTULO de la SECCION:

~L| | DES\ DESCRIPCION Y COMPLEMENTOS AL TEXTO
\PRE\ REQUISITOS PREVIOS A LA EJECUCIÓN
\COM\ COMPONENTES
\EJE\ EJECUCION Y ORGANIZACION
\NOR\ NORMATIVA
\CON\ CONTROL Y ACEPTACION
\SEG\ SEGURIDAD E HIGIENE
\VAL\ CRITERIOS DE VALORACION Y MEDICION
\MAN\ MANTENIMIENTO
\VAR\ VARIOS \ |

Otra opción permite asignar el Pliego mediante párrafos de texto asociados a conceptos, utilizando el siguiente esquema de registros, como forma alternativa a la anterior:

~Q | { CODIGO_CONCEPTO \ } | { CODIGO_SECCION_PLIEGO \ CODIGO_PARRAFO
\ { ABREV_AMBITO; } \ } |

~J | CODIGO_PARRAFO | TEXTO_PARRAFO | TEXTO_PARRAFO_RTF |

código_concepto - Código del concepto descrito, contenido en la base de datos. Será único para cada registro ~Q.
Este registro es de sustitución de la información, no es de acumulación.


Código_seccion_pliego - Definición del código asociado a cada pliego. Corresponde al definido en el registro de cabecera de pliego ~L.

CODIGO_PARRAFO - Código del texto asociado a cada sección del pliego.

ABREV_AMBITO - Identificador del ámbito geográfico de la sección del pliego. Se define en un registro propio.

TEXTO_PARRAFO - Texto que define el contenido de los pliegos que se asocian a un concepto y se identifica con CODIGO_PARRAFO.

TEXTO_PARRAFO_RTF - Texto que define el contenido de los pliegos que se asocian a un concepto y se identifica con CODIGO_PARRAFO, con formato RTF, de forma opcional, siendo siempre obligatorio el campo TEXTO_PARRAFO.


REGISTRO TIPO AMBITO GEOGRAFICO

Establece el ámbito geográfico correspondiente a los Pliegos de Condiciones asociados a la Base de Datos. No necesariamente deberá corresponder al campo CABECERA definido en el registro ~V.

~W | { ABREV_AMBITO \ AMBITO \ } |

ABREV_AMBITO - Nombre abreviado que identifica el territorio geográfico al que se referiere. (Comunidad Autónoma, Provincia, Región, Comarca, Localidad, etc...). El identificador < * > (ASCII - 42) indica AMBITO_GENERAL, y representa todo el territorio nacional.

AMBITO - Nombre completo del territorio geográfico.

Existe una relación de abreviaturas recomendadas, elaborada por la Asociación de Redactores de Bases de Datos de Construcción.


REGISTRO TIPO INFORMACION GRAFICA.

~G | CODIGO_CONCEPTO | { ARCHIVO_GRAFICO. EXT \ } |

CODIGO_CONCEPTO: Código del concepto descrito en la base de datos y contenido en ella.
ARCHIVO_GRAFICO. EXT: Nombre del archivo que contiene la información gráfica. Se usarán como referencia programas estandarizados de uso general, para chequear y verificar el contenido del fichero. Estos programas serán:

Ficheros tipo ráster: Extensión .BMP, .PCX : Windows 3.1

Ficheros vectoriales: Extensión .WMF : Windows 3.1
de extensión .DXF : Autocad 12 Windows


REGISTRO TIPO ENTIDAD.

Define las entidades suministradoras de documentación técnica, tarifas de precios y especificaciones de los conceptos contenidos en la Base de Datos.

~E | CODIGO_ENTIDAD | RESUMEN | NOMBRE | { TIPO\ SUBNOMBRE
\ DIRECCIÓN \ CP \ LOCALIDAD \ PROVINCIA \ PAIS \ { TELEFONO; }
\ { FAX; } \ { PERSONA_CONTACTO; } \ } |

CODIGO_ENTIDAD: código del SCc que define a la entidad (empresa, organismo, etc.).

RESUMEN: nombre abreviado de la entidad
NOMBRE: nombre completo de la entidad.

TIPO: se definen los siguientes:
C central.
D delegación.
R representante.

SUBNOMBRE: nombre de la delegación o representante en caso de que sea distinto de la central. Normalmente estará vacio.

DIRECCIÓN \ CP \ LOCALIDAD \ PROVINCIA \ PAIS : será la dirección postal de la entidad con todos sus datos, existiendo una dirección por cada subcampo tipo, de forma ordenada y secuencial.

TELEFONO: números de teléfono de la entidad, de forma ordenada y secuencial respecto al subcampo tipo, separados con el caracter < ; > (ASCII-59). Se indicará con nueve caracteres numéricos, incluido el prefijo de la provincia.

FAX: números de fax de la entidad, con las mismas especificaciones que el campo anterior.

PERSONA_CONTACTO: nombre de las personas de contacto con la entidad y cargo que desempeña, podrá haber varias asociadas a cada subcampo tipo, de forma que estén separadas por el carácter ASCII-59.


REGISTRO TIPO INFORMACION COMERCIAL

El registro tipo información comercial relaciona los conceptos de la Base de Datos con las entidades, empresas, organismos, fabricantes, productos comerciales y tarifa de los mismos:

~O| CODIGO_CONCEPTO | {CODIGO_ENTIDAD \ TARIFA \ } |
{ CODIGO_ENTIDAD \ PRODUCTO_COMERCIAL\ { TARIFA; } |

CODIGO_CONCEPTO: Concepto de la BD al que se asocia un producto comercial.

CODIGO_ENTIDAD: Identificación del fabricante en la BD, de acuerdo con su sistema de clasificación.

PRODUCTO_COMERCIAL: Código del producto, facilitado por el fabricante, que se asocia al código_concepto de la BD. No podrá coincidir nunca con la designación de CODIGO_ENTIDAD.

TARIFA: Importe del producto_comercial de cada fabricante. El número de tarifas y su ordenación corresponderá a la especificación definida en ~V en su campo \ROTULO_IDENTIFICACION\.

REGISTRO TIPO COEFICIENTES.

Indica el número de decimales en cada campo numérico.

~K | DN \ DD \ DS \ DR \ DI \ DP \ DC \ DM | CI |


DN : Decimales del campo número de partes iguales de la hoja de mediciones.
DD : Decimales de Dimensiones de las tres magnitudes de la hoja de mediciones.
DS : Decimales de la línea de subtotal o total de mediciones
DR : Decimales de rendimiento y factor en una descomposición.
DI : Decimales del importe resultante de multiplicar rendimiento x precio
del concepto.
DP : Decimales del importe resultante del sumatorio de los costes directos del concepto.
DC : Decimales del importe total del concepto. (CD+CI).
DM : Decimales del importe resultante de multiplicar la medición total del concepto por
su precio.
CI: Porcentaje de costes indirectos.

REGISTRO TIPO MEDICIONES

En este registro figuran las mediciones (cantidades), en que interviene un concepto de un presupuesto en la descomposición de otro de mayor rango.
En el intercambio de archivos de presupuestos, deberá figurar siempre este registro, exista o no desglose de mediciones.

Cuando se trate de intercambiar una relación de registros ~M que recogen un listado de mediciones no estructurado, no es necesario la disposición de un código raíz ni los registros ~D complementarios. El operador indicará en estos casos cual es el destino de la medición.

~M | [ CODIGO_PADRE \ ] CODIGO_HIJO | { POSICION \ } | MEDICION_TOTAL
| { TIPO \ COMENTARIO \ UNIDADES \ LONGITUD \ LATITUD \ ALTURA \ } |

CODIGO_PADRE: CODIGO del concepto padre o concepto descompuesto del presupuesto.

CODIGO_HIJO: CODIGO del concepto hijo o concepto de la línea de descomposición.

Este campo es opcional en el caso de intercambiar mediciones no estructuradas, es decir, que no pertenecen a la estructura general y completa de un presupuesto.

POSICION: Posición del CONCEPTO_HIJO en la descomposición del CONCEPTO_PADRE, este dato permite identificar la medición cuando la descomposición del concepto padre incluye varios conceptos hijo con el mismo CODIGO, la numeración de las posiciones comenzará con el 1.


El campo POSICION deberá especificarse siempre en intercambio de presupuestos cuando éste sea completo y estructurado, e indicará el camino completo de la medición descrita en la estructura del archivo. Por ejemplo 3 \ 5 \ 2, indicará la medición correspondiente al capítulo 3 del archivo; subcapítulo 5 del capítulo 3; y partida 2 del subcapítulo 5. En mediciones no estructuradas este campo es opcional.

MEDICION_TOTAL: Debe coincidir con el rendimiento del registro tipo '~D' correspondiente.
Incorpora el sumatorio del producto de unidades, longitud, latitud y altura o el resultado de expresiones de cada línea, al leer este registro se recalculará este valor.

TIPO: Indica el tipo de línea de medición de que se trate. Usualmente este subcampo estará vacío. Los tipos establecidos en esta versión son:

'1': Subtotal parcial: En esta línea aparecerá el subtotal de las líneas anteriores desde el último subtotal hasta la línea inmediatamente anterior a ésta.

'2': Subtotal acumulado: En esta línea aparecerá el subtotal de todas las líneas anteriores desde la primera hasta la línea inmediatamente anterior a ésta.

'3': Expresión: Indicará que en el subcampo COMENTARIO aparecerá una expresión algebraica a evaluar. Se podrán utilizar los operadores '(', ')', '+', '-', '*', '/' y '^'; las variables 'a', 'b', 'c' y 'd' (que tendrán por valor las cantidades introducidas en los subcampos UNIDADES, LONGITUD, LATITUD y ALTURA respectivamente); y la constante 'p' para el valor Pi=3.1415926. Si la expresión utiliza alguna variable, ésta será válida hasta la siguiente línea de medición en la que se defina otra expresión.

COMENTARIO: Texto en la línea de medición. Podrá ser un comentario o una expresión algebraica.

UNIDADES, LONGITUD, LATITUD, ALTURA: Cuatro número reales con las mediciones. Si alguna magnitud no existe se dejará este campo vacío.

REGISTRO TIPO AÑADIR MEDICIONES

Igual que el registro tipo ~M pero añade las líneas de medición de este registro a las ya existentes en vez de sustituir toda la medición como hace en aquel.

~N |[CODIGO_PADRE \]CODIGO_HIJO |{POSICION \} |MEDICION
|{TIPO \COMENTARIO \UNIDADES \LONGITUD \LATITUD \ALTURA \} |


REGISTRO TIPO CLAVES

Este registro establece la relación entre CODIGOs y descriptores del tesauro, para permitir la búsqueda de conceptos mediante términos clave.

~A | CODIGO_CONCEPTO | { CLAVE_TESAURO \} |

CODIGO_CONCEPTO: CODIGO del concepto descrito en la base de datos y contenido en ella.

CLAVE_TESAURO: Términos clave relacionados con el concepto. Los términos compuestos (hormigón armado, cartón-yeso, mortero mixto) se identificarán unidos mediante < _ > (ASCII - 95), ( hormigón_armado, cartón_yeso, mortero_mixto...). No está permitido el empleo del espacio en blanco.


REGISTRO TIPO CAMBIO DE CODIGO

Con este registro se posibilita el cambio o anulación de los CODIGOs de los conceptos, única unidad de información que no se podía modificar con los registros definidos anteriormente.

~B |CODIGO_CONCEPTO | CODIGO_NUEVO |

CODIGO_CONCEPTO: CODIGO del concepto a cambiar o anular. Debe existir y pertenece a un concepto contenido en la BD

CODIGO_NUEVO: Nuevo CODIGO para CODIGO_CONCEPTO, no debe existir previamente. Si este campo está vacío, se entiende que hay que eliminar CODIGO_CONCEPTO.


FORMATO FIEBDC-3 RESUMEN.

~V | PROPIEDAD_ARCHIVO | VERSION_FORMATO \ DDMMAA
| PROGROMA_EMISION| CABECERA \ {ROTULO_IDENTIFICACION} |

~C | { CODIGO \ } | UNIDAD | RESUMEN | { PRECIO \ } | { FECHA \ } | TIPO
| CURVA_PRECIO_SIMPLE | CURVA_PRECIO_COMPUESTO |

~D | CODIGO_PADRE | { CODIGO_HIJO \ FACTOR \ RENDIMIENTO \ } |

~Y | CODIGO_PADRE | { CODIGO_HIJO \ FACTOR \ RENDIMIENTO \ } |

~T | CODIGO_CONCEPTO | TEXTO_DESCRIPTIVO |

~P | CODIGO_FAMILIA | DESCRIPCION_PARAMETRICA |

~L | | { CODIGO_SECCION_PLIEGO \ ROTULO_SECCION_PLIEGO \ } |
~L | CODIGO_CONCEPTO | { CODIGO_SECCION_PLIEGO \ TEXTO_SECCION_PLIEGO \} |

~Q | { CODIGO_CONCEPTO \ } | { CODIGO_SECCION_PLIEGO \ CODIGO_PARRAFO
\ { ABREV_AMBITO; } \ } |
~J | CODIGO_PARRAFO | TEXTO_PARRAFO | TEXTO_PARRAFO_RTF |

~W | { ABREV_AMBITO \ AMBITO \ } |

~G | CODIGO_CONCEPTO | { ARCHIVO_GRAFICO. EXT \ } |

~E | CODIGO_ENTIDAD | RESUMEN | NOMBRE | { TIPO \ SUBNOMBRE
\ DIRECCIÓN \ CP \ LOCALIDAD \ PROVINCIA \ PAIS \ { TELEFONO; }
\ { FAX; } \ { PERSONA_CONTACTO; } \ } |

~O | CODIGO_CONCEPTO | {CODIGO_ENTIDAD \ TARIFA \ } |
{ CODIGO_ENTIDAD \ PRODUCTO_COMERCIAL\ { TARIFA; } |

~K | DN \ DD \ DS \ DR \ DI \ DP \ DC \ DM | CIE |

~M | [ CODIGO_PADRE \ ] CODIGO_HIJO | { POSICION \ } | MEDICION
| { TIPO \ COMENTARIO \ UNIDADES \ LONGITUD \ LATITUD \ ALTURA \ } |

~N | [ CODIGO_PADRE \ ] CODIGO_HIJO | { POSICION \ } | MEDICION
| { TIPO \ COMENTARIO \ UNIDADES \ LONGITUD \ LATITUD \ ALTURA \ } |

~A | CODIGO_CONCEPTO | { CLAVE_TESAURO \} |

~B |CODIGO_CONCEPTO | CODIGO_NUEVO |

ANEXO 1.

DESCRIPCION PARAMETRICA.

Un concepto paramétrico es el que define su CODIGO, resumen, texto, pliego, descomposición e información comercial de forma paramétrica, esto es, de una forma variable mediante tablas y expresiones aritméticas y lógicas función de parámetros.

En la descripción paramétrica se encuentran las siguientes sentencias:

Se definen las variables:
%A %B %C %D - Parámetros seleccionados del concepto, de "a" a "z" ~ 1 a 26.
%O %P %Q %R - Parámetros seleccionados de la obra, de "a" a "z" ~ 1 a 26.
%E - Variable que define las condiciones de error.
$A $B $C $D - Textos de los parámetros seleccionados del concepto.
$O $P $Q $R - Textos de los parámetros seleccionados de la obra.
$E - Variable que define los textos de error.

De forma equivalente las variables %O a %R y $O a $R tomarían el valor correspondiente a los valores de los parámetros generales de la obra.

Cualquier variable de la 'A' a la 'Z' tanto numérica (%) como alfanumérica ($) se puede definir o redefinir con cualquier número de dimensiones para ser utilizada posteriormente en expresiones.

Se definen las constantes de la 'a' a la 'z' con los valores numéricos del 1 al 26 respectivamente, para permitir referenciar los parámetros de forma nemotécnica. Para la utilización de otro tipo de caracteres, se determinará en el texto de de la opción del parámetro seleccionado el carácter de sustitución que se desea utilizar, anteponiéndole un carácter especial ' ! ' .Si dicho carácter no existe la sustitución se realiza relacionando el carácter con la posición que ocupa.

Ejemplo:

PBPO.2$ M3 Hormigón $B $A

\ CONSISTENCIA \ plástica \ fluida \ blanda \
\ RESISTENCIA \ H-125 \ H-150 \ H-175 \ H-200 \

El derivado PBPO.2aa sería: M3 Hormigón H-125 plástica

Con el carácter especial:

\ CONSISTENCIA \ !p plástica \ !f fluida \ !b blanda \
\ RESISTENCIA \ !2 H-125 \ !5 H-150 \ !7 H-175 \ !0 H-200 \

El mismo derivado: PBPO.2p2 M3 Hormigón H-125 plástica.

Las variables numéricas deben permitir valores reales en coma flotante de doble precisión (64bits) y las variables alfanuméricas deben poder almacenar textos de cualquier tamaño.


Cualquier variable puede definirse, en la misma asignación, con cualquier número y tamaño de dimensiones (hasta 4), en la definición de dimensiones tendrán que hacerse explícitas todas las dimensiones.

%U=...... # define una variable con un dato numérico
$X(8)=..... # define una lista de 8 datos alfanuméricos
%V(3,4)= ..... # define una tabla con 3 filas y 4 columnas de datos n.

Las variables %E y $E son especiales para devolver errores producidos por selecciones de parámetros no coherentes. En una evaluación secuencial de expresiones, si en una expresión la variable %E adopta un valor distinto de 0, ha habido algún error, se interrumpe la evaluación de expresiones y se presenta el contenido de la variable $E donde se almacena el texto del error producido.
Pueden haber múltiples asignaciones de %E, cada una de ellas precedida de su correspondiente texto de error, asignación de $E.

Las constantes alfanuméricas se definirán entre comillas ($I="incluida parte proporcional").

En la descripción paramétrica podemos encontrar los siguientes tipos de sentencias:

SENTENCIA DE ROTULOS DE PARAMETRO:
\ \ { \ }
Los parámetros definidos, hasta 4, se irán asignando a las variables ABCD en el orden que se encuentren.

SENTENCIA DE ASIGNACION NUMERICA:
=

SENTENCIA DE ASIGNACION ALFANUMERICA:
=

SENTENCIA DE RENDIMIENTO:(CONCEPTOS DESCOMPUESTOS)
: [ : ] Se pueden definir uno u opcionalmente dos rendimientos, el defecto del rendimiento opcional es 1.

SENTENCIA DE MEDIOS AUXILIARES:
%: (en tanto por cien)
%%: (en tanto por uno)

SENTENCIA DE PRECIO:(CONCEPTOS SIMPLES) ::
En caso de figurar conjuntamente un juego de setencias de rendimiento a modo de descomposición y una sentencia de precio, tendrá prioridad la sentencia de precio, ignorando las sentencias de rendimiento.


SENTENCIA DE COMENTARIO:
\ COMENTARIO \ ó \ C \ \
Si existe texto de comentario, se presentará como ayuda a la selección de parámetros junto a las opciones de éstos.

SENTENCIA DE SUSTITICION:
\ RESUMEN \ ó \ R \ \
\ TEXTO \ ó \ T \ \
\ PLIEGO \ ó \ P \ { \ }
\ CLAVES \ ó \ K \ { \ }
\ COMERCIAL \ ó \ F \ { \ \}
Se considera que una sentencia continua en la línea siguiente si:
acaba en un operador
acaba sin cerrar comillas '"'
comienza con '\' y no acaba con '\'

PI, números, "texto" ...

ABS( ), INT( ), SQRT( ) ...

[$%] [A-Z] [(dimensión{,dimensión})]

:
Son aquellas que dan como resultado un número en función de constantes y variables numéricas, expresiones lógicas, funciones y operadores.
por ejemplo: %I= %A + 3.17*(1+%B) + ABS(%P+3.15*%Q)/12000

:
Son aquellas que dan como resultada un texto en función de constantes y variables alfanuméricas, operadores y funciones numéricas.

Una expresión alfanumérica puede incluir expresiones lógicas.
por ejemplo: $I="parte proporcional"+" de perdidas"*(%A>a)
añadir  " de perdidas" a $I si el valor actual de %A es mayor que ó 1.

:
Son aquellas que dan como resultado VERDADERO o FALSO, en expresiones numéricas el verdadero se considera como 1 y el falso como 0, en alfanuméricas el falso se considera suprimir texto.

%I = 323*(%A=a) + 345*(%A=b) + 1523*($I=$A & $J=$B)
$I = "blanco"*(%C=c) + "negro"*(%C=d)

:
En los textos de sustitución la información es un texto constante (sin comillas) con variables embebidas en él. Se consideran variables los caracteres $ y % inmediatamente seguidos por una letra de la A a la Z.


En los textos de sustitución, las variables alfanuméricas se sustituyen por sus contenido de texto correspondiente, las numéricas se sustituyen por las constantes de la "a" a la "z" correspondientes al valor numérico de su contenido.

En la expresión del rendimiento, la primera parte de la sentencia es un texto de sustitución que una vez sustituidas las variables será el CODIGO del concepto al que le correspone la expresión numérica de la segunda parte de la expresión como rendimiento. Si el resultado es 0, se ignora la sentencia y no se considera ese componente o línea de descomposición.

CONVENIOS DE NOTACION (EBNF):

[a] - Indica nada o "a"
{a} - Indica cero o más ocurrencias de "a"
[a-b] - Indica cualquier valor desde "a" a "b" inclusives
[abc] - Indica cualquiera de los valores a, b ó c
- Indica descripción informal
abc - Indica s¡mbolo terminal

%[A-Z] - variable numérica
$[A-Z] - variable alfanumérica
Variables predefinidas:
[%$][ABCD] - parámetros del concepto [%$][OPQR] -parámetros de la obra
[%$]E - variable especial para reportar errores
[%$][A-Z][(dim{,dim})] - variables definibles
# - comentarios (el texto comprendido entre este carácter y el siguiente final de línea exclusive, no se tiene en cuenta)
, - separador de datos
: - definición de rendimiento
:: - definición de precio
%: - definición de medios auxiliares en tanto por cien
%%:definición de medios auxiliares en tanto por uno


OPERADORES NUMERICOS
de menor a mayor precedencia
+ -
* /
^ Operador elevado a


OPERADORES LOGICOS
de menor a mayor precedencia
@ - Operador lógico O
& - Operador lógico Y
<  > <= >=
= <>
! Operador lógico NO

FUNCIONES - VALOR RETORNADO
ABS(n) - Valor absoluto de "n"
INT(n) - Parte entera de "n"
ROUND(n,d) - Redondeo de "n" a "d" decimales
SIN(n), COS(n), TAN(n) - Seno, coseno y tangente (grados sexagesimales)
ASIN(n), ACOS(n), ATAN(n) - Arco seno, arco coseno y arco tangente (gs)
ATAN2(x,y) - Arco tangente con dos parámetros "x" e "y"
SQRT(n) - Raíz cuadrada de "n"
ATOF(a) - Conversión de alfanumérico "a" a numérico
FTOA(n) - Conversión de numérico "n" a alfanumérico


Cada instrucción irá en distinta línea, a menos que la instrucción acabe en un operador en cuyo caso se considera que sigue en la siguiente línea.
Si una línea acaba sin haber cerrado las comillas '"' o delimitador '\', se considerará que sigue en la línea siguiente. Los caracteres fin de línea (ASCII-13 + ASCII-10) contenidos en las descripciones paramétricas se mantendrán al reformatear.


CONTROL DE ERRORES DE SELECCION.

Es frecuente encontrar un gran número de combinaciones de parámetros posibles pero tener pocas de ellas resueltas. Para evitar que el operador del sistema pruebe distintas combinaciones de parámetros consiguiendo en todas ellas un mensaje de error, el sistema debe ser capaz de guiarle en la selección de combinaciones correctas.
Cada vez que el operador define un parámetro, el sistema evaluará todas las sentencias posibles y en las sentencias del tipo:
%E= ...., función de parámetros

Si todos los parámetros intervinientes en la expresión son conocidos, se evaluará ésta y si el resultado fuera de ERROR se presentará la previa definición de $E con el mensaje del error.

Si todos los parámetros menos uno son conocidos, se irá dando valores al parámetro desconocido y evaluando la expresión hasta recorrer todos los valores válidos del parámetro. De alguna forma, el sistema "marcará" los valores que producen ERROR del parámetro estudiado en la pantalla de selección, para ayudar al operador a seleccionar las combinaciones correctas.


Cada vez que se defina o redefina un parámetro el sistema actualizará todos los valores marcados en pantalla, por ejemplo pondrá en "medio brillo" los ROTULOs de las opciones cuya selección no sería compatible con los parámetros seleccionados previamente.

Este sistema de control de errores de selección es sencillo de implementar en cualquier soporte, pero obliga a los redactores de los descompuestos paramétricos a definir explícitamente las combinaciones de parámetros incorrectas, ya que con este método no se podrían encontrar combinaciones no permitidas cuando en la descomposición paramétrica se llama a otros descompuestos o precios paramétricos.

PROCEDIMIENTO DE LECTURA DE DESCRIPCIONES PARAMETRICAS.

Recorrer la descripción paramétrica ejecutando los siguientes pasos:
Eliminar desde el carácter '#' inclusive hasta el siguiente cambio de línea exclusive.
Cambiar tabuladores (9) por caracteres ' ' (32)
Eliminar caracteres ' ' (32) delante y detrás de los caracteres '\'
Unir líneas, eliminando el fin de línea, en líneas que comienzan con '\' y no acaban con '\', que terminan con un operador y en la separación de datos de una variable matricial.
Eliminar todos los caracteres ' ' (32) en zonas no entrecomilladas ("...") o delimitadas (\...\)
Eliminar líneas vacías .
Leer y evaluar secuencialmente las sentencias de la forma:

Si la sentencia comienza con '\' leer el ROTULO hasta el siguiente '\', si el ROTULO es:


COMENTARIO ó C- Palabra o carácter reservado que identifica el siguiente ROTULO entre '\' como comentario a la selección de parámetros.

RESUMEN ó R- Palabra o carácter reservado que identifica el siguiente ROTULO entre '\' como el texto de sustitución del resumen del concepto.

TEXTO ó T- Palabra o carácter reservado que identifica el siguiente ROTULO entre '\' como el texto de sustitución del texto descriptivo del concepto.

PLIEGO ó P- Palabra o carácter reservado que identifica los siguientes ROTULOs entre '\' como los textos de sustitución de las distintas secciones del pliego.

CLAVES ó K- Palabra o carácter reservado que identifica los siguientes ROTULOs entre '\' como los textos de sustitución de los términos claves asociados al concepto.

COMERCIAL ó F - Palabra o carácter reservado que identifica los siguientes ROTULOs entre '\' como los textos de sustitución y tarifas de la información comercial del concepto.

Cualquier otro ROTULO identificará el nombre del siguiente parámetro y los siguientes ROTULOs entre '\' como los ROTULOs de las opciones de dicho parámetro.
Si la sentencia comienza con '::' el resto de la misma debe ser una expresión numérica indicadora del Precio, sólo en familias de conceptos simples (sin descomposición) y sólo puede haber una sentencia de este tipo.

Si la sentencia comienza con '%:' el resto de la misma debe ser una expresión numérica indicadora del Porcentaje de Medios Auxiliares, sólo puede haber una sentencia de este tipo.

En otro caso si la sentencia contiene el carácter ':' la parte anterior a ‚l es un texto de sustitución del CODIGO de una línea de descomposición y la posterior una expresión pum‚rica, o dos separadas por ':', indicadoras de el o los rendimientos de dicha línea de descomposición.


En aquellos casos donde pueda aparecer un carácter '%' seguido de un carácter alfabético que se considere como tal y no como una variable de sustitución, deberá emplearse '%%', para evitar la ambigüedad que se puede producir entre una variable numérica que deba ser sustituida, una sentencia de medio auxiliar o un texto.

El resto de sentencias deberán ser de asignación de la forma variable/s = expresión/es

RESUMEN DE TIPOS DE SENTENCIAS

Después de realizado el filtro descrito arriba, cada línea, tira de caracteres acabada en (ASCII-13)(ASCII-10), será una sentencia de alguno de los siguientes tipos:

{ \ ROTULO_parámetro \ { opción_parámetro \ } (13)(10) }
{ variable = expresión (13)(10) }
{ CODIGO : rendimiento [ : rendimiento ] (13)(10) }
[ %: ó %%: medios_auxiliares (13)(10) ] % (en tanto por cien) %% ( en tanto por uno)
[ :: expresión_precio (13)(10) ]
[ \ COMENTARIO \ ó \ C \ texto_comentario \ (13)(10) ]
[ \ RESUMEN \ ó \ R \ texto_resumen \ (13)(10) ]
[ \ TEXTO \ ó \ T \ texto_descriptivo \ (13)(10) ]
[ \ PLIEGO \ ó \ P \ { texto_faceta_pliego \ }(13)(10) ]
[ \ CLAVES \ ó \ K \ { término_clave \ }(13)(10) ]
[ \ COMERCIAL \ ó \ F \ { CODIGO_producto_comercial \ tarifa \ } (13)(10) ]

ir a inicio

INICIO

> BASE DE PRECIOS

> INFORMACIÓN

> FIEBDC-3/95