示例#1
0
        public List <object> getMovimientosPendiente(int xCliente)
        {
            List <IDataParameter> P = new List <IDataParameter>();

            P.Add(new SqlParameter("@CLIENTE", xCliente));
            DbCommand Command = new SqlCommand("SELECT V.VENCIMIENTOCONTADO AS PRECIOCONTADO,DBO.JL_TARIFABYFACTURA(T.SERIE,T.NUMERO) AS TARIFA,DBO.JL_TIPOBYCODCLIENTE(t.codigointerno) as tipocliente,T.SERIEDOC,t.NUMERODOC,t.codigointerno as CLIENTE,V.TIPODOC as NUMEROTIPO,T.MORA AS MORA,T.CAJASALDADO AS CAJASALDADO,T.ZSALDADO AS ZSALDADO,T.FACTORMONEDA AS FMONEDA,T.ORIGEN,T.GENAPUNTE AS APUNTE,T.CODTIPOPAGO AS TIPOPAGO,T.CODFORMAPAGO AS FORMAPAGO,MAX(T.POSICION) AS POSICION,MAX(D.DESCRIPCION) AS DESCRIPCION, MAX(T.FECHADOCUMENTO) AS 'FECHA DEL DOCUMENTO', MAX(T.SERIE) AS 'SERIE DE DOCUMENTO', MAX(T.NUMERO) AS 'NUMERO DE DOCUMENTO',CAST(SUM(T.IMPORTE) AS DECIMAL(16, 2)) AS IMPORTE,T.CODMONEDA AS MONEDA,T.ESTADO AS ESTADO,T.FECHAVENCIMIENTO AS VENCIMIENTO,T.NUMEROREMESA AS REMESA, T.TIPODOCUMENTO AS TIPODOC,T.FECHASALDADO AS SALDADO,SUBCTA FROM TESORERIA AS T LEFT OUTER JOIN FACTURASVENTA AS V ON T.SERIE = V.NUMSERIE AND T.NUMERO = V.NUMFACTURA AND T.N = V.N LEFT OUTER JOIN SERIES AS D ON V.NUMSERIE = D.SERIE WHERE (T.ORIGEN = 'C' AND (T.TIPODOCUMENTO='F' OR T.TIPODOCUMENTO ='L')) AND (T.CODIGOINTERNO = @CLIENTE) AND T.N='B'  AND  (T.ESTADO='P') GROUP BY V.VENCIMIENTOCONTADO,T.SERIEDOC,t.NUMERODOC,t.codigointerno,V.TIPODOC,T.MORA,T.CAJASALDADO,T.ZSALDADO,T.FACTORMONEDA,T.ORIGEN,T.GENAPUNTE,T.CODTIPOPAGO,T.CODFORMAPAGO,T.FECHADOCUMENTO,T.SERIE, T.NUMERO,T.CODMONEDA,T.ESTADO,T.FECHAVENCIMIENTO,T.NUMEROREMESA, T.TIPODOCUMENTO,T.FECHASALDADO,SUBCTA,T.POSICION ORDER BY T.FECHADOCUMENTO ASC ", (SqlConnection)Connection);

            System.Data.IDataReader rd          = null;
            List <object>           Movimientos = new List <object>();
            MovimientoGeneral       Entity      = null;

            if (Connection.State == System.Data.ConnectionState.Closed)
            {
                _Connection.Open();
            }
            rd = ExecuteReader(Command, P);
            while (rd.Read())
            {
                Entity = (MovimientoGeneral)getMovimientoFromReader(rd, _ListaMonedas, false);

                Movimientos.Add(Entity);
            }
            rd.Close();
            CerrarConexion(Connection);

            foreach (Movimiento M in Movimientos)
            {
                ((Movimiento)M).CFE = (CFE)getCFEByFactura(M.Numero, M.Serie);
            }
            return(Movimientos);
        }
示例#2
0
文件: GCuentas.cs 项目: AlaiUy/Cobros
        public List <MovimientoGeneral> PendientesByCliente(ClienteActivo xCliente)
        {
            List <MovimientoGeneral> Movimientos = new List <MovimientoGeneral>();

            foreach (object Obj in DBCuentas.getMovimientosPendiente(xCliente.IdCliente))
            {
                MovimientoGeneral M = (MovimientoGeneral)Obj;
                Movimientos.Add(M);
            }
            return(Movimientos);
        }
