< Características avanzadas > Programas xjs > Referencia de Objetos > Extensiones de acceso a datos

Referencia de extensiones de acceso a datos

<< Click to Display Table of Contents >>

Navegación:  Características avanzadas > Programas xjs > Referencia de Objetos >

Referencia de extensiones de acceso a datos

Contenidos

Objeto base

Objeto consulta

Objeto transacción

Objeto balance

Objeto filtro

Objeto presupuesto

 

Objeto base

Este objeto es suministrado por la aplicación a los programas XJS permitiendo interactuar con las bases de datos. El tema extensiones de acceso a datos explica como crear una referencia al objeto base y muestra algunos ejemplos de como utilizarlo. En el tema estructura de la base de datos se comenta el modelo de datos utilizado por la aplicación y se describen algunas de las tablas y campos que lo constituyen.

Métodos:

bas.abre (conex) - abre una base de datos existente, el argumento que recibe es la cadena de conexión a la base de datos. Si se trata de una base de datos Microsoft Jet, este argumento será la ruta y nombre del archivo de base de datos. Por ejemplo, bas.abre("c:\\Sigrid3\\Demo.sig"). Si es una base de datos SQL Server u Oracle, hay que suministrar la cadena de conexión. La cadena de conexión puede copiarse del archivo ini (Sigrid.ini) de la carpeta de instalación, ya que en dicho archivo se guardan las cadenas de conexión de las bases de datos abiertas con la aplicación.

bas.agrega (tabla[,cod]) - tabla es una cadena de texto con un nombre de tabla de la base de datos. Inserta un registro en la tabla que recibe como argumento y retorna el ide del registro insertado. El segundo parámetro opcional puede utilizarse para añadir un registro en la tabla cab (parámetros generales) estableciendo al mismo tiempo el campo cod, por ejemplo:

bas.agrega ("cab", "seg_bloivafecha")

bas.apaagrega (apuide, cenide, caaide, debe, haber[, asaide][, delo][, del][, obr][, res][, pos]) - Inserta un apunte analítico. El parámetro apuide será el ide del apunte financiero origen, si el apunte analítico no corresponde al desglose de un apunte financiero, apuide será cero. El parámetro cenide es el ide del centro de coste del apunte, caaide es el ide de la cuenta analítica, debe y haber es el importe del apunte analítico al debe y/o al haber.

Opcionalmente pueden especificarse los parámetros: asiide es el ide del asiento analítico si procedo, delo o código de delegación origen, del o código de delegación a la que se asigna el apunte, obr o código de obra del apunte, res o descripción, y pos o posición dentro de la lista de apuntes del desglose analítico o del asiento analítico.

Retorna el ide del apunte analítico insertado en la tabla apa.

bas.apuagrega (asiide, cueide, debe, haber [,acumula]) - Graba un nuevo apunte contable acumulando a la cuenta correspondiente. Se grabará con el ider de asiento especificado en asiide, para la cuenta que tiene como ide de concepto cueide, y con los importes debe y haber.

El último parámetro opcional, indica si se acumulan el debe y el haber en el asiento para el que se crean los apuntes, por defecto es verdadero, si se indica 0, no se acumularán, pudiendo posteriormente utilizar la función bas.asisalacumula (ide [,grabainfo]) para actualizar el acumulado del asiento. Este parámetro se establecerá a 0 cuando hay que crear un gran número de apuntes incrementando así la velocidad del proceso.

bas.apuinfograba (apuide) - calcula y almacena el valor del campo info para un apunte. Es de utilidad si se ha llamado previamente a apuagrega, pues apuagrega no actualiza el campo info del apunte.

bas.archivo () - Retorna una cadena de texto con el nombre del archivo de base de datos representado por bas.

bas.asiinfograba (asiide) - calcula y almacena el valor del campo info de cada uno de los apuntes del asiento cuyo ide recibe como argumento.

bas.asisalacumula (ide [,grabainfo]) - actualiza los acumulados al debe y al haber del asiento financiero con ide igual al primer argumento. El segundo argumento, opcional, indica se actualizará el campo info de los apuntes del asiento.

bas.balance (archivo.bal) - Retorna una referencia a un objeto balance que permitirá calcular e imprimir el informe definido por el archivo de definición de balance que recibe como argumento. Una explicación del objeto balance se encuentra en el tema extensiones de acceso a datos, y en este mismo tema hay una lista de las propiedades y métodos de este objeto.

bas.busca1 (sql) - Ejecuta la sentencia SQL SELECT que recibe como argumento y retorna el valor correspondiente al primer campo del primer registro recuperado.

bas.buscaN (sql) - Ejecuta la sentencia SQL SELECT que recibe como argumento y retorna una matriz de n filas y m columnas en donde almacena el resultado de la consulta. El elemento [0][0] de la matriz, corresponderá al primer campo o columna enumerada en la cláusula SELECT del primer registro recuperado, el elemento [0][1] almacena la segunda columna, etc.

bas.cabecera (ide) - Retorna el valor de los parámetros de la empresa. Estos valores están almacenados en la tabla cab, que tiene un campo llamado cod y otro llamado dat. El campo cod es un literal que identifica el parámetro del que se trata, y el campo dat almacena el valor del parámetro. Por ejemplo, el registro que tiene en cod el valor asiapecod almacena en dat el prefijo utilizado para el código de asiento de apertura del ejercicio.

bas.cabecera (clave, valor, [empresa=-1]) - Establece un valor para un parámetro general identificado por el código clave en la tabla cab, por ejemplo: bas.cabecera ("eje_mes1", 1). Se puede indicar un número de empresa en el tercer parámetro, -1 es el valor por defecto que indica que se aplicará a la empresa de trabajo,  -99  se utilizará para parámetros especiales comunes a todas las empresas.

bas.cabejeactual () - Retorna el ejercicio de trabajo, o ejercicio actualmente seleccionado en la ventana principal.

bas.cabfecdesde () - Retorna la fecha de inicio del ejercicio actual de trabajo en formato aaaammdd, esta fecha queda determinada por el mes de inicio de ejercicio de los parámetros generales de la empresa. El día de inicio del ejercicio será siempre el día uno.

bas.cabfechasta () - Retorna la fecha de finalización del ejercicio de trabajo (el seleccionado en la ventana principal). Esta fecha será siempre la fecha de inicio de ejercicio más doce meses.

bas.calcula (sql) - Es igual a busca1, ejecuta la sentencia SQL SELECT que recibe como argumento y retorna el valor correspondiente al primer campo del primer registro recuperado.

bas.camgraba (tab, campo, ide, valor) - modifica el registro de ide=ide en la tabla tab=tab estableciendo el campo=campo con el valor=valor. Los argumentos tabla y campo son cadenas de texto que contienen un nombre de tabla y campo de la base de datos, ide será un entero con el identificador del registro a modificar y valor será del mismo tipo del campo que se quiere modificar.

