Script - Crear fichero TXT desde CEESI_Informe

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:26 PM por David Miralpeix

Crear un fichero de texto desde un CEESI_Informe


Código VB6:

Sub Show()
  gform.Botonera.activarscripts=True
  gform.Botonera.BotonAdd "InformeTXT", "BotPersGeneraInformeTXT", , 0, True, 123
End Sub

Sub Botonera_AfterExecute(aBotonera, aBoton)
  If aboton.name = "BotPersGeneraInformeTXT" Then
    InformeTXT
  End If
End Sub

Sub InformeTXT()
  lIdInforme=999
  Set pCuaderno = gCn.Obj.DameObjeto("Informes", "Where IdInforme=" & lIdInforme)
  Set lCol = gcn.DameNewCollection
  lCol.Add CLng(Parametro1),"PEtiqueta"'Donde etiqueta es un campo de 
  CEESI_Informes_Parametros

  lCol.Add CLng(ParametroN),"PEtiqueta"

  Set pCuaderno.Objeto.ColParametros = lcol
  lfilename="C:\Prueba.txt"
  lCadena = pCuaderno.Objeto.GeneraInforme(lErrores)
  Set lUt = CreateObject("AhoraUtil.CUtil")
  lUt.GuardaFichero cstr(lFileName), cstr(lCadena)
  If Len(lErrores) > 0 Then
    If MsgBox("El informe se ha generado con errores.¿Desea visualizarlos?", 20, "Genera 
 Informes") = 6 Then
      Set lFrm = gCn.AhoraProceso("DameZoom", False, gCn)
      lPrt = "Errores informe: " & gcn.damevalorcampo("Select descrip from ceesi_informes where idinforme=" & lIdInforme)
      lFrm.Carga cstr(lPrt), cstr(lErrores)
    End If
  Else
    MsgBox "El informe se ha generado correctamente", 64, "Genera Informes"
  End If
End sub

Código C#:

using AhoraAsistentes;
using AhoraCore;
using AhoraGeneral;
using AhoraOCX;
using AhoraScripts;
using AhoraSistema;
using AhoraUtil;
using static AhoraCore.VBA.Conversion;
using static AhoraCore.VBA.Interaction;
using static AhoraCore.VBA.Strings;
using System;

namespace AhoraScriptsVacia
{
    public class Script_0 : AhoraOCX.AhoraBaseScript
    {

        public void Show()
        {
            try
            {
                ((ICntBotonera)((IForm)gform).Controls["Botonera"]).ActivarScripts = true;
                ((ICntBotonera)((IForm)gform).Controls["Botonera"]).BotonAdd("InformeTXT", "BotPersGeneraInformeTXT", "", (ETipo_Menu)0, true, 123);
            }
            catch (Exception)
            {
                throw;
            }
        }


        public void Botonera_AfterExecute(Valor aBotonera, Object aBoton)
        {
            try
            {
                if (System.String.Equals(((IControl)aBoton).Name, "BotPersGeneraInformeTXT", StringComparison.Ordinal))
                {
                    InformeTXT();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }


        public void InformeTXT()
        {
            Valor lPrt = ValorEmpty.Value;
            IFrmZoom lFrm = null;
            //CUtil lUt = null;
            Valor lErrores = ValorEmpty.Value;
            Valor lCadena = ValorEmpty.Value;
            Valor lfilename = ValorEmpty.Value;
            Valor ParametroN = ValorEmpty.Value;
            Valor Parametro1 = ValorEmpty.Value;
            IVB6Collection<Valor> lCol = null;
            IInforme pCuaderno = null;
            Valor lIdInforme = ValorEmpty.Value;
            try
            {
                lIdInforme = 999;
                pCuaderno = (IInforme)gCn.Obj.DameObjeto("Informes", "Where IdInforme=" + lIdInforme);
                lCol = gCn.DameNewCollection();
                lCol.Add((int)Parametro1, "PEtiqueta");
                //...
                lCol.Add((int)ParametroN, "PEtiqueta");

                ((IInforme)pCuaderno).ColParametros = lCol;
                lfilename = @"C:\Prueba.txt";
                lCadena = ((IInforme)pCuaderno).GeneraInforme(lErrores);
                //lUt = new AhoraUtil.CUtil();;
                CUtil.GuardaFichero((string)lfilename, (string)lCadena);
                if (Len(lErrores) > 0)
                {
                    if ((int)MsgBox("El informe se ha generado con errores.¿Desea visualizarlos?", (VbMsgBoxStyle)20, "Genera Informes") == 6)
                    {
                        lFrm = (IFrmZoom)gCn.AhoraProceso("DameZoom", out _, gCn);
                        lPrt = "Errores informe: " + gCn.DameValorCampo("Select descrip from ceesi_informes where idinforme=" + lIdInforme);
                        lFrm.Carga((string)lPrt, (string)lErrores);
                    }
                }
                else
                {
                    MsgBox("El informe se ha generado correctamente", (VbMsgBoxStyle)64, "Genera Informes");
                }
            }
            catch (Exception)
            {
                throw;
            }
        }

    }
}

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo