Apex

Isotipo de EGA Futura

Qué es Apex y qué se puede resolver con código dentro del ERP?

Apex es el lenguaje de programación de Salesforce, la Plataforma sobre la que corre EGA Futura ERP. Sirve para escribir reglas de negocio propias que se ejecutan del lado del servidor, junto a los datos. Se usa cuando un requerimiento excede lo que la configuración resuelve sola: un cálculo que cruza varios objetos, un proceso que recorre miles de registros de una vez, una integración con un sistema externo o una validación que depende de información que vive en otro lado. En el camino OEM ese código lo escribe y lo mantiene el equipo de EGA Futura. Tu empresa define qué necesita que ocurra, y la Plataforma lo ejecuta con los mismos permisos y la misma seguridad que el resto del sistema.
Apex
Plataforma EGA Futura
📚 »
Apex
Qué es Apex y qué se puede resolver con código dentro del ERP?

Apex

Introducción a Apex

Toda empresa tiene una o dos reglas que no se parecen a las de nadie.

Un cálculo de comisión con tres excepciones, un límite de crédito que mira cuatro cosas a la vez, un modo propio de armar el precio según el cliente y la temporada. Esas reglas son, muchas veces, la ventaja competitiva de la empresa.

Apex es la herramienta con la que esas reglas dejan de vivir en la cabeza de alguien y pasan a ejecutarse solas dentro del sistema.

Qué es, sin tecnicismos

Es el lenguaje de programación de Salesforce, y corre en los mismos servidores donde están los datos del ERP.

Eso último no es un detalle. Un programa que corre al lado de los datos trabaja rápido, respeta los permisos de cada usuario y se ejecuta igual sin importar desde dónde se lo dispare.

La misma regla vale desde el navegador, desde el celular y desde un sistema externo que envía un pedido. No hay una versión para cada camino.

Qué se resuelve con código

Conviene verlo desde la necesidad de negocio y no desde la herramienta.

Lo que necesita la empresaEjemplo concreto
Un cálculo que cruza varios objetosUn límite de crédito que mira facturas, cobranzas y pedidos abiertos a la vez
Un proceso sobre muchos registrosActualizar precios sobre miles de productos en una sola corrida nocturna
Una integración con un sistema externoEnviar cada comprobante al servicio fiscal y guardar la respuesta en el registro
Una validación que depende de otros registrosFrenar un despacho cuando el saldo total del cliente supera un tope
Una operación con muchos pasos encadenadosArmar la orden, reservar el stock y avisar al transporte en un solo movimiento

Cuándo hace falta y cuándo no

La regla de oro de cualquier implementación sana es que el código llega último, no primero.

Lo que se resuelve configurando

Un campo que se completa solo con una cuenta simple, un registro que no se guarda si falta un dato, una alerta cuando algo cambia de estado o una aprobación en dos pasos son casos de configuración.

Se implementan más rápido, se explican mejor y se modifican sin tocar nada delicado.

Lo que pide código

Cuando la regla mira datos de tres objetos distintos, cuando el volumen es grande, cuando hay que conversar con un sistema de afuera o cuando la lógica tiene excepciones encadenadas, ahí entra Apex.

La pregunta correcta nunca es si se puede programar, sino si hace falta. Y esa pregunta la responde el equipo que implementa, no quien pide.

Cuándo se ejecuta el código

Un programa en la Plataforma no corre en cualquier momento: siempre hay algo que lo dispara.

DisparadorCuándo entra en acción
Al guardar un registroEn el momento en que alguien crea, edita o borra algo
Por horarioTodas las noches, todos los lunes, el primer día del mes
A pedidoCuando un usuario aprieta un botón en la pantalla
Por volumenCuando hay que recorrer una cantidad grande de registros en tandas
Desde afueraCuando otro sistema envía o pide información

Qué garantiza la Plataforma sobre ese código

Programar sobre una plataforma compartida tiene reglas que en un desarrollo hecho desde cero no existen, y las tres que siguen protegen a tu empresa.

La primera es que todo código llega a producción con sus pruebas automáticas. La Plataforma las exige, así que una regla nueva no puede romper en silencio otra que ya funcionaba.