bas.camlee (tab, campo, ide) - Lee un campo de la base de datos retornando el valor leído, tab es el nombre de la tabla a leer, campo es el nombre del campo a retornar, e ide es el número correspondiente al campo ide del registro a leer. Por ejemplo: camlee ("con", "res", 348) retornará la descripción del concepto con ide igual a 348.

bas.coeficientes (coestr[, x=0]) - recibe el campo "coestr" presente en las tablas obr, obrctr y obrfasamb. Opcionalmente también recibe un importe x, al que se le aplicarán todos los coeficientes. Retorna un array con una fila por cada coeficiente con los elementos  cod|res|%|mas_o_for|textot|cal_bas|cal_cuo|cal_tot = código de coeficiente|descripción del coeficiente|porcentaje|máscara o fórmula|texto para el total|base de cálculo|cuota|resultado.

bas.comlineas (comide [,docide1][,docide2]...[,docide10]) -  retorna un array con las líneas del Doc. comparativo de ofertas comide incluidos los datos de las ofertas cuyos ides recibe en docide1, docide2, etc. Cada línea del array de retorno tiene: comlinide, proide, codpro, cod2, res, unimed, tex, can, pre {,docproideN, canN, preN .

bas.conagrega (tipo, cod, res, fec [, ide]) - Inserta un nuevo concepto, el argumento tipo es el número correspondiente al tipo de concepto, estos números pueden consultarse en la ventana Tipos de Conceptos, utilizando preferiblemente las constantes suministradas por la aplicación correspondientes a los tipo: TIPCLI, TIPPRV, etc. El segundo argumento, cod, es el código del concepto, res es el resumen, y fec la fecha de registro en formato numérico aaaammdd.

Puede suministrarse un código completo o una serie seguida de un asterisco, en este caso, la aplicación asignará el siguiente código de la serie suministrada. Por ejemplo cod es igual a FR03/, y el último código de la serie es FR03/001234, el concepto se insertará con el código FR03/001235.

Si la base de datos es multiempresa, el concepto se insertará para la empresa de trabajo seleccionada en la ventana principal, el estado del concepto insertado será el establecido como estado para conceptos nuevos en Tipos de Conceptos.

Se insertará un nuevo registro tanto en la tabla con como en la correspondiente tabla de propiedades del Concepto. El método retorna el ide del concepto insertado, puede utilizarse este ide para modificar el correspondiente registro de la tabla de propiedades.

Por ejemplo: var ide=bas.conagrega (TIPCLI, "PAR_*", "JOSE LUIS LOPEZ CONZALEZ", 20030626").

El último parámetro, opcional, se utiliza para establecer los campos: DEL, DELO, OBR y DOC, de forma que si se indica en este parámetro un ide de un concepto, se copiaran estos campos al concepto que se crea. Es de utilidad por ejemplo en los procesos de contabilización, el asiento se creará con los mismos valores en estos campos que el concepto que se contabiliza.

bas.concopia  (ideori, idedes[, asocia_graficos=0][, copia_tipos_similares=0][, copia_tablas_1N=1][, no_copiar_ides_con=0]) - copia las propiedades del concepto de ide ideori en el concepto idedes.

bas.conelimina (ide) - Elimina el concepto de identificador ide, sus propiedades y resto de datos relacionados.

bas.conexion () - Retorna una cadena de texto con las características del archivo de base de datos representado por la instancia del objeto bas. Por ejemplo, si se conectó a una base de datos Access llamada Demo.sig, la cadena retornada será similar a la siguiente: Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=C:\Program Files\Sigrid\Demo.sig;Mode=Share Deny None;...

bas.conreferencias (conide) - retorna si 1 o 0 según que el concepto de ide=conide esté referenciado o no.

bas.conresumen (formato, ide) - Este método se utiliza para componer el resumen de un concepto a partir de los datos de otro concepto. Es particularmente utilizada en la contabilización de facturas para componer el resumen del asiento contable a partir de los datos de la factura. Retorna una cadena de texto basada en los datos del Concepto con identificador igual a ide , formatea según la cadena que recibe en formato. Admite las siguientes claves en la cadena de formato:

<cod> - se reemplaza por el código del Concepto con identificador igual ide.

<res> - se reemplaza por el resumen.

<fec> - se reemplaza por la fecha.

<fecven> - si es un cobro o pago se reemplaza por la fecha de vencimiento.

<entcod> - si es un concepto con una entidad asociada (facturas) se reemplaza por el código del cliente o proveedor.

<entres> - se reemplaza por el resumen (razón social) del cliente o proveedor.

<confec> - fecha del concepto padre (el padre de un cobro o pago es la factura)

<concod> - código del concepto padre

<conres> - resumen del concepto padre

<docfec> - si es un concepto documento de compra o venta (oferta, pedido, albarán, factura) se reemplaza por la fecha del documento

<doccod> - se reemplaza por el código del documento

<docres> - se reemplaza por el resumen del documento

<codobr> - código de la obra asociada

<resobr> - descripción de la obra asociada

bas.consulta (sql) - Ejecuta la sentencia SQL SELECT que recibe como argumento y retorna un conjunto de registros (recordset) u objeto consulta. El argumento sql ha de ser una cadena de texto conteniendo una sentencia SELECT válida. El objeto consulta retornado tiene sus propios métodos y propiedades que se enumeran en este mismo tema.

bas.copiaregistro (tab, ideori, idedes[, tabdestino][,campos_excluir]) - copia los campos desde un concepto origen ideori a otro destino idedes. Se puede especificar una tabla destino opcionalmente (para tipos con tablas de misma estructura, ej: cli, prv,...). Se pueden especificar campos que se excluirán de la copia.

Ejemplo: campos_excluir="entide,ivaide" (separados por ,)

bas.copiatabla (bas11, tabla[, select]) - Este método copia datos de la base de datos referenciada por bas1 a la base de datos referenciada por bas. El argumento tabla

var bas=base()

var pla=base(0)

pla.abre("C:\\Sigrid3\\Plantillas\\plantilla.sig")

pla.copiatabla (bas, "con", "select * from con where tip="+TIPCAR)

bas.cuabusca ([cue]) - Si no recibe ningún argumento, o el argumento corresponde a una máscara de búsqueda para códigos de cuenta, por ejemplo 43%, entonces se abre la ventana de selección de cuentas, una vez seleccionado el código de cuenta, el método retorna el ide correspondiente a la misma. Si el código de cuenta no existe retorna un cero.

bas.cuenta (ide, cue) - Retorna el ide de una cuenta contable si existe. Recibe como primer argumento el ide de un Concepto de cualquier tipo, y como segundo argumento puede recibir:

1.Un código de cuenta contable auxiliar, por ejemplo "57200010".

2.Un nombre de campo que almacena un ide de una cuenta en la tabla de propiedades del tipo de concepto al que pertenece el ide. Por ejemplo si el primer argumento es un ide de un cliente y el segundo argumento es "cueefeide" retornará el ide de al cuenta de efectos a cobra del cliente.

3.Un código de tipo de cuenta de entre los codificados en la tabla auxiliar auxcuetip. En este caso buscará si el Concepto cuyo ide recibe como primer argumento tiene asociada (Otras cuentas...) una cuenta del tipo recibido en el segundo argumento, en caso afirmativo retornará el ide de la cuenta encontrada.

bas.cuenta ("aux...",  ide) - busca en la tabla auxiliar de cuentas bancarias, auxcue, la cuenta de banco cuyo ide recibe como segundo argumento, analiza el primer argumento, que corresponderá a uno de los campos de esta tabla: por ejemplo auxcom-> cuenta de comisiones, auxgas->cuenta de gastos, etc. y retorna el ide de la cuenta auxiliar almacenada en dicho campo.

bas.cuesustituye (cueidevieja, cueidenueva, fecha1, fecha2, [masres]) - sustituye en los apuntes comprendidos en el periodo fecha1-fecha2, y que opcionalmente su resumen coincida con la máscara masres (por ejemplo: "%nómina%"), la cuenta cueidevieja por cueidenueva.

bas.cypagrdivrennumero (cypide, tip, modo) - retorna el número de agrupaciones, divisiones o renovaciones que ha tenido un efecto (o su cadena de efectos).

tip: 0 agrupaciones, 1 divisiones, 2 renovaciones

modo especial agrupaciones: 0 normal, 1 solo_comprobar_padre_agrupado

bas.deci, bas..decp, bas.decc - retornan el número de decimales para los importes, precios y cantidades respectivamente. Estos valores son los especificados en Parámetros de la empresa.

bas.deloactual - cuando se establece el sistema de seguridad por delegaciones y obras retorna DELO o código de la delegación origen actual del usuario.

bas.delactual - cuando se establece el sistema de seguridad por delegaciones y obras retorna DEL o código de la delegación de trabajo actual del usuario.

bas.doc_lin_agrega (docide, proide, can) - crea una nueva línea de detalle en el documento de ide=docide y retorna el ide de la línea creada. Funciona para los siguientes tipos: DVO, DVP, DVA, DVF, DCO, DCP, DCA, DCF, CER, CTR

bas.dtoaplica (valor, formula_dto, decimales) - retorna el resultado de aplicar la fórmula de descuento formula_dto sobre un valorr. Si no se especifica el número de decimales se suponen los definidos para precios en los parámetros generales de la empresa.

Ejemplos: var x= bas.dtoaplica (100, "10 20", 4) -> x=72 resultado de aplicar un descuento del 10% = 90 y un 20% sobre 90.

               var x=bas.dtoaplica (100, "30%", 2)

bas.ejecuta (sql)) - Ejecuta la sentencia SQL que recibe como argumento. Este argumento corresponde a una cadena de texto que almacena una sentencia INSERT, UPDATE, DELETE válida en lenguaje SQL.

bas.empresa (codemp|numemp) - cambia la empresa de trabajo, recibe el código o el número de la empresa que se quiere establecer como empresa de trabajo, de forma que las subsecuentes llamadas a métodos del objeto base, como  conagrega o usufiltro, considerarán como empresa de trabajo la establecida por este método.

bas.empresaactual () - retorna el número de la empresa de trabajo, o empresa seleccionada en la ventana principal, según se codifican en la tabla auxiliar correspondiente. Retorna 0 cuando la base de datos no está configurada como multiempresa.

bas.faccontabiliza (docide, proide, fec, cod, res[, desglosar_irpf=0] [, modo_fecregiva=0][, modo_conta=0][,asiide_fijo=0][,avisar_si_existe=1]) - contabiliza el documento de compra/venta cuyo ide recibe como primer argumento. Se generará un asiento contable con fecha fec (aaaammdd),  código cod y resumen res, y sus correspondientes apuntes atendiendo a los datos registrados en el documento relativos a las cuentas e importes. Para los apuntes que tengan que tener asociado desglose analítico, registro de IVA o IRPF, se calculará su campo info. Puede generarse el resumen a partir de los datos del documento haciendo una llamada previa a bas.conresumen.

El parámetro proide será el ide del proceso que se está ejecutando, si es cero (0) no se grabará el registro del proceso en la tabla rac.

El parámetro opcional desglosar_irpf indica si se quiere desglosar el IRPF en dos apuntes, por defecto es cero, o se no desglosar.

El parámetro opcional modo_fecregiva permite indicar la fecha del registro de IVA generado al contabilizar el documento, por defecto será la fecha del asiento:

1 -> fecha de registro de IVA es la fecha de alta del documento (con.fec)

2 -> fecha de registro de IVA es la fecha de documento (fecdoc).

El parámetro opcional modo_conta altera el modo de contabilización analítico. Por defecto es cero (0), llevando a cabo la contabilización analítica normal, utilizando el centro de coste u cuenta analítica de las líneas de detalle, o su desglose analítico si existe.

1 -> especial cuentas analíticas de almacén de obra: se utilizan las cuentas del almacén de obra (típicamente para contabilización de albaranes).

2 -> especial IVA diferido se trata normal pero se queda la fecha del registro de IVA a cero (campo regiva.fec)

+10 -> SOLO ALBARANES: se utiliza el importe pendiente de facturar en lugar de el importe total

+1000 -> igual que 0,1 o 2, pero se contabilizan las facturas como albaranes. Se utiliza para contabilización de facturas pendientes de conformar.

Parámetro asiide_fijo para que los apuntes se añadan a un asiento existente. Si es 0 (defecto) se crea un nuevo asiento (de código=cod), en caso contrario se re-utiliza el asiento de ide=asiide_fijo y los apuntes se van añadiendo al mismo asiento.

Parámetro avisar_si_existe, para que avise o no cuando ya existe un asiento asociado al documento.

bas.fircrea (codpro, conide[, amb=-1][, fas=-1][, proponer=""][, importe=0][, docidedestino=0]) - función para crear los bloques de firmas, las firmas no se crean hasta que no se abre la ventana de firmas desde el documento a firmas, se utilizará esta función para forzar su creación sin necesidad de abrir la ventana de firmas.

codpro: es el código del proceso que puede tener los siguientes valores:

"OBRHOJ" Firmar Hoja de contratación

"COMVAL" Validar comparativo

"COAVAL" Validar ampliación comparativo

"DOCVAL" Validar documento

conide: es el ide del documento a firmar.

bas.firfiltro (tabla[, modo=1][, num_firmadas=-1][, filtro_con=""][, busca_mayor_igual=0]) - retorna el filtro (condición para añadir al WHERE) para mostrar los documentos pendientes de firma por parte de un usuario.

modo: 1 funciona igual que la ventan firmas, 2 modo sencilla solo filtra por roles.

num_firmadas: -1 sin uso, N busca que tenga estrictamente N firmas firmadas en ese bloque.

filtro_con: filtro para la tabla con. Ejemplo: "con.tip=15".

busca_mayor_igual: 1 entonces busca que tenga firmas >= que num_firmadas

Por ejemplo, el siguiente código en una carpeta JScript retornaría los Doc. comparativos de ofertas pendientes de firmar por el usuario:

var bas=base

var f1=bas.firfiltro ("con",1,-1,"con.tip="+TIPCOM+" and (con.emp=0 or con.emp="+bas.empresaactual()+")")

if (f1!="") f1=" and "+f1

panejecuta ('SELECT con.ide AS "Ide__o6",con.tip As "Tipo",con.fec AS "Fecha__f10", con.cod AS "Código", '+

                       'con.res AS "Resumen",con.doc as "Expediente", con.ico AS "ico__o",con.fecbaj AS "fecbaj__o" '+

               'FROM con '+

                'WHERE tip='+TIPCOM+f1+' ORDER BY cod')

bas.firfiltro_num (tabla[, modo=1][, num_firmadas=-1][, filtro_con=""][, busca_mayor_igual=0]) - como bas.firfiltro, excepto que en lugar de retornar una condición para añadir al Select, retorna el número de documentos que están pendientes de firmar.

bas.fori (num), bas.forp (num), bas.forc (num) - Retornan una cadena de textos con el número que reciben redondeado a los decimales establecidos en los Parámetros de la Empresa para los importes, precios y cantidades respectivamente. Formatea este número con el separador de miles y separador decimal según la configuración regional del sistema operativo.

bas.gramediciones (tipo, ide, texto_mediciones_en_bc3) - Para grabar mediciones desglosadas para registros de dxxpro.med o obrparpre. Si se trata de una obra será tipo=42(obras), ide=obrparpre.ide. Si es un documento de gestión tipo=8,9,10,.., ide=dvopro.ide, dcopro.ide,....

bas.hmocontabiliza (hmoide,proide,asifec,asicod,asires[,modo][,cue_ctr]) - contabilizar el parte de trabajo de ide=hmoide, proide es el ide del proceso de cambio de estado (conpro.ide), asifec, asicod y asires son la fecha, código y descripción para el asiento y modo puede ser: 0 (analítica), 1 (analítica sin contrapartida al haber), 4 (se graba en el texto del apunte el campo de texto de la línea del parte de trabajo), 10 (financiera, necesita cue_ctr->código contrapartida ), 11 (se genera un apunte financiero por cada línea de la hoja de gastos, además, se graba en el texto del apunte el campo de texto de la línea de la hoja de gastos).

bas.hgvcontabiliza (hgvide, proide, asifec, asicod, asires[,modo]) - contabiliza la hoja de gastos de ide=hgvide, proide es el ide del proceso de cambio de estado (conpro.ide), asifec, asicod y asires son la fecha, código y descripción para el asiento y modo puede ser: 0 (normal), 1 (fras+normal), 2 (fras+gastos), 3 (pago), 4 (pago2), 11 (se genera un apunte financiero por cada línea de la hoja de gastos. Además, se graba en el texto del apunte el campo de texto de la línea de la hoja de gastos).

bas.hpc_lin_agrega (hpcide, proide, can) - crea una nueva línea de detalle en el parte de consumo de ide hpcide, asociando el producto proide y con cantidad can. Retorna el ide línea creada.

bas.invagrega (cod, res, clfide, dcfide[,amoide=0]) - crea un nuevo elemento de inventario (activo) con código cod, descripción res. Puede indicarse un ide de la tabla auxiliar de clases de elementos clfide y el ide de la factura de compra dcfide correspondiente a la adquisición del elemento. Opcionalmente recibe el ide del tipo de amortización aplicable amoide.

bas.invenajena (dvfide) - enajenar activo desde factura de venta dvfide.

bas.linmediciones (tipo, ide[, conformato=0]) - retorna un array con las líneas de las mediciones desglosadas de la línea de detalle de un documento, el tipo será el tipo de documento de (10 Albarán de venta, 11 Factura de venta,...), el ide será el ide de la línea de detalle del documento. En cada línea del array retorna: tipo, comentario,  unidades, longitud,  latitud, anchura,  subtotal, total,  col. Por ejemplo: linmediciones (11, 2123)

bas.loggraba (tabla, ope, ide, comentario) - Añade un registro en el registro de usuarios para dejar constancia de la actividad realizada. El argumento tabla es el nombre de la tabla sobre la que ha actuado el usuario, ope es un código de operación según se especifican más abajo, ide es el identificador el Concepto sobre el que se opera, y comentario es un texto descriptivo. Por ejemplo:

bas.loggraba ("con", 5, 3450, "Proceso de conformación de facturas")

Las operaciones posibles se codifican como sigue:

1 - Alta

2 - Eliminación

3 - Modificación

4 - Impresión de un informe

5 - Proceso de cambio de estado

6 - Acción sobre un proceso

7 - Ejecución de un balance

8 - Baja

20 - Conexión a la aplicación

21 - Desconexión

22 - Cambio de delegación / obra

90 - Ejecución de un proceso con error

99 - Operación varia

bas.loggraba (tabla, ope, tip, cod, res, comentario) - Igual al método anterior, pero en lugar del ide del concepto sobre el que se actúa, recibe el tipo, el código y el resumen del concepto.

bas.monletra(numero) - retorna el importe que recibe como argumento escrito en letra, redondeado a dos decimales. Por ejemplo: bas.monletra(23461.235) retornará VEINTITRÉS MIL CUATROCIENTOS SESENTA Y UN EUROS CON VEINTITRÉS CÉNTIMOS, siempre que se haya establecido en los parámetros de la empresa que el nombre de la moneda base es Euro.

bas.obractual - cuando se establece el sistema de seguridad por delegaciones y obras retorna OBR o código de la obra de trabajo actual del usuario.

bas.obrgenera_hpc (obride, codhpc, fechasta) - para crear un parte de consumo desde los datos de la obra (funciona igual que la Acción Generar Parte de consumo del menú de Acciones del Cuadro Básico).

bas.pagbloqueado (pagide) - retorna si el pago debe bloquearse o no (independientemente de si ya está bloqueado). Retorna el bloide o 0.

bas.precuecobpagrecalcula (cenide, caaide) - Recalcula los campos de cobros/pagos del presupuesto del centro cenide y cuenta caaide.

bas.prvbloqueado (prvide[, fec_emision]) - retorna si al proveedor prvide debe bloquearse sus pagos. Retorna el bloide o 0. Si no se suministra fec_emision entonces la obtiene de la fecha de emisión del pago.

bas.racagrega (conide, asiide, proide) - añade un registro en la tabla de procesos llevados a cabo en los conceptos (tabla rac), siendo conide el ide del concepto afectado por el proceso, asiide el ide del asiento contable generado, si procede, o cero si no se generó asiento, y proide el ide correspondiente al proceso de cambio de estado en la tabla conpro (procesos de conceptos).

bas.refcopia (refide, idedes) - copiar datos desde una refrencia a un cliente o proveedor.

bas.rolacceso (opción, permiso) - retorna si el rol/es del usuario conectado tiene permiso sobre una opción del programa. El primer argumento determina la opción del programa sobre la que se quiere preguntar, estas opciones están codificada en el archivo permisos.txt que se encuentra en la carpeta de instalación de la aplicación. Para los distintos tipos de conceptos el argumento opción se forma con el prefijo TIP seguido del código de tipo de concepto, así, para clientes será TIPTIPCLI, para asientos contables TIPTIPASI, etc. Para las tablas auxiliares el código de opción se compone con el prefijo T_ seguido del código de tabla, por ejemplo T_AUXMUN para la tabla de municipios.

El segundo argumento indica el tipo de permiso sobre el que se quiere preguntar:

1 - Acceso

2 - Edición

3 - Nuevos

4 - Eliminación.

Retorna true si el usuario tiene permiso y false en cado contrario.

Por ejemplo: si se quiere que un usuario que no tenga permiso de acceso sobre pagos reciba un mensaje de error: if (!bas.rolacceso ("TIPTIPPAG", 1)) error ("No tiene permiso de acceso a Pagos")

bas.seriesiguiente (tipo, serie[, codant][, codobr][, codres][, codcen][, coddel][, fecalta]) - retorna el siguiente código dentro de la serie que recibe. El tipo será un número de tipo de concepto, serie puede ser un código correspondiente a la serie o un ide (conser.ide) que la identifica. El resto de los parámetros opcionales se utilizarán para reemplazar las posibles claves dentro de la serie. Si por ejemplo la serie contiene la clave <CODOBR>, en el parámetro codobr se indicará el código de obra que reemplazará a la clave.

Ejemplo : bas.seriesiguiente (11,"FE<EJE><USU>/") -> retornará "FE06PEPE/0001" cuando el ejercicio actual sea 2006 y el usuario de la aplicación PEPE y se defina la serie con 4 dígitos, y sea el primer concepto de tipo 11 que se crea dentro de esta serie.

bas.salregenera ([empresa][,ejercicio]) - recalcula los saldos de las cuentas financieras y actualiza la tabla de saldos (sal). Equivale a seleccionar la opción Herramientas-Chequeo de base de datos-Regenerar saldos contable. Por defecto calcula y actualiza los saldos de las cuentas de todas las empresas de la base de datos, puede indicarse como primer parámetro el número de empresa a regenerar. Por defecto lo hace para todos los ejercicios, pudiendo indicar como segundo parámetro el ejercicio a regenerar

Ejemplo: bas.salregenera (1, 2007) -> recalcula y actualiza en la tabla sal los saldos de las cuentas de la empresa 1 en el ejercicio 2007.

bas.tipos ([cuales]) - retornar un array con los tipos de conceptos actuales de Sigrid. Cada elemento del array contiene el número de tipo de concepto, el código y la descripción

Por ejemplo:

1, CAR, Carpeta

2, ALM, Almacén

...

Si cuales es 0 (valor por defecto) incluirá todos los tipos de conceptos, si es 1 sólo los tipos de conceptos accesibles según los módulos de la instalación o licencia de uso, y 2 los tipos de conceptos para los que el usuario tiene permiso de acceso.

bas.transaccion () - Retorna una referencia a un objeto transacción, este objeto permite iniciar una transacción en la base de datos , de forma que las sentencias SQL programadas hasta el final de la transacción se ejecutarán todas ellas o no se ejecutará ninguna.

bas.usureabre () - para volver a cargar los permisos del usuario actual. Vuelve a cargar sus permisos, delegaciones, obras, etc. Se utilizará cuando el programa xjs modifique los permisos concedidos al usuario.

bas.usuactual () - Retorna una cadena de texto conteniendo el nombre del usuario actual, tal como se codifica en la ventana usuarios/roles y se introduce en al diálogo de identificación de usuarios. Si no se definieron usuarios retornará defecto, que es el usuario por defecto de la aplicación.

bas.usufiltro (tabla[, modo_toda_BD=0]) - Retorna una cadena de texto conteniendo el filtro a aplicar al usuario conectado cuando se ejecuta una consulta sobre la tabla cuyo nombre recibe como argumento. Esta cadena de texto se añadirá a la cláusula WHERE de la sentencia SELECT para asegurarse de que los registros que se recuperarán pertenecen a la empresa de trabajo y a las delegaciones y obras o centros de coste para los que el usuario tiene permisos concedidos. Si el parámetro modo_toda_BD no se aplicará el filtro para la empresa de trabajo recuperando los registros de todas las empresas de la base de datos.

bas.usurol (rol) - Retorna uno (1) o verdadero si el usuario conectado tiene asignado el rol o roles que recibe como argumento, y falso o cero (0) en caso contrario. El argumento rol será un código de rol válido, tal como se especifica en la ventana Gestión de usuarios / roles, o varios códigos de rol separados por comas.

bas.vencimientos (docide[, fec_emision=0]) - Simula la generación de los vencimientos de un documento de compra o venta (oferta, pedido, albarán o factura). Retorna un array con los siguientes datos de los  vencimientos:

Descripción del medio de pago (AUXEFP/AUXEFC.res)

Fecha de vencimiento en formato aaaammdd

Importe del vencimiento

 

Ejemplo: [["Letra" ,20040411,13545.89], ["Pagaré",20040511,13545.90]]

El segundo parámetro opcional, fec_emision, puede ser 0(defecto) o una fecha en formato aaaaammdd para especificar una fecha distinta de la del documento a partir de la cual se calcula la fecha de vencimiento.

bas.xmlapuexporta (mas_apu, filsalida, [verlog]) - exporta en el archivo filsalida los apuntes financieros que cumplan la condición mas_apu en formato XML. verlog indica si se mostrará el diálogo de Fin de proceso para poder Ver Avisos o log del proceso, 0 no mostrar, 1 mostrar (valor por defecto).

Por ejemplo: bas.xmlapuexporta (" apu.cod like 'FR03%'", "C:\\AppPS\\Sigrid3\\Temporales\\APUS.XML", 1)

Crea el archivo C:\AppPS\Sigrid3\Temporales\APUS.XML y volcará en él, en formato XML, los apuntes cuyo código comienza por FR03%.

bas.xmlapuimporta (filentrada) - importa los apuntes financieros contenidos en filentrada en formato XML.

 

Objeto consulta

Un objeto de esta clase es retornado por el método consulta del objeto base y lo representamos en este tema por la variable rs (Record Set). Al crear el objeto consulta quedará apuntando al primer registro recuperado por la sentencia SELECT. El tema extensiones de acceso a datos contiene algunos ejemplos de como utilizar el este objeto.

Métodos:

rs.BOF ()- almacena true (verdadero) si el puntero del conjunto de registros alcanzó el primer registro y false (falso) en caso contrario. Si al invocar el método consulta no se recuperó ningún registro, entonces BOF será verdadero. También lo será cuando se invoca el método mueveant estando el puntero en el primer registro del objeto rs.

rs.camnombre (n) - retorna el nombre del campo o columna n. El argumento n que recibe puede ser: el número de columna que le corresponde en la sentencia SELECT, comenzando por cero; o una cadena de texto con el alias de la columna en la sentencia SELECT.

rs.campo (n) - retorna el valor de la columna n del registro actualmente seleccionado en el conjunto de registros rs.

rs.camtamaño (n) - tamaño en bytes de la columna n.

rs.camtipo (n) - retorna un código correspondiente al tipo de dato de la columna n. La siguiente tabla muestra la equivalencia entre el código retornado y el tipo de dato en una base de datos Access:

Código     Tipo de dato

2                dbByte

4                dbLong

7                dbDouble

8                dbDate

10               dbText

11               dbLongBinary

12               dbMemo

17               dbVarBinary

rs.columnas () - retorna el número de columnas del conjunto de registros o consulta rs. Este número de columnas es el número de campos especificado en la cláusula SELECT especificada en el método consulta que retornó el objeto rs.

rs.EOF ()- almacena true (verdadero) si el puntero del conjunto de registros alcanzó el último registro y false (falso) en caso contrario. Si al invocar el método consulta no se recuperó ningún registro, entonces EOF será verdadero. También lo será cuando se invoca el método muevesig estando el puntero en el último registro del objeto rs.

rs.mueveant () - el puntero de la consulta se posiciona en el registro previo al actual, de forma que al invocar el método campo retornará los valores almacenados en este registro. Si el puntero se encontraba en el primer registro y se invoca mueveant, BOF() retornará verdadero (true), y los valores retornados por el método campo serán de tipo "undefined".

rs.muevepri () - el puntero se posiciona en el primer registro del conjunto de registros.

rs.muevesig () - el puntero se posiciona en el siguiente registro. Si no existiera el siguiente registro por estar posicionado en el último, entonces EOF() retornará verdadero y el método campo retornará "undefined".

rs.mueveult () - el puntero se posiciona en el último registro del conjunto de registros rs.

rs.numero() - retorna el número de registros o filas del conjunto de registros recuperados.

 

Objeto transacción

Es retornado por el método transaccion del objeto base. El tema extensiones de acceso a datos incluye una sección dedicada a este objeto.

Métodos:

tra.aborta () - Deshacer los cambios realizados en la base de datos desde la última llamada al método inicia. Equivale a un ROLLBACK en lenguaje SQL.

tra.inicia () - Inicia una transacción en la base de datos para la que fue creado el objeto tra.

tra.termina () - Finaliza la última transacción iniciada grabando los cambios en la base de datos. Equivale a la sentencia COMMIT.

 

Objeto balance

Es el objeto retornado por el método balance del objeto base. Este objeto se utiliza para obtener los informes correspondientes a la presentación anual de cuantas en el registro. Facilita la tarea de interpretar los archivos de definición de balances.

Métodos:

bal.abre (archivo.bal) - Abre y lee el archivo de definición de balances (.bal).

bal.archivo () - Retorna una cadena de texto con el nombre completo del archivo de definición de balances que el objeto bal ha leído en su construcción o ha leído invocando el método abre. Si se creó el objeto pero no se ha leído ningún archivo retorna una cadena vacía ("")

bal.calcula ([mes][, año]) - Interpreta las expresiones de las líneas del archivo de definición de balance calculando los importes resultantes, estos importes son los retornados por método imp. Si no recibe ningún argumento, considerará los saldos de las cuentas a 31 de diciembre del ejercicio actualmente seleccionado en la ventana principal.

Si se especifica un mes, tomará los saldos de las cuentas del ejercicio actualmente seleccionado en la ventana principal al último día del mes que recibe como argumento.

Si recibe un mes y un año tomará los saldos de las cuentas en el último día del mes y año que recibe como argumento.

Este método es mucho más rápido que el método calculafil, ya que mientras que éste utiliza la tabla de saldos calculados, calculafil realiza una consulta a la base de datos para determinar el saldo sumando los apuntes habidos en el periodo.

bal.calculafil (fec1, fec2[,mas]) - Igual que calcula pero obteniendo los saldos para el periodo comprendido entre las fechas que recibe como argumento, ambas fechas serán números conteniendo una fecha en formato aaaammdd (año, mes, día).

El tercer argumento, opcional, permite establecer una máscara para los apuntes, se trata de una cadena de texto que se añadirá a la cláusula where al leer los apuntes, lo que permite excluir del balance determinados apuntes, por ejemplo el asiento de cierre. Esta máscara puede también aplicarse al código de delegación y obre almacenado con el apunte para poder extraer el balance de una determinada delegación/obra. Por ejemplo:

   calculafil (20030101, 20031231, " and apu.cod not like 'AAA%' and apu.del='DELB'")

bal.calculafil (centro, fec1, fec2[,mas]) - Calcula, al igual que los dos métodos anteriores, pero en este caso considera que las cuentas de las expresiones del archivo de balance son cuentas analíticas, por lo que obtendrá sus saldos analíticos en el periodo comprendido entre fec1 y fec2. El argumento centro será un código de centro de coste o una máscara para el código de centro de coste, por ejemplo "CC01%" para las cuentas de los centros de coste cuyo código comienza por CC01, o "%" para todos los centros de coste. Los argumentos de fecha son números conteniendo una fecha en formato aaaammdd. El tercer argumento, opcional, permite establecer una máscara para los apuntes.

bal.calculapre (fec1, fec2[,pre]) - Igual al método calculafil, pero en este caso realiza los cálculos con los presupuestos de las cuentas financieras referenciadas, los argumentos fec1 y fec2 determinan el periodo para el cual se quiere obtener el presupuesto, espera recibir números que expresan una fecha en formato aaaammdd. El tercer argumento es un número de 1 a 4 que indica el presupuesto que se quiere obtener: Presupuesto, Pres. modif., Pre. 3 o Pre. 4, por defecto su valor es 1, que corresponde con el Presupuesto.

bal.calculapre (centro, fec1, fec2[,pre]) - Realiza los cálculos con los presupuestos de las cuentas analíticas referenciadas.  El argumento centro será un código de centro de coste, o una máscara para el código de centro de coste, o "%" para incluir todos los centros de coste. Los otros tres argumentos se interpretan igual que cuando es invocado para el cálculo de presupuestos financieros.

bal.cod (l) - Retorna el código de la línea l.

bal.des (l) - Retorna la descripción de la línea l.

bal.eleescue (l, e) - Retorna verdadero cuando el código del elemento e de la expresión de la línea l  corresponde con un código de cuenta, ya sea analítica o financiera, de mayor o auxiliar.

bal.elecnd (l, e) - Retorna verdadero cuando el elemento e de la expresión de la línea l está precedido por el símbolo > o <. Es decir, si el resultado está condicionado (ver archivos de definición de balances).

bal.elecndpri (l, e) - Retorna verdadero cuando el elemento está precedido del símbolo *. Es decir, si la condición es prioritaria.

bal.elecod (l, e) - Retorna el código del elemento e de la línea l. Supongamos por ejemplo que la expresión de la línea 29 es:

    > B05+B06+B07+B08-A07+A08-A09

Al invocar bal.elecod (29, 2) retornará B07.

bal.eleide (l, e) - Retorna el ide de la cuenta cuando el código del elemento corresponde con un código de cuenta, y el número de línea en el archivo de definición de balance cuando corresponde con un código de línea del archivo.

bal.eleimp (l, e) - Retorna el importe del elemento.

bal.elementos (l) - Retorna el número de elementos de la expresión de la línea l.

bal.eleneg (l, e) - Retorna verdadero cuando el elemento e de la expresión de la línea l está precedido del signo negativo. Así en la expresión:

   > B05+B06+B07+B08-A07+A08-A09

eleneg será verdadero para los elementos de código A07 y A09, y será falso para el resto.

bal.exp (l) - Retorna la expresión de la línea l.

bal.niv (l) - Retorna el nivel de la línea l.

bal.numero () - Retorna el número total de líneas del archivo de definición de balance.

bal.imp (l) - Retorna el importe calculado resultante de interpretar la expresión de la línea l.

bal.pre (l) - Retorna el prefijo de la descripción de la línea l. Por ejemplo: A) o 1.

