Actualizado en
2024

Diseño de Comprobantes de Venta » Fórmulas

Adapta con total flexibilidad el formato de impresión de cada comprobante de venta emitido desde el programa
Sistema para Empresas
Edición de diseño de comprobantes

¿Existe la posibilidad de manipular el contenido del texto a
imprimir en mis facturas mediante fórmulas y funciones?

Sí, es totalmente posible :)

Y las posibilidades de configuración y modificación del diseño de las facturas no tienen límite.

Recuerda que el nivel de complejidad del contenido técnico de esta página es moderadamente alto, y está destinado a que pueda ser leído por técnicos o programadores.


‍La información contenida en esta página sobre la configuración de facturas, está destinada a usuarios avanzados
‍ ‍La información contenida en esta página sobre la configuración de facturas, está destinada a usuarios avanzados

Uso de fórmulas y funciones

En esta parte del manual del usuario te mostraremos para qué sirven las funciones más usadas en los reportes que forman parte del diseño de cada comprobante de venta de tu sistema.

Recuerda: Estas funciones reciben un dato de tipo variable, y se puede modificar cuando el mismo se imprime.

Estas funciones tienen un nombre y luego un paréntesis que se abre, y otro que se cierra, y entre ellos, las variables que recibe la función.

Personaliza al máximo la impresión de tus facturas mediante el uso avanzado de Funciones
Personaliza al máximo la impresión de tus facturas mediante el uso avanzado de Funciones

El dato luce como el siguiente ejemplo:

  • NombreFuncion(nombreVariable)
  • NombreFuncionEjemplo2(nombreVariable1, nombreVariable2, ....)

Una de las funciones más utilizadas es Alltrim(). Por ejemplo: el campo de variable del nombre del cliente figura así:

Alltrim(Clientes.Nombre + cNombreCliente)

Lo que se está haciendo en este caso, es concatenar los dos nombres, y al resultado de eso, se le aplica la función Alltrim.

Funciones útiles para aplicar a tus facturas y demás comprobantes

Concatenación de palabras (o frases): Cuando termina la primera frase, le pega la segunda. Por ejemplo:

"Hola" + "Juan", daría como resultado "Hola Juan".

"Hola Juan." + " " + " Como te va?", da como resultado "Hola Juan. Como te va?"

Alltrim()

Dentro del paréntesis debe ir una variable que sea frase o una palabra. Esta función le borra los espacios en blanco que tenga la frase o palabra adelante y atrás. Por ejemplo:

Alltrim(" Esto es un ejemplo") se transforma en: "Esto es un ejemplo". Nótese que entre las comillas y la primera letra ya no existe el espacio.

Alltrim("Esto es el segundo ejemplo") se transforma en: "Esto es el segundo ejemplo", ya que no tiene ningún espacio en blanco para sacarle.

Str()

Recibe algo del tipo: número, y lo convierte en algo de tipo: frase. Por ejemplo:

Str(1234) da como resultado "1234". 

Presta atención que el resultado está entre comillas dobles, indicando que es una palabra

Upper()

Recibe una palabra o frase y la devuelve toda en mayúsculas. Por ejemplo:

Upper("Mi nombre es Juan") da como resultado "MI NOMBRE ES JUAN".

Importante: Es recomendable usar la función Alltrim() recién después de usar la función Upper, ya que hay casos en los cuales, la función Upper, agrega espacios adelante o atrás. 

De acuerdo a lo explicado, el ejemplo anterior quedaría expresado de la siguiente manera: Alltrim(Upper("Mi nombre es Juan"))

iif(condición, resultado1, resultado2): Esto es una expresión del tipo: "si" o "if", e indica que: si se cumple la condición, entonces, que imprima el resultado1, y en caso contrario, que imprima el resultado2.

Veamos un ejemplo:

Formas de entrega venta
Ejemplo

Esto dice que si Alltrim(FormaEntrega) = "", es decir, que: si al sacarle los espacios a la variable: "FormaEntrega", ésta queda vacía, entonces muestre: "----". 

En caso de que no quede vacía, entonces que muestre lo que contiene esa variable

SubStr()

Esta función recibe tres datos de entrada: 

  1. Una palabra o frase, 
  2. Un número, y 
  3. Un segundo número. 

Lo que hace es devolver de la variable palabra, a partir del primer número, la frase que se forma con los caracteres indicados por el segundo número. 

Por ejemplo:

SubStr("Hola Mundo",0,4) , donde:

  • Lo que está entre comillas es la frase o palabra,
  • El número que sigue después de la coma (en este caso, el cero) indica el número de orden del caracter donde debe pocisionarse, que será el primero que se imprimirá
  • y el siguiente número (en este ejemplo es el cuatro) es la cantidad de caracteres que debe imprimir.

Según este ejemplo, lo que devuelve es: "Hola" porque se posiciona en el caracter cero (que seria la H) y de ahí cuenta 4 caracteres.

