Ir para o conteúdo

Exemplo de Script - Criação de Arquivo de Texto

Este plugin criará um arquivo de texto, usando valores de uma coluna (string) de um tableID como cada linha de texto. tableIdstring é o GUID tableID do Objeto de Negócios de Origem "exportColumnName" é o nome da coluna que é a coluna de origem para cada linha de texto "fileName" é uma coluna no evento de execução do Objeto de Negócios com o nome de arquivo desejado "exportFileName" é o caminho completo e o nome de arquivo desejado para o arquivo criado.

// Vinculação de amostra… mostra um exemplo abaixo dele para um filtro que pode ser usado de maneira semelhante an App Builder bind funcionaria em um link para uma página do Crystal Report para filtrar resultados do Business Object de origem.

Caso de Uso

Isso pode ser usado quando a empresa precisa criar um arquivo de texto de largura fixa ou formato fixo para ser compartilhado com o ADP ou outro serviço por esse meio.

Referências de Plugins

Coluna Tipo de dados Descrição
tableIdstring Unique ID tableID GUID do Objeto de Negócio de Origem
exportColumnName String nome da coluna que é a coluna de origem para cada linha de texto
fileName String coluna no evento de execução do BO com o nome do arquivo desejado
exportFileName String caminho completo e nome de arquivo desejado para o arquivo criado

Script de Criação de Arquivo 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);