bal.pyd (l) - Retorna el texto completo de la línea l. Es decir, el prefijo más la descripción.

bal.tip (l) - Retorna el tipo de línea.

   1 línea de título

   2 línea de calculo o tipo C

   3 línea de total o tipo T

   4 líneas de subtotal o tipo S

bal.titulo () - Retorna el título de balance o texto que sigue a los caracteres =TIT en el archivo de definición del balance.

 

Objeto filtro

Es el objeto retornado por el método filtro del objeto base. Este objeto se utiliza para un filtro de apuntes analíticos o financieros que facilita el calculo de acumulados para una cuenta en un periodo.

En bases de datos multiempresa, al crear un objeto filtro puede especificarse sobre que empresas actuará el filtro. Para ello se pasa como argumento una cadena de texto que se añadirá al la cláusula where del select de lectura de las cuentas, por ejemplo, para obtener acumulados de las empresas 1 y 2:

var bas=base()

var fempresas=" con.emp in (1, 2)"

var fil=bas.filtro(fempresas)

Métodos:

fil.abre (fec1, fec2[,mas]) - lee los apuntes financieros en el periodo comprendido entre fec1 y fec2. Los argumentos son fechas numéricas en formato aaaammdd. El tercer argumento, opcional, permite establecer una máscara para los apuntes, tal como se explica en el método calculafil del objeto balance.

