Ejemplo n.º 1
0
        public void ComprobanteAXML()
        {
            XmlTextWriter writer = new XmlTextWriter(RutaComprobante + NombreComprobante + ".xml", System.Text.Encoding.UTF8);

            writer.WriteStartDocument();
            //Comprobantes
            writer.WriteStartElement("comprobantes");
            //ComprobanteEspecifico
            writer.WriteStartElement("comprobanteEspecifico");
            //Cabezote
            writer.WriteStartElement("cabezote");
            //prefijo
            writer.WriteElementString("prefijo", comprobante.Prefijo);
            //numero
            writer.WriteElementString("numero", XmlConvert.ToString(comprobante.Numero));
            //anio
            writer.WriteElementString("ano", XmlConvert.ToString(comprobante.Anio));
            //mes
            writer.WriteElementString("mes", XmlConvert.ToString(comprobante.Mes));
            //fecha
            writer.WriteElementString("fecha", comprobante.Fecha);
            //razon
            writer.WriteElementString("razon", comprobante.Razon);
            //valor
            writer.WriteElementString("valor", XmlConvert.ToString(comprobante.Valor));
            //Cierra Cabezote
            writer.WriteEndElement();
            IEnumerator ie = comprobante.Detalle.GetEnumerator();

            while (ie.MoveNext())
            {
                DComprobante detalle = (DComprobante)ie.Current;
                //Operacion
                writer.WriteStartElement("operacion");
                //cuenta
                writer.WriteElementString("cuenta", detalle.Cuenta);
                //nit
                writer.WriteElementString("nit", detalle.Nit);
                //prefijo referencia
                writer.WriteElementString("prefijoReferencia", comprobante.PrefijoReferencia);
                //numero referencia
                writer.WriteElementString("numeroReferencia", XmlConvert.ToString(comprobante.NumeroReferencia));
                //detalle
                writer.WriteElementString("detalle", comprobante.Razon);
                //sede - almacen
                writer.WriteElementString("sede", detalle.Almacen);
                //centro de costo
                writer.WriteElementString("ccosto", detalle.CentroCosto);
                //debito
                writer.WriteElementString("debito", XmlConvert.ToString(detalle.Debito));
                //credito
                writer.WriteElementString("credito", XmlConvert.ToString(detalle.Credito));
                //baseIva
                writer.WriteElementString("base", XmlConvert.ToString(detalle.BaseIva));
                //Cierra operacion
                writer.WriteEndElement();
            }
            //Cierra ComprobanteEspecifico
            writer.WriteEndElement();
            //Cierra Comprobante
            writer.WriteEndElement();
            //Cierra Documento
            writer.WriteEndDocument();
        }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
0
        public void SetDetalleConsumoInterno()
        {
            double inventarios      = 0;
            double ajustesInflacion = 0;
            double iva          = 0;
            double gastoInterno = 0;
            //Auxiliares
            double           valorUnitario  = 0;
            double           valorHistorico = 0;
            DComprobante     dComprobante;
            Cempresa         cEmpresa;
            ConceptoContable conceptoContable;
            string           centroCosto = "";
            string           almacen     = "";
            string           nit         = "";
            ICollection      ic;
            ArrayList        ar;

            if (devolucion)
            {
                ic = dItemDAO.GetDitem(61);
            }
            else
            {
                ic = dItemDAO.GetDitem(60);
            }
            IEnumerator ie = ic.GetEnumerator();
            Ditem       items;

            while (ie.MoveNext())
            {
                items             = (Ditem)ie.Current;
                valorUnitario     = items.Cantidad * items.CostoPromedio;
                inventarios      += valorUnitario;
                valorHistorico    = items.Cantidad * items.CostoPromedioHistorico;
                ajustesInflacion += valorUnitario - valorHistorico;
                iva          += valorUnitario * items.PorcentajeIva;
                gastoInterno += valorUnitario;
                centroCosto   = items.CentroCosto;
                almacen       = items.Almacen;
            }
            cEmpresa = cEmpresaDAO.GetCempresa();
            cEmpresa = (Cempresa)ie.Current;
            nit      = cEmpresa.Nit;
            ic       = conceptoContableDAO.GetConceptoContable(CodigoDocumento);
            ie       = ic.GetEnumerator();
            while (ie.MoveNext())
            {
                dComprobante             = new DComprobante();
                dComprobante.Almacen     = almacen;
                dComprobante.CentroCosto = centroCosto;
                dComprobante.Nit         = nit;
                conceptoContable         = (ConceptoContable)ie.Current;
                dComprobante.Cuenta      = conceptoContable.CodigoPuc;
                switch (conceptoContable.CodigoConcepto)
                {
                case "INVITE":
                    if (devolucion)
                    {
                        dComprobante.Debito = inventarios;
                    }
                    else
                    {
                        dComprobante.Credito = inventarios;
                    }
                    break;

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

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

                case "GTOINVINT":
                    if (devolucion)
                    {
                        dComprobante.Credito = gastoInterno;
                    }
                    else
                    {
                        dComprobante.Debito = gastoInterno;
                    }
                    break;
                }
                encabezadoComprobante.Valor = 0;
                ar = (ArrayList)encabezadoComprobante.Detalle;
                ar.Add(dComprobante);
            }
        }
Ejemplo n.º 4
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);
            }
        }
Ejemplo n.º 5
0
        public void SetDetalleAjustes()
        {
            double inventarios = 0;
            //Auxiliares
            double           valorUnitario = 0;
            DComprobante     dComprobante;
            Cempresa         cEmpresa;
            ConceptoContable conceptoContable;
            string           centroCosto = "";
            string           almacen     = "";
            string           nit         = "";
            ICollection      ic;
            ArrayList        ar;

            ic = dItemDAO.GetDitem(50);
            IEnumerator ie = ic.GetEnumerator();
            Ditem       items;

            while (ie.MoveNext())
            {
                items         = (Ditem)ie.Current;
                valorUnitario = items.Cantidad * items.CostoPromedio;
                inventarios  += valorUnitario;
                centroCosto   = items.CentroCosto;
                almacen       = items.Almacen;
            }
            cEmpresa = cEmpresaDAO.GetCempresa();
            cEmpresa = (Cempresa)ie.Current;
            nit      = cEmpresa.Nit;
            ic       = conceptoContableDAO.GetConceptoContable(CodigoDocumento);
            ie       = ic.GetEnumerator();
            while (ie.MoveNext())
            {
                dComprobante             = new DComprobante();
                dComprobante.Almacen     = almacen;
                dComprobante.CentroCosto = centroCosto;
                dComprobante.Nit         = nit;
                conceptoContable         = (ConceptoContable)ie.Current;
                dComprobante.Cuenta      = conceptoContable.CodigoPuc;
                switch (conceptoContable.CodigoConcepto)
                {
                case "INVITE":
                    if (inventarios > 0)
                    {
                        dComprobante.Credito = inventarios;
                    }
                    else
                    {
                        dComprobante.Debito = inventarios * (-1);
                    }
                    break;

                case "INGAJUINV":
                    if (inventarios > 0)
                    {
                        dComprobante.Debito = inventarios;
                    }
                    break;

                case "GTOAJUINV":
                    if (inventarios < 0)
                    {
                        dComprobante.Debito = inventarios * (-1);
                    }
                    break;
                }
                encabezadoComprobante.Valor = 0;
                ar = (ArrayList)encabezadoComprobante.Detalle;
                ar.Add(dComprobante);
            }
        }