Script para facilitar la creación de factura de acreedor.


Código VB6:

Sub Main()
  frmAux.Descargar    

  Set lFra = gcn.Obj.DameObjStr("Factura_Acreedor")

  lIdProveedor = InputBox("Indique Proveedor:")
  If Len(lIdProveedor)= 0 Then
    Exit Sub
  End If

  lImporte = InputBox("Indique Importe:")
  If Len(lImporte) = 0 Then
    Exit Sub
  End If

  lCuenta = InputBox("Indique Cuenta Contable:")
  If Len(lCuenta) = 0 Then
    Exit Sub
  End If

  lIdContacto = gcn.damevalorcampo("SELECT TOP 1 IdContacto FROM Prov_Contactos WHERE idTipo=0 AND IdProveedor = '" & lIdProveedor & "'")

  lFra.Propiedades("IdProveedor") = lIdProveedor
  lFra.Propiedades("IdContactoF") = lIdContacto
  lFra.Propiedades("NumFactProv") = 1
  lFra.Propiedades("SerieFactura") = 0
  lFra.Update

  Set lLinea = lFra.Objetos("Factura_Acreedor_Lineas").Add
  lLinea.Propiedades("IdIva") = 0
  lLinea.Propiedades("BaseEuros") = lImporte 
  lLinea.Update

  Set lDesglose = lfra.objetos("Factura_Acreedor_Desgloses").Add
  lDesglose.Propiedades("Subcuenta") = lCuenta
  lDesglose.Propiedades("ImporteEuros") = lImporte / 2 
  lDesglose.Update

  Set lDesglose = lfra.objetos("Factura_Acreedor_Desgloses").Add
  lDesglose.Propiedades("Subcuenta") = lCuenta
  lDesglose.Propiedades("ImporteEuros") = lImporte / 2 
  lDesglose.Update

  lFra.Update
  lFra.Show

End Sub

Código C#:

using AhoraCore;
using AhoraSistema;
using AhoraOCX;
using static AhoraCore.VBA.Interaction;
using AhoraConta;

namespace AhoraScriptsVacia
{
    public class Script_24 : AhoraOCX.AhoraBaseScript
    {
        public void Main()
        {
            IFactura_Acreedor lFra = (IFactura_Acreedor)gCn.Obj.DameObjStr("Factura_Acreedor");

            Valor lIdProveedor = InputBox("Indique Proveedor:");
            if (lIdProveedor.ToString().Length == 0 )
            {
                return;
            }

            Valor lImporte = InputBox("Indique Importe:");
            if (lImporte.ToString().Length == 0)
            {
                return;
            }

            Valor lCuenta = InputBox("Indique Cuenta Contable:");
            if (lCuenta.ToString().Length == 0)
            {
                return;
            }

            int lIdContacto = gCn.DameValorCampo("SELECT TOP 1 IdContacto FROM Prov_Contactos WHERE IdTipo = 0 AND IdProveedor = '" + lIdProveedor + "'");

            lFra["IdProveedor"] = lIdProveedor;
            lFra["IdContactoF"] = lIdContacto;
            lFra["NumFactProv"] = 1;
            lFra["SerieFactura"] = 0;

            lFra.Update();

            IFactura_Acreedor_Linea lLinea = (IFactura_Acreedor_Linea)lFra.Objetos["Factura_Acreedor_Lineas"].Add();
            lLinea["IdIva"] = 0;
            lLinea["BaseEuros"] = lImporte;
            lLinea.Update();

            IFactura_Acreedor_Desglose lDesglose = (IFactura_Acreedor_Desglose)lFra.Objetos["Factura_Acreedor_Desgloses"].Add();
            lDesglose["Subcuenta"] = lCuenta;
            lDesglose["ImporteEuros"] = lImporte / 2;
            lDesglose.Update();

            IFactura_Acreedor_Desglose lDesglose2 = (IFactura_Acreedor_Desglose)lFra.Objetos["Factura_Acreedor_Desgloses"].Add();
            lDesglose2["Subcuenta"] = lCuenta;
            lDesglose2["ImporteEuros"] = lImporte / 2;
            lDesglose2.Update();

            lFra.Update();
            lFra.Show();
        }
    }
}