Inicio Blog Martes técnico: Cómo conectar un sitio web al software de contabilidad en la nube Acumatica

Martes técnico: Conexión de un sitio web al software de contabilidad en la nube Acumatica

Doug Johnson | 9 de junio de 2020

Conectar un sitio web al software de contabilidad Acumatica Cloud es un proceso fácil de completar. Este artículo explica cómo configurar un sitio web ASPX simple con un formulario que utiliza servicios web para enviar un cliente potencial a Acumatica Cloud ERP.

Medio ambiente: 5.10.0600 (framework no necesario)

IDE: Visual Studio Express 2013 para Web

Martes técnico de Acumatica

Visión general

Pantalla simple de entrada de pedidos

Acumatica Cloud ERP puede configurarse para satisfacer las necesidades de los usuarios. Puede implementar fácilmente diferentes skins para cambiar el aspecto del sitio. Los administradores pueden añadir campos o utilizar derechos de autorización para simplificar las pantallas. Los usuarios individuales pueden personalizar cuadrículas y crear cuadros de mando.

Puede utilizar plantillas para cambiar el aspecto de Acumatica
Puede utilizar plantillas para cambiar el aspecto de Acumatica

Incluso puede crear sitios web completamente nuevos o formularios sencillos que utilicen servicios web para introducir datos en Acumatica. Este artículo mostrará cómo crear un formulario sencillo que cree un cliente potencial en Acumatica.

Resumen de la solución

Acumatica es una aplicación web. Todas las pantallas de entrada de datos tienen una conexión de servicios web para que pueda extraer y enviar datos asociados con el "esquema" de esa pantalla. Un esquema de Acumatica es una lista de objetos que incluye tablas de bases de datos, campos, procedimientos y funciones. Mediante los servicios web puede acceder al esquema de la pantalla para añadir registros, guardar datos y realizar otras acciones, como si estuviera escribiendo en la propia pantalla.

Conexión de un sitio web al software de contabilidad en la nube Acumatica
Conectar un sitio web a Acumatica

En esta sección realizamos los siguientes pasos:

  • Crear un sitio web sencillo
  • Añada la descripción de los servicios web de Acumatica al sitio web en Visual Studio
  • Crear una página web con un formulario que recogerá los datos a enviar
  • Añadir código C# para enviar los datos del formulario a Acumatica

Crear un sitio web con Visual Studio

Abra Visual Studio y seleccione la opción para crear un nuevo sitio web. Asegúrese de seleccionar Visual C# y de utilizar la opción Sitio ASP.NET Web Forms para la creación rápida del sitio. Especifique un directorio web donde desea que se cree el sitio.

Crear un sitio web sencillo para enviar datos a Acumatica mediante servicios web
Cree un sitio web sencillo para enviar datos a Acumatica mediante servicios web.

El resultado es un sitio sencillo que podemos modificar rápidamente para mostrar cómo utilizar los servicios web para conectarse a Acumatica. A continuación se muestra la página de inicio de este sitio. He modificado el texto del sitio, los menús y las imágenes.

Acumatica y conexión con el sitio web
Sitio web ASPX sencillo creado utilizando una plantilla de Visual Studio con pequeñas modificaciones

Enlace a los servicios web de Acumatica

El siguiente paso es traer la referencia web de Acumatica para incluirla en nuestro sitio web. Cada página de Acumatica tiene una referencia web que podemos utilizar. En este ejemplo, utilizaremos la página Leads.

Para obtener la referencia web, inicie sesión en la aplicación Acumatica, vaya a la página, haga clic en Ayuda y seleccione el botón Servicio web.

Para obtener la referencia web inicie sesión en la aplicación Acumatica, navegue hasta la página, haga clic en Ayuda y seleccione el botón Servicio web
Haga clic en Ayuda y seleccione el botón Servicio Web.

A continuación, seleccione el enlace Descripción del servicio.

A continuación, seleccione el enlace Descripción del servicio
A continuación, seleccione el enlace Descripción del servicio.

Esto devolverá una URL similar a http://localhost/demo/Soap/CR301000.asmx?WSDL que puede utilizar para importar una referencia de servicio en el proyecto de Visual Studio.

Dentro de Visual Studio, puede añadir una referencia de servicio seleccionando en el menú superior Sitio web -> Añadir referencia de servicio. Esto abre un cuadro de diálogo que se ve a continuación.

Añada una referencia de servicio seleccionando en el menú superior Sitio web -> Añadir referencia de servicio. Se abrirá un cuadro de diálogo.
Cuadro de diálogo Añadir una referencia de servicio.

Haga clic en "Avanzado" para que aparezca un botón llamado "Añadir referencia web" y haga clic en él.

Para añadir una referencia web (véase la pantalla siguiente)

  1. Introduzca la URL que obtuvo de la descripción de los servicios de Acumatica
  2. Introduzca un nombre de referencia web (yo he utilizado el ID de pantalla CR.30.10.00)
  3. Pulse el botón Añadir referencia

Pulse el botón Añadir referencia
Seleccione el botón Añadir referencia

Ahora los campos, objetos y métodos de la pantalla de clientes potenciales de Acumatica están disponibles para su sitio web.

Añada código a su sitio web

En esta sección, se requiere algo de codificación C# para que su sitio web pueda:

  1. Iniciar sesión en Acumatica
  2. Asignar campos de formulario de sitio web a campos de datos de Acumatica
  3. Enviar los datos a Acumatica

Paso 1: Crear entrada de formulario en página ASPX

El primer paso es crear un formulario en tu sitio web donde puedas introducir datos. He añadido un sencillo formulario de envío a la página de contacto del sitio web que ha creado Visual Studio. El código del formulario se muestra a continuación:

