
Aprende a programar en Salesforce desde VsCode para trabajar productivamente (Video)
Cuando empezamos a programar en proyectos más grandes de Salesforce se nos dificulta desenvolvernos eficientemente desde el Developer Console. Por eso aquí les enseño cómo programar en Salesforce desde VsCode para trabajar productivamente.

Cómo Resolver el Bad Request Error en CPQ Generador de Documentos en Salesforce
Si usas CPQ para generar documentos en Salesforce, entonces, alguna vez debes haberte encontrado con el error Bad Request. A continuación, veremos las frecuentes razones por las que se produce este error y veremos cómo resolver Bad Request error en CPQ generador de documentos de Salesforce.
Las frecuentes razones por las que aparece este error es por:
- Typos o errores tipográficos y de sintáxis.
- Conflictos con Imágenes.
- Cantidad de caracteres o número de páginas por documento.
Typos
Los errores tipográficos o de sintáxis pueden estar relacionado a los siguientes puntos:
- Para CPQ, debemos utilizar los tags XSL:FO y no HTML.
- En visualforce pages que renderizen CPQ, debemos utilizar HTML Codes en lugar de caracteres especiales. Por ejemplo: En lugar de usar &, debemos utilizar & y derivados.
Conflictos de Imágenes
Usualmente podemos hacer uso de imágenes que no son más accesibles o cuyo URL no existe. Debemos asegurarnos de usar correctamente las imágenes que generará nuestro documento.
Tamaño del Documento
La documentación de CPQ no tiene una documentación clara respecto a este punto. No obstante, en una ocasión, me apareció este error cuando generaba un documento de más de 100 páginas.
Haciendo un cálculo aproximado, CPQ document nos permite generar 100 páginas, incluyendo 20 palabras por cada 50 líneas. Teniendo una limitación aproximada de (20 * 50 * 100) = 1000000 caracteres por documento.
Si bien es incierto y complicado llegar a la fuente puntual de este error. Recomiendo, en un sanbox, clonar el quote template que estamos renderizando e ir agregando cada sección. Así, detectaremos el área del documento en la que estamos fallando y podemos centrarnos en resolver el conflicto de mejor manera.
¿Te han sido útiles estos puntos? ¿Alguna vez te has topado con un error que genere Bad Request y que no este mencionado en este artículo? Si es así, compártelo en los comentarios.

¿Por qué un Informático es importante en esta Pandemia?
No hay dudas que el Covid19 está sacudiendo al mundo estrepitosamente. Y sin los profesionales en tecnología nos afectaría aún más. A continuación, te voy a explicar por qué un ingeniero Informático y de Sistemas es importante en esta pandemia.
Disponibilidad de Información
La tecnología ha ido evolucionando progresivamente. La comunicación sencilla y veloz es una realidad. No obstante, el software para comunicarnos necesita de mantenimiento, soporte y mejoras continuas. Por eso, gracias a los expertos en informática, podemos disponer de información fácil y rápida para:
- Observar qué está pasando y cómo reacciona el mundo frente al coronavirus.
- Tomar decisiones preventivas de cara a esta pandemia.
- Difundir y controlar las medidas dispuestas por el gobierno y autoridades.
- Estar conectados y comunicados constantemente.
Sin la ayuda de estos expertos el virus hubiera tomado más fuerza, en comparación a sus antecesores.
Gestión Financiera Digital
El poder de la tecnología, en nuestra sociedad, es muy valioso. Aunque la economía está paralizada, su declive sería más grande sin la gestión financiera digital.
Un experto en tecnología nos brinda acceso a la bancarización digital. Permitiéndonos recibir y transferir dinero rápida y fácilmente.
Debido a esta pandemia, transferir dinero entre ciudades y países es muy importante. Muchas personas están fuera de casa, sin la posibilidad de volver a su lugar de origen. Es así que, enviando y recibiendo dinero, desde cualquier parte del mundo, facilitamos a estas personas: El acceso a alimentos, alojamiento y tickets para una esperada movilización.
Por otro lado, en esta cuarentena, una gran cantidad de personas siguen recibiendo un salario. Por lo tanto, la emisión y recepción de sueldos, de manera digital, nos permite evitar el contacto social y mantener nuestros ahorros.
Trabajo remoto en esta pandemia
Según una estimación, el teletrabajo o trabajo remoto, aumentó en Estados Unidos en un 80% entre 2005 y 2012*. En latinoamérica, con la pandemia del Covid19, el trabajo remoto ha incrementado significativamente por necesidad. Por un lado, brindándonos flexibilidad, autonomía y comodidad a la hora de trabajar. Y por otro, permitiendo que algunas empresas sigan funcionando, a pesar del aislamiento social.
Sin Ingenieros Informáticos ni de Sistemas el trabajo remoto no sería posible. Crean y mantienen el software necesario para comunicarnos y hacer videoconferencias. Además de, configurar las conexiones y darnos acceso a la información requerida.
Informática y Medicina
Finalmente, el software especializado en medicina, para los profesionales de la salud, permite realizar un trabajo más rápido y preciso. La Inteligencia Artificial nos permite detectar y diagnosticar algunos casos rápidamente. De igual forma, podemos encontrar posibles infectados, como en China; utilizando cámaras térmicas para detectar fiebre.
La labor de un ingeniero Informático y de Sistemas es muy importante en el mundo y sobre todo en esta pandemia. Gracias a ellos podemos disponer de información rápida, acceder a la banca digital, conectarnos remotamente y tener herramientas para optimizar la medicina. ¿Cuál es tu opinión?
*Harvard Business Review Press, 2017. Mejora Tu Productividad. 1st ed. Boston-Massachusetts.
También te puede interesar: El Coronavirus es una Oportunidad.

