F63 – Funciones comunes para ejecutar codigo en reportes de texto.

Lista de funciones que se pueden utilizar para ejecutarlas desde un reporte de texto con el operador y

Requiere

Conocimientos de programacion de reportes.
Derecho a modificar reportes de texto.

Solución

Funciones de texto
CODIFICA(n)
Codifica el numero usando el codigo de encriptacion configurado. Ej. CODIFICA(“123”)->ABC

LEFT(texto,largo)
Devuelve las primeras largo letras del texto. Ej. LEFT(“HOLA”,3)->HOL

LOWER(texto)
Convierte a minusculas texto. Ej. LOWER(“Hola”)->hola

LTRIM(texto)
Elimina los espacios a la izquierda de texto. Ej. LTRIM(” HOLA”)->”HOLA”

MSTR(dato,ancho,decimales)
Convierte el dato a tipo texto, del ancho y numero de decimales especificados. Ej.MSTR(3.12,4,1) ->” 3.1″

NUM2LET(n)
Convierte el entero n a palabras. Ej. NUM2LET(3.12)->TRES

PAD(txt,ancho)
Agrega espacios a txt para tener el numero de caracteres de ancho. Ej. PAD(‘H’,3) -> ‘H ‘

PALABRA(txt,npalabra,separadores)
Devuelve la n palabra del txt tomando en cuenta separadores como separador de la palabra. Ej. PALABRA(“Hugo,Paco,Luis”,2,”,”)->Paco

RIGHT(texto,largo)
Devuelve las ultimas largo letras del texto. Ej. RIGHT(“HOLA”,3)->OLA

RTRIM(texto)
Elimina los espacios a la derecha de texto. Ej. RTRIM(“HOLA “)->”HOLA”

SPACE(tam)
Devuelve una texto en blanco del tamaño tam. Ej. SPACE(5)->” “

STRTRAN(texto,busqueda,[sustitucion],[inicio],[numero])
reemplaza en texto la cadena de busqueda por la cadena de sustitucion a partir de inicio el numero de apariciones. Ej. STRTRAN(“HOLA HOLA HOLA”,”HOLA”,”ADIOS”,5,1)->HOLA ADIOS HOLA

STUFF(texto,inicio,borrar,insertar)
De texto a partir de inicio borra borrar caracteres e inserta insertar. Ej. STUFF(“HOLA HOLA”,6,1,”PA”)->HOLA PAOLA

SUBSTR(texto,inicio,largo)
Devuelve un texto a partir de inicio del tamaño largo. Ej. SUBSTR(“HOLA”,2,2)->OL

UPPER(texto)
Convierte a mayusculas texto. Ej. UPPER(“Hola”)->HOLA
 


Funciones de compresión
COMFEC(fecha)
Comprime una fecha a una cadena de 3 caracteres.

COMHOR(hora)
Comprime la hora a una cadena de 3 caracteres.

DESFEC(fecha comprimida)
Descomprime una cadena comprimida a una fecha.

DESHOR(hora comprimida)
Descomprime una cadena comprimida a una cadena tipo HH:MM:SS


Funciones numéricas
ABS(n)
Devuelve el valor absoluto (si signo) de n. Ej. ABS(-3)->3

DESGLOSA(n)
Desglosa el Impuesto 1 de n. Ej. DESGLOSA(115)->100

INT(num)
Devuelve la parte entera de num. Ej.INT(3.37)->3

ROUND(num,dec)
Redondea num a dec decimales. Ej.ROUND(3.37,1)->3.4

SQRT(n)
Devuelve la raiz cuadrada de n. Ej. SQRT(25)->5


Funciones de matrices

COMMAT(matrizA,MatrizB,ColumnaFusionar,ColumnaSumar)
Combina la MatrizA con la MatrizB basandose en la ColumnaFusionar y suma la columnas definidas en ColumnaSumar) Ej. COMMAT({{‘Hugo’,3},{‘Paco’,11}},{{‘Paco’,5},{‘Luis’,7}},1,{2}) crearia la siguiente matriz
{{‘Hugo’,3},
{‘Paco’,16},
{‘Luis’,7}}