fil.cenabre (mascen, fec1, fec2[,masapu]) - lee los apuntes analíticos, siendo el primer argumento una máscara para el código de centro de coste, puede suministrarse vacío para que se incluyan los apuntes de todos los centros de coste, o bien indicar un ide de centro de coste para obtener los datos de un sólo centro. El segundo y tercer argumento establecen el periodo para filtrar los apuntes. El tercer argumento, opcional, determina una máscara para el código de los apuntes.

fil.debe (cuecod) - retorna el debe del periodo de la cuenta cuyo código recibe como argumento. El código puede corresponder a una cuenta analítica o financiera, y puede ser una cuenta auxiliar o grupo.

fil.haber (cuecod) - retorna el haber del periodo de la cuenta cuyo código recibe como argumento. El código puede corresponder a una cuenta analítica o financiera, y puede ser una cuenta auxiliar o grupo.

fil.saldo (cuecod) - retorna el saldo del periodo de la cuenta cuyo código recibe como argumento. El código puede corresponder a una cuenta analítica o financiera, y puede ser una cuenta auxiliar o grupo.

fil.sql () - retornar sentencia SQL que está utilizando el filtro.

fil.traza_write () - muestra en el Bloc de notas, utilizando writeline, la traza (debug) del filtro actual. Vuelca la sentencia SQL ejecutada, y los datos recuperados.

 