Aprende a importar y exportar datos en Salesforce sin data loader ni otros programas
A lo largo de mi experiencia con Salesforce, se me ha hecho tedioso utilizar Data Loader e invertir en herramientas de importación y exportación de datos.
A continuación, en el video, les mostraré como importar y exportar datos en Salesforce. No es necesario utilizar data loader ni otros programas.
Datos de ejemplo: https://tinyurl.com/rydmoat

El Coronavirus es una Oportunidad
Detrás de tanto pánico colectivo, la llegada del Covid-19 a nuestro país, es una oportunidad para aprovechar la tecnología y conectarnos a través de sus herramientas.
El coronavirus ha llegado a nuestro país, y hay que tomar todas las medidas preventivas. Por ejemplo, evitemos el contacto con otras personas. Es así que, se promueve la suspensión de clases en colegios y universidades, se prohíben los eventos masivos, y se recomienda no salir de casa.
¿Esta no es la excusa perfecta para conectarnos mediante Internet? Teniendo a disposición Skype, Google Plus, Go To Meeting, Microsoft Teams entre otros. ¿Aún debemos perder clases? ¿Aún debemos cancelar reuniones? ¿Evitar ir a trabajar?
Por esa razón, propongo a los colegios y universidades, recomendarle a cada profesor grabar sus clases, desde el celular, ponerlas en Youtube y enviar el link a todos sus alumnos. De regreso a clases, se puede tomar un examen para medir el nivel de impacto de esta solución.
Además, según estadísticas de rendimiento estudiantil, un alumno promedio estudia para rendir bien el examen, no necesariamente por que quiere aprender la materia.
Por otro lado, que tal si evitamos las largas reuniones, en diferentes lugares de la ciudad. Utilizando Skype, podemos llegar a reducir el tiempo que tomamos en movilizarnos, esperar y regresar. Consiguiendo resultados más productivos y evitando el contacto con otras personas.
Como país aún desconfiamos el uno del otro, y tememos arriesgar. No obstante, el Covid-19 es la excusa perfecta para poner a prueba soluciones alternativas, como la tecnología.
¿Y si funciona? ¿Por que no usarlas?
¡Debemos cambiar el chip! Dejemos, de una vez, de creer que todo tiene que ser perfecto. Esta es una invitación al prueba, error y mejora continua. Estoy seguro, que así mejoremos como país.

¿Cómo utilizar Visual Studio Code con Salesforce?
Para muchos Visual Studio Code es uno de los mejores IDEs para desarrollar código. A continuación, veremos cómo utilizar Visual Studio Code con Salesforce para tener una mejor legibilidad y desarrollar código de una mejor manera.
Para utilizar Visual Studio con Salesforce seguiremos los siguientes pasos:
- Instalación de Salesforce Extension Pack.
- Creación del proyecto.
- Autorización de la Organización.
- Retrieve Source: Traer información desde Salesforce al entorno.
- Despliegue desde VsCode a Salesforce.
Instalación de Salesforce Extension Pack
Para poder comunicarnos con Salesforce desde VsCode necesitamos instalar Salesforce Extension Pack. Vamos a la barra izquierda y hacemos clic en el icono de extensions (Control + Shift + x). Finalmente, buscamos «Salesforce Extension Pack» y lo instalamos.

Creación del Proyecto
Vamos a View/Command Palette (Control + Shift + P) y escribimos "SFDX: Create Project with Manifest". Agregamos el nombre de nuestro proyecto y seleccionamos la ruta en donde la guardaremos.

Manifest contiene el archivo package.xml que nos permitirá manejar la meta data de nuestra organización. Así podremos comunicarnos con los archivos de nuestra organización con facilidad.

Autorización de la Organización
Ahora debemos hacer login con nuestra organización Salesforce desde VsCode. Nuevamente abrimos la paleta de comandos (Control + Shift + P) y escribimos: "SFDX: Authorize an Org".

Seleccionamos el tipo de organización con la que nos autenticaremos (Productión y Sandbox).

Agregamos un nombre de Alias (para identificar la organización) y se abrirá el navegador.

Utilizamos nuestras credenciales de Salesforce y hacemos un login habitual.

Retrieve Source: Traer información desde Salesforce al entorno
Antes de continuar, revisar que se tiene la última versión de SFDX. Escribir «SFDX update» en un terminal (Terminal / New Terminal).
Ahora, debemos hacer un Retrieve Source in Manifest from Org para traer nuestra información (Clases, Triggers, VFPs, Components y más) desde Salesforce.
Ubicamos el archivo Package.xml de Manifest (Manifest/Package.xml), click derecho y seleccionamos "SFDX: Retrieve Source in Manifest from Org".

