API de la aplicación Ingrid 9

Sección: js

Módulo: ingrid.BasiliscoBase..js

Documentos {_id,cla,cod}

dCompleta (d, forzado) Completa d|id > {_id,cla,cod}, comprueba retorna null si incorrecto, si forzado fuerza valido con '_'
aClase (d) Obsoleta, utilizar Clase. De documento a clase, admite también _id y código de clase, aClase de clase la misma
clase (d) Código de clase del documento, admite también _id e {_id}
codigo (d) Código de concepto del documento, admite también _id e {_id}
Clases
esParticular (clacod) Es la clase o subclase particular (tiene estados particulares) ('',car,bus,pro)
resumenEnSingular (d) Resumen de la clase en singular, antes singular
M20230413
buscaIngridClase (clacod, nombre) Busca clase extendida: ingrid.<clacod>.nombre para clacod y superiores
Icos
Permisos
visible (d) ¿Tiene el usuario permisos para visibilizar el documento?
editable (d) ¿Tiene el usuario permisos para editar el documento?
creable (d) ¿Tiene el usuario permisos para crear el documento?
eliminable (d) ¿Tiene el usuario permisos para eliminar el documento?
ejecutable (d) Pemiso de ejecución del documento (5super 4admin 3exper 2tecni 1opera)
conTraza (d) Si clase con campos con traza no editable entabla
bas.Modifica () Utilidad para modificar conceptos, cada NUMERO a modificar graba
oo.pon (doc, data, comprueba1) Graba doc._id y data, o (doc,cam,val,comprueba) o (doc)
oo.graba (cbo) Graba conceptos modificados al terminar, cada NUMERO o bajo petición
oo.termina (rotulo, cbo) Graba conceptos modificados sin grabar, cbo({error,docn,ms}), si !cbo ingra.dialogoError o dialogoInforma
bas.Agregador (...al) Obsoleto > bas.Modifica

Módulo: ingrid.Basilisco.js

Basilisco () Clase que representa a una BASE DE DATOS, vas bas= new Basilisco();
bas.enviaServidor (orden, meta, cb) Envia petición al servidor
Util
bas.mapReduce (meta, cb) Envia una operación de mapReduce al seridor, {map,reduce:null,query,scope} > {error|docl:[{_id,value}]}
bas.opera (meta, cb) Envia una operación de operar al servidor, {find,cod,val,ini,num} > {}

Módulo: ingrid..js

ingrid.clase (d) Código de clase del documento, admite también _id e {_id}
ingrid.codigo (d) Código de concepto del documento, admite también _id e {_id}
ingrid.dCompleta (d, forzado) Completa d|id > {_id,cla,cod}, comprueba retorna null si incorrecto, si forzado fuerza valido con '_'

Módulo: ingrid.archivo.js

Servicio web // Los servidores de Ingrid dan servicio mediante el protocolo WEBSOCKETS (con sesión) y HTTPS restringida al directorio público de cada proyecto (ima) (sin sesión)

