Esta función es la encargada de ejecutar un SQL de tipo “Insert”, “Update” o “Delete” directamente sobre la base de datos, a través de esta función se puede crear, modificar o eliminar un registro del sistema. Para poder ejecutar esta función es necesario tener conocimiento del modelo entidad relación del sistema, es decir, conocer los nombres de las tablas, campos y relaciones entre tablas. Para poder ejecutar esta función se debe contar con un permiso específico, el cual se configura en el sistema ContaPyme entrando por la pestaña Básico – Móvil – Perfiles de seguridad para clientes móviles – Usuario a configurar – API abierta (licencia desarrollador) – Opciones.
Resultado
Retorna un Json con la confirmación de la ejecución de una sentecia SQL de tipo “Insert”, “Update” o “Delete” sobre la base de datos.
Seguridad
Aplica todas las configuraciones de seguridad de datos y de seguridad de acciones de ContaPyme / AgroWin.
Compatibilidad de la API
Función disponible desde ContaPyme/AgroWin Versión 4 - Release 7.
Petición
Requisitos
Debe haber realizado el logueo en el agente a través de la función GETAUTH().
Parámetros
Nombre parámetro
Tipo
Descripción
Ejemplo
dataJSON
JSON
Json que contiene en su interior la siguiente información:
sql: contiene la sentencia SQL de tipo “Insert”, “Update” o “Delete” que se desea ejecutar. En este parámetro es posible enviar varias sentencias SQL a la vez, es decir, se puede enviar un insert, un delete y un update al mismo tiempo, para ello cada sentencia debe ir separada por coma.
{
"sql": [
"insert into invmrec (irecurso, nrecurso, nunidad, sdescrip, bcontrolinv, bvisible) values ('012675','Impresora láser','und','Impresora láser marca HP','T','T')",
"delete from invmrec where irecurso='10201445'"
]
}
controlkey
Varchar
Corresponde al keyagente obtenido en el logueo (requerido).
"564654"
"222912"
iapp
Varchar
Código que identifica a la aplicación que interactúa con el Agente (requerido)
"1068"
random
Varchar
Cadena aleatoria que se crea en el lado del cliente, esto con el fin de que las peticiones no sean cacheadas por el navegador Internet Explorer (para aplicaciones web). (Opcional).
//Escriba a continuación la URL donde se encuentra su Agente de servicios web de ContaPyme.
var URLUbicacion = 'http://local.insoft.co:9000'
var URLFuncion = '/datasnap/rest/TBasicoGeneral/"SetSql"/';
//Se construye la URL completa la cual es la concatenación de la ubicación y la función
var URL = URLUbicacion + URLFuncion;
//Invocamos la función que retorna controlKey para modo aprendizaje
var controlkey = getControlKey(URLUbicacion);
//1001 es el iapp configurado para agente de servicios web de ContaPyme.
var iapp = "1001";
//dataJSON: parámetros de entrada para la función
var dataJSON = {
"sql": [
"insert into invmrec (irecurso,nrecurso,nunidad,sdescrip,bcontrolinv,bvisible) values ('012675','Impresora láser','und','Impresora láser marca HP','T','T')"
]
};
//Se arma los 4 parámetros de entrada de la funcion
var JSONSend ={ "_parameters" : [ JSON.stringify(dataJSON), controlkey, iapp ,"0" ] };
//se constuye objeto para realizar la petición desde JavaScript
var xhr = new XMLHttpRequest();
//Se inicializa la solicitud enviando el verbo y la URL a invocar
xhr.open("POST",URL);
//Se define el evento que se disparará cuando se resuelva la petición
xhr.onreadystatechange = function() {
//se verifica que la petición se hubiese terminado
if (xhr.readyState == 4 && xhr.status == 200) {
//se envia la respuesta del servidor para que se imprima
imprimirRespuesta(xhr.responseText)
}
};
//Envía la solicitud adjuntando el JSONSend que contiene los 4 parametros de la función
xhr.send(JSON.stringify(JSONSend));
//Escriba a continuación la URL donde se encuentra su Agente de servicios web de ContaPyme.
var URLUbicacion = 'http://local.insoft.co:9000'
var URLFuncion = '/datasnap/rest/TBasicoGeneral/"SetSql"/';
//Se construye la URL completa la cual es la concatenación de la ubicación y la función
var URL = URLUbicacion + URLFuncion;
//Invocamos la función que retorna controlKey para modo aprendizaje
var controlkey = getControlKey(URLUbicacion);
//1001 es el iapp configurado para agente de servicios web de ContaPyme.
var iapp = "1001";
//dataJSON: parámetros de entrada para la función
var dataJSON = {
"sql": [
"insert into invmrec (irecurso,nrecurso,nunidad,sdescrip,bcontrolinv,bvisible) values ('012675','Impresora láser','und','Impresora láser marca HP','T','T')",
"delete from invmrec where irecurso='10201445'"
]
};
//Se arma los 4 parámetros de entrada de la funcion
var JSONSend ={ "_parameters" : [ JSON.stringify(dataJSON), controlkey, iapp ,"0" ] };
//se constuye objeto para realizar la petición desde JavaScript
var xhr = new XMLHttpRequest();
//Se inicializa la solicitud enviando el verbo y la URL a invocar
xhr.open("POST",URL);
//Se define el evento que se disparará cuando se resuelva la petición
xhr.onreadystatechange = function() {
//se verifica que la petición se hubiese terminado
if (xhr.readyState == 4 && xhr.status == 200) {
//se envia la respuesta del servidor para que se imprima
imprimirRespuesta(xhr.responseText)
}
};
//Envía la solicitud adjuntando el JSONSend que contiene los 4 parametros de la función
xhr.send(JSON.stringify(JSONSend));
{
"sql": [
"insert into invmrec (irecurso,nrecurso,nunidad,sdescrip,bcontrolinv,bvisible) values ('012675','Impresora láser','und','Impresora láser marca HP','T','T')"
]
}
{
"sql": [
"insert into invmrec (irecurso,nrecurso,nunidad,sdescrip,bcontrolinv,bvisible) values ('012675','Impresora láser','und','Impresora láser marca HP','T','T')",
"delete from invmrec where irecurso='10201445'"
]
}
Json que contiene en su interior los siguientes datos:
resultado (varchar): Retorna true siempre que la petición se ejecute satisfactoriamente. imensaje (varchar): Código del mensaje de eventualidad o error en caso de presentarse. mensaje (varchar): Mensaje de eventualidad o error en caso de presentarse. tiempo (varchar): Tiempo que se tardó el Agente en resolver la petición, este tiempo está dado en milisegundos.
respuesta
JSON
Json que contiene en su interior el objeto “datos” que se describe a continuación:
bcommit: Contiene T cuando la acción solicitada se realiza correctamente y F cuando no se puede realizar.