Objeto Presupuesto, Partida y Descompuesto

Se crea una referencia a este tipo de objeto invocando presupuesto:

var bas=base();

var pre=bas.presupuesto

 

Métodos y propiedades:

pre.abre (obride[,ctride][,expide]) - lee el árbol presupuestario (capítulos/partidas) de la obra cuyo ide recibe como primer parámetro, puede recibir el ide de un contrato de compra de la obra y el ide de un expediente, en este caso sólo se leerán las partidas presupuestarias asociadas al contrato y expediente indicados.

pre.aplica_coe (x, ctride) - aplica al número x los coeficientes del contrato de la obra de ide=ctride retornando el valor resultante.

pre.consulta (N, selectSQL) - ejecuta la consulta que recibe en la cadena de texto selectSQL y la identifica con el número entero N para posteriores referencias a la misma. Se utilizará básicamente para recuperar los importes incurridos en las partidas de la obra, la consulta tendrá como primer campo el ide de la partida, por ejemplo para obtener el incurrido en cada partida en albaranes de compra:

                       "select paride, Sum(tot) from dcapro where obride=12345"

El epígrafe Obras/Proyectos: el objeto Presupuesto incluye un ejemplo de este método.

pre.decc - número de decimales a utilizar en mediciones establecidos en la parametrización del presupuesto para la obra obride especificada en el método abre.