EDMATRIZ(Amatriz,Acolumnas,CTitulo,Arriba,Izquierda,Abajo,Derecha)
Edita una matriz bidimensional en forma de tabla, Amatriz es la matriz a editar, puede ser una matriz vacia, al presionar INSERT se agrega un nuevo renglon a la matriz. Acolumnas es una matriz que define el tamaño y tipo de las columnas, su formato es {{titulo1,tipo1,ancho1},…,{tituloN,tipoN,anchoN}} donde titulo es una cadena, tipo es un caracter ‘N’ para numeros, ‘C’ para cadenas, ‘M’ para cadenas de longitud variable, ‘D’ para fechas y ‘F’ para valores fijos. CTitulo es el titulo del editor de matrices y el resto son las posiciones del editor. Ej.
EDMATRIZ({‘Hugo’,10},{‘Paco’,9}},{{‘Nombre’,’C’,15},{‘Edad’,’N’,6}},’Edades’)

IMPMAT(matriz,formatos,encabezado,pie,separador,prefijo,posfijo)
convierte una matriz a texto para su impresion en reportes utilizando un arreglo de formatos para definir el ancho o formato de las columnas, si una columna es 0 no se imprimira, imprimiendo primero el encabezado, luego la matriz con las columnas separadas por el separador y luego imprime el pie. Cada columna puede tener un prefijo y un posfijo, o pueden compartir un prefijo para todas y un posfijo.
Ej. IMPMAT({{‘Hugo’,1,8},{‘Paco’,2,11},{‘Luis’,3,7}},{10,0,’99.99′},’Nombre Edad’,’********************’,’*’,{‘Sr. ‘,”},{”,’ años’}) produce la siguiente salida

Nombre Edad
Sr. Hugo * 8.00 años
Sr. Paco *11.00 años
Sr. Luis * 7.00 años
*************************

MAT2D(matriz,Y,X)
Devuelve un valor de una matriz, una columna o un renglon. Ej.
MAT2d({{11,12},{21,22}},1,2) => 12
MAT2d({{11,12},{21,22}},1) => {11,12}
MAT2d({{11,12},{21,22}},2) => {21,22}
MAT2d({{11,12},{21,22}},,1) => {11,21}
MAT2d({{11,12},{21,22}},,2) => {12,22}


Funciones de archivos
ATXT(archivo,texto,[salto])
Añade al final de archivo el texto y un salto de linea.

FERASE(archivo)
Elimina el archivo.

LEETXT(archivo,titulo,impresion)
Visualiza el archivo para su lectura o impresion, si impresion es .t., preguntara si se desea imprimir.  Ej. LEETXT(‘resultado.txt’,’Analisis de Resultados’,.T.)

MIIMPRIME(archivo,[nimpresora],[directo],[comando])
Imprime el archivo al numero de impresora utilizando el comando para imprimir.
Ej. MIIMPRIME(“LOGO.PRN”,3,.T.,”CMD.EXE %ARC %PUE /B”)
imprime el archivo a la tercer impresora de ferrum, si mostrarlo en la pantalla con el comando cmd.exe.
 


Funciones de dialogos
DI(txt,color)
Muestra txt sin realizar una pausa en color.

DI1(txt,color,pausa)
Muestra txt en color con una pausa en segundos.

DI2(txt,color)
Muestra txt en color y espera respuesta de si o no.

LEELISTA(titulo,plantilla,valor por defecto,categoria,titulo de texto,titulo de abreviatura)
Lee un valor elegido de una lista de valores segun la categoria elegida.

LEER(titulo,tamaño,posicionY,por defecto,color,lista valores,decimales,plantilla)
Lee un valor del usuario.
 