Solicitud de venta

<asp:Label ID=”Label1″ runat=”server” Text=”First Name”></asp:Label>> <asp:TextBox ID=”FirstName” runat=”server” BackColor=”WhiteSmoke”></asp:TextBox>
<asp:Label ID=”Label2″ runat=”server” Text=”Last Name”></asp:Label> <asp:TextBox ID=”LastName” runat=”server” BackColor=”WhiteSmoke”></asp:TextBox>
<asp:Label ID=”Label3″ runat=”server” Text=”Email”></asp:Label> <asp:TextBox ID=”Email” runat=”server” BackColor=”WhiteSmoke”></asp:TextBox>
<asp:Label ID=”Label4″ runat=”server” Text=”Phone”> <asp:TextBox ID=”Phone1″ runat=”server” BackColor=”WhiteSmoke”></asp:TextBox>
<asp:Button ID=”SubmitButton” runat=”server” Text=”Submit Lead to Acumatica” OnClick=”SubmitButton_Click” />

Paso 2: Añadir lógica de negocio con C#

A continuación, modifique la página C# (content.apsx.cs) para incluir el código para iniciar sesión, asignar campos del sitio web y enviar datos a Acumatica a través de servicios web. El código para esto se muestra a continuación.

Visual Studio muestra los métodos asociados a Acumatica para simplificar la programación
Visual Studio muestra los métodos asociados a Acumatica para simplificar la programación.

Este código (a) inicia sesión en Acumatica, (b) crea un Comando que incluye acciones y datos a insertar, y (c) envía el comando a Acumatica.

protected void SubmitButton_Click(object sender, EventArgs e)

{

CR301000.Pantalla scr = nueva CR301000.Pantalla();

scr.CookieContainer = new System.Net.CookieContainer();

CR301000.LoginResult lr = scr.Login("admin", "123");

if (lr != null && lr.Code == CR301000.ErrorCode.OK)

{

CR301000.Esquema de contenido = scr.GetSchema();

var comandos = nuevo CR301000.Comando {

esquema.Acciones.Insertar,

nuevo CR301000.Valor {

LinkedCommand = schema.DetallesSumario.Nombre, Value = Nombre.Texto },

nuevo CR301000.Valor {

ComandoEnlazado = schema.DetallesResumen.Apellido, Valor = Apellido.Texto },

nuevo CR301000.Valor {

LinkedCommand = schema.DetailsContact.Email, Value = Email.Text },

nuevo CR301000.Valor {

LinkedCommand = schema.DetailsContact.Phone1, Value = Phone1.Text },

esquema.Acciones.Guardar

};

scr.Submit(comandos.ToArray());

Response.Redirect("ContactSuccess.aspx");

}

}

Este código asume que usted ha creado una página de aterrizaje llamada ContactSuccess.aspx. Algún código simple para esta página de aterrizaje es:

<%@ Page Title=”Thank You” Language=”C#” MasterPageFile=”~/Site.Master” AutoEventWireup=”true” CodeFile=”About.aspx.cs” Inherits=”About” %>

<%@ Page Title=”Thank You” Language=”C#” MasterPageFile=”~/Site.Master” AutoEventWireup=”true” CodeFile=”About.aspx.cs” Inherits=”About” %>
<asp:Content ID=”BodyContent” ContentPlaceHolderID=”MainContent” runat=”server”>
<h2><%: Title %>.</h2>
<h3>Thank you for contacting RevisionTwo sales.</h3>

Alguien de nuestro equipo de ventas se pondrá en contacto con usted en el plazo de 1 día laborable.

</asp:Content>

Pon a prueba tu trabajo

Abrir el sitio web y enviar el formulario

Si todo se ha hecho correctamente, debería ser redirigido a la página ContactSuccess
Un sencillo formulario añadido a nuestro sitio web

Abra su sitio web publicándolo o ejecutando un emulador de navegador en modo de depuración dentro de Visual Studio. Vaya a la página de contacto y envíe su formulario.

Si todo se ha hecho correctamente, debería ser redirigido a la página ContactSuccess.

Entre bastidores, el sitio web enviaba la pista a Acumatica.

Puede iniciar sesión en Acumatica, navegar al área de clientes potenciales o introducir el nombre que envió en el área de búsqueda global y debería ver el cliente potencial creado en Acumatica.

Un sencillo formulario añadido a nuestro sitio web
Un sencillo formulario añadido a nuestro sitio web.

No se detenga aquí

Cada página de Acumatica tiene un webservice. Crea páginas para crear contactos, oportunidades y mucho más.

Cree una función de inicio de sesión (incluida de fábrica con Visual Studio) e inicie sesión como usuario en lugar de como administrador al enviar formularios. Esto reforzará los controles de seguridad para que puedas limitar lo que el usuario de tu sitio web puede enviar.

Siguiente paso

Póngase en contacto con Doug Johnson si desea ver cómo crear un proceso de importación para una factura de proveedor (véase la pantalla siguiente). En este ejemplo, hay funcionalidad adicional para ganar:

  • Inicie sesión en nuestro nuevo sitio web y utilice ese inicio de sesión para enviar el formulario a Acumatica
  • Añadir un controlador adicional (carga de página y formulario de envío)
  • Conversión de datos (fecha)
  • Captura de errores

Póngase en contacto con Doug Johnson si desea ver cómo crear un proceso de importación para una factura de proveedor

Póngase en contacto con Doug Johnson si desea ver cómo crear un proceso de importación para una factura de proveedor.

Autor del blog

Vicepresidente de Gestión de Productos en Acumatica.

Reciba las actualizaciones del blog en su bandeja de entrada.