pre.deci - número de decimales a utilizar en importes establecidos en la parametrización del presupuesto para la obra obride especificada en el método abre.

pre.decp - número de decimales a utilizar en precios establecidos en la parametrización del presupuesto para la obra obride especificada en el método abre.

pre.decr - número de decimales a utilizar en rendimientos establecidos en la parametrización del presupuesto para la obra obride especificada en el método abre.

pre.masniv - máscara de niveles establecida en la parametrización del presupuesto para la obra obride especificada en el método abre.

pre.numero - número de capítulos/partidas del presupuesto, y opcionalmente del contrato-expediente.

pre.obride - ide de la obra para la que se abrió el presupuesto.

pre.partida(i)- retorna el objeto partida de índice i, a través de este objeto pueden obtenerse los datos de cada capítulo/partida.

pre.presupuestos (ambito, fase[, actualiza_arbol=1]) - una vez abierto el árbol presupuestario, este método calcula el presupuesto para un ámbito-fase/versión determinadas. El primer parámetro es el ide del ámbito, y el segundo el número de fase o versión. Consultar en el epígrafe Obras/Proyectos: el objeto Presupuesto el ejemplo de como utilizar el objeto presupuesto. Como tercer parámetro opcional se indicará si se actualiza o relee el árbol de capítulos-partidas, por ejemplo: al crear el objeto presupuesto se incluirán todos los capítulos-partidas, al calcular el presupuesto para el ámbito de venta habrá que actualizar el árbol para que no incluya las partidas de indirectos y proporcionales.