Funciones de informacion y Bases de Datos
AUXILIAR(almacen,articulo,valor)
Cambia el valor del campo auxiliar dentro de inventarios, si no se le pone valor, devuelve el auxiliar actual. Ej. AUXILIAR(1,INV->UNICO,10) -> Pone 10 en el auxiliar del articulo actual del almacen 1.

BUSCACAM(base,valor,campo)
Busca en base el valor y devuelve el campo. Ej. BUSCACAM(“PER”,”AD”,”NOMBRE”) -> ADMINISTRADOR DE SOFTWARE

BUSREMCAM(base,campo donde buscar,valor buscado,campo,nuevo valor, [orden])
Busca en base en el campo donde buscar el valor buscado y reemplaza el campo por nuevo valor, usando el orden para definir la busqueda. Devuelve en numero de registros cambiados.
Ej. BUSREMCAM(‘DOC’,’CLIENTE’,’0001′,’CLIENTE’,’0002′,’DOCCLI’) ->reemplaza todos los documentos que tengan a cliente 0001 por el cliente 0002.

CALMIN(Un articulo,numero de periodos,duracion de periodos,almacen,con traspasos,metodo para calcular minimo,dias para minimo,metodo de calculo de maximo,dias para maximo,periodos distriminados superiores,periodos discriminados inferiores, nivel de reporte, ajusta fin de semana)
Calcula y opcionalmente cambia los niveles para inventario, los parametros son los mismos que se muestran en la pantalla de ARTICULOS->F7->CALCULO DE MINIMOS.

CAMBIA(base,campo,valor,[ambito])
Cambia el valor del campo en base. El valor puede ser definido como un bloque de codigo, en ese caso, se evaluara antes de realizar el cambio, el ambito si no se define afecta solo al registro actual, si no, debera ser definido como un bloque de codigo que devuelva .t. o .f. para determinar que registros cambiaran. Ej. CAMBIA(“DOC”,”TOTAL”,0) -> Pone en 0 el total del documento actual.
CAMBIA(‘INV’,’COSTO’,{||INV->COSTO/1.15},{||INV->COSTO>0}) -> Desglosa el iva de todos los articulos cuyo costo sea mayor que cero.

CONCAMPO(Campo,Formato)
Devuelve el valor del campo para reportes especificado. Si Formato es igual a 1, devuelve el campo en forma de texto con el formato especificado, si Formato es igual a 2, devuelve el valor del campo.
Ej. CONCAMPO(‘DOC:TOTAL;2’,1) devuelve $ 1,328.12 (tipo texto)
CONCAMPO(‘DOC:TOTAL;2’,2) devuelve 1328.12 (tipo numero)

CONTROL(almacen,articulo,valor)
Cambia el valor del campo control dentro de inventarios, si no se le pone valor, devuelve el control actual. Ej. CONTROL(1,INV->UNICO,”S”) -> Pone si inventariado al articulo actual del almacen 1.

CAMEXI(almacen,articulo,valor,absoluto)
Cambia las existencias del articulo en el almacen especificado, el parametro absoluto=.T. sirve para sustituir las existencias por el valor especificado, si el parametro absoluto=.F. agrega a la existencia el valor especificado. Ej. CAMEXI(1,INV->UNICO,0,.T.) pone en 0 el almacen 1. CAMEXI(2,INV->UNICO,10,.F.) -> le agrega 10 al almacen 2 del articulo.

CONCAMPO(Campo,Formato)
Devuelve el valor del campo para reportes especificado. Si Formato es igual a 1, devuelve el campo en forma de texto con el formato especificado, si Formato es igual a 2, devuelve el valor del campo.
Ej. CONCAMPO(‘DOC:TOTAL;2’,1) devuelve $ 1,328.12 (tipo texto)
CONCAMPO(‘DOC:TOTAL;2’,2) devuelve 1328.12 (tipo numero)

DAT(Campo)
Devuelve el valor del campo para reportes especificado.
Ej. DAT(‘DOC:TOTAL’) devuelve 1328.12

