< Características avanzadas > Automatización > Ejemplos

Ejemplos

<< Click to Display Table of Contents >>

Navegación:  Características avanzadas > Automatización >

Ejemplos

Crea una cuenta auxiliar

1. Visual Basic

' Agrega una cuenta financiera auxiliar

 Sub AgregaCue()

   Dim sig

   Set sig = CreateObject("Sigrid.App")

   sig.Visible = True

 

 ' abre la base de datos

   sig.abre ("c:\Sigrid3\Demo20.sig")

   sig.empresa (1) ' establece la empresa 1 como empresa de trabajo

 

  ' Solicita un código de cuenta auxiliar a crear

   sig.EjecutaStr ("var c=diaedita('Alta de cuenta auxiliar', 'Código de cuenta auxiliar');RetVal(c);")

   cuecod = sig.RetVal

 

  If cuecod = "" Or IsNull(cuecod) Then

       sig.EjecutaStr ("diaavisa('No especificó el código de cuenta');")

       sig.Quit

       Exit Sub

   End If

 

' Busca el ide de la cuenta retornando su valor

   sig.EjecutaStr ("var bas= base; var ide=bas.cuabusca ('" & cuecod & "'); RetVal(ide)")

   If sig.RetVal = 0 Or IsNull(sig.RetVal) Then

       ' alta de la cuenta

       sig.EjecutaStr ("var bas=base;bas.conagrega (TIPCUA,'" & cuecod & "',

                              'PRUEBAS_AUTOMATIZACIÓN',0);

                             diaavisa ('Cuenta creada'); ")

   Else

       MsgBox ("La cuenta " & cuecod & " ya existe con ide=" & sig.RetVal)

   End If

   e = sig.Quit()

End Sub

 

2. JScript

// Alta de cuenta en un programa.js

var sig = new ActiveXObject ("Sigrid.App");

if (sig == null) { WScript.Echo ("ERROR: no se pudo ejecutar Sigrid"); WScript.Quit (-1); }

sig.visible=1

 

sig.abre ("c:\\Sigrid3\\Demo20.sig")

sig.empresa (1)    // establece la empresa 1 como empresa de trabajo

 

// Solicita un código de cuenta auxiliar

sig.EjecutaStr ("var c=diaedita('Alta de cuenta auxiliar', 'Código de cuenta auxiliar');RetVal(c);")

cuecod = sig.RetVal

if (cuecod=="" || cuecod==null)

         sig.EjecutaStr ("diaavisa('No especificó el código de cuenta');")

else {

 

       // Busca el ide de la cuenta retornando su valor

         sig.EjecutaStr ("var bas= base; var ide=bas.cuabusca ('" + cuecod + "'); RetVal(ide)")

         if (sig.RetVal==0 || sig.RetVal==null) {

                     // alta de la cuenta

                 sig.EjecutaStr ("var bas=base;bas.conagrega (TIPCUA,'" +

                                            cuecod + "', 'PRUEBAS AUTOMATIZACIÓN',0)

                                        diaavisa ('Cuenta creada'); ")

                 if (sig.Error!=0)

                           WScript.Echo ("Error " + sig.Error)

                 else    WScript.Echo ("Se creó la cuenta")

         }

         else

                 WScript.Echo ("La cuenta ya existe")

}                  

sig.Quit()

 

Crea un Asiento Contable

Solicita los datos para la creación del asiento, lo crea y a continuación lo modifica para establecer el documento del asiento.

1. Visual Basic

Sub Asiento()

 Dim cod As String

   Dim res As String

   Dim fec As Long

   Dim cuenta As String

   Dim descri As String

   Dim asiide As Long

 

  Set sig = CreateObject("Sigrid.App")

   sig.Visible = True

 

   sig.abre ("c:\AppPS\Sigrid3\Demo20.sig") ' abre la base de datos

   sig.empresa (1) ' establece la empresa 1 como empresa de trabajo

 

   ' Solicita cod, res, obr y fec para el asiento

   sig.EjecutaStr ("var fec=diaedita('Fecha del Asiento','Fecha del Asiento (aaaammdd)');RetVal(fec);")

   fec = sig.RetVal

   sig.EjecutaStr ("var cod=diaedita('Código de Asiento','Código de Asiento');RetVal(cod);")

   cod = sig.RetVal

   sig.EjecutaStr ("var res=diaedita('Descripción del Asiento','Descripción del Asiento');RetVal(res);")

   res = sig.RetVal

   sig.EjecutaStr ("var obr=diaedita('Documento del Asiento','Documento del Asiento');RetVal(obr);")

   obr = sig.RetVal

   Dim S As String

   sig.TransInicia

   S = "var bas=base; RetVal(bas.conagrega (TIPASI, '" & cod & "', '" & res & "', " & fec & "));"

   sig.EjecutaStr (S)

   asiide = sig.RetVal()

 

  If asiide Then        ' Establece el número de documento del asiento

       If obr <> "" Then

           S = "UPDATE con SET obr='" & obr & "' WHERE con.ide=" & asiide

           sig.EjecutaStr ("var bas=base();bas.ejecuta(" & Chr(34) & S & Chr(34) & ")")

       End If

       sig.EjecutaStr ("var cuenta=diaedita('Cuenta del Asiento','Cuenta del Asiento');RetVal(cuenta);")

       cuenta = sig.RetVal

       S = "var bas=base;RetVal(bas.cuabusca('" & cuenta & "')); "

       sig.EjecutaStr (S)

       cueide = sig.RetVal()

       If cueide = 0 Then

           sig.EjecutaStr ("var descri=diaedita('Descripción de la Cuenta','Descripción de las Cuenta');RetVal(descri);")

           descri = sig.RetVal

           S = "var bas=base; RetVal(bas.conagrega (TIPCUA,'" & cuenta & "','" & descri & "', 0));"

           sig.EjecutaStr (S)

           cueide = sig.RetVal()

       End If

       If cueide Then

           debe = 100

           haber = 0

           S = "var bas=base;RetVal(bas.apuagrega('" & asiide & "','" & cueide & "','" & debe & "','" & haber & "')); "

           sig.EjecutaStr (S)

           apuide = sig.RetVal()

           If apuide And obr <> "" Then

               S = "UPDATE apu SET obr='" & obr & "' WHERE apu.ide=" & apuide

               sig.EjecutaStr ("var bas=base();bas.ejecuta(" & Chr(34) & S & Chr(34) & ")")

           End If

       End If

   End If

   sig.TransTermina

End Sub