示例#3
0
        protected object getMovimientoFromReader(IDataReader Reader, List <Moneda> xListaMonedas, bool xRecibo)
        {
            int      Numero, cTarifa, Tipo, SubCta, codFormaPago, Remesa, Moneda, zSaldado, zCodCliente, zNumeroDoc, xTipoCliente, Tipopago;
            string   Serie, sDoc, TipoDoc, Estado, Origen, apunte, Descripcion;
            DateTime FV, FS, Fecha, VC;
            decimal  Mora, fMoneda, Importe;
            byte     Linea;


            Moneda  = (int)(Reader["MONEDA"]);
            fMoneda = Convert.ToDecimal((Reader["FMONEDA"] is DBNull ? 1 : Reader["FMONEDA"]));
            Tipo    = (int)(Reader["NUMEROTIPO"] is DBNull ? 0 : Reader["NUMEROTIPO"]);
            Importe = (decimal)(Reader["IMPORTE"]);
            Moneda M = xListaMonedas.Find(xObj => xObj.Codmoneda == Moneda);

            Numero     = (int)(Reader["NUMERO DE DOCUMENTO"]);
            Serie      = (string)(Reader["SERIE DE DOCUMENTO"] is DBNull ? string.Empty : Reader["SERIE DE DOCUMENTO"]);
            Fecha      = Convert.ToDateTime((Reader["FECHA DEL DOCUMENTO"]));
            Linea      = Convert.ToByte((Reader["POSICION"]));
            fMoneda    = Convert.ToDecimal((Reader["FMONEDA"] is DBNull ? 1 : Reader["FMONEDA"]));
            SubCta     = (int)(Reader["SUBCTA"] is DBNull ? 0 : Reader["SUBCTA"]);
            zNumeroDoc = (int)(Reader["NUMERODOC"] is DBNull ? -1 : Reader["NUMERODOC"]);

            if (SubCta < 1)
            {
                SubCta = 1;
            }

            if (xRecibo)
            {
                return(new MovimientoRecibo(Numero, Serie, Fecha, Linea, fMoneda, Importe, SubCta, M, Tipo));
            }
            else
            {
                MovimientoGeneral Temporal = null;
                cTarifa = (int)(Reader["TARIFA"] is DBNull ? 1 : Reader["TARIFA"]);


                codFormaPago = Convert.ToInt32((Reader["FORMAPAGO"]));
                Remesa       = Convert.ToInt32((Reader["REMESA"] is DBNull ? -1 : Reader["REMESA"]));

                Tipopago    = Convert.ToInt32((Reader["TIPOPAGO"]));
                zSaldado    = (int)(Reader["ZSALDADO"] is DBNull ? -1 : Reader["ZSALDADO"]);
                zCodCliente = (int)(Reader["CLIENTE"] is DBNull ? -1 : Reader["CLIENTE"]);

                sDoc        = (string)(Reader["SERIEDOC"] is DBNull ? string.Empty : Reader["SERIEDOC"]);
                Origen      = (string)(Reader["ORIGEN"] is DBNull ? string.Empty : Reader["ORIGEN"]);
                apunte      = (string)(Reader["APUNTE"] is DBNull ? string.Empty : Reader["APUNTE"]);
                Descripcion = (string)(Reader["DESCRIPCION"] is DBNull ? string.Empty : Reader["DESCRIPCION"]);
                TipoDoc     = (string)(Reader["TIPODOC"]);
                Estado      = (string)(Reader["ESTADO"]);
                FV          = Convert.ToDateTime((Reader["VENCIMIENTO"]));
                FS          = Convert.ToDateTime((Reader["SALDADO"]));
                VC          = Convert.ToDateTime((Reader["PRECIOCONTADO"] is DBNull ? DateTime.MinValue : Reader["PRECIOCONTADO"]));
                Mora        = Convert.ToDecimal((Reader["MORA"] is DBNull ? 0 : Reader["MORA"]));

                xTipoCliente = (int)(Reader["tipocliente"] is DBNull ? -1 : Reader["tipocliente"]);

                Temporal                    = new MovimientoGeneral(Numero, Serie, Descripcion, Importe, Fecha, (Moneda)M, Linea, Origen, cTarifa, fMoneda, SubCta, zNumeroDoc);
                Temporal.Mora               = Mora;
                Temporal.Codcliente         = zCodCliente;
                Temporal.Factormoneda       = fMoneda;
                Temporal.GenApunte          = apunte;
                Temporal.TipoPago           = Tipopago;
                Temporal.FormaPago          = codFormaPago;
                Temporal.Estado             = Estado;
                Temporal.FechaVencimiento   = FV;
                Temporal.Numeroremesa       = Remesa;
                Temporal.Tipodocumento      = TipoDoc;
                Temporal.Saldado            = FS;
                Temporal.Zsaldado           = zSaldado;
                Temporal.SerieDoc           = sDoc;
                Temporal.VencimientoContado = VC;
                Temporal.Tipocliente        = xTipoCliente;
                Temporal.CFE                = (CFE)CuentasMapper.getCFEByFactura(Numero, Serie);
                return(Temporal);
            }
        }
