Пример #1
0
 public Ajustes(string codigoDocumento, int numeroDocumento)
 {
     this.encabezadoComprobante = new MComprobante();
     this.comprobanteXML        = new ComprobanteXML();
     this.dItemDAO            = new DitemDAO();
     this.conceptoContableDAO = new ConceptoContableDAO();
     this.cEmpresaDAO         = new CempresaDAO();
     this.codigoDocumento     = codigoDocumento;
     this.numeroDocumento     = numeroDocumento;
 }
Пример #2
0
 public Ajustes()
 {
     this.encabezadoComprobante = new MComprobante();
     this.comprobanteXML        = new ComprobanteXML();
     this.dItemDAO            = new DitemDAO();
     this.conceptoContableDAO = new ConceptoContableDAO();
     this.cEmpresaDAO         = new CempresaDAO();
     this.codigoDocumento     = "";
     this.numeroDocumento     = 0;
 }
Пример #3
0
 public ConsumoInterno(string codigoDocumento, int numeroDocumento, bool devolucion)
 {
     this.encabezadoComprobante = new MComprobante();
     this.comprobanteXML        = new ComprobanteXML();
     this.dItemDAO            = new DitemDAO();
     this.conceptoContableDAO = new ConceptoContableDAO();
     this.cEmpresaDAO         = new CempresaDAO();
     this.codigoDocumento     = codigoDocumento;
     this.numeroDocumento     = numeroDocumento;
     this.devolucion          = devolucion;
 }
Пример #4
0
 public ConsumoInterno()
 {
     this.encabezadoComprobante = new MComprobante();
     this.comprobanteXML        = new ComprobanteXML();
     this.dItemDAO            = new DitemDAO();
     this.conceptoContableDAO = new ConceptoContableDAO();
     this.cEmpresaDAO         = new CempresaDAO();
     this.codigoDocumento     = "";
     this.numeroDocumento     = 0;
     this.devolucion          = false;
 }
Пример #5
0
 public InterfaceFacturaProveedor(string codigoDocumento, int numeroDocumento)
 {
     this.encabezadoComprobante = new MComprobante();
     this.comprobanteXML        = new ComprobanteXML();
     this.facturaProveedorDAO   = new MFacturaProveedorDAO();
     this.facturaProveedor      = new MFacturaProveedor();
     this.dItemDAO              = new DitemDAO();
     this.conceptoContableDAO   = new ConceptoContableDAO();
     this.cEmpresaDAO           = new CempresaDAO();
     this.retencionProveedorDAO = new RetencionProveedorDAO();
     this.codigoDocumento       = codigoDocumento;
     this.numeroDocumento       = numeroDocumento;
 }
Пример #6
0
 public InterfaceFacturaCliente(string codigoDocumento, int numeroDocumento, bool contabilizaDescuentos)
 {
     this.encabezadoComprobante = new MComprobante();
     this.comprobanteXML        = new ComprobanteXML();
     this.facturaClienteDAO     = new MFacturaClienteDAO();
     this.facturaCliente        = new MFacturaCliente();
     this.dItemDAO              = new DitemDAO();
     this.conceptoContableDAO   = new ConceptoContableDAO();
     this.cEmpresaDAO           = new CempresaDAO();
     this.retencionClienteDAO   = new RetencionClienteDAO();
     this.codigoDocumento       = codigoDocumento;
     this.numeroDocumento       = numeroDocumento;
     this.contabilizaDescuentos = contabilizaDescuentos;
 }