EXIALM(almacen,articulo,critica)
Devuelve la existencia actual del articulo sin tomar en cuenta los componentes de un kit, la opcion de critica forza devolver las existencias en el mismo milisegundo en que se ejecuta la funcion.
Ej. EXIALM(1,INV->UNICO,.F.) -> Devuelve la existencia articulo actual en el almacen 1.

EXIMIN(almacen,articulo,valor)
Cambia el valor del minimo dentro de inventarios, si no se le pone valor, devuelve el minimo actual. Ej. EXIMIN(1,INV->UNICO,10) -> Pone 10 en el minimo del articulo actual del almacen 1.

EXIMAX(almacen,articulo,valor)
Cambia el valor del maximo dentro de inventarios, si no se le pone valor, devuelve el maximo actual. Ej. EXIMAX(1,INV->UNICO,10) -> Pone 10 en el maximo del articulo actual del almacen 1.

EXISTENCIA(almacen,existencia del kit, articulo,critica)
Devuelve la existencia actual del articulo, si se especifica existencia del kit calculara cuantos kits se pueden ensamblar en base a las existencias de los componetes, la opcion de critica forza devolver las existencias en el mismo milisegundo en que se ejecuta la funcion.
Ej. EXISTENCIA(1,.t.,INV->UNICO,.F.) -> Devuelve la existencia articulo actual en el almacen 1.

LISKIT(Articulo,Cantidad)
Devuelve una matriz de los componentes del kit Articulo, con las cantidades necesarias para ensamblarlo en unidades base, si no se define una cantidad, se devuelve lo necesario para un solo kit con las unidades con las que fue dado de alta. La matriz devuelta esta formada por {Clave,Cantidad,unidad,descripcion} Ej. LISKIT(inv->unico,2) devuelve
{{‘TZ1′,2,’pz’,’Taza de Baño’},
{‘LV1′,2,’pz’,’Lavabo’},
{‘JB1′,4,’pz’,’Jabonera’}}

MIGETLIS(lista,valor)
Busca el valor dentro de lista de opciones y devuelve su descripcion. Ej. MIGETLIS(“INV1”,INV->CLAS1) -> descripcion larga de la clasificacion 1

PRECIO(nprecio,unidad,ivaincluido,articulo,singastos,sindescuento,sin precosto,almacen)
Devuelve el precio de un articulo, nprecio puede ser 0,1,2,3 (costo, menudeo, 1/2 mayoreo, mayoreo respectivamente), la unidad puede ser 0,1,2,3 (predeterminada de venta, unidad base, unidad b y unidad c respectivamente), ivaincluido, singastos, sindescuento pueden ser ‘S’ o ‘N’, y articulo es la clave interna del articulo que se quiera el precio, si no se incluye, da el precio del articulo actual.
Ej.
Precio(1) ->devuelve el precio de menudeo del articulo actual
Precio(2,1) ->devuelve el precio de 1/2 mayoreo de la primera presentacion
Precio(0,2,’N’,,’N’,’N’) ->devuelve el costo en la presentacion 2 sin iva, ni descuento ni otros gastos.

REPPAG(Numero,Tipo)
Devuelve un texto con la informacion de los documentos a los que se aplico el pago Numero, donde Tipo puede ser ‘C’ o ‘P’, para clientes y proveedores respectivamente.
Ej.
REPPAG(“1020″,”C”) ->Devuelve la lista de los documentos del cliente pagados con el folio 1020.


Funciones varias
SI(condicion,valorsi,valorno)
Si condicion es verdadera devuelve valorsi, de lo cantrario devuelve valorno.

V(nombre,valor,tipo)
Devuelve, crea o asigna una variable de nombre nombre, del tipo tipo con un valor valor.