La segunda es que el código respeta la seguridad del sistema. Corre con permisos, no por encima de ellos, así que nadie ve por esa vía algo que no vería en pantalla.

La tercera son los límites de la Plataforma, que impiden que un proceso mal planteado consuma los recursos de todos. Obligan a resolver por lotes lo que es masivo, que además es la forma correcta de hacerlo.

Qué significa esto para una empresa que no programa

Significa que la personalización deja de ser un proyecto de software y pasa a ser una conversación sobre cómo trabaja la empresa.

Nadie de tu empresa necesita aprender a programar ni contratar un equipo técnico para que EGA Futura ERP haga las cosas a su manera. Las capacidades de la Plataforma están descritas en las características de EGA Futura ERP.

Apex dentro de EGA Futura ERP

EGA Futura ERP está construido sobre la Plataforma Salesforce, así que Apex es parte de sus cimientos y no un agregado.

Quién escribe el código

La Org la administra EGA Futura, y eso incluye el código. Tu empresa define el requerimiento y el equipo lo implementa, lo prueba y lo mantiene.

Es una diferencia importante frente a la forma clásica de personalizar un ERP, donde la empresa termina contratando programadores o dependiendo de un consultor externo para cada cambio.

Acá el pedido se hace en el idioma del negocio. Alguien dice "necesitamos que el descuento máximo dependa de la antigüedad del cliente y de su saldo", y eso alcanza para empezar.

Cómo se define un requerimiento que va a terminar en código

La conversación útil describe tres cosas: qué tiene que pasar, en qué momento tiene que pasar y qué hace el sistema cuando la condición no se cumple.

Con esas tres respuestas, el equipo decide si el caso se resuelve configurando o si conviene código, y esa decisión técnica no la carga tu empresa.

Las integraciones con otros sistemas

Es uno de los usos más frecuentes, porque casi ninguna empresa vive con un solo sistema.

El ERP conversa con servicios de facturación electrónica, con bancos, con tiendas en línea y con las herramientas que tu empresa ya usa. Ese intercambio se resuelve con automatizaciones y con Apex, según qué tan particular sea el caso.

El complemento de integraciones contempla hasta diez mil conexiones diarias entre automatizaciones y Apex, que es un volumen pensado para operaciones que sincronizan todo el día. Qué incluye cada edición está en la página de precios de EGA Futura ERP.

Preguntas frecuentes sobre Apex

Estas son las preguntas que aparecen cuando una empresa se pregunta hasta dónde puede adaptar el ERP a su forma de trabajar.

Hay que saber programar para usar el ERP?

No. El ERP se opera desde la pantalla, y Apex vive por debajo, resolviendo lo que la empresa pidió que ocurra solo.

El código lo escribe y lo mantiene el equipo de EGA Futura, así que tu empresa define el qué y el equipo resuelve el cómo.

En qué se diferencia de una automatización configurada?

Una automatización configurada se arma desde una pantalla, con condiciones y acciones, y cubre la mayoría de los casos.

Apex entra cuando la regla mira datos de varios objetos, cuando el volumen es grande o cuando hay que conversar con un sistema externo.

El código puede romper algo que ya funcionaba?

La Plataforma exige que todo código llegue a producción acompañado de sus pruebas automáticas, y esas pruebas se ejecutan también sobre lo que ya estaba.

Es una de las mayores diferencias frente a un desarrollo a medida hecho fuera de una plataforma.

Apex ve datos que un usuario no debería ver?

El código corre respetando los permisos definidos, así que la seguridad del sistema se mantiene igual desde cualquier camino.

Qué pasa cuando el proceso toca miles de registros?

Se resuelve por lotes, que es la forma en que la Plataforma procesa volúmenes grandes sin afectar el trabajo de nadie.

Un recálculo masivo de precios o una actualización de saldos se corren de noche y a la mañana están listos.

Se puede integrar el ERP con un sistema que ya usamos?

Sí, y es uno de los usos más habituales. La conversación empieza por qué datos tienen que viajar, en qué dirección y con qué frecuencia. Conviene plantearlo en una demostración del ERP.