示例#4
0
        public void GenerarXMLRemito(Remito xR, int xNumero, Empresa Claves, CajaGeneral xCaja, bool xImprimir)
        {
            Remito R = (Remito)xR;
            //XmlTextWriter Writer = new XmlTextWriter(xCaja.EntradaCFE.Trim() + xR.Serie + xR.Numero + ".xml", Encoding.UTF8);
            XmlTextWriter Writer = new XmlTextWriter(xCaja.TemporalCFE.Trim() + xR.Serie + xNumero + ".xml", Encoding.UTF8);

            Writer.WriteStartDocument();
            Writer.WriteStartElement("EnvioCFE");
            Writer.WriteStartElement("Encabezado");
            Writer.WriteStartElement("EmpCodigo");
            Writer.WriteString(Claves.CodEmpresa.ToString());
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmpPK");
            Writer.WriteString(Claves.EmpPK);
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmpCA");
            Writer.WriteString(Claves.Clave.ToString());
            Writer.WriteEndElement();
            Writer.WriteEndElement();

            Writer.WriteStartElement("CFE");

            Writer.WriteStartElement("CFEItem");

            Writer.WriteStartElement("IdDoc");

            Writer.WriteStartElement("CFETipoCFE");
            Writer.WriteValue(R.NumeroCFE());
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFESerie");

            Writer.WriteEndElement();
            Writer.WriteStartElement("CFENro");

            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEImpresora");
            Writer.WriteString(xCaja.Impresora);
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEImp");
            if (xImprimir)
            {
                Writer.WriteString("S");
            }
            else
            {
                Writer.WriteString("N");
            }
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEImpCantidad");
            Writer.WriteValue(1);
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEFchEmis");
            Writer.WriteString(R.Fecha.ToString("yyyy-MM-dd"));
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEPeriodoDesde");

            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEPeriodoHasta");

            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEMntBruto");
            Writer.WriteValue(1);
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEFmaPago");
            // revisar aca///
            Writer.WriteValue(1);
            ////
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEFchVenc");
            Writer.WriteString(DateTime.Today.ToShortDateString());
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFETipoTraslado");
            Writer.WriteValue(1);
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEAdenda");
            Writer.WriteString(R.Adenda());
            Writer.WriteEndElement();
            Writer.WriteStartElement("CAESeq");
            Writer.WriteString("0");
            Writer.WriteEndElement();


            //            Writer.WriteEndElement();
            Writer.WriteStartElement("CFENumReferencia");
            Writer.WriteValue(1);

            Writer.WriteEndElement();


            //Writer.WriteEndElement();
            Writer.WriteStartElement("CFEImpFormato");

            Writer.WriteValue(1);

            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEIdCompra");
            Writer.WriteValue(0);

            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEQrCode");
            Writer.WriteValue(1);
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFEDatosAvanzados");
            Writer.WriteValue(1);
            Writer.WriteEndElement();
            Writer.WriteStartElement("CFERepImpresa");
            Writer.WriteValue(1);
            Writer.WriteEndElement();
            Writer.WriteEndElement();



            #region Emisor
            /* DATOS EMISOR */
            Writer.WriteStartElement("Emisor");

            Writer.WriteStartElement("EmiRznSoc");
            Writer.WriteString("Ferreteria y Barraca Aguiñagalde");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiComercial");
            Writer.WriteString("Hector B. Aguiñagalde");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiGiroEmis");
            //'.WriteString("NI IDEA")
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiTelefono");
            Writer.WriteString("25106");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiTelefono2");
            //'.WriteString("473 20501");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiCorreoEmisor");
            Writer.WriteString("*****@*****.**");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiSucursal");
            Writer.WriteString("1");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiDomFiscal");
            Writer.WriteString("Barbieri 1080");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiCiudad");
            Writer.WriteString("Salto");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiDepartamento");
            Writer.WriteString("Salto");
            Writer.WriteEndElement();
            Writer.WriteStartElement("EmiInfAdicional");
            Writer.WriteEndElement();
            Writer.WriteEndElement();
            #endregion


            #region Receptor

            Writer.WriteStartElement("Receptor");
            Writer.WriteStartElement("RcpTipoDocRecep");
            Writer.WriteValue(R.Cliente.TipoDocumento(R.IS.Codigo));
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpTipoDocDscRecep");
            Writer.WriteString("");
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpCodPaisRecep");
            Writer.WriteString("UY");
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpDocRecep");
            Writer.WriteString(R.Cliente.Documento(R.IS.Codigo));
            Writer.WriteEndElement();
            //acordate aca porner el subcuenta de la bonificacion corresponditnete;
            //Writer.WriteValue(R.Cliente.Documento(0));



            Writer.WriteStartElement("RcpRznSocRecep");
            Writer.WriteString(R.Cliente.NombreSubCuenta(R.IS.Codigo));
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpDirRecep");
            Writer.WriteString(R.Cliente.DireccionSubCuenta(R.IS.Codigo));
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpCiudadRecep");
            Writer.WriteString("Salto");
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpDeptoRecep");
            Writer.WriteString("Salto");
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpCP");
            Writer.WriteString("");
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpCorreoRecep");
            Writer.WriteString(R.Cliente.CamposLibres.Email);
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpInfAdiRecep");
            Writer.WriteString("");
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpDirPaisRecep");
            Writer.WriteString("");
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpDstEntregaRecep");
            Writer.WriteEndElement();
            Writer.WriteStartElement("RcpEmlArchivos");
            Writer.WriteValue(1);
            Writer.WriteEndElement();
            // End If
            Writer.WriteEndElement();

            #endregion

            #region Totales
            Writer.WriteStartElement("Totales");

            Writer.WriteStartElement("TotTpoMoneda");
            Writer.WriteString(R.Moneda.CFESubfijo());
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotTpoCambio");
            Writer.WriteValue(R.FactorMoneda);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntNoGrv");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntExpoyAsim");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntImpuestoPerc");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntIVaenSusp");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntNetoIvaTasaMin");

            Writer.WriteValue(0);

            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntNetoIVATasaBasica");
            Writer.WriteValue(Math.Abs(R.TotalBruto()));
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntNetoIVAOtra");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotIVATasaMin");
            Writer.WriteValue(10);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotIVATasaBasica");
            Writer.WriteValue(22);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntIVATasaMin");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntIVATasaBasica");
            Writer.WriteValue(Math.Abs((Math.Abs(R.Importe()) - Math.Abs(R.TotalBruto()))));
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntIVAOtra");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntTotal");
            Writer.WriteValue(Math.Abs(R.Importe()));
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntTotRetenido");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntCreditoFiscal");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("RetencPercepTot");
            Writer.WriteEndElement();


            Writer.WriteStartElement("TotMontoNF");
            Writer.WriteValue(0);
            Writer.WriteEndElement();
            Writer.WriteStartElement("TotMntPagar");
            Writer.WriteValue(Math.Abs(R.Importe()));
            Writer.WriteEndElement();
            Writer.WriteEndElement();


            #endregion



            Writer.WriteStartElement("Detalle");
            foreach (LineaRemito L in R.Lineas)
            {
                Writer.WriteStartElement("Item");
                Writer.WriteStartElement("CodItem");
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteIndFact");
                Writer.WriteValue(3);
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteIndAgenteResp");
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteNomItem");
                Writer.WriteString(L.Descripcion);
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteDscItem");
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteCantidad");
                Writer.WriteValue(Math.Abs(L.Unidadestotal));
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteUniMed");
                Writer.WriteString("C/U");
                Writer.WriteEndElement();
                Writer.WriteStartElement("ItePrecioUnitario");
                Writer.WriteValue(Math.Abs(L.Total()));
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteDescuentoPct");
                Writer.WriteValue(0);
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteDescuentoMonto");
                Writer.WriteValue(0);
                Writer.WriteEndElement();
                Writer.WriteStartElement("SubDescuento");
                Writer.WriteEndElement();
                Writer.WriteStartElement("RetencPercep");
                Writer.WriteEndElement();
                Writer.WriteStartElement("IteMontoItem");
                Writer.WriteValue(Math.Abs(L.Total()));
                Writer.WriteEndElement();
                Writer.WriteEndElement();
            }
            Writer.WriteEndElement();

            Writer.WriteStartElement("Referencia");
            int Index = 0;
            if (R.CFE())
            {
                while (Index < 39 && Index < R.Movimiento.Count)
                {
                    MovimientoGeneral M = R.Movimiento[Index];
                    Writer.WriteStartElement("ReferenciaItem");
                    Writer.WriteStartElement("RefNroLinRef");
                    Writer.WriteValue(Index + 1);
                    Writer.WriteEndElement();
                    Writer.WriteStartElement("RefIndGlobal");
                    Writer.WriteValue(0);
                    Writer.WriteEndElement();
                    Writer.WriteStartElement("RefTpoDocRef");
                    Writer.WriteValue(M.CFE.Tipo);
                    Writer.WriteEndElement();
                    Writer.WriteStartElement("RefSerie");
                    Writer.WriteString(M.CFE.Serie);
                    Writer.WriteEndElement();
                    Writer.WriteStartElement("RefNroCFERef");
                    Writer.WriteValue(M.CFE.Numero);
                    Writer.WriteEndElement();
                    Writer.WriteStartElement("RefRazonRef");
                    Writer.WriteEndElement();
                    Writer.WriteStartElement("RefFechaCFEref");
                    Writer.WriteString(M.Fecha.ToString("yyyy-MM-dd"));
                    Writer.WriteEndElement();
                    Writer.WriteEndElement();
                    Index += 1;
                }
            }
            else
            {
                Writer.WriteStartElement("ReferenciaItem");
                Writer.WriteStartElement("RefNroLinRef");
                Writer.WriteValue(1);
                Writer.WriteEndElement();
                Writer.WriteStartElement("RefIndGlobal");
                Writer.WriteValue(1);
                Writer.WriteEndElement();
                Writer.WriteStartElement("RefTpoDocRef");
                Writer.WriteValue(R.NumeroCFE());
                Writer.WriteEndElement();
                Writer.WriteStartElement("RefSerie");
                Writer.WriteEndElement();
                Writer.WriteStartElement("RefNroCFERef");
                Writer.WriteEndElement();
                Writer.WriteStartElement("RefRazonRef");
                Writer.WriteString("Documento a anular es un documento anterior al inicio de la facturacion electronica");
                Writer.WriteEndElement();
                Writer.WriteStartElement("RefFechaCFEref");
                Writer.WriteString(R.Fecha.ToString("yyyy-MM-dd"));
                Writer.WriteEndElement();


                Writer.WriteEndElement();
                Index += 1;
            }
            Writer.WriteEndElement();
            Writer.WriteEndElement();
            Writer.WriteEndElement();
            Writer.WriteEndDocument();
            Writer.Close();
            File.Move(xCaja.TemporalCFE.Trim() + xR.Serie + xNumero + ".xml", xCaja.EntradaCFE.Trim() + xR.Serie + xNumero + ".xml");
        }