Funciones de procesos
APLICAMOV(numero de almacen,fDesde cuando,recalcula desde ultimo inventario,actualizar existencias,fHasta cuando,uarticulo)
Recalcula el inventario del almacen especificado, desde la fecha especificada o desde la ultima toma de invetario y actualiza las existencias o el auxiliar aplicando los movimientos hasta la fecha especificada, si no se define el articulo se usa la seleccion actual.
Ej.
APLICAMOV(1)
Recalcula los movimientos del almacen 1 desde la ultima toma de inventario o inicio de operaciones y actualiza las existencias hasta el dia de hoy.
APLICAMOV(1,STOD(‘20000101′),’N’,’N’,STOD(‘20080101’))
Recalcula el inventario desde el 1/ene/2000 al dia 1/ene/08 y pone el resultado en el almacen auxiliar.

APLICANCR(CNcr,NCantidad,CDocumento)
Aplica de la nota de credito con el valor UNICO de CNcr, la cantidad de NCantidad (si no se le especifica significa todo el saldo de la Nota de Credito) al documento con el valor UNICO de CDocumento, si no se especifica este muestra todos los documentos a los que se les puede aplicar. Ej.
APLICANCR(DOC->UNICO)

MRUN(comando,[pausa],[restaurar])
Ejecuta el comando, realiza una pausa al terminar y restaura los colores al terminar.

IMPEXIEMP(tipo,archivo,numalmacen,basandose)
Importa las existencias o precios de otro ferrum, tipo determina la informacion que sera importada, 0=precios o 1=existencias, archivo es el nombre del archivo con todo y ruta desde donde se importaran los datos, numalmacen es el numero del almacen de donde se importaran las existencias, basandose determina como se relacionan los datos 1=Clave del articulo, 2=Llave interna de Ferrum UNICO, en caso de faltar un parametro el sistema lo solicitara. Ej. IMPEXIEMP(1,”DATOS2INV.ADI”,3,1) importara de la empresa 2 las existencias del almacen 3 basandose en la clave del articulo.

IMPPREFER(tipo,archivo,numalmacen,basandose)
Importa las existencias o precios de un archivo de precios exportado por ferrum, tipo determina la informacion que sera importada, 0=precios y existencias o 1=solo existencias, archivo es el nombre del archivo comprimido con todo y ruta desde donde se importaran los datos (si tipo=0 el archivo se deberia llamar EXPPRE.ZIP y si tipo=1 se deberia llamar EXPALM.ZIP), numalmacen es el numero del almacen de donde se importaran las existencias, basandose determina como se relacionan los datos 1=Clave del articulo, 2=Llave interna de Ferrum UNICO, en caso de faltar un parametro el sistema lo solicitara. Ej. IMPPREFER(0,”A:EXPPRE.ZIP”,3,0) importara del archivo almacenado el el disquete A: los precios y las existencias del almacen 3 basandose en la llave interna del articulo.

CREANCR(Cliente,Observacion,Folio,Almacen,Descuento,Documento,,,,Impresion,Documento Origen)
CREANCR(Cliente,Observacion,Folio,Almacen,Descuento,nil,Articulo,Precio,Cantidad,Impresion,Documento Origen)
Crea una Nota de credito al Cliente o proveedor, poniendole la Observacion y Folio especificados, Afectando al Almacen, con el Descuento dado, Si se especifica El contenido de un Documento tendra dichas partidas.
Si se especifica un articulo, puede ser dado por su valor UNICO o por su clave, y se da al Precio y Cantidad Especificada).
Impresion determina si se forza la impresion o permite elegir, puede ser .T. o .F. . Documento Origen es el valor UNICO del documento del que se origino la nota de credito para relacionarlo.
Ej.
CREANCR(DOC->CLIENTE,”DESCUENTO DE PRONTO PAGO”,DOC->NUMERO,0,0,NIL,’DESPP’,100,1)

 

Desarrollado porBetterDocs

¿Aún no estás registrado?

Iniciar Sesión

Accede a tu cuenta de miembro

Registro de Usuario

Abrir chat