Apex es el lenguaje de programación de Salesforce, la Plataforma sobre la que corre EGA Futura ERP. Sirve para escribir reglas de negocio propias que se ejecutan del lado del servidor, junto a los datos.

Se usa cuando un requerimiento excede lo que la configuración resuelve sola: un cálculo que cruza varios objetos, un proceso que recorre miles de registros de una vez, una integración con un sistema externo o una validación que depende de información que vive en otro lado.

En el camino OEM ese código lo escribe y lo mantiene el equipo de EGA Futura. Tu empresa define qué necesita que ocurra, y la Plataforma lo ejecuta con los mismos permisos y la misma seguridad que el resto del sistema.

Info relacionada a

Apex

Búsquedas relacionadas

apex, apex salesforce, lenguaje de programacion salesforce, que es apex, codigo en salesforce, trigger apex, apex code, personalizar un erp con codigo, desarrollo sobre la plataforma, integracion por api, clase apex, automatizacion a medida

Información técnica para Administradores y Programadores️

Detalle técnico de Apex

Para quien escribe requerimientos o trabaja sobre la Org.

Apex es un lenguaje orientado a objetos que se ejecuta en los servidores de la Plataforma, con acceso directo al modelo de datos de la Org y a su motor de consultas.

Cómo se llama cada cosa

Saber el nombre correcto acorta cualquier requerimiento, porque evita describir con un párrafo algo que tiene una palabra.

NombreQué nombra
TriggerEl código que se ejecuta al crear, editar o borrar un registro
ClaseLa unidad donde vive la lógica y desde donde se reutiliza
Proceso por lotesLa forma de recorrer volúmenes grandes en tandas sucesivas
Proceso asíncronoEl trabajo que se encola y corre sin hacer esperar al usuario
Proceso programadoEl que se ejecuta en un horario definido
CalloutLa llamada del ERP a un servicio externo
Servicio expuestoEl punto por el que otro sistema le habla al ERP
Prueba automáticaEl código que verifica que lo anterior sigue funcionando

Momentos de ejecución

Definir el momento es la mitad del requerimiento, porque cambia por completo la solución técnica.

MomentoQué lo disparaEjemplo típico
Al guardarUn trigger sobre el objetoRecalcular un total cuando cambia una línea
Por horarioUn proceso programadoRevisar vencimientos todas las noches
A pedidoUn botón o una acción en pantallaGenerar un documento cuando alguien lo solicita
Por volumenUn proceso por lotesActualizar precios sobre miles de productos
Desde afueraUn servicio expuestoRecibir un pedido de una tienda en línea

Lo que conviene saber antes de pedir un desarrollo

La Plataforma impone límites de consumo por transacción, y esa restricción es la que sostiene el rendimiento de todas las Orgs que conviven en la misma infraestructura.

La consecuencia práctica es que todo lo masivo se resuelve por lotes. Un requerimiento que empieza por "que recorra todos los registros y actualice" se implementa como un proceso por lotes, y conviene escribirlo así desde el principio.

El segundo punto es el orden. Cuando sobre un mismo objeto conviven una regla de validación, una automatización configurada y un trigger, el orden en que se ejecutan importa, y ahí es donde aparecen los efectos que nadie esperaba. Un requerimiento que declara qué gana cuando dos reglas se cruzan ahorra semanas de ida y vuelta.

Y el tercero es qué se hace cuando algo falla. Un proceso que habla con un sistema externo tiene que saber qué hacer si el otro lado no responde, y esa decisión es de negocio antes que técnica.

Transcripción del video

El sistema de gestión que ordena toda la empresa en un solo lugar

Ventas, compras, inventario, finanzas y equipo, con la información al día y disponible desde cualquier dispositivo. Funciona en la nube, así que no hay servidores que mantener.

Quiero llevar mi Empresa a la Nube
Team, Enterprise y Enterprise Elite. Se elige según el tamaño de la empresa.
1
Una sola Base de datos para Ventas, Compras, Stock, Finanzas y tu Equipo
24x7
Desde nuestra plataforma ofrecemos soporte técnico todos los días
IA
Integrada en cada aplicación de la Plataforma ERP
1994
Desde hace más de 30 años potenciamos a las Empresas de Iberoamérica