Saltar al contenido

Ejemplo de Secuencia de Comandos: Creación de Archivos de Texto

Este complemento creará un archivo de texto, utilizando valores de una columna (cadena) de un ID de tabla 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 de ejecución del objeto comercial con el nombre de archivo deseado "exportFileName" es la ruta completa y el nombre del archivo deseado para el archivo creado.

// Enlace de muestra... muestra un ejemplo debajo de un filtro que se puede usar de manera similar a un enlace de Vinyl que funcionaría en un enlace a una página de informe de Crystal 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 formato o ancho fijo para compartirlo con ADP u otro servicio por este medio.

Referencias de Complementos

Columna Tipo de datos Descripción
tableIdstring Unique ID GUID de ID de tabla del objeto comercial de origen
exportColumnName String nombre de la columna que es la columna de origen para cada línea de texto
fileName String columna en el evento en ejecución BO 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 Archivos 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:/Vinyl 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);