Saltar al contenido

Ejemplo de Script: Creación de un Archivo de Texto

Este complemento creará un archivo de texto, utilizando valores de una columna (cadena) de un tableID como cada línea de texto. tableIdstring es el GUID de tableID del objeto comercial de origen "exportColumnName" es el nombre de la columna que es la columna de origen para cada línea de texto "fileName" es una columna en el evento en ejecución del objeto comercial con el nombre de archivo deseado "exportFileName" es la ruta completa y el nombre de archivo deseado para el archivo creado.

// Ejemplo de enlace… muestra un ejemplo debajo de él para un filtro que se puede usar de manera similar an App Builder bind funcionaría en un enlace a una página de Crystal Report para filtrar los resultados del objeto comercial de origen.

Caso de Uso

Esto podría usarse cuando la empresa necesita crear un archivo de texto de ancho fijo o formato fijo para compartir con ADP u otro servicio por este medio.

Referencias de Complementos

Columna Tipo de datos Descripción
tableIdstring Unique ID tableID GUID del objeto comercial de origen
exportColumnName String nombre de la columna que es la columna fuente para cada línea de texto
fileName String columna en BO ejecutando evento con el nombre de archivo deseado
exportFileName String ruta completa y nombre de archivo deseado para el archivo creado

Secuencia de Comandos de Creación de Archivo de Texto

using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Vinyl.Sdk.Filtering;
// The TableId that points to the business object that will return the data we want to export
var tableIdString = "fdfa87fd-06df-4436-bcf4-1126525ab385";
// The column we are going to export - this could come from Action Row if desired
var exportColumnName = "String";
// This pulls in the filename for the Path from Event's BO
string fileName = Row["fileName"].GetValueAsString();
// The file we are writing out - this could come from Action Row if desired
var exportFileName = @"C:/App Builder files/DEBTS_PRL/" + fileName;
// read user/password from table and create token
var eventService = Services.GetService<IEventService>();
var tableId = new Guid(tableIdString);
var filter = Services.GetService<FilterBuilder>()
    .From(tableId);
filter.Filter.Limit = 10000;
// Sample binding...
// filter.Where("Country",ComparisonOperator.Equals,"USA");
var lines = new List<string>();
EventTable outputTable = await eventService.InvokeEventAsync(filter,"filter");
foreach(var row in outputTable.Rows)
{
   lines.Add(row[exportColumnName].Value.ToString());
}
System.IO.File.WriteAllLines(exportFileName,lines);