Пример #7
0
        public void SetDetalleFacturaProveedor()
        {
            Ditem items;
            RetencionProveedor retencionProveedor;
            DComprobante       dComprobante;
            ConceptoContable   conceptoContable;
            RetencionICADAO    retencionICADAO = new RetencionICADAO();
            RetencionICA       retencionICA;
            double             valorInventarios = 0;
            double             valorTerceros    = 0;
            double             valor            = 0;
            double             descuento        = 0;
            double             ivaInventarios   = 0;
            double             ivaTerceros      = 0;
            double             retencion        = 0;
            string             centroCosto      = "";
            double             valorCompra      = 0;
            bool      devolucion = false;
            ArrayList ar;

            dItemDAO = new DitemDAO();
            ICollection ic = dItemDAO.GetDitem(facturaProveedor.CodigoDocumento, facturaProveedor.NumeroDocumento);
            IEnumerator ie = ic.GetEnumerator();

            while (ie.MoveNext())
            {
                items = (Ditem)ie.Current;
                if (items.TipoMovimiento == 31)
                {
                    devolucion = true;
                }
                valor        = items.Cantidad * items.ValorUnitario;
                valorCompra += valor;
                descuento   += items.PorcentajeDescuento * valor;
                if (items.Origen.Equals("X"))
                {
                    valorTerceros += valor - (items.PorcentajeDescuento * valor);
                    ivaTerceros   += items.PorcentajeIva * valor;
                }
                else
                {
                    valorInventarios += valor - (items.PorcentajeDescuento * valor);
                    ivaInventarios   += items.PorcentajeIva * valor;
                }
                centroCosto = items.CentroCosto;
            }
            ic = retencionProveedorDAO.GetRetencionProveedor(facturaProveedor.CodigoDocumento, facturaProveedor.NumeroDocumento);
            ie = ic.GetEnumerator();
            while (ie.MoveNext())
            {
                dComprobante             = new DComprobante();
                retencionProveedor       = (RetencionProveedor)ie.Current;
                retencion               += retencionProveedor.ValorRetencion;
                dComprobante.Almacen     = facturaProveedor.Almacen;
                dComprobante.CentroCosto = centroCosto;
                conceptoContable         = conceptoContableDAO.GetConceptoContable(facturaProveedor.CodigoDocumento, retencionProveedor.CodigoRetencion);
                if (retencionProveedor.CodigoRetencion.Equals("RI"))
                {
                    retencionICA = retencionICADAO.GetRetencionICA(facturaProveedor.Nit);
                    if (facturaProveedor.RegimenIva.Equals("S"))
                    {
                        dComprobante.Cuenta = retencionICA.CodigoCuentaSimplificado;
                    }
                    else if (facturaProveedor.RegimenIva.Equals("C"))
                    {
                        dComprobante.Cuenta = retencionICA.CodigoCuentaComun;
                    }
                }
                else
                {
                    dComprobante.Cuenta = conceptoContable.CodigoPuc;
                }
                if (devolucion)
                {
                    dComprobante.Credito = retencionProveedor.ValorRetencion;
                }
                else
                {
                    dComprobante.Debito = retencionProveedor.ValorRetencion;
                }
                dComprobante.Nit = facturaProveedor.Nit;
                ar = (ArrayList)encabezadoComprobante.Detalle;
                ar.Add(dComprobante);
            }
            ic = conceptoContableDAO.GetConceptoContable(facturaProveedor.CodigoDocumento);
            ie = ic.GetEnumerator();
            while (ie.MoveNext())
            {
                dComprobante             = new DComprobante();
                dComprobante.Almacen     = facturaProveedor.Almacen;
                dComprobante.CentroCosto = centroCosto;
                dComprobante.Nit         = facturaProveedor.Nit;
                conceptoContable         = (ConceptoContable)ie.Current;
                dComprobante.Cuenta      = conceptoContable.CodigoPuc;
                switch (conceptoContable.CodigoConcepto)
                {
                case "CXP":
                    valor = valorCompra - descuento + ivaInventarios + ivaTerceros - retencion;
                    if (devolucion)
                    {
                        dComprobante.Debito = valor;
                    }
                    else
                    {
                        dComprobante.Credito = valor;
                    }
                    break;

                case "IVA":
                    valor = ivaInventarios + ivaTerceros;
                    if (devolucion)
                    {
                        dComprobante.Credito = valor;
                    }
                    else
                    {
                        dComprobante.Debito = valor;
                    }
                    break;

                case "INVITE":
                    if (devolucion)
                    {
                        dComprobante.Credito = valorInventarios;
                    }
                    else
                    {
                        dComprobante.Debito = valorInventarios;
                    }
                    break;

                case "INVTRBTER":
                    if (devolucion)
                    {
                        dComprobante.Credito = valorTerceros;
                    }
                    else
                    {
                        dComprobante.Debito = valorTerceros;
                    }
                    break;
                }
                encabezadoComprobante.Valor = valorCompra;
                ar = (ArrayList)encabezadoComprobante.Detalle;
                ar.Add(dComprobante);
            }
        }