SubStr("Hola Mundo",5,5devuelve "Mundo", ya que se posiciona en el sexto carácter y de ahí imprime los siguientes 5 caracteres.

Debes tener en cuenta que el primer caracter de una frase o palabra es el caracter cero
‍Debes tener en cuenta que el primer caracter de una frase o palabra es el caracter cero

Left()

Esta función recibe dos datos de entrada: una palabra P y un número N. 

Lo que hace es devolver los primeros (N-1) caracteres empezando desde la izquierda.

Left("Hola Mundo", 4) da como resultado "Hola"

Right()

Es similar a la función Left(), pero devuelve los (N-1) caracteres empezando desde la derecha. Por ejemplo:

Right("Hola Mundo",5) da como resultado "Mundo"

DtoS()

Convierte algo que es del tipo Fecha a algo del tipo Palabra. Se lo usa solamente para la fecha de vencimiento, o la fecha de emisión del comprobante.

Adapta el formato de impresión de facturas a lo que tu negocio necesita
‍Adapta el formato de impresión de facturas a lo que tu negocio necesita

¿Como aplicar correctamente las funciones dentro del diseño de una factura?

Para modificar lo que se imprime en uno de los campos, el campo tiene que ser del tipo variable o mixto

Al final del capítulo explicaremos cómo editar un campo que sea fijo.

Para ilustrar cuáles son los pasos a seguir para editar un campo, aplicaremos al código del cliente, la función Alltrim(). 

Los pasos son los que detallamos a continuación.

Paso 1: Seleccionar el campo en cuestión

Esto se hace dando un clic con el botón izquierdo del mouse sobre el campo en cuestión.

Si se seleccionó correctamente, notarás que aparecen 4 cuadraditos blancos, uno, en cada uno de los vértices del campo, y 4 en el centro de cada uno de los bordes.

Paso 2: Haz clic con el botón derecho del mouse sobre ese campo

Del menú que aparece, selecciona la opción Estilo de Campo:

Estilo del campo
Estilo del campo

Paso 3: Se abrirá una ventana, similar a la siguiente

Lo único que puede variar es lo que dice el botón del sector Expresión:

Así se abre el constructor de expresión del ERP
Así se abre el constructor de expresión

Paso 4: Dale clic al botón que figura en el sector "Expresión" (señalado con rojo en la imagen superior)

Se abrirá la siguiente ventana que tiene tres partes:

  1. Recuadro rojo: todas las variables que salen de archivos,
  2. Recuadro Azul: todas las funciones que pueden ser usadas, y
  3. Recuadro Verde: Todas las variables simples.

Además, en el lugar en donde dice Clientes.Codigo es la expresión que nosotros debemos modificar y escribir Alltrim(Clientes.Codigo):

Constructor de Expresión
Constructor de Expresión

Paso 5: Para aplicarle la función ltrim() a este campo, debemos borrar el contenido del área de texto donde dice Clientes.Codigo

Por lo que esa línea quedaría en blanco:

debemos borrar el contenido del área de texto donde dice Clientes.Codigo
Debemos borrar el contenido del área de texto donde dice Clientes.Codigo

Paso 6: Buscamos en el recuadro de funciones (el del medio), la funciónAlltrim(c), y hacemos doble clic sobre ella

Notaremos que la misma se agrega automáticamente al área de texto inferior:

Buscamos en el recuadro de funciones (el del medio), la funciónAlltrim(c), y hacemos doble clic sobre ella
‍Buscamos en el recuadro de funciones (el del medio), la funciónAlltrim(c), y hacemos doble clic sobre ella

Paso 7: Ahora borramos el carácter cque se encuentra entre los paréntesis de la función

Por lo que sólo nos quedaría escrito Alltrim()

Paso 8: Buscamos en el recuadro de las variables de archivos, el dato correspondiente para el código de cliente

En este caso es la variable Clientes.Codigo

Hacemos doble clic sobre ese dato, y notaremos que quedará escrito: Alltrim(Clientes.Codigo):

Buscamos en el recuadro de las variables de archivos, el dato correspondiente para el código de cliente
‍Buscamos en el recuadro de las variables de archivos, el dato correspondiente para el código de cliente

Paso 9: Hacemos clic en el botón Ok

Notaremos que, ahora, en el área de texto donde antes decía Clientes.Codigo, ahora dice Alltrim(Clientes.Codigo).

Codigo de clientes

 

NOTA: En caso de que hayas editado incorrectamente el campo, cuando hagas clic en el botón "OK", (explicado en el paso 7), aparecerá un mensaje notificando este defecto en la expresión:

Dale clic en el botón "Sí", y vuelve a editar el campo en cuestión.
Dale clic a Sí

Dale clic en el botón  y vuelve a editar el campo en cuestión.

Configura y personaliza el sistema para adaptarlo a la forma de trabajo de tu empresa
‍Configura y personaliza el sistema para adaptarlo a la forma de trabajo de tu empresa

Uso de funciones en la modificación de Reportes y Diseños de Factura (Muy Avanzado)

Este video está orientado a técnicos y programadores:

 

Funcionamiento del Expression Builder y Operadores Lógicos en ReportPro (Super Avanzado)

Este video está orientado a técnicos y programadores:

 

El sistema de impresión de facturas te permite usar funciones para manipular información
‍El sistema de impresión de facturas te permite usar funciones para manipular información

Edición de diseño de comprobantes

Listado total de Fórmulas y Funciones

Aquí se encuentra la información de las fórmulas que podrás utilizar al modificar el diseño de los formularios pre-impresos.

Abs()

Propósito

To calculate the absolute value of a number

 

Sintaxis

Abs( <nNumber> )  nAbsValue

 

Argumento

<nNumber> is the number to determine the absolute value of

 

Retorna

Abs() Retorna the absolute value of <nNumber>.

AddressBlk()

Propósito

To format an address for printing

 

Sintaxis

AddressBlk( <cName>, <cAddress1>, <cAddress2>, <cCity>, <cState>, <cZip> )  cAddressString

 

Argumentos

<cName> The recipient's name

<cAddress1>  Address line 1

<cAddress2> Address line 2

<cCity> The city name

<cState> The state

<cZip> The zip code

 

Retorna

AddressBlk() creates an address block string based on the Argumentoos passed.  Blank Argumentoos are ignored.

Alltrim()

Propósito

To remove leading and trailing spaces from a character string

 

Sintaxis

Alltrim( <cString> )  cTrimString

 

Argumento

<cString> is the character string to trim spaces from

 

Retorna

Alltrim() Retorna a character string with leading and trailing spaces removed.

Asc()

Propósito

To determine the ASCII value of a character

 

Sintaxis

Asc( <cCharacter> )  nNumber

 

Argumento

<cCharacter> is the character to determine the ASCII value of

 

Retorna

Asc() Retorna the ASCII value of  <cCharacter>.

At()

Propósito

To determine the position of a string within another string

 

Sintaxis

At( <cSearchFor>, <cSearchIn> )  nLocation

 

Argumento

<cSearchFor> is the character string to search for

<cSearchIn> is the character string to search

 

Retorna

At() Retorna a numeric indicating the location of <cSearchFor> within <cSearchIn>.  If <cSearchFor> is not found, At() Retorna 0.

AtNoCase()

Propósito

To determine the position of a string within another string without regard for case

 

Sintaxis

AtNoCase( <cSearchFor>, <cSearchIn> )  nLocation

 

Argumentos

<cSearchFor> is the character string to search for

<cSearchIn> is the character string to search

 

Retorna

AtNoCase() Retorna a numeric indicating the location of <cSearchFor> within <cSearchIn >.  If <cSearchFor > is not found, AtNoCase() Retorna 0.

AtLineNum()

Propósito

To determine the line number of a string within a multi-line string

 

Sintaxis

AtLineNum(<cSearchFor>, <cSearchIn> )  nNumber

 

Argumento

<cSearchFor> is the character string to search for

<cSearchIn> is the character string to search

 

Retorna

AtLineNum() Retorna a numeric indicating the line number of <cSearchFor> within <cSearchIn>.  If <cSearchFor> is not found, AtLineNum() Retorna 0.

AtLineNoCase()

Propósito

To determine the line number of a string within a multi-line string without regard for case

 

Sintaxis

AtLineNoCase(<cSearchFor>, <cSearchIn> )  nNumber

 

Argumentos

<cSearchFor> is the character string to search for

<cSearchIn> is the character string to search

 

Retorna

AtLineNoCase() Retorna a numeric indicating the line number of <cSearchFor> within <cSearchIn>.  If <cSearchFor> is not found, AtLineNoCase() Retorna 0.

CDOW()

Propósito

To convert a date value to a character day of the week

 

Sintaxis

CDOW( <dDate> )  cDayName

 

Argumento

<dDate> is the date to convert

 

Retorna

CDOW() Retorna the name of the day of the week as a character string.

Ceiling()

Propósito

To round a number up to the highest integer

 

Sintaxis

Ceiling( <nNumber> )  nRoundedNumber

 

Argumento

<nNumber> is the number to round

 

Retorna

Ceiling() Retorna <nNumber> rounded up to the next highest integer.

Chr()

Propósito

To convert a numeric to a character

 

Sintaxis

Chr( <nNumber> )  cCharacter

 

Argumento

<nNumber> is the ASCII number to convert to a character

 

Retorna

Chr() Retorna the character representation of <nNumber>.

CMonth()

Propósito

Convert a date to a character month name

 

Sintaxis

CMonth( <dDate> )  cMonth

 

Argumento

<dDate> is the date to convert.

 

Retorna

CMonth() Retorna the name of the month as a character string.

Cosine()

Propósito

To calculate the cosine of a number

 

Sintaxis

Cosine( <nAngle> )  nCosine

 

Argumento

<nAngle> is an angle in radians

 

Retorna

Cosine() Retorna the cosine of <nAngle>.

Cotangent()

Propósito

To calculate the cotangent of a number

 

Sintaxis

Cotangent(<nAngle> )  nCotangent

 

Argumento

<nAngle> is an angle in radians

 

Retorna

Cotangent() Retorna the cotangent of <nAngle>.

CTOD()

Propósito

To convert a character value to a date

 

Sintaxis

CTOD( <cDate> )  dDate

 

Argumento

<cDate> is a character string consisting of numbers representing month, day, and year digits separated by the "/" character.  <cDate> must be expressed as "mm/dd/yy" or "mm/dd/yyyy".

 

Retorna

CTOD() Retorna the date equivalent of <cDate>.

Day()

Propósito

To calculate the day of the month as a numeric value.

 

Sintaxis

Day( <dDate> )  nDay

 

Argumento

<dDate> is the date to convert.

 

Retorna

Day() Retorna a number in the range of 1 to 31 as a numeric value.

Descend()

Propósito

To create a descending order key value

 

Sintaxis

Descend( <cString> )  cInvertedValue

 

Argumento

<cString> is the string to calculate the descending value for

 

Retorna

Descend() Retorna an inverted <cString>.

DOW()

Propósito

Convert a date value to a numeric day of the week

 

Sintaxis

DOW( <dDate> )  nDay

 

Argumento

<dDate> is the date to convert.

 

Retorna

DOW() Retorna the day of the week as a number between 1 and 7.

DTOC()

Propósito

To convert a date value to a character string

 

Sintaxis

DTOC( <dDate> )  cDate

 

Argumento

<dDate> is the date value to convert

 

Retorna

DTOC Retorna a character string in the format "mm/dd/yy" that represents <dDate>.

DTOS()

Propósito

To convert a date value to a character string

 

Sintaxis

DTOS( <dDate> )  cDate

 

Argumento

<dDate> is the date value to convert

 

Retorna

DTOS Retorna a character string in the format "yyyymmdd" that represents <dDate>.

ElapsedTime()

Propósito

To calculate the interval between two times

 

Sintaxis

ElapsedTime( <cTime1>, <cTime2> )  cTimeDifference

 

Argumentos

<cTime1> is the starting time

<cTime2> is the ending time

 

Retorna

ElapsedTime() Retorna the amount of time that has elapsed from <cTime1> to <cTime2> as a time string in the format hh:mm:ss.

Empty()

Propósito

To determine if a field or variable contains a empty value

 

Sintaxis

Empty( <xValue> )  lResult

 

Argumento

<xValue> is the value to check and can be any data type.

 

Retorna

Empty() Retorna true if the value is empty; otherwise, it Retorna false.

GroupMembers()

Propósito

To determine the number of members in a grouping.

 

Sintaxis

GroupMembers( <nGroup> )  nNumber

 

Argumento

<nGroup> is the group to query.

 

Retorna

GroupMembers() Retorna the number of members in <nGroup> group as a numeric value.

HardCR()

Propósito

To replace all soft carriage Retorna (chr(141)) with hard carriage Retorna (chr(13))

 

Sintaxis

HardCR( <cString> )  cHardCRString

 

Argumento

<cString> is the string containing the soft carriage Retorna

 

Retorna

HardCR() Retorna a string where all soft carriage Retorna are replaced with hard carriage Retorna.

HoursBetween()

Propósito

To calculate the hours between two date/time values

 

Sintaxis

HoursBetween( <dDate1>, <cTime1>, <dDate2>, <cTime2>, <lWeekEnds> )  nNumber

 

Argumentos

<dDate1> The starting date

<cTime1> The starting time as character string formatted as "hh:mm:ss" (24 hour format)

<dDate2> The ending date

<cTime2> The ending time as character string formatted as "hh:mm:ss" (24 hour format)

<lWeekEnds>  A logical indicating whether or not to count weekends

 

Retorna

HoursBetween() Retorna the number of hours between <cTime1> on <dDate1> and <cTime2> on <dDate2>.  The first date/time value must be smaller of the two.

iif()

Propósito

To return the result of an expression based on a condition

 

Sintaxis

iif( <lCondition> , <expTrue> , <expFalse> )  xValue

 

Argumentos

<lCondition> is a logical expression to be evaluated.

<expTrue> is the value, of any data type, returned if <lCondition> is true.

<expFalse> is the value, of any data type, returned if <lCondition> is false.

 

Retorna

iif() Retorna the evaluation of <expTrue> if <lCondition> evaluates to true and <expFalse> if it evaluates to false.

Integer()

Propósito

To truncate a number with decimal digits to a whole number

 

Sintaxis

Integer( <nNumber> )  nInteger

 

Argumentos

<nNumber> is the decimal number to convert to an integer

 

Retorna

Integer() Retorna <nNumber> truncated to an integer.

IsAlpha()

Propósito

To determine if the first character of a string is alphabetic

 

Sintaxis

IsAlpha( <cString> )  lLogical

 

Argumentos

<cString> is the string to test

 

Retorna

IsAlpha() Retorna TRUE if the first character in <cString> is an alphabetic (A-Z, a-z) character.

IsBetween()

Propósito

To determine if a number is between two other numbers

 

Sintaxis

IsBetween( <nTestNumber>, <nLowerLimit>, <nUpperLimit> )  lLogical

 

Argumentos

<nTestNumber> is the number to test

<nLowerLimit> is the lower limit to test against

<nUpperLimit> is the upper limit to test against

 

Retorna

IsBetween() Retorna TRUE if <nTestNumber> is between <nLowerLimit> and <nUpperLimit>.

IsDigit()

Propósito

To determine if the first character of a string is a numeric digit

 

Sintaxis

IsDigit( <cString> )  lLogical

 

Argumentos

<cString> is the string to test

 

Retorna

IsDigit() Retorna TRUE if the first character in <cString> is a digit (0-9).

IsLower()

Propósito

To determine if the first character of a string is lower case

 

Sintaxis

IsLower( <cString> )  lLogical

 

Argumentos

<cString> is the string to test

 

Retorna

IsLower() Retorna TRUE if the first character in <cString> is lower case (a-z).

IsUpper()

Propósito

To determine if the first character of a string is upper case

 

Sintaxis

IsUpper( <cString> )  lLogical

 

Argumento

<cString> is the string to test

 

Retorna

IsUpper() Retorna TRUE if the first character in <cString> is upper case (A-Z).

Left()

Propósito

To extract a substring beginning with the first character in a string

 

Sintaxis

Left( <cString> , <nCharacters> )  cSubString

 

Argumentos

<cString> is a character string from which to extract characters.

<nCharacters> is number of characters to extract beginning with the leftmost character.

 

Retorna

Left() Retorna a substring of <nCharacters> from <cString> starting at the leftmost character.

Len()

Propósito

To calculate the length of a character string

 

Sintaxis

Len( <cString> )  nLength

 

Argumento

<cString> is the character string to determine the length of

 

Retorna

Len() Retorna the length (in characters) of <cString>.

Log()

Propósito

To calculate the natural logarithm of a number

 

Sintaxis

Log( <nNumber> )  nLogarithm

 

Argumento

<nNumber> is a number greater than 0

 

Retorna

Log() Retorna the natural logarithm of <nNumber>.

Lower()

Propósito

To convert upper case characters to lower case

 

Sintaxis

Lower( <cString> )  cLowerCase

 

Argumento

<cString> is the string to convert to lower case.

 

Retorna

Lower() Retorna the lower cased equivalent of <cString>.

LTrim()

Propósito

To remove leading spaces from a character string

 

Sintaxis

LTrim( <cString> )  cTrimmed

 

Argumento

<cString> is the character string to trim.

 

Retorna

LTrim() Retorna <cString> sin los espacios de la derecha y de la izquierda.

Max()

Propósito

To determine the larger of two numeric or date values

 

Sintaxis

Max( <dnValue1> , <dnValue2> )  dnMaxValue

 

Argumento

<dnValue1> and <dnValue2> are the date or numeric values to compare.  They must be the same data type.

 

Retorna

Max() Retorna the maximum value of <dnValue1> and <dnValue2>.

MakeDate()

Propósito

To create a date from three numerics representing a year, month and day.

 

Sintaxis

MakeDate( <nYear> , <nMonth>, <nDay> )  dDate

 

Argumentos

<nYear> is the year of the new date

<nMonth> is the month of the new date

<nDay> is the day of the new date

 

Retorna

MakeDate() Retorna a date that represents <nYear>, <nMonth> and <nDay>.

MakeTime()

Propósito

To create a time string from three numerics representing hours, minutes and seconds.

 

Sintaxis

MakeTime( <nHours> , <nMinutes>, <nSeconds> )  cTime

 

Argumentos

<nHours> is the hour of the new time

<nMinutes> is the minutes of the new time

<nSeconds> is the seconds of the new time

 

Retorna

MakeTime() Retorna a string in the format "hh:mm:ss".

MemoLine()

Propósito

To extract a line of text from a multi-line string

 

Sintaxis

MemoLine( <cString> , <nLineLength>, <nLineNumber>, <nTabSize>, <lWrap> )  cText

 

Argumentos

<cString> is the string to extract the line of text from

<nLineLength> is the default line length in characters

<nLineNumber> is the line number to extract

<nTabSize> is the tab size in characters

<lWrap> is TRUE to turn on word wrap, FALSE to turn it off

 

Retorna

MemoLine() Retorna the <nLineNumber> line of text if it exists in <cString>.

MemoTran()

Propósito

To replace carriage return and linefeed characters with a character that can be displayed

 

Sintaxis

MemoTran( <cString> , <cHardCR>, <cSoftCR> )  cText

 

Argumentos

<cString> is the string that contains the carriage return and linefeed characters

<cHardCR> is the character to replace hard carriage Retorna with

<cSoftCR> is the character to replace soft carriage Retorna with

 

Retorna

MemoTran() Retorna a string with the carriage and linefeeds replaced.

Min()

Propósito

To determine the smaller of two numeric or date values

 

Sintaxis

Min( <dnValue1> , <dnValue2> )  dnMinValue

 

Argumento

<dnValue1> and <dnValue2> are the date or numeric values to compare.  They must be the same data type.

 

Retorna

Min() Retorna the minimum value of <dnValue1> and <dnValue2>.

MLCount()

Propósito

To determine the number of lines in a string

 

Sintaxis

MLCount( <cString> , <nLineLength>,  <nTabSize>, <lWrap> )  cText

 

Argumentos

<cString> is the string to determine the number of lines for

<nLineLength> is the default line length in characters

<nTabSize> is the tab size in characters

<lWrap> is TRUE to turn on word wrap, FALSE to turn it off

 

Retorna

MLCount() Retorna the number of lines in <cString>.

Modulus()

Propósito

To determine the remainder of a division operation

 

Sintaxis

Modulus( <nDividend> , <nDivisor> )  nRemainder

 

Argumentos

<nDividend> The dividend of the division operation

<nDivisor> The divisor of the division operation

 

Retorna

Modulus() Retorna the remainder of <nDividend> divided by <nDivisor>.

MinutesBetween()

Propósito

To determine the number of minutes between two date/time values.

 

Sintaxis

MinutesBetween( <dDate1>, <cTime1>, <dDate2>, <cTime2>, <lWeekEnds> )  nNumber

 

Argumento

<dDate1> The starting date

<cTime1> The starting time as character string formatted as "hh:mm:ss" (24 hour format)

<dDate2> The ending date

<cTime2> The ending time as character string formatted as "hh:mm:ss" (24 hour format)

<lWeekEnds> A logical indicating whether or not to count weekends.

 

Retorna

MinutesBetween() Retorna the number of minutes between <cTime1> on <dDate1> and <cTime2> on <dDate2>.  The first date/time value must be the smaller of the two.

Month()

Propósito

To convert a date value to a month number

 

Sintaxis

Month( <dDate> )  nMonth

 

Argumento

<dDate> is the date to convert.

 

Retorna

Month() Retorna a numeric value in the range of 1 to 12 representing the month of <dDate>.

Num2CDOW()

Propósito

To convert a numeric day number to a character day of the week string

 

Sintaxis

Num2CDOW( <nDay> )  cDayName

 

Argumento

<nDay> is the number (1-7) to convert into the day name

 

Retorna

Num2CDOW() Retorna a character day name.

Num2CMonth()

Propósito

To convert a numeric month number to a character month name

 

Sintaxis

Num2CMonth( <nMonth> )  cMonthName

 

Argumento

<nMonth> is the number (1-12) to convert into the month name

 

Retorna

Num2CMonth() Retorna a character month name.

NumTrim()

Propósito

Retorna the number passed as a left-trimmed string

 

Sintaxis

NumTrim( <nNumber> )  cString

 

Argumento

<nNumber> is the number to convert to a string

 

Retorna

NumTrim() Retorna the value <nNumber> as a left-trimmed string.

OccursIn()

Propósito

To determine how many time one string occurs in another

 

Sintaxis

OccursIn( <cSearchFor>, <cSearchIn> )  nTimes

 

Argumentos

<cSearchFor> is the string to search for

<cSearchIn> is the string to search

 

Retorna

OccursIn() Retorna the number of times <cSearchFor> occurs in <cSearchIn>.

Pad()

Propósito

To pad character, date and numeric values with spaces

 

Sintaxis

PadC( <xValue> , <nLength>, <cPadChar> )  cPaddedString

PadL( <xValue> , <nLength>, <cPadChar> )  cPaddedString

PadR( <xValue> , <nLength>, <cPadChar> )  cPaddedString

 

Argumentos

<xValue> is the character, date or numeric value to pad

<nLength> is the length of the string to return

<cPadChar> is the character to pad with

 

Retorna

PadC() Retorna <xValue> as a character string of length <nLength> centered between <cPadChar>.  PadL() Retorna <xValue> as a character string of length <nLength> padded with <cPadChar> on the left side. PadR() Retorna <xValue> as a character string of length <nLength> padded with <cPadChar> on the right side.

Power()

Propósito

To raise a number by a power

 

Sintaxis

Power( <nNumber>, <nExponent> )  nTimes

 

Argumentos

<nNumber> is the base number

<nExponent> is the power to raise the base number by

 

Retorna

Power() Retorna <nNumber> raised to the power of <nExponent>.

PgCount()

Propósito

To retrieve the ReportPro page count.

 

Sintaxis

PgCount()  nCount

 

Retorna

PgCount() Retorna the internal ReportPro page number count.  This function will only return a meaningful value if the "Support Total Page Count" option is set in the Report Configuration dialog.

PgNo()

Propósito

To retrieve the ReportPro page number

 

Sintaxis

PgNo()  nPage

 

Retorna

PgNo() Retorna the internal ReportPro page number.

Properize()

Propósito

To change the first character of each word in a string to upper case

 

Sintaxis

Properize( <cString> )  cProperString

 

Argumento

<cString> is the string to modify

 

Retorna

Properize() Retorna <cString> with the first character of each word in uppercase.

Rand()

Propósito

To retrieve a random number between 0 and 1

 

Sintaxis

Rand( <nSeedNumber> )  nRandomNumber

 

Argumentos

<nSeedNumber> is a number used to seed the random number generator

 

Retorna

Rand() Retorna a random number.

RAt()

Propósito

To retrieve the last position of one string within another

 

Sintaxis

RAt( <cSearchFor>, <cSearchIn> )  nLocation

 

Argumentos

<cSearchFor> is the string to search for

<cSearchIn> is the string to search

 

Retorna

RAt() Retorna the last location of <cSearchFor> in <cSearchIn>.

Replicate()

Propósito

To create a string by repeating another string

 

Sintaxis

Replicate( <cString>, <nTimes> )  cNewString

 

Argumentos

<cString> is the string to repeat

<nTimes> is the number of times to repeat <cString>

 

Retorna

Replicate() Retorna <cString> repeated <nTimes>.

Right()

Propósito

To retrieve a substring beginning with the rightmost character

 

Sintaxis

Right( <cString> , <nCount> )  cSubString

 

Argumentos

<cString> is the character string from which to extract characters.

<nCount> is the number of characters to return.

 

Retorna

Right() Retorna the rightmost <nCount> characters of <cString>.

Round()

Propósito

To return a numeric value rounded to a specified number of digits.

 

Sintaxis

Round( <nNumber> , <nDecimals> )  nRounded

 

Argumentos

<nNumber> is the numeric value to round.

<nDecimals> is the number of decimals places to retain.

 

Retorna

Round() Retorna a numeric value rounded to <nDecimals> decimals.

RpEOF()

Propósito

To return a logical indicating if ReportPro has reached the end of the report.

 

Sintaxis

RpEOF()  lEOF

 

Retorna

RpEOF() Retorna TRUE if ReportPro has finished processing all records in the report.

RpSQLCol()

Propósito

To retrieve a SQL column value by column position number.

 

Sintaxis

RpSQLCol( <nColumn> )  xColumnValue

 

Argumento

<nColumn> is the number of the column to retrieve

 

Retorna

RpSQLCol() Retorna the value of the column that occupies the <nColumn> position in the SQL select statement.

Sec2Days()

Propósito

To convert seconds to days

 

Sintaxis

Sec2Days( <nSeconds> )  nDays

 

Argumento

<nSeconds> is the number of seconds to convert to days

 

Retorna

Sec2Days() Retorna <nSeconds> converted to days.

Sine()

Propósito

To calculate the sine of a number

 

Sintaxis

Sine( <nAngle> )  nSine

 

Argumento

<nAngle> is the angle in radians

 

Retorna

Sine() Retorna the sine of <nAngle>.

Space()

Propósito

To return a string of spaces

 

Sintaxis

Space( <nCount>)  cString

 

Argumento

<nCount> is the number of spaces to return.

 

Retorna

Space() Retorna a string of <nCount> spaces.

SqRt()

Propósito

To calculate the square root of a positive number

 

Sintaxis

SqRt( <nNumber> )  nRoot

 

Argumento

<nNumber> is the positive number to calculate the square root of

 

Retorna

SqRt() Retorna the square root of <nNumber>.

Str()

Propósito

To convert a numeric expression to a character string

 

Sintaxis

Str( <nNumber> , <nLength> , <nDecimals> )  cNumber

 

Argumentos

<nNumber> is the numeric value to convert

<nLength> is the length of string to return including decimals and decimal point

<nDecimals> number of decimals to return

 

Retorna

Str() Retorna <nNumber> formatted as a character string.

StrTran()

Propósito

To search and replace characters in a string

 

Sintaxis

StrTran( <cSearchFor> , <cSearchIn> , <cReplaceWith>, <nStart>, <nCount> )  cNewString

 

Argumentos

<cSearchFor> is the character string to search for

<cSearchIn> is the character string to search

<cReplaceWith> is the character string to replace <cSearchFor> with

<nStart> is the first occurrence of <cSearchFor> to replace

<nCount> is the number of replacements to make

 

Retorna

StrTran() Retorna <cSearchIn> where <cSearchFor> is replaced with <cReplaceWith>.

Stuff()

Propósito

To insert and delete characters from a string

 

Sintaxis

Stuff( <cString> , <nStart> , <nDelete>, <cInsert> )  cModifiedString

 

Argumentos

<cString> is the character string to modify

<nStart> is the character position where the delete/insert begins

<nDelete> is the number of characters to delete

<cInsert> is the character string to insert at <nStart>

 

Retorna

Stuff () Retorna <cString> with characters deleted or inserted at <nStart>.

SubStr()

Propósito

To extract a substring from a character string

 

Sintaxis

SubStr( <cString> , <nStart> , <nCount> )  cSubString

 

Argumentos

<cString> is the character string in which to extract a substring

<nStart> is the starting position in <cString>

<nCount> is the number of characters to extract

 

Retorna

SubStr() Retorna a substring of <cString>.

Tangent()

Propósito

To calculate the tangent of a number

 

Sintaxis

Tangent( <nAngle> )  nTangent

 

Argumento

<nAngle> is the angle in radians

 

Retorna

Tangent() Retorna the tangent of <nAngle>.

Time()

Propósito

To retrieve the system time

 

Sintaxis

Time()  cTimeString

 

Retorna

Time() Retorna the system time as a character string in the form "hh:mm:ss".

Today()

Propósito

To retrieve the computer clock date.

 

Sintaxis

Today()  dSystemDate

 

Retorna

Today() Retorna the system clock date as a date value.

Trim()

Propósito

To remove the trailing spaces from a string

 

Sintaxis

Trim( <cString> )  cTrimmedString

 

Argumento

<cString> is the string to remove the spaces from

 

Retorna

Trim() Retorna <cString> with the rightmost spaces removed.

Upper()

Propósito

To convert lower case characters to upper case

 

Sintaxis

Upper( <cString>)  cUpperString

 

Argumento

<cString> is the character string to convert

 

Retorna

Upper() Retorna a copy of <cString> with all alphabetic characters converted to uppercase.

Val()

Propósito

To convert a character number to numeric type

 

Sintaxis

Val( <cNumber>)  nNumber

 

Argumentos

<cNumber> is the character string to convert.

 

Retorna

Val() Retorna <cNumber> converted to a numeric value including decimal digits.

Year()

Propósito

To retrieve the year from a date

 

Sintaxis

Year( <dDate>)  nYear

 

Argumentos

<dDate> is the date to determine the year from

 

Retorna

Year() Retorna the year of the specified date.

Índice de contenido para la modificación de diseños y formatos de facturas

Índice de contenido para la modificación de diseños y formatos de facturas

Toda la información que necesitarás leer para adaptar el formato de impresión de tus facturas y demás comprobantes de venta, está documentada en las siguientes secciones:

  1. Opciones de Impresión (Comprobantes y Reportes): Especifica que formatos de impresión tendrán los comprobantes de venta de tu empresa para adaptarlos a tu imagen y a tu estilo
  2. Diseño de Comprobantes de Venta » Básico: Adapta con total flexibilidad el formato de impresión de cada comprobante de venta emitido desde el programa
  3. Diseño de Comprobantes de Venta » Avanzado: Modifica el formato de impresión con opciones avanzadas, agregando imágenes, cambiando colores y formatos de letra
  4. Diseño de Comprobantes de Venta » Fórmulas: Cambia sin limites el formato de impresión con formulas y funciones
El Software de Gestión Comercial para Windows de EGA Futura se distribuye en dos Ediciones: Gratis y Power.
La funcionalidad
Diseño de Comprobantes de Venta » Fórmulas
se encuentra en la Edición Power, y aquí encontrarás un cuadro comparativo.

¿Sabías que EGA Futura tiene para ofrecerte dos productos de software diferentes para Potenciar tu Empresa?

Por un lado, contamos con un sistema de gestión comercial para Windows, con Ediciones Power y Gratis.

😍 Y por otro lado tenemos un software de gestión empresarial en la Nube, con tecnología mucho más potente.

Todo lo que has visto aquí en este documento, son instrucciones relacionadas a nuestro sistema Windows
A continuación, te compartimos algunos tutoriales sobre nuestra plataforma en la Nube, para que la puedas conocer ☁️

Como crear y administrar Productos, Stock y Listas de precios?

☁️ Tutorial Nube actualizado en
2024
»
EGA Futura Inventory
Toma el control de tus Productos, Listas de precios y stock de manera cómoda y efectiva.
🎓 Visita este link para ver mucha más información relacionada a este tutorial

Cómo crear una nueva Marca? [Productos y Activos fijos]

☁️ Tutorial Nube actualizado en
2024
»
EGA Futura Inventory
Crea y administra Marcas para trabajar más eficientemente con los Productos y los Activos fijos de tu Empresa.
🎓 Visita este link para ver mucha más información relacionada a este tutorial

Como crear un nuevo Producto? [Artículo de tu Stock o Inventario]

☁️ Tutorial Nube actualizado en
2024
»
EGA Futura Inventory
Crea fácilmente Productos en la Base de datos del Inventario de tu empresa.
🎓 Visita este link para ver mucha más información relacionada a este tutorial

Cómo asignar Precios Estándar a los Productos o Standard Price Book?

☁️ Tutorial Nube actualizado en
2024
»
EGA Futura Inventory
Cómo agregar productos a la Standard Price Book o lista de precios estándar en EGA Futura. El precio estándar es el primer precio que se debe asignar a un producto. Si no existe un precio estándar no se puede dar ningún otro precio al producto es decir, no se puede agregar el producto a ninguna otra lista de precios.
🎓 Visita este link para ver mucha más información relacionada a este tutorial

Cómo eliminar Productos de la Lista de precios estándar [y sus consecuencias]

☁️ Tutorial Nube actualizado en
2024
»
EGA Futura Inventory
Si vas eliminar productos de la lista de precios estándar necesitas saber esto! Los productos se pueden eliminar o inactivar de las listas de precios, pero cuando se hace en la Lista de precios estándar hay consecuencias que te contamos en este video.
🎓 Visita este link para ver mucha más información relacionada a este tutorial

Cómo ingresar varios Productos a la vez en las Listas de precios de EGA Futura?

☁️ Tutorial Nube actualizado en
2024
»
EGA Futura Inventory
Organiza de manera práctica tus listas de precios, incluyendo dentro de cada una de ellas el producto correcto al precio correcto.
🎓 Visita este link para ver mucha más información relacionada a este tutorial

Cómo modificar y trabajar con Listas de precios desde el registro de Producto?

☁️ Tutorial Nube actualizado en
2024
»
EGA Futura Inventory
Modifica fácilmente las listas de precios desde dentro de un Producto.
🎓 Visita este link para ver mucha más información relacionada a este tutorial

La casilla Activo del Producto, en el sector detalles de su registro, cómo funciona?

☁️ Tutorial Nube actualizado en
2024
»
EGA Futura Inventory
Es un campo tipo checkbox o casilla de selección. Está ubicada en el sector detalles del registro de un producto. Su función es activar o desactivar al producto de todas las listas de precios de la que forma parte el producto. Cuando se active o desactive un producto, todos los precios relacionados para ese producto se activarán o se desactivarán al mismo tiempo.
🎓 Visita este link para ver mucha más información relacionada a este tutorial
Sistema para PyMEs
Volver a arriba
Primeros pasos de uso programa

Primeros Pasos

Administración de productos y stock

Productos

Importar stock desde Excel

Productos y Excel

Gestión de clientes y contactos

Clientes

Administración de vendedores y comisiones

Vendedores

Emisión de comprobantes de venta

Ventas y Facturación

Proceso de ventas y facturacion

Proceso de Ventas

Administración de proveedores

Proveedores

Gestión de compras

Compras

Reportes y estadísticas de venta

Reportes & Estadísticas

Herramientas del sistema

Herramientas

Instalación del programa de facturacion

Instalación Básica

Instalación en entornos de red

Instalación Avanzada

Configuración del ERP

Configuración Básica

Configuración avanzada del sistema

Configuración Avanzada

Licencias del software

Licenciamiento

# 1
Estamos en el Puesto 1 en Softonic desde hace nueve años ininterrumpidos
24x7
Desde nuestra plataforma ofrecemos soporte técnico todos los días
+60.000
Más de sesenta mil PyMEs implementan nuestro software todos los años
1994
Desde hace más de 30 años potenciamos a las Empresas de Iberoamérica

💎 Este software incluye soporte técnico gratuito?

Claro que sí. 

Ofrecemos soporte gratis en todas las ediciones de nuestro sistema para empresas.

Para conocer las diferentes alternativas de soporte visita este link.

Todas las preguntas realizadas en nuestra plataforma de Soporte Técnico 24/7 se responden siempre en su totalidad‍ 🎉

☕️ Para qué países funciona este software?

Este sistema de gestión empresarial funciona según las reglamentaciones fiscales de España, México, Colombia, Chile, Argentina y el resto de los países de América Latina.

Si tu empresa está en otro país, te recomendamos usar nuestro sistema de gestión empresarial en la nube.

📱 Puedo ejecutar el sistema en dispositivos móviles o desde Internet?

El programa de facturación funciona en Windows XP, Windows 7, Windows 8, Windows 10 y Windows Server solamente.

Para empresas con 10 o más usuarios tenemos un sistema ERP en la nube que funciona también en Linux, Mac, iPhone, iPad, y Android y desde cualquier otro dispositivo conectado a Internet.

Desde dónde puedo descargar la última versión?

Para descargar la última versión de nuestro sistema de gestión comercial para Windows, pulsa aquí.

🔥 La Edición Power se integra con eCommerce y funciona en teléfonos?

La Edición Power de nuestro sistema de gestión comercial para Windows solo puede ejecutarse en PCs con Windows.

Si necesitas acceder al sistema de gestión desde teléfonos, tabletas, ordenadores de Apple (Mac), o cualquier otro dispositivo conectado a internet, debes usar nuestro software en la nube.

La integración con comercio electrónico es manual, siendo el camino recomendado para vender en Internet nuestro sistema en la nube. Todo está explicado aquí.

🔑 Ya he descargado el programa... Cómo obtengo una licencia?

Para obtener una licencia para las Ediciones Gratis o Power del software de facturación, sigue las instrucciones detalladas en este lugar.

El programa instalador es el mismo para ambas ediciones.

💌 No me llega la licencia por correo de la Edición Gratis... Qué hago?

Si ya has completado el formulario para obtener la Edición Gratis de StockBase POS, y luego de esperar al menos 12 minutos tu licencia no llega:

Paso 1: Verifica tu carpeta de spam.

Paso 2: Si aun así no llega, te recomendamos volver a completar el formulario con una dirección de correo distinta.

En este lugar te damos más alternativas para poder acceder a tu licencia.

Cuáles son las diferencias entre la Edición Gratis y la Edición Power?

En este cuadro comparativo podrás ver las diferencias entre ambas ediciones del sistema ERP para Windows.

🔑 Qué incluye la Licencia Perpetua de la Edición Power?

Entre varias de sus ventajas, encontrarás que:

1. Esta licencia no vence nunca,
2. Tiene acceso a soporte técnico gratuito, y
3. Tiene actualizaciones del sistema gratis de por vida.

Para ver todas las otras características incluidas, dale clic aquí.

¿Es posible ver un listado completo de toda la funcionalidad del sistema?

Por supuesto, esa información la vas a poder acceder desde este lugar.

Soporte Técnico de EGA Futura
Necesitas hacer una pregunta?
Si luego de navegar por toda nuestra documentación técnica y tutoriales necesitas hacer una consulta concreta sobre el sistema, estamos aquí para responderte.

Desde nuestra plataforma de Soporte Técnico 24/7, nuestros expertos responderán a tus preguntas puntuales. 😀
Realizar una pregunta ahora 🎉

Dale a tu empresa el poder crecer y vender
como nunca antes

Aumenta la productividad de tu negocio con un sistema de gestión comercial fácil de usar, y
con toda la funcionalidad que necesitas para potenciar tu éxito 💎