bas.urlArchivo (arc, conDate) URL de archivo a traves de servicio web // arc(relativo o url)
bas.urlArchivoHttp (arc, conDate) URL de archivo directo (necesita estar en el directorio 'ima' del proyecto) // servidor+'/bases/'+basedatos+'/'+arc; SIN SESION
bas.subeArchivo (meta, cb) Sube archivo al servidor, arc:camino relativo al directorio de proyecto, crea subdirectorios // arc(destino) {file>blob|url|data|inca>blob|canvas>blob, regraba, sinfondo} // > {arc} regraba:pregunta(null) sobreescribe(1) renombra(2) mantiene(3) inca(meta>incav) canvas(meta.quality)
bas.subeArchivos (dir, meta, cb) Sube archivos al servidor, dir(destino) {urls|files|url|file, regraba, sinfondo} > [subeArchivo] > {arcl}
Archivos // los caminos de archivos y directorios son absolutos al directorio del proyecto
bas.existeArchivo (meta, cb) Retorna true si existe el archivo; // meta:{arc|url} o (arc,cb) > {existe} permiso L admite URLs
bas.leeArchivo (meta, cb) Lee archivo en formato UTF-8; // meta:{arc|url,encoding,utf8,ansi,primera} o (arc,cb) > {data} permiso L admite URLs
bas.leeArchivoAnsi (meta, cb) Graba archivo en formato ANSI; // meta:{arc|url|...} o (arc,cb) > {data} permiso L admite URLs
bas.leeArchivoJson (meta, cb) Lee archivo en formato JSON; // meta:{arc|url} o (arc,cb) > {data} permiso L admite URLs
bas.grabaArchivo (meta, cb) Graba archivo; requiere permiso C; admite URLs en data
bas.grabaArchivoUtf (meta, cb) Graba archivo en formato UTF-8; requiere permiso C; encoding='utf8'; bom=1 // o (arc,data,cb); {arc, data, creadir}
bas.agregaArchivo (meta, cb) Agrega archivo; requiere permiso C; // o (arc,data,cb); meta:{arc,data}
bas.copiaArchivo (meta, cb) Copia archivo; requiere permiso C; // o (arc|arcl,destino,cb); meta:{arc|arcl,destino}]
bas.mueveArchivo (meta, cb) Mueve archivo; requiere permiso C // o (arc|arcl,destino,cb); meta:{arc|arcl,destino}]
bas.eliminaArchivo (meta, cb) Elimina archivo; requiere permiso D; meta:{arc|arcl}
Directorios
bas.leeDirectorio (meta, cb) Lee directorio del proyecto // dir o {dir, esdir:null, reg:null, ext:null, orden:1, basedatos(solo admin==2) } o (dir,cb) > {arcl:[nom]} permiso L
bas.leeDirectorioO (meta, cb) Lee directorio extendido del proyecto // dir o {dir, esdir:null, reg:null, ext:null, orden:1, basedatos(solo admin==2) } o (dir,cb) > {arcl:[{nom,tam,esdir,ctime,mtime,atime}]} permiso L
bas.creaDirectorio (meta, cb) Crea directorio del proyecto // meta:{dir,recursivo} o (dir,cb); permiso C
bas.eliminaDirectorio (meta, cb) Elimina directorio del proyecto // meta:{dir} o (dir,cb) > {} permiso D
bas.calculaDirectorio (meta, cb) Calcula número y tamaño de archivos de un directotrio del proyecto (recursivo) //o (dir,cb) permiso D
bas.buscaArchivos (meta, cb) Busca archivos en directorio; {dir, ...} > {arcl}; permiso L
bas.copiaArchivos (meta, cb) Copia archivos; {dir, noml|reg, desl|destino, regraba:1, siExiste:0}; permiso C
bas.mueveArchivos (meta, cb) Mueve archivos {dir, noml|reg, desl|destino, regraba:1, siExiste:0}; permiso C
bas.eliminaArchivos (meta, cb) Elimina archivos; {dir, noml|reg}; permiso D
bas.mueveMascara (meta, cb) Mueve archivos mediante máscara de * (Debe tener el mismo nº de * el origen y el destino); meta:{origen,destino} o (origen,destino,cb); permiso C; Ejemploe ("ima/jpg/*_nuevo*.jpg", "ima/jpg_nuevo/**.jpg)
JSON
bas.importaJson (meta, cb) Importa datos en formato JSON a la base de datos // {archivo, limpia=0, noValidaCodigos=0, clasesNo=","|[], clasesSi=","|[]} o (archivo,cb) > {docn,clan,[clases]}
bas.exportaJson (meta, cb) Exporta datos en formato JSON desde la base de datos // {archivo, condicion={}, campos={}, jsonArray=0} o (archivo,cb) > {docn]}
bas.eliminaJson (meta, cb) Elimina todo el contenido de la base de datos // {nueva:1, plantilla} > {dBases}
Varios
bas.directorioZip (meta, cb) Lista de archivos en un directorio ZIP // azip o (azip,cb) > arcl:[{nom,tam,esdir}] permiso C
bas.leeZip (meta, cb) Lee un archivo en un directorio ZIP // o (azip,arc,cb); meta:{azip,arc} > {data} utf8 permiso C
bas.leeXlsx (meta, cb) Lee un archivo en formato XLSX (directorio ZIP) // (arc,[hoja],cb) o ({arc,[hoja]},cb) > (libro) libro:{hoja:[[]]}
bas.enviaCorreo (meta, cb) Envia correo web // { transporter:{service,auth:{user,pass}}, mail:{from, to, subject, text, html, attachments:[{filename, content, path}]} > {info:{response}}
bas.html2pdf (meta, cb) Concierte de HTML a PDF // o (origen,destino,cb); meta:{origen,destino,regraba,op} op:{a4h,a4v,a3h,a3v,mar,...-*,wk}
bas.html2ima (meta, cb) Convierte de HTML a IMAGEN // o (origen,destino,cb); meta:{origen,destino,op} op:{-*,wk}
bas.titiritero (meta, cb) Convierte HTML a PDF con el titiritero de Google // o (origen,destino,cb); meta:{origen,origenHtm,origenUrl, destino, arcl,directorioHtm,directorioPdf, creadir,regraba,op} op:{a4h,a4v,a3h,a3v,mar,...-*,wk}

Módulo: ingrid.busquedas.js

Búsquedas en lenguaje INGRID (Mongo resumido)
Subconsultas del lenguaje de búsquedas de INGRID
Búsquedas en lenguaje natural (Índice de textos)

bas.creaIndiceTexto (meta, cb) Crea índice de textos, crea campo de referencias 'indiceRefl' // {campos} > {results}, defecto:campos:{res:10,tex:3,indiceRefl:1}
bas.eliminaIndiceTexto (meta, cb) Elimina índice de textos {}

Módulo: ingrid.campos..js

bas.montaCamposDefecto (cla, camrel, cbo) Monta campos de defecto, agrega particulares, camrel:campo de relación opcional, cbo:opcional
bas.chequeaCampos (op, cb) Chequea campos, {defecto}
bas.copiaCamposDefecto (caml, op) Copia campos de defecto, duplica campos, copia opciones, cod !ocu !nofic tip!=='>>'
bas.buscaCampo (...al) Busca campo desde camino, retorna campo extendido
bas.inicialCampo (campo) Campo inicial de la cadena de campos, campo:{...,cla,cam,campo}
bas.codigosCampo (campo) Códigos de campo de un camino > [cod], !comoVector incluye clase: codcla.cod...
bas.resumenesCampo (campo) Resúmenes de campos de una camino > [res], !comoVector incluye clase: rescla.res...

Módulo: ingrid.campos.js

Monta campos

bas.montaCampos (doc2, op) Monta campos del primer concepto de la lista doc2.docl
bas.montaCampos1 (caml, hl, op) Agrega campos
bas.montaCamposExistentes (docl, op) Monta campos existentes en los documentos {editable} > caml //
bas.montaCamposDocumento (doc, op) Monta campos del documento
bas.camposImprimibles (doc, op) Monta campos imprimibles del documento, {refcamcod(eliminaCampoActual), enTabla, sinCab} > caml
bas.campo_cod2res (h, refl, cb) Monta referncias de campos, refl:{cod} > refl:{cod,res,estilo} en referencias,clasificaciones y selecciones
Múltiples
bas.leeDistintosCampo (meta, cb) Lee valores distintos de un campo // {campo,find} o (campo,find,cb) > {vall} (mongo.distinct)
Campos de clase
bas.cuentaCampos (meta, cb) Cuenta valores de los campos de una clase // {clacod,[camrelcod]} > {caml,nuevos} nuevos:{cod:docn}
bas.analizaCampos (meta, cb) Analiza campos de una clase // {clacod,[camrelcod],graba} > {caml o campos} campos:{cod:{tip,docn,obs}} si graba caml:cla.caml
bas.eliminaCampo (meta, cb) Elimina campo de los conceptos de una clase // {clacod,[camrelcod], camcod||[], soloValores=1} > {caml,docn}
bas.agregaCampo (meta, cb) Agrega campo a los documentos de una clase // {clacod, cam:{}}
bas.cambiaValoresCampo (meta, cb) Cambia valores de un campo e los documentos de un clase // {clacod,[camrelcod],camcod,[camrelcod],[valori],[valdes]} > {docn} si valori==null pone sin definir, si valdes==null elimina
bas.incrementaValoresCampo (meta, cb) Incrementa valores de un campo de una clase // {clacod,camcod,valori],valdes} > {docn} si valori===undefined todos
bas.copiaValoresCampo (meta, cb) Copia valores entra campos de una calse // {clacod,camori,camdes} > {campo} CAMBIO DE TIPO
bas.cambiaCodigoCampo (meta, cb) Cambia código de campo en documentos o subdocumentos de una clase // {clacod,camori,camdes} > caml}, 'camori' puede ser compuesto campo.campo, 'camdes' no
bas.cambiaValorCampo (meta, cb) Cambia valor de un campo en múltiples documentos // {find,camcod,camval(expresionRegular(d,i))} > {docn)
bas.compruebaValoresCampo (meta, cb) Comprueba el tipo de valores de un campo en documentos de una clase // {clacod,camcod,prueba} > {docn)
bas.cambiaTipoCampo (meta, cb) Cambia el tipo de campo en documentos de una clase // {codigos o clacod,[camrelcod],camcod, camtip, prueba} > {clase} si modificada // camtip: tip(s#>erjt) pad(#>) que(1cod2res)
Graba campos
bas.grabaCampos (meta, cb) Graba campos en documentos {_id|_idl|find, data, multi} o (_id|doc,cod,val,cb) o (find,data,cb) > {} Graba campos en todos los conceptos buscados;
bas.grabaCampo (doc, cod, val, cb) Graba campo en documento, doc|id
bas.grabaCamposEV (doc, data, cb, op) Graba campos en documento procesando eventos, doc|id, deInterfaz, graba[do]Campo
bas.grabaCampoEV (doc, cod, val, cb, op) Graba campo en documento procesando eventos, doc|id, val==null elimina(unset)
bas.grabaCampos1 (meta, cb) Graba campos de múltiples documentos // {_id|_idl|find, data, multi} modifica campos { $set: {hi: 'there'}, $unset: {hi: ''} } comprueba cambios
bas.renombraCampos (meta, cb) Renombra campos de múltiples documentos // {_id|_idl|find, data, multi} renombra campos { $rename: { 'age' : 'edad' } }

Módulo: ingrid.clases..js

Clases

bas.cuentaClases (meta, cb) Actualiza bas.dClases
bas.copiaClase (meta, cb) Copia clase y conceptos de la clase
bas.renombraClase (meta, cb) Cambia clase y conceptos de la clase
bas.eliminaClase (meta, cb) Elimina conceptos de clase
bas.compruebaClase (meta, cb) Compueba clase {cla,cod}
bas.codigoClase (clacod) Código de clase, soporta clase incompleta, clacod, cla o cla incompleta
bas.renombraClaseInterface (cla, cb) Pregunta si quiere cambiar el código de la clase actual y de sus conceptos
bas.eliminaClaseSin (cla, cb) Elimina, sin preguntar, la clase actual si no tiene conceptos
Superclases y Subclases
bas.superclases (doc, sinCab) Superclases recursivas, incluida la misma si es clase // clacod|clase|documento > [clase]
bas.superclasesComunes (docl) Superclases comunes a lista de documentos // o (clacodl), > [clacod] terminado en 'con'
bas.esSubclase (clacod, clacodsup) Es clacod una subclase de clacodsup, retorna nivel 1==lamisma
bas.subclases (clacod, op=) Retorna lista ordenada de subclases
bas.subclasesIdl (clacod, op=) Retorna lista de identificadores de subclases
bas.subclasesCodl (clacod, op=) Retorna lista de códigos de subclases
bas.subclasesFindId (clacod, op=) Retorna búsqueda de subclases en formato MongoDb
bas.subclasesFindCla (clacod, op=) Retorna búsqueda de conceptos de subclases en formato MongoDb
bas.subclasesDeCadena (a) Retorna códigos de clases incluidos y excluidos(-)
bas.subclasesEstilo (clacod) clacod y descendientes con estilos acumulados
Clasificaciones y referencias
bas.clasificacionesDeClase (cla) Clasificaciones de clase, incluye relaciones
bas.referenciasDeClase (doc, clacod, cb) Busca clases de conceptos que referencian a doc, doc|id > [_id]
bas.claseReferenciaA (cla, op) Clase referencia a clases > [clacod.[camcod.]camcod]
bas.claseReferenciadaPor (clacod, op) Clase es referenciada por clase > [clacod.[camcod.]camcod] s

Módulo: ingrid.estilo..js

bas.estilo_H (doc, op, style, properties) Estilo acumulado de un documento en HTML > bas.estilo_acumula > ingra.estilo.H
bas.estilo_H2 (doc, op, style, properties) Estilo acumulado de un documento en HTML DIV > bas.estilo_acumula > bas.estilo_H2
bas.estilo_O (doc, padre, op, style, properties) Estilo acumulado de un documento aplicado a DOM > bas.estilo_acumula > bas.estilo_O
bas.estilo_O2 (doc, padre, op, style, properties) Estilo acumulado de un documento aplicado a DOM DIV > bas.estilo_acumula > bas.estilo_O2
bas.estilo_G (doc, g, punl, op) Estilo acumulado de un documento dibujado en CANVAS > bas.estilo_acumula > bas.estilo_G
bas.estilo_acumula (doc, op) Acumula estilos de un documento con las de sus clases superiores, op:{dClases}
bas.estilo_penrgb (doc) Color de estilos acumulados, recursivo

Módulo: ingrid.estructura..js

Estructura de conceptos

bas.buscaCampoPadre (clacod, _deClase) Busca campo de clase 'clacod' o superiores que sea primera referencia
bas.buscaCampoEspacio (clacod) > buscaCampoPadre(clacod,'esp');
bas.buscaCamposDeClase (clacod) Campos que apunta a clase o superclase > [campo] //
bas.montaPadres (bus, op, cb) Busca padres recursivamente montando una estructura jerárquica
bas.montaBusquedas (busl, cb) Monta búsquedas en cascada. Primera búsqueda general, siguientes:
bas.presentaEstructura (doc, comoTexto) retorna estructura desplegada, si comoTexto retorna cod · res de cada concepto tabulado con su nivel, por defecto retorna lista de conceptos con campo niv(nivel)
Operaciones con campos numéricos
bas.buscaCamposNumericos (cla, camposNo, soloCodigos) Busca campos numéricos en estructura de clases
bas.acumulaCamposNumericos (meta, cb) Acumula campos numéricos en estructura de clases
bas.acumulaCamposNumericos2 (meta, cb) Acumula campos numéricos en estructura de clases
Formato CSV
bas.importaCSV (meta, cb) Importa archivo en formato CSV (~pro.csv.importa)
Tramos de datos para temáticos o informes
bas.montaTramos (busqueda, camcod, op, cb) Documentos en lista por valores de campo
bas.montaTramosDos (busqueda, campoX, campoY, op, cb) Documentos en tabla por dos campos

Módulo: ingrid.clasificacion..js

bas.opcionClasificacion (...codigos) De camino a opción, soportado por buscaCampo, clacod.[camcod].camcod.opccod > opc
bas.resumenClasificacion (...codigos) codigos:clacod.[camcod].camcod.opccod > res|cod|opccod
bas.buscaOpcion (...codigos) Obsoleta, usar opcionClasificacion
bas.buscaOpcionRes (...codigos) Obsoleta, usar resumenClasificacion
bas._buscaClasificacionPadre (codigos) Es referenciado por otros campos clasificación, busca campo # con pad == codigos
bas._deClaseAClasificacion (op, cb) Clase referencia a Clasificación {clase,elimina}
bas._deCampoAClasificacion (op, cb) Referencia a Clasificación, simple:número de opciones máxima {claseR,campoR,campoC,simple}

Módulo: ingrid.clasificacion.js

bas.presentaClasificaciones (doc2, op, contenedor) Presenta contenedor de una clasificación
bas.cuentaClasificacion (meta, cb) Cuenta usos de opciones de una clasificación

Módulo: ingrid.comunica.js

bas.httpGET (meta, cb) Petición GET, {url,headers,options, archivo|buffer|ansi|json} > {data}, http o https
bas.httpPOST (meta, cb) Peticion POST, {url,headers,options,data, archivo|buffer|ansi|json} > {data}, http o https

Módulo: ingrid.dialogo.js

bas.dialogoLeeArchivo (op, cb) Presenta diálogo de selección de archivo en el directorio de la base, { tit:'Seleccionar archivo', arc, dir:'', nombre } > {arc}
bas.dialogoGrabaArchivo (op, cb) Presenta diálogo de grabación de archivo en el directorio de la base, { tit:'Grabar archivo como', arc, dir:'', nombre } > {arc}
bas.dialogoSeleccionEnClase (codcla, actual, cb) Presenta diálogo de selección en clase > {doc}
bas.dialogoSeleccionEnConceptos (docl, actual, cb) Presenta diálogo de selección en lista de conceptos > {doc}

Módulo: ingrid.eventos.js

ingrid.eventos (function() Eventos // En el campo eventos de cada clase podemos tener los siguientes métodos
leeCampo (bas, doc, cod) > [clase].eventos.<b>[cod]Lee(bas,doc)</b>; retorna valor sin formatear para campos de tipo $
grabaCampo (bas, doc, cod, val, cb) > [clase].eventos.<b>[cod]Graba(bas,doc,val,cb)</b>; > {data,refresca,fin}; data:agrega data a data a grabar; fin:interrumpe grabación
grabadoCampo (bas, doc, cod, val0, cb) > [clase].eventos.<b>[cod]Grabado(bas,doc,val0,cb)</b>; > {refresca}; val0:anterior (el actual está en doc)
leeCampo2 (bas, doc, lin, camcod, cod) > [clase].eventos.<b>[camcod]_[cod]Lee(bas,doc,lin)</b>; retorna valor sin formatear para campos de tipo $
grabaCampo2 (bas, doc, lin, camcod, cod, val, cb) > [clase].eventos.<b>[camcod]_[cod]Graba(bas,doc,lin,val,cb)</b>; > {data,refresca,fin}; data:agrega data a data a grabar; fin:interrumpe grabación
grabadoCampo2 (bas, doc, lin, camcod, cod, val0, cb) > [clase].eventos.<b>[camcod]_[cod]Grabado(bas,doc,lin,val0,cb)</b>; > {data,refresca}; data:agrega data a data a grabar; fin:interrumpe grabación, val0:anterior
crea (bas, doc, cb) > [clase].eventos.<b>crea(bas,doc,cb)</b> > {fin}; fin:interrumpe creación
creado (bas, doc, cb) > [clase].eventos.<b>creado(bas,doc,cb)</b> > {}; ++
elimina (bas, doc, cb) > [clase].eventos.<b>elimina(bas,doc,cb)</b> > {fin}; fin:interrumpe eliminación
eliminado (bas, doc, cb) > [clase].eventos.<b>eliminado(bas,doc,cb)</b> > {};
filtroCampo (bas, doc, cod, cb) > [clase].eventos.<b>[cod]Filtro(bas,doc,cb)</b>; > {find}
cuerpo (bas, oConcepto, doc2, cb) > [clase].eventos.<b>cuerpo(bas,oConcepto,doc2,cb)</b> > si retorna true no presenta referencias ni contextuales, puede añadir elementos al interfaz
abre (bas, cb) > [clase].eventos.<b>abre(bas,cb)</b> > si retorna error interrumpe la apertura
> [clase].eventos.<b>presenta(bas,doc,cb)</b> > si retorna error interrumpe la apertura

Módulo: ingrid.navega.js

Camino // El histórico de los conceptos presentados en la ventana principal lo llamamos camino de navegación y podemos movernos por él.

bas.camino_superior (recorta) Retorna el concepto superior en el camino
bas.camino_superiorId (recorta) Retorna el _id superior en el camino
bas.camino_posicionId (i, recorta) Retorna el _id de la posición i;
bas.camino_anteriorId () Retorna el _id del concepto anterior en el camino
bas.camino_siguienteId () Retorna el _id del concepto siguiente en el camino
Navega // Denominamos navegar a un concepto/s a la acción de presentar en ventana principal la ficha del concepto/s
bas.navegaPosicion (i) Navega a la posición 'i' del camino
bas.navegaAnterior () Navega al concepto anterior (de la lista del superior)
bas.navegaSiguiente () Navega al concepto siguiente (de la lista del superior)
bas.navegaSuperior (ev) Navega al superior, decrementa el camino
bas.navega (d, doc2) Navega al concepto 'd', concepto seleccionado de la lista actual, que pasa a superior, incrementa el camino,
bas.refresca (cbo) navegaActual
bas.navegaBusca (meta, cbo) Presenta el resultado de búsqueda(bus) en ventana principal con descripción (res), { res,bus|find,docl, ... }
bas.navegaConcepto (doc2, cbo) Navega al concepto (d), cbo: callback opcional
bas.navegaConceptos (res, docl, cbo) Navega a los conceptos (docl), res: Descripción de los conceptos, docl pueden ser calculados (no existir en base de datos)
Sesion // Navegación de bajo nivel, no modifica el camino
bas.sesionNavega (d, cbo) Carga y presenta concepto en ventana principal {doc|_id}
bas.sesionPresenta (doc2, cbo) Presenta concepto en ventana principal {doc|_id}

Módulo: ingrid.presenta.js

bas.presentaContenedor (contenedor, doc2, op) Presenta datos en econtenedor // data:{docl,_idl,find, arc,gra} > ingra.presentaContenedor
bas.presentaGrafico (contenedor, gra, op=) Presenta gráfico en contenedor // {editable,titulo,conDate}
bas.presentaArchivo (contenedor, arc, op=) Presenta archivo en contenedor // {editable,titulo,conDate, gra:null, media,original}

Módulo: ingrid.referencias.js

bas.referencias_tablas (doc2, op, cb) Tablas de referencias, para impresión, {enImpresion,conref="... -..."} > {secl:[{tit,docl, clacod,cam}]}
bas.referencias_hijos (docl, conCampo, cb) Relaciones y referencias de hijos > {docs}, conCampo=[clase.]campo debe existir campo, opcionalmente clase
bas.referencias_nietos (docl, conCampo, cb) Relaciones y referencias de nietos > {docs}
bas.cuentaReferencias (meta, cb) Cuenta referencias
bas.compruebaReferencias (meta, cb) Cuenta referencias

Módulo: ingrid.restricciones..js

Restricciones de conceptos // doc:{_id,cla,amb,tra,ress:{clacod:restriccion}} > 0- 1D 2C 3E 4L

bas.restriccionL (d) Restricción L. no se puede Leer,Editar,Crear,Destruir
bas.restriccionE (d) Restricción E. no se puede Editar,Crear,Destruir
bas.restriccionC (d) Restricción C. no se puede Crear,Destruir
bas.restriccionD (d) Restricción D. no se puede Destruir
bas.restriccionConcepto (d) Restricciones del concepto (d) para el usuario actual
Restricciones de campo // cam:{ress:{usucod:restriccion}} > 0- 1D 2C 3E 4L
bas.restriccionCampoL (h) Restricción de campo L. no se puede Leer,Editar,Crear,Destruir
bas.restriccionCampoE (h) Restricción de campo E, no se puede Editar,Crear,Destruir
bas.restriccionCampo (h) Restricciones del campo (h) o (clacod.camcod) para el usuario actual
Restricciones (ress)
bas.restriccion_ac (ress) De restricciones a cadena
bas.restriccion_dc (a) De cadena a restricciones DCEL(1234)
bas.montaRestricciones (usu) Monta restricciones de clase para el usuario (usu) > {clase:restriccion}

Sección: js.a

Módulo: ingrid.db.js

ingrid.db.dc (bas, doc, cam, val, op, cb) De cadena a valor, {creasino,claseDefecto,claseForzada,noGraba} > valor
ingrid.db.ac (bas, doc, cam, val, op) De valor a cadena, {doc2,enInput} > cadena

Módulo: ingrid.igra.js

bas.montaIgra (meta, cbo) Monta datos en formato IGRA desde documentos y campos
bas.preparaIgra (meta, op) Prepara datos en formato IGRA para imprimir o exportar (dataURL)
bas.presentaIgra (padre, meta, style, properties) Presenta datos en formato IGRA en pestaña

Módulo: ingrid.inca.js

Librería GDAL

bas.leeGdal (meta, cb) Lee archivo geográfico desde formatos soportados por GDAL (kml,kmz,gml,dxf,...) a formato inca, {arc,...} > {inca}
bas.grabaGdal (meta, cb) Graba formatos soportados por GDAL desde objeto inca u archivo inca(ainca), {arc,inca|ainca,...}
bas.convierteGdal (meta, cb) Convierte formatos con librería GDAL // {origen, destino, epsgOrigen, epsgDestino, ansiOrigen, ansiDestino, regraba:1}
De base de datos a INCA
bas.camposInca (cla) De clase a campos INCA, no se exportan ocultos, sin ficha o de relación
bas.docl2inca (docl, op) Monta formato INCA desde lista conceptos de la base de datos // op:doc|{doc, _id,cod,res, capasSimples,sinGra} > inca
bas.montaInca (que, op, cb) Monta formato INCA desde lista de conceptos, búsqueda, documento o documento extendido // que:inca|doc|doc2|bus|docl op:d{capasSimples,sinGra} > (inca,op)
bas.preparaMapa (que, op, cb) bas.montaInca > ingra.preparaMapa(inca) > {dataUrl,...}
Operaciones desde o hacia formato INCA
bas.incacApp (arc) Abre aplicación incac con el archivo o url
bas.incavApp (arc) Abre aplicación incav con el archivo o url
bas.leeInca (arc, op, cb) Lee archivo en formato INCA, soporta cambio de DATUM y de juego de caracteres
bas.grabaInca (arc, inca, op, cb) Graba archivo en formato INCA, ingra.inca.grabaDatos + bas.grabaArchivo
bas.convierteInca (origen, destino, op, cb) Convierte archicos desde o hacia formato INCA
bas.importaInca (inca, op, cb) Importa datos desde formato INCA {regrabaCapas, eliminaConceptos, prueba} > grabaConceptos {docn,docl(prueba)}
Mapas temáticos
bas.temaBusquedas2inca (busquedas, app, cb) Desde una lista de búsquedas, monta un objeto INCA con una capa por cada búsqueda, para cada búsqueda podemos definir una descripción, estilos y programa de rótulos
bas.temaCampo2inca (bus, cam, op, cb) Desde los valores de un campo (cam) de una lista de conceptos (bus), monta un objeto INCA con capas por rango de valores

Módulo: ingrid.mapas.js

Busca en información geográfica de bases de datos

bas.mapas_chequea (meta, cb) Cheque mapas, > busca geol > georec,... graba si distinto
bas.mapas_buscaCercano (meta, cb) Busca punto cercano, {pun|x,y} > {docl}
bas.mapas_buscaCercanos (meta, cb) Busca conceptos cercanos, {x,y|pun|rec,bus,mar,solouno} > {doc|docl} ordenados; {punl,bus,mar} > {docl} de cada punto
bas.mapas_buscaDentro (meta, cb) Busca punto dentro, {pun|x,y|rec|doc.georec, margen, completos} > {docl}
bas.mapas_buscaCercanoGps (bus, cbo) Busca concepto cercano a mi posición actual > mapas_buscaCercano
Operaciones sobre la información geográfica de bases de datos
bas.mapas_cam2geo (meta, cb) De campo a georreferencia, {busqueda,campox,campoy,epsg,prueba} > {docn,errn,errl} modificados y con errores
bas.mapas_geo2cam (meta, cb) De georreferencia a campos, {busqueda,campox,campoy,epsg,prueba} > {docn,errn,errl} modificados y con errores
bas.mapas_leeCentros (bus, op, cb) Retorna las georreferencias de los conceptos buscados (bus)
bas.mapas_posicion (cb) Retorna tu posición actual en formato geo > {geo:{tip:'B',punl:[gps]}}
bas.mapas_compruebaIslas (bus, cb) Comprueba y modifica el sentido de los polígonos de los conceptos buscados (bus) mediante proceso geográfico de islas (islas sentido contratio reloj)
bas.mapas_superior (meta, cb) Comprueba y modifica el valor del campo padre de los conceptos de la clase, mediante búsqueda geográfica, {clacod,camcod,prueba} camcod:defecto campo padre

Módulo: ingrid.tareas..js

bas.tareas_arbol (ope, cb) Monta tareas en niveles > {iidl, nivn, docs} ope:Bins en nveles
bas.tareas_duracion (ope, cb) Calcula la duración de la operación > {binl,docs} bin:{id,dur,idl}, incluye conLigadas
bas.tareas_medidas (tarl, docs, cb) Monta medidas de tareas > tarl:[{medl}] docs:{}
Tareas preventivas
bas.tarpre_creaSiguiente1 (tar, frel) Crea tarea preventiva siguiente a tar, no graba
bas.tarpre_cierraTareas (tarl, docs, cb) Cierra tareas preventivas creando siguientes (tarl), docs opcional > tarpre_creaSiguiente1

Módulo: ingrid.telegram.js

Conexión a Telegram mediante IngraBot

bas.telegram_leePersona (persona, cb) Lee el registro actual de la persona en el servidor
bas.telegram_altaPersona (persona, cb) Envia base de datos, identificador y código de persona a servidor
bas.telegram_enviaComando (comando, bot, cb) Envia comando a Telegram
bas.telegram_enviaMensaje (personas, html, bot, cb) Envia mensaje a username/s o persona/s por Telegram

Sección: js.base

Módulo: ingrid.bases.js

Sesión (Conexión con una base de datos del servidor)

bas.abreBase (meta, cbo) Abre conexión con el servidor, sesion:{servidor,basedatos,usuario,clave,_id}
bas.abreBaseSin (meta, cb) Abre conexión con el servidor (Sin interfaz), {basedatos,usuario,clave} > (bas)
bas.cierraBase (meta=) Cierra la conexión con el servidor
bas.abreBaseActual (basedatos, cb) Abre conexión con el servidor con el mismo servidor, usuario y clave que bas
bas.abreBaseVentana (basedatos) Abre basedatos en nueva ventana con usuario y clave actual
bas.reabreBase (meta, cb) Reabre conexión con la mism basedatos, usuario y clave que bas
Operaciones en la base de datos actual
bas.chequeaBase (meta=) Chequea la base de datos actual y actualiza dClases {chequea:1,cuenta:1}
bas.recreaIndices (meta, cb) Recrea índices de la base de datos actual
bas.exportaBaseBson (meta, cb) Exporta base actual a formato BSON // {basedatos, archivoBson:basedatos+'.bson|.gz', gzip:null} > {}
bas.importaBaseBson (meta, cb) Importa base actual a formato BSON // {basedatos, archivoBson:basedatos+'.bson|.gz', gzip:null} > {}
bas.exportaBaseJson (meta, cb) Exporta base actual a formato JSON // {basedatos, archivoJson:basedatos+'.json', enJson:null} > {}
bas.importaBaseJson (meta, cb) Exporta base actual a formato JSON // {basedatos, archivoJson:basedatos+'.json', libera:null, merge:null} > {}
bas.estadoUsos (meta, cb) ¿Existe la base de datos?, > {existe}
bas.estadoMongo (meta, cb) Lee estado de la base de datos, {basedatos} > {stats} debe de estar montada
bas.montaBase (meta, cb) Lee estado de la base de datos, {basedatos} > {stats} debe de estar montada
bas.desmontaBase (meta, cb) Desmonta base del motor de MongoDB, no borra datos {basedatos} > {}
bas.eliminaBase (meta, cb) Desmonta base del motor de MongoDB y elimina directorio de proyecto, {basedatos} > {}
bas.nuevaBase (meta, cb) Crea nueva base de datos, crea directorio de proyecto y copia 'ingrid-nuevo' // {basedatos}
bas.copiaBase (meta, cb) Copia base de datos y directorio de proyecto // {origen, destino} > {}
bas.renombraBase (meta, cb) Renombra base de datos y directorio de proyecto // {origen, destino} > {}
bas.recuperaBase (meta, cb) Recupera copia BSON sobre nueva base {bson,destino}

Módulo: ingrid.baseBase.js

Conexones con cualquier base de datos como administrador

bas.enviaComunicacion (meta, cb) Envia comunicación a una conexión // {conexionId,texto} > {} > {orden:'recibeComunicacion', mensaje, conexionId, basedatos, usuario}

Sección: js.cab

Módulo: ingrid.cab_bases.js

Con interfaz

bas.nuevaBaseIN (basl, cb) Nueva base de datos, con interfaz dialogoPregunta
bas.copiaBaseIN (base, cb) Copia base de datos con interfaz dialogoEdita
bas.renombraBaseIN (base, cb) Renombra base de datos con interfaz dialogoEdita
bas.exportaBaseJsonIN (base, cb) Exporta base a JSON con interfaz dialogoEdita
bas.exportaBaseBsonIN (base, cb) Exporta base a BSON con interfaz dalogoEdita
bas.importaBaseJsonIN (base, cb) Importa/Agrega/Sobreescribe/Sustituye base de JSON con interfaz dialogoPregunta|Edita
bas.importaBaseBsonIN (base, cb) Importa=Sustituye base de BSONcon interfaz dialogoPregunta|Edita
bas.desmontaBaseIN (base, cb) Desmonta base de datos con interfaz dialogoPregunta
bas.eliminaBaseIN (base, cb) Elimina base de datos con interfaz dialogoPreguntaSN
Múltiples Con interfaz
bas.exportaBasesJsonIN (basl, cb) Exporta múltiples bases de datos a JSON con interfaz dialogoPregunta
bas.exportaBasesBsonIN (basl, cb) Exporta múltiples bases de datos a BSON con interfaz dialogoPregunta
bas.importaBasesJsonIN (basl, cb) Importa múltiples bases de datos de JSON con interfaz dialogoPregunta
bas.importaBasesBsonIN (basl, cb) Importa múltiples bases de datos de BSON con interfaz dialogoPregunta
bas.desmontaBasesIN (basl, cb) Desmonta múltiples bases de datos con interfaz dialogoPregunta
bas.eliminaBasesIN (basl, cb) Elimina múltiples bases de datos con interfaz dialogoPregunta
Varios
bas.creaCopiaSeguridad (basedatos, cb) Crea copia de seguridad sin preguntar, nombre = basedatos + fecha
bas.recuperaCopiaSeguridadIN (basedatos, cb) Recupera copia de seguridad por fecha, con interfaz dialogoSeleccion

Módulo: ingrid.cab_indiceTexto.js

bas.creaIndiceTexto (meta, cb) Crea índice de textos, crea campo de referencias 'indiceRefl'
{pesos={res:10,tex:3,programa:5}} > {results}
bas.eliminaIndiceTexto (meta, cb) Elimina índice de textos {}

Sección: js.clase

Módulo: ingrid.con.js

Busca conceptos

bas.buscaConcepto (val, op, cb) Intefaz Busca concepto o máscara (clase.código·resumen)
bas.buscaMascara (condicion, op, cb) Intefaz Busca máscara, op:{actual(id),sort({}),cla(cod)} > {doc|error}
bas.buscaConceptoMultiple (h, val, op, cb) Busca valor de entrada de campo a concepto múltiple, > {idl,docl}
bas.buscaMascaraMultiple (h, val, op, cb) Busca mascara de entrada de campo a concpto múltiple, > {valor,docl}
bas.buscaUltimo (id, cb) Lee el último concepto (ordenado por _id) que su _id comienza por 'id' sin números finales (clase.serieDDDD) > {doc}
bas.buscaSiguiente (_id, cb) Busca el siguiente identificador de la serie {_id} > {_id}
busca el último _id que cumple /serie\d*$/ y lo incrementa, llamamos serie al _id sin números por detrás
esta función no utiliza filtros (amb, tra) para no devolver conceptos existentes en otros ámbitos o grupos de trabajo
bas.buscaTexto (texto, condicion, cb) Busca texto en resumen de conceptos > leeConceptos
Lee conceptos
bas.existeConcepto (id, cbSi, cbNo) ¿Existe el concepto con identificador 'id'?. Si existe llama a cbSi(), sino llama opcionalmente a cbNo()
bas.leeConcepto (meta, cb) Lee un concepto
bas.leeConcepto2 (meta, cb, _sincomun) Lee un concepto extendido (incluye referencias)
bas.leeConceptos (meta, cb) Lee múltiples conceptos
bas.leeConceptosP (meta, data, cbData, cbFin) Lee múltiples conceptos por páginas
bas.cuentaConceptos (meta, cb) Cuenta conceptos, {find} > {docn}
Graba conceptos
bas.buscaCreaConcepto (id, op, cb) Busca id, crea si no existe, {claDefecto} > {doc}
bas.creaSiguiente (mascara, op, cb) Busca el siguiente identificador de la serie {_id} > {_id} y presenta diálogo para crearlo
busca el último _id que cumple /serie\d*$/ y lo incrementa, llamamos serie al _id sin números por detrás
esta función no utiliza filtros (amb, tra) para no devolver conceptos existentes en otros ámbitos o grupos de trabajo
op: campos adicionales del documento a crear
bas.creaConceptos (meta, cb, ) Crea concepto, error si existe, sin eventos // doc|docl|{doc|docl, ordered} (con ordered=false no se para al dar un error)
bas.recreaConceptos (meta, cb) Crea concepto, regraba todo si existe, sin eventos // doc|docl|{doc|docl}
bas.grabaConceptos (meta, cb, _que='grabaConceptos') Graba campos de cada doc, crea concepto si no existe, sin eventos // doc|docl|{doc|docl}
bas.eliminaConceptos (meta, cb) Elimina conceptos, sin eventos // {_id|_idl|find|doc|docl}
bas.creaConcepto (doc, cb) Crea concepto, error si existe, > creaConceptos
bas.recreaConcepto (doc, cb) Crea concepto, elimina si existe, > recreaConceptos
bas.grabaConcepto (doc, cb) Sobreescribe concepto, creasino, > grabaConceptos
bas.eliminaConcepto (doc, cb) Elimina concepto, > eliminaConceptos
bas.renombraConcepto (id1, id2, cb) Comprueba que no existe id2, soporta ide de clases > renombraConceptos
bas.renombraConceptos (meta, cb) Cambia identificadores, {id1,id2|id1l,id2l} o (id1,id2,cb) o (idl1,idl2,cb)
bas.recodificaConceptos (meta, cb) Cambia identificadores de forma secuencial, {find, tam}
bas.fusionaConceptos (meta, cb) Fusiona concepto 1 en 2 y elimina 1, copia campos 1 no existentes en 2, {a|id1,b|id2} > {doc}
bas.creaConceptoDeClase (clacod, cb) Crea el concepto siguiente de la clase, con interface
Procesando eventos
bas.creaConceptoEV (doc, cb) Crea concepto procesando eventos > creaConceptos
bas.renombraConceptoEV (doc, id2, op, cb) Renombra concepto procesando eventos > renombraConceptos
bas.eliminaConceptoEV (doc, cb) Elimina concepto procesando eventos > eliminaConcepto
Con interfaz
bas.buscaConceptoIN (titulo, titular, op, cbAcepta, cboCancela) op:{creasino:0, resumenDeClaseSiCrea:0, referenciaA:doc, claseDefecto, claseForzada} > ({doc|}) // Diálogo busca concepto (<ingrid.db.dc)
bas.creaConceptoIN (id, op, cb, cbCancela) Intefaz para crear concepto: clase.código [resumen], {cla}
bas.copiaConceptoIN (doc, cb) Copia concepto con interfaz > creaConceptoEV
bas.eliminaConceptoIN (doc, cb) Elimina concepto con interfaz > eliminaConceptoEV
bas.eliminaConceptosIN (docl, cb) Elimina conceptos con interfaz > eliminaConceptos
bas.cambiaIdentificadorIN (doc, val, op, cb) Renombra concepto con interfaz, op{claseForzada:0} > cb({doc|error|})
bas.renombraConceptoIN (doc, id2, cb) Renombra concepto con interfaz

Módulo: ingrid.doc.js

ingrid.doc.soyOrigen (doccla) Soy el creador del documento (yo soy la entidad defecto de la base de datos) {sol:1,ped:1,ofev:1,albv:1,facv:1}
ingrid.doc.calculaLinea (lin) Calcula línea > lin:[{_id,res,can,pre,dsc,iva ... lin,caliva,caldsc,impbru,impdsc,impnet,impiva,imp}]
bas.cadenaDocumentos (doc, rec, cbeo) Cadena de líneas de documentos > (err,docl,recs)

Módulo: ingrid.gra.js

Imágenes de conceptos de tipo gráfico // tam: (0)baja (1)media (2)alta (3)original,

bas.esGrafico (doc) ¿Es de clase o subclase gráfico?; subclase de gra; doc o cla
bas.caminoGrafico (gra, tam) Camino del gráfico para un tamaño, de un concepto gráfico o del primer gráfico de un concepto // <arc> | ima/[media|alta|original]/<cod>
bas.urlGrafico (gra, tam, conDate) URL del gráfico para un tamaño de un concepto gráfico o del primer gráfico de un concepto
bas.urlGraficoHttp (gra, tam=0, conDate) URL del gráfico para un tamaño de un concepto gráfico o del primer gráfico de un concepto
bas.htmGrafico (gra, tam) HTML del gráfico para un tamaño de un concepto gráfico o del primer gráfico de un concepto
Envía imágenes al servidor
bas.subeGrafico (meta, cb) Sube gráfico al servidor desde el sistema local de archivos, urls, canvas ....
bas.subeGraficos (meta, cb) Sube múltiples imágenes al servidor desde el /sistema local de archivo o urls
bas.agregaGrafico (doc, meta, cb) Sube gráfico al servidor y agrega a documento doc
Crea miniatura del gráfico (incluye formatos de Inca) {id|idl|gra|gral} > {}
bas.agregaGraficos (doc, meta, cb) Sube gráfico y agrega a doc
Manipulación masiva de imágenes
bas.rotaGraficos (meta, cb) Rota y rehace metadatos y miniatura
bas.leeExifGrafico (meta, cb) Lee metadatos del gráfico (exif)
bas.compruebaArchivosGraficos (meta, cb) Comprueba que todos los archivos en alta tienen concepto gráfico asociado // (crea si no) {} > {body}
bas.compruebaReferenciasGraficos (meta, cb) Comprueba que todas las referencias a imágenes tienen concepto gráfico asociado (crea si no) // {find||idl} > {body}
bas.compruebaMetadatosGraficos (meta, cb) Comprueba metadatos de conceptos imágenes (modifica originales si necesario) // {find|docl} > {log,modl}
bas.compruebaMiniaturasGraficos (meta, cb) Comprueba miniaturas de conceptos imágenes (crea o recrea miniaturas si necesario) // {find,recrea} > {body,incaGral}
bas.eliminaMiniaturasGraficosObsoletas (meta, cb) Elimina miniaturas si gráfico en basedatos (puede estar en alta o no) // {} > {body}
bas.preparaGrafico (meta, cb) Prepara un gráfico para presentar o imprimir (formato dataURL),
bas.preparaGraficos (meta, cb) Prepara múltiples imágenes para presentar o imprimir (formato dataURL),
Independiiente de BD

Módulo: ingrid.pro.js

Librería

bas.resumenParametro (pro, cod, val) Resumen de parámetro tipo clasificación (#) cod, con el valor (opción) val

Módulo: ingrid.pro_procesa..js

bas.procesaProcedimiento (pro, vals, op, cb, inicia) Procesa el procedimiento (pro) con los parámetros (vals),
bas.procesaProcedimiento2 (pro2, pro, vals, cb) Ejecuta procedimiento desde procedimiento,
bas.leeLibreria (proid, cb) Sinónimo de procesaProcedimiento
bas.buscaProcedimento (id, cb) Busca procedimento en base actual o si no en base común > (doc)
bas.procesaMultiples (bus, proid, vals, cb) (bus|docl, proid|pro, vals{paginaForzada:1}); proid admite comun... > {html} mezcla// Genera un único HTML, procesando multiples conceptos con un procedimiento que admite contectual|con y retorna html

Módulo: ingrid.tar_medidas.js

bas.medidas_impresor (doc2, cb) Tablas de medidas para imprimir > bas.medidas_carga > {tablas} tabla:{tit,caml,datll}
bas.medidas_carga (doc2, cb) Carga medidas de un documento extendido

Módulo: ingrid.usu.js

bas.cambiaClaveUsuario (meta, cb) Cambia clave del usuario actual, o (clave,nueva,cb); {clave,nueva}

Sección: js.impresor

Módulo: ingrid.impresor3.js

bas.Impresor3 (imp) Objeto impresor, ayuda para realizar informes en HTML, extiende el objeto ingra.Impresor3
imp.cabecera () Cabecera, salta línea
imp.imagen (pad, url, style, properties) Imágen url|gra|con.gral[0]|'ingrid'|'ingra'
imp.imagenes () Imágenes del concepto, {doc|gral,tit,num,max}
imp.inca (op, style, properties) Mapa del concepto
imp.igra (igra, style, properties) Gráfica de datos de búsqueda o tabla, igra:{pad,busqueda,tabc,titulos,campos,tip:4,conLey:2,...}
imp.concepto (op, style, properties) Ficha del concepto, {pad,doc2,sincab}
imp.conceptos (tab, style, properties) Lista de conceptos, {pad,tit,bus|docl,caml} > tabla // [tit,caml],docl,[conOrden:camcod}
imp.relaciones (op, style, properties) Tablas de relaciones del concepto, {pad,doc2,conrel}
imp.referencias (op, style, properties) Tablas de referencias del concepto, {pad,doc2,conref}
imp.lineasdetalle (op, style, properties) Tabla de líneas de detalle de documentos o almacenes, {pad,doc2,conrel}
imp.medidas (op, style, properties) Tablas de medidas y consumos de la tarea u operación, {pad,doc2}
imp.montaHtml (cb) Monta el HTML de todos los datos cargados en imp
imp.preparaTabla (tabla) Prepara campos de la tabla con docl o datll
/*imp.presentaArchivo (arc, cb) Retorna del procedimiento pesentando el archivo > {titulo,arc}, urlArchivoHttp
imp.grabaHtml (arc, html, cb) Graba archivo HTML, o (arc,cb) > {titulo,arc} // botonGrabaHtml
Salida PDF
imp.grabaPdf (meta, cb) Graba archivo PDF, o {arc,html} > {titulo,arc} // botonGrabaPdf
Agrega a BD
imp.agregaPdf (doc, op, cb) Agrega arhivo PDF a documento o (doc,cb), {cod,html} > {titulo,arc} 'ima/alta/<id>.pdf'
imp.presentaPdf (doc, cb) Presenta PDF temporal < 'ima/alta/<id>.pdf'
imp.agregaPdfProIN (op, cb) Agrega arhivo PDF a procedimiento, con diálogo, {cod,html,pos:0,regraba:1} > {titulo,arc}
Temporal
imp.grabaPdfTmp (data, cb) Graba PDF temporal > 'ima/tmp/<id>.pdf'
imp.presentaPdfTmp (cb) Presenta PDF temporal < 'ima/tmp/<id>.pdf'
jsPDF
imp.grabaJsPdf (arc, P, cb) Graba archivo PDF con jsPDF, o (P,cb) > arc|'ima/tmp/a.js.pdf'
imp.presentaJsPdf (arc, cb) Presenta archivo PDF de jsPDF, o (cb) < arc|'ima/tmp/a.js.pdf'
Varios
imp.grabaCsv (arc, csv, cb) Graba archivo CSV, o (csv,cb) csv:{titulo:'',campos:[{cod}],lineas:[[]]} > {titulo,arc} // botonGrabaCsv