Пример #8
0
        public void SetDetalleFacturaCliente()
        {
            Ditem            items;
            RetencionCliente retencionCliente;
            DComprobante     dComprobante;
            ConceptoContable conceptoContable;
            double           cuentasPorCobrar     = 0;
            double           inventarioItems      = 0;
            double           inventarioTerceros   = 0;
            double           ivaItems             = 0;
            double           ivaTerceros          = 0;
            double           ajusteInflacion      = 0;
            double           costoItems           = 0;
            double           costoTerceros        = 0;
            double           retencion            = 0;
            double           descuento            = 0;
            double           ventaItemsGrabado    = 0;
            double           ventaTercerosGrabado = 0;
            double           ventaItemsExcento    = 0;
            double           ventaTercerosExcento = 0;
            //auxiliares
            string    centroCosto     = "";
            double    totalVenta      = 0;
            double    valorUnitarios  = 0;
            double    valorPromedios  = 0;
            double    valorHistoricos = 0;
            bool      devolucion      = false;
            ArrayList ar;

            dItemDAO = new DitemDAO();
            ICollection ic = dItemDAO.GetDitem(facturaCliente.CodigoDocumento, facturaCliente.NumeroDocumento);
            IEnumerator ie = ic.GetEnumerator();

            while (ie.MoveNext())
            {
                items = (Ditem)ie.Current;
                if (items.TipoMovimiento == 91)
                {
                    devolucion = true;
                }
                valorUnitarios  = items.Cantidad * items.ValorUnitario;
                valorPromedios  = items.Cantidad * items.CostoPromedio;
                valorHistoricos = items.Cantidad * items.CostoPromedioHistorico;
                //Valor comprobante
                totalVenta += valorUnitarios;
                //ajuste Inflacion
                ajusteInflacion += valorPromedios - valorHistoricos;
                //Descuento
                descuento += items.PorcentajeDescuento * valorUnitarios;
                //Terceros
                if (items.Origen.Equals("X"))
                {
                    //Inventario Terceros
                    inventarioTerceros += valorPromedios;
                    //Costo Terceros
                    costoTerceros += valorPromedios;
                    //IVA Terceros
                    ivaTerceros += valorUnitarios * items.PorcentajeIva;

                    if (items.PorcentajeIva == 0)
                    {
                        //Venta Terceros Excento
                        if (contabilizaDescuentos)
                        {
                            ventaTercerosExcento += valorUnitarios;
                        }
                        else
                        {
                            ventaTercerosExcento += valorUnitarios - (items.PorcentajeDescuento * valorUnitarios);
                        }
                    }
                    else
                    {
                        //Venta Terceros Grabado
                        if (contabilizaDescuentos)
                        {
                            ventaTercerosGrabado += valorUnitarios;
                        }
                        else
                        {
                            ventaTercerosGrabado += valorUnitarios - (items.PorcentajeDescuento * valorUnitarios);
                        }
                    }
                }
                //Items
                else
                {
                    //Inventario Items
                    inventarioItems += valorPromedios;
                    //Costo Items
                    costoItems += valorPromedios;
                    //IVA Items
                    ivaItems += valorUnitarios * items.PorcentajeIva;

                    if (items.PorcentajeIva == 0)
                    {
                        //Venta Items Excento
                        if (contabilizaDescuentos)
                        {
                            ventaItemsExcento += valorUnitarios;
                        }
                        else
                        {
                            ventaItemsExcento += valorUnitarios - (items.PorcentajeDescuento * valorUnitarios);
                        }
                    }
                    else
                    {
                        //Venta Items Grabado
                        if (contabilizaDescuentos)
                        {
                            ventaItemsGrabado += valorUnitarios;
                        }
                        else
                        {
                            ventaItemsGrabado += valorUnitarios - (items.PorcentajeDescuento * valorUnitarios);
                        }
                    }
                }
                centroCosto = items.CentroCosto;
            }
            //Retenciones
            ic = retencionClienteDAO.GetRetencionCliente(facturaCliente.CodigoDocumento, facturaCliente.NumeroDocumento);
            ie = ic.GetEnumerator();
            while (ie.MoveNext())
            {
                dComprobante             = new DComprobante();
                retencionCliente         = (RetencionCliente)ie.Current;
                retencion               += retencionCliente.ValorRetencion;
                dComprobante.Almacen     = facturaCliente.Almacen;
                dComprobante.CentroCosto = centroCosto;
                conceptoContable         = conceptoContableDAO.GetConceptoContable(facturaCliente.CodigoDocumento, retencionCliente.CodigoRetencion);
                dComprobante.Cuenta      = conceptoContable.CodigoPuc;
                if (devolucion)
                {
                    dComprobante.Credito = retencionCliente.ValorRetencion;
                }
                else
                {
                    dComprobante.Debito = retencionCliente.ValorRetencion;
                }
                dComprobante.Nit = facturaCliente.Nit;
                ar = (ArrayList)encabezadoComprobante.Detalle;
                ar.Add(dComprobante);
            }
            ic = conceptoContableDAO.GetConceptoContable(facturaCliente.CodigoDocumento);
            ie = ic.GetEnumerator();
            while (ie.MoveNext())
            {
                dComprobante             = new DComprobante();
                dComprobante.Almacen     = facturaCliente.Almacen;
                dComprobante.CentroCosto = centroCosto;
                dComprobante.Nit         = facturaCliente.Nit;
                conceptoContable         = (ConceptoContable)ie.Current;
                dComprobante.Cuenta      = conceptoContable.CodigoPuc;
                switch (conceptoContable.CodigoConcepto)
                {
                case "CXC":
                    cuentasPorCobrar = totalVenta - descuento + ivaTerceros + ivaItems - retencion;
                    if (devolucion)
                    {
                        dComprobante.Credito = cuentasPorCobrar;
                    }
                    else
                    {
                        dComprobante.Debito = cuentasPorCobrar;
                    }

                    break;

                case "IVA":
                    if (devolucion)
                    {
                        dComprobante.Debito = ivaTerceros + ivaItems;
                    }
                    else
                    {
                        dComprobante.Credito = ivaTerceros + ivaItems;
                    }
                    break;

                case "INVITE":
                    if (devolucion)
                    {
                        dComprobante.Debito = inventarioItems;
                    }
                    else
                    {
                        dComprobante.Credito = inventarioItems;
                    }

                    break;

                case "INVTRBTER":
                    if (devolucion)
                    {
                        dComprobante.Debito = inventarioTerceros;
                    }
                    else
                    {
                        dComprobante.Credito = inventarioTerceros;
                    }
                    break;

                case "INVITEAMOINF":
                    if (devolucion)
                    {
                        dComprobante.Debito = ajusteInflacion;
                    }
                    else
                    {
                        dComprobante.Credito = ajusteInflacion;
                    }
                    break;

                case "COSVTAITE":
                    if (devolucion)
                    {
                        dComprobante.Credito = costoItems;
                    }
                    else
                    {
                        dComprobante.Debito = costoItems;
                    }
                    break;

                case "COSVTATRBTER":
                    if (devolucion)
                    {
                        dComprobante.Credito = costoTerceros;
                    }
                    else
                    {
                        dComprobante.Debito = costoTerceros;
                    }
                    break;

                case "VTAITEEXE":
                    if (devolucion)
                    {
                        dComprobante.Debito = ventaItemsExcento;
                    }
                    else
                    {
                        dComprobante.Credito = ventaItemsExcento;
                    }
                    break;

                case "VTAITEGRA":
                    if (devolucion)
                    {
                        dComprobante.Debito = ventaItemsGrabado;
                    }
                    else
                    {
                        dComprobante.Credito = ventaItemsGrabado;
                    }
                    break;

                case "VTATRBTEREXE":
                    if (devolucion)
                    {
                        dComprobante.Debito = ventaTercerosExcento;
                    }
                    else
                    {
                        dComprobante.Credito = ventaTercerosExcento;
                    }
                    break;

                case "VTATRBTERGRA":
                    if (devolucion)
                    {
                        dComprobante.Debito = ventaTercerosGrabado;
                    }
                    else
                    {
                        dComprobante.Credito = ventaTercerosGrabado;
                    }
                    break;

                case "DESVTA":
                    if (contabilizaDescuentos)
                    {
                        if (devolucion)
                        {
                            dComprobante.Debito = descuento;
                        }
                        else
                        {
                            dComprobante.Credito = descuento;
                        }
                    }
                    break;
                }
                encabezadoComprobante.Valor = totalVenta;
                ar = (ArrayList)encabezadoComprobante.Detalle;
                ar.Add(dComprobante);
            }
        }