Una vez se realice este paso, dentro de la carpeta force-app encontraremos nuestros archivos de Salesforce.

Despliegue desde VsCode a Salesforce
Una vez hagamos cambios en nuestros archivos, ¿Cómo los enviamos desde VsCode a Salesforce?. Simplemente hacemos clic derecho sobre el archivo que queremos actualizar y seleccionamos «SFDX: Deploy Source to Org»

Es así cómo utilizar Visual Studio Code con Salesforce para poder tener una mejor legibilidad y poder desarrollar código de una mejor manera.
En caso te interese saber cómo y por qué ser desarrollador Salesforce puedes informarte aquí.
Referencia: Set Up Visual Studio Code

¿Cómo y por qué ser desarrollador Salesforce?
Debido a la enorme demanda, poca competitividad y las altas propuestas remunerativas ofrecidas en latinoamérica, ser desarrollador Salesforce puede mejorar nuestro futuro profesional.
Salesforce es el Customer relationship management (CRM) número uno del planeta, caracterizado por ser un software que ayuda a los negocios a conectar con sus clientes y manejar la información de estos de una manera rápida, flexible y concisa.
Actualmente existen muchas ofertas de empleo relacionados a esta tecnología y muy pocos desarrolladores capacitados para afrontar este reto, provocando remuneraciones altas con baja competencia.
¿Por qué Salesforce es popular?
Empresas de todo el mundo automatizan y gestionan los datos de sus clientes con Salesforce, a causa de, la gran cantidad de soluciones que proponen, como las siguientes:
Ahorrar Tiempo: Se pueden para crear objetos, relaciones y procesos automatizados de manera rápida y sencilla.
Flexibilidad: Este CRM puede ser modificado, de tal manera que, cada proceso pueda acoplarse a las necesidades individuales de cada empresa.
Portabilidad: Gracias su alojamiento en la nube, se puede acceder a él desde cualquier punto en el planeta con conexión a Internet.
Seguridad: El principal pilar de Salesforce es la confianza, por lo que, se centran en cuidar la seguridad de datos de sus clientes.
¿Por qué ser desarrollador Salesforce me ayudaría como profesional?
La reducida competitivad y las altas ofertas remunerativas complementan las oportunidades laborales para un desarrollador en Salesforce.
Debido a la gran oferta de trabajo y la poca cantidad de desarrolladores, la competencia en puestos de trabajo relacionados a esta tecnología son casi nulas.
Por otro lado, diferentes empresas extranjeras han descubierto una manera de ahorrar recursos, trabajando con desarrolladores latinoamericanos de manera remota, aprovechando la diferencia del valor de la moneda entre diferentes países.
¿Qué necesito para convertirme en un programador Salesforce?
Es importante estar familiarizado con Java, HTML, CSS y Javascript, por lo que es recomendable haber trabajado como desarrollador web previamente.
La práctica es fundamental, ya que, los conceptos son sencillos y la capacidad para brindar soluciones requiere de nuestro ejercicio y perseverancia en la materia.
La disciplina y constancia será un soporte para completar las lecciones del trailhead, dado que, no es suficiente leerlas una vez, también, es importante repasar nuestra información de manera constante.
Los países en donde hay más demanda de desarrolladores se comunican principalmente en Inglés, por lo tanto, es indispensable manejar el idioma, además que, la mayoría de información y foros está en esta lengua.
Trailhead: ¿Cómo ser desarrollador Salesforce?
Trailhead (https://trailhead.salesforce.com) es una plataforma de aprendizaje online, propia de Salesforce que contiene un conjunto de lecciones y rutas que te ayudarán a familiarizarte de una manera rápida y contundente con la plataforma.
A continuación les dejaré una ruta de ejercicios para que puedan familiarizarse con Salesforce rápidamente (Clic en el enlace de la lección para ir a la página directamente).
Configuración, validaciones y Flujos (Básico):
- Salesforce Platform Basics
- Platform Development Basics
- Data Modeling
- Data Security
- Formulas y Validaciones
- Lightning Flow
Programming in Salesforce (Básico):
- Apex Basics & Database
- Database & .NET Basics
- Apex Triggers
- Apex Testing
- Visualforce Basics
- Developer Console Basics
Lightning (Intermedio):
- Visualforce & Lightning Experience
- Lightning Experience Development
- Aura Components Basics
- Core Concepts
- A. Components Skills & Tools
- Lightning Web Components for Aura Developers
- Lightning Data Service Basics for Aura Components (Optional)
APIs y Asíncrono Apex (Intermedio:
Próximamente ahondaremos en cada lección con el fin de consolidar lo aprendido con ejercicios útiles y prácticos.
Finalmente, recomiendo buscar plantearse retos propios para llevar su conocimiento a un nivel más avanzado en Salesforce . Además, la clave es practicar, practicar y no temer a cometer errores, siempre y cuando se aprendan de ellos.