¿Cómo obtener el saldo de los productos en las bodegas?
GetSaldosProductosEnBodegas (datajson, controlkey, iapp, random) : json

Descripción

Retorna un json con el sado físico, contable y proyectado de los productos en cada bodega, esto siempre y cuando se indique qué tipo de saldo se desea obtener, si no se envía ningún tipo de saldo, retornará por defecto el saldo físico del producto. Entiéndase saldo físico como: Saldo contable + Recepciones - Remisiones. Se puede solicitar el saldo para un producto específico o para todos los productos. Cuando el producto no tenga saldo no se retornará nada en el json de respuesta.

Resultado

Retorna la existencia física, contable y proyectada del producto en cada bodega.
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 8 Actualización 14.

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

Este Json contiene en su interior la siguiente estructura:

irecurso: Código del elemento de inventario al que se le van a calcular los saldos, si no está dado, se retornan todos los elementos de inventario. (opcional).

iinventario: Envíe T para obtener el nombre del elemento de inventario en la respuesta de la petición. Si no está dado no retornará nombre, solo código. (opcional).

bunidadrecurso: Envíe T para obtener la unidad de medida del elemento de inventario en la respuesta de la petición. Si no está dado no retornará unidad de medida, solo código. (opcional).

binventariocontable: Envíe T para obtener el saldo contable del elemento de inventario en las diferentes bodegas. (opcional).

binventariofisico: Envíe T para obtener el saldo físico del elemento de inventario en las diferentes bodegas. (opcional).

binventarioproyectado: Envíe T para obtener el saldo proyectado del elemento de inventario en las diferentes bodegas. (opcional).

bnombreinventario: Envíe T para obtener una lista adicional con el código y nombre de cada una de las bodegas, (opcional).

NOTA: : Si no está especificado binventariocontable, binventariofisico, binventarioproyectado se retornará por defecto el saldo físico del elemento de inventario.


{ "irecurso": "102030" }
controlkey Varchar Corresponde al keyagente obtenido en el logueo (requerido). "2B685117A1"
iapp Varchar Código que identifica a la aplicación que interactúa con el Agente (requerido) "1001"
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). "6935968966323469"
Ejemplo de la ejecución en JavaScript
//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/TInventarios/"GetSaldosProductosEnBodegas"/'; //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 = { "irecurso": "102030", }; //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));
EJECUTAR CODIGO
Ver otros ejemplos en: PHP , JAVA , C# , Visual Basic.net , Visual Basic 6 , Delphi.
Ver documentación de la petición por GET.

Respuesta

JSONIr arriba
{ "result": [ { "encabezado": { "resultado": "true", "imensaje": "", "mensaje": "", "tiempo": "49" }, "respuesta": { "datos": { "listaproductos": [ { "irecurso": "102030", "listabodegas":[ { "iinventario":"2","qinvfisico":"15" }, { "iinventario":"3","qinvfisico":"8" } ] } ] } } } ] }
Descripción del JSON Ir arriba
Nombre parámetro Tipo Descripción
encabezado JSON

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 arreglo de objetos “datos” que será descrito a continuación:

datos (arreglo de objetos): Cada objeto está conformado por:
- listaproductos: Arreglo que contiene en su interior la información de los saldos de los productos registrados en el sistema.
- irecurso: Código del elemento de inventario.
- listabodegas: Arreglo que contiene el listado de bodegas en las que se encuentra el elemento.
- iinventario: Código de la bodega.
- qinvfisico Saldo físico del elemento en la bodega.

EventualidadesIr arriba
Para esta función se pueden presentar las siguientes eventualidades o errores: Un ejemplo del JSON que retorna la función cuando se genera una eventualidad es el siguiente:

{ "result":[{ "encabezado":{"resultado":"false","imensaje":"40","mensaje":"Usuario no logueado."}, "respuesta":{"datos":""} }] }

©2016 InSoft Todos los derechos reservados.