pre.resumen_ctr_exp ([con_coeficientes=0]) - retorna un array de contratos y expedientes de la obra de la siguiente manera: ctride|expide|expide_sitide|tot_fase0|tot_faseN|tot_ctr_exp|.

Opcionalmente admite un parámetro para especificar que se obtengan las cifras con coeficientes (solo aplicable a tot_fase0|tot_faseN).

pre.total - importe total del presupuesto.

pre.total_coe - importe total del presupuesto con coeficientes aplicados.

pre.totalori - importe total del presupuesto a origen.

pre.totalori_coe - importe total del presupuesto a origen con coeficientes.

pre.TOTdesnumero ([que=0]) - retorna número de elementos de la descomposición (que=0) o de líneas de planificación de compras (que=1).

pre.TOTdescompuesto (i) - retorna el descompuesto i (que=0).

pre.TOTdescompuesto (que, i) - retorna el descompuesto i (que=0) o planificación de compras i (que=1).

Objeto Partida

Una vez abierto el árbol presupuestario (pre.abre) y calculado el presupuesto (pre.presupuestos) para un ámbito-fase/versión determinados, se accede a los datos de cada elemento (capítulo/partida) a través del objeto partida:    par=pre.partida(i).

El epígrafe Obras/Proyectos: el objeto Presupuesto incluye una explicación de este objeto y un ejemplo de su utilización.

par.caaide - ide cuenta analítica asociada al capítulo/partida.

par.caaidecod - código de la cuenta analítica.

par.caaideres - descripción de la cuenta analítica.

par.can - medición parcial.

par.canant - medición anterior.

par.canori - medición origen.

par.cod - código de capítulo/partida.

par.comple - completada: 0:no 1:si.

pre.comprobar_pre () - retorna el número partidas que tienen errores de precio<>descomposición. Retorna 0 si no existen discrepancias.

pre.comprobar_med () - retorna el número partidas que tienen errores de medición<>mediciones_desglosadas. Retorna 0 si no existen discrepancias.

par.consulta (N) - retorna importe para la partida el resultado de la consulta ejecutada anteriormente con el identificador N. Consultar el ejemplo del epígrafe Obras/Proyectos: el objeto Presupuesto.

par.cosindide - ide del tipo de coste indirecto del capítulo/partida (índice a auxobrcin).

par.cosindidecod - código de tipo de coste indirecto (auxobrcin.cod).

par.cosindideres - descripción del tipo de coste indirecto (auxobrcin.res).

par.ctride - ide del contrato de la obra asociado a la partida

par.ctridecod - código del contrato de la obra asociado a la partida

par.ctrideres - descripción del contrato de la obra asociado a la partida

par.desnumero ([que]) - retorna el número de elementos de la descomposición (que=0), o de la planificación de compras de la partida.

par.descompuesto (i) - retorna el descompuesto i cuando que=0, o la línea de planificación i cuando que=1.

par.descompuesto (que, i) - retorna el descompuesto i cuando que=0, o la línea de planificación i cuando que=1.

par.expide - ide del expediente asociado.

par.expidecod - código del expediente asociado.

par.expideres - descripción del expediente asociado.

par.fecfin - fecha de fin prevista.

par.fecini - fecha de inicio prevista.

par.formul - formula de coste indirecto.

par.graba_totinc (tot_incurrido) - grabar el importe tot_incurrido coste incurrido de una partida o capítulo en la tabla obrparpre.

par.haydes - tiene descomposición 0:no 1:si

par.haymed - tiene medición desglosada: 0:no 1:si

par.imp - importe parcial.

par.imp_coe - importe con coeficientes.

par.impinc - retornar el importe incurrido de una partida en un ámbito - fase. El importe incurrido se calcula ejecutando la acción Calcular incurrido y se almacena en la base de datos.

par.impori - importe origen.

par.impori_coe - importe origen con coeficientes.

par.mediciones([conformato]) - retorna un array de dos dimensiones con las mediciones desglosadas de la partida:

0=tipo, 1=comentario,  2=unidades, 3=longitud,  4=latitud, 5=anchura,  6=subtotal, 7=total,  8=col, 9=fase en la que se ha certificado la línea.

par.niv - nivel, comenzando por 1 para los capítulos de primer nivel.

par.obrparparide - ide de la partida en la tabla obrparpar.

par.obrparpreide (crea) - retorna el ide de la partida en la tabla obrparpre para el ámbito-fase especificado en la llamada a pre.presupuestos. Retorna 0 si no existe actualmente y el parámetro crea es 0. Se da de alta cuando no existe y crea es 1. Es necesario especificar el parámetro (1 o 0) indicando si se quiere sólo devolver obrparpre.ide o se quiere crear el registro en caso de que no exista.

par.padide - ide de su capítulo padre en la tabla obrparpar.

par.planificacion - retorna un array con los % de planificación (independiente de fase) -- Ej.: [0,0,10,10,20,50,90,100,0,0]

par.platemporal - retorna una cadena de texto con la planificación temporal de la partida para el ámbito-fase. Por ejemplo si se estableció 25%, 50%, 75%, 100% retornará 0.25|0.5|0.75|1.

par.porcen - % completada.

par.pre - precio.

par.proide - ide de la unidad de obra (producto) asociado.

par.proidecod - código de la unidad de obra (producto).

par.proideres - descripción de la unidad de obra (producto).

par.res - descripción del capítulo/partida.

par.tex - texto largo.

par.tip - tipo: 0:CAPITULO 1:PARTIDA

par.tipcos - tipo de coste 0:directo 1:indirecto

par.tipmed - tipo de medición 0:cantidades 1:importes

par.unimed - unidad de medida

Objeto Descompuesto

El métodos par.desnumero permite saber el número de elementos de la descomposición de la partida o el número de líneas de planificación de compras. Un bucle de 0 a par.desnumero invocando par.descompuesto dará acceso a las líneas de planificación o elementos de la descomposición de la partida. El epígrafe Obras/Proyectos: el objeto Presupuesto incluye  un ejemplo de utilización de este objeto.

var des=par.descompuesto (0, i)        / par.decompuesto (1, i)

des.cod - código producto

des.ide - si se solicitó planificación, retorna el ide de la línea documento de planificación de compras (dncpro.ide).

des.imp - importe = rendimiento x precio.

des.natide - ide de la naturaleza del producto.

des.natidecod - código de la naturaleza del producto.

des.natideres - descripción de la naturaleza del producto.

des.pre - precio.

des.proide - ide del producto ("con" o "pro")

des.proidecla - Retorna la clase del producto

   0 Ninguna

   1 Comentario

   2 Servicio

   3 Producto

   4 Producto compuesto

   5 Producto compuesto virtual

   6 Materia prima

   7 Unidad de obra

   8 Obras: Mano de obra

   9 Obras: Maquinaria

   10 Obras: Material

   11 Obras: Subcontratas

des.ren - rendimiento

des.res - descripción producto

des.tex - texto Largo

des.unimed - unidad de medida