Пример #1
0
        public static RNOrdenRemision GenerarRemision(string cvedoc, RNOrdenRecepcion recpecion, int folio, int numEmpresa, List <RNPartidasRecepcion> pRecpcion, List <RNRecepcion.Lotes> lotes, out List <RNPartidasRemision> partidas)
        {
            partidas = new List <RNPartidasRemision>();
            RNOrdenRemision remision = new RNOrdenRemision();
            bool            bpartidas;

            if (InsertarRemision(cvedoc, recpecion, folio, numEmpresa, pRecpcion, lotes, out bpartidas) && bpartidas)
            {
                remision = ObtenerRemision(cvedoc, numEmpresa);
                partidas = RNPartidasRemision.ObtenerPartidasRemision(cvedoc, numEmpresa);
            }
            return(remision);
        }
Пример #2
0
        public static bool InsertarRemision(string cvedoc, RNOrdenRecepcion recpecion, int folio, int numEmpresa, List <RNPartidasRecepcion> pRecpcion, List <RNRecepcion.Lotes> lotes, out bool bpartidas)
        {
            bpartidas = false;
            try
            {
                RNConexion conexion = new RNConexion(numEmpresa);
                //obtenerelclienterecepecion
                RNCliente cliente  = RNLbInventory.ObtenerClienteRemicion(numEmpresa);
                int       cve_bita = RNLbInventory.ObtenerBita(cliente.CLAVE, cvedoc, "    3", recpecion.IMPORTE, numEmpresa);
                conexion.baseDatos.AbrirConexion();
                conexion.baseDatos.LimpiarParametros();
                conexion.baseDatos.AgregarParametro("@TIP_DOC", "R");
                conexion.baseDatos.AgregarParametro("@CVE_DOC", cvedoc);
                conexion.baseDatos.AgregarParametro("@CVE_CLPV", cliente.CLAVE);
                conexion.baseDatos.AgregarParametro("@STATUS", "E");
                conexion.baseDatos.AgregarParametro("@DAT_MOSTR", 0);
                conexion.baseDatos.AgregarParametro("@CVE_VEND", "");
                conexion.baseDatos.AgregarParametro("@CVE_PEDI", "");
                conexion.baseDatos.AgregarParametro("@FECHA_DOC", DateTime.Today);
                conexion.baseDatos.AgregarParametro("@FECHA_ENT", DateTime.Today);
                conexion.baseDatos.AgregarParametro("@FECHA_VEN", DateTime.Today);
                conexion.baseDatos.AgregarParametro("@CAN_TOT", recpecion.CAN_TOT);
                conexion.baseDatos.AgregarParametro("@IMP_TOT1", 0.00M);
                conexion.baseDatos.AgregarParametro("@IMP_TOT2", 0.00M);
                conexion.baseDatos.AgregarParametro("@IMP_TOT3", 0.00M);
                conexion.baseDatos.AgregarParametro("@IMP_TOT4", 0.00M);
                conexion.baseDatos.AgregarParametro("@DES_TOT", 0.00M);
                conexion.baseDatos.AgregarParametro("@DES_FIN", 0.00M);
                conexion.baseDatos.AgregarParametro("@COM_TOT", 0);
                conexion.baseDatos.AgregarParametro("@CONDICION", "");
                conexion.baseDatos.AgregarParametro("@CVE_OBS", 0);
                conexion.baseDatos.AgregarParametro("@NUM_ALMA", recpecion.NUM_ALMA);
                conexion.baseDatos.AgregarParametro("@ACT_CXC", "S");
                conexion.baseDatos.AgregarParametro("@ACT_COI", "N");
                conexion.baseDatos.AgregarParametro("@ENLAZADO", "O");
                conexion.baseDatos.AgregarParametro("@TIP_DOC_E", "O");
                conexion.baseDatos.AgregarParametro("@NUM_MONED", recpecion.NUM_MONED);
                conexion.baseDatos.AgregarParametro("@TIPCAMB", recpecion.TIPCAMB);
                conexion.baseDatos.AgregarParametro("@NUM_PAGOS", recpecion.NUM_PAGOS);
                conexion.baseDatos.AgregarParametro("@FECHAELAB", DateTime.Today);
                conexion.baseDatos.AgregarParametro("@PRIMERPAGO", 0.00);
                conexion.baseDatos.AgregarParametro("@RFC", cliente.RFC);
                conexion.baseDatos.AgregarParametro("@CTLPOL", 0);
                conexion.baseDatos.AgregarParametro("@ESCFD", "N");
                conexion.baseDatos.AgregarParametro("@AUTORIZA", 0);
                conexion.baseDatos.AgregarParametro("@SERIE", "");
                conexion.baseDatos.AgregarParametro("@FOLIO", folio);
                conexion.baseDatos.AgregarParametro("@AUTOANIO", "");
                conexion.baseDatos.AgregarParametro("@DAT_ENVIO", 0);
                conexion.baseDatos.AgregarParametro("@CONTADO", "N");
                conexion.baseDatos.AgregarParametro("@CVE_BITA", cve_bita);
                conexion.baseDatos.AgregarParametro("@BLOQ", "N");
                conexion.baseDatos.AgregarParametro("@FORMAENVIO", "");
                conexion.baseDatos.AgregarParametro("@DES_FIN_PORC", 0.000);
                conexion.baseDatos.AgregarParametro("@DES_TOT_PORC", 0.000);
                conexion.baseDatos.AgregarParametro("@IMPORTE", 0.00M);
                conexion.baseDatos.AgregarParametro("@COM_TOT_PORC", 0.00);
                conexion.baseDatos.AgregarParametro("@METODODEPAGO", null);
                conexion.baseDatos.AgregarParametro("@NUMCTAPAGO", null);
                conexion.baseDatos.AgregarParametro("@TIP_DOC_ANT", "");
                conexion.baseDatos.AgregarParametro("@DOC_ANT", "");
                conexion.baseDatos.AgregarParametro("@TIP_DOC_SIG", null);
                conexion.baseDatos.AgregarParametro("@DOC_SIG", null);
                conexion.baseDatos.AgregarParametro("@UUID", null);//obtener el uuid
                conexion.baseDatos.AgregarParametro("@VERSION_SINC", DateTime.Today);
                conexion.baseDatos.AgregarParametro("@FORMADEPAGOSAT", null);
                conexion.baseDatos.AgregarParametro("@USO_CFDI", null);
                var result = conexion.baseDatos.EjecutarSinConsulta(" INSERT INTO FACTR{0} (TIP_DOC,CVE_DOC,CVE_CLPV,STATUS,DAT_MOSTR,CVE_VEND,CVE_PEDI,FECHA_DOC,FECHA_ENT,FECHA_VEN,CAN_TOT,IMP_TOT1,IMP_TOT2,IMP_TOT3,IMP_TOT4,DES_TOT,DES_FIN,COM_TOT,CONDICION,CVE_OBS,NUM_ALMA,ACT_CXC,ACT_COI,ENLAZADO,TIP_DOC_E,NUM_MONED,TIPCAMB,NUM_PAGOS,FECHAELAB,PRIMERPAGO,RFC,CTLPOL,ESCFD,AUTORIZA,SERIE,FOLIO,AUTOANIO,DAT_ENVIO,CONTADO,CVE_BITA,BLOQ,FORMAENVIO,DES_FIN_PORC,DES_TOT_PORC,IMPORTE,COM_TOT_PORC,METODODEPAGO,NUMCTAPAGO,TIP_DOC_ANT,DOC_ANT,TIP_DOC_SIG,DOC_SIG,UUID,VERSION_SINC,FORMADEPAGOSAT,USO_CFDI) " +
                                                                    "VALUES (@TIP_DOC,@CVE_DOC,@CVE_CLPV,@STATUS,@DAT_MOSTR,@CVE_VEND,@CVE_PEDI,@FECHA_DOC,@FECHA_ENT,@FECHA_VEN,@CAN_TOT,@IMP_TOT1,@IMP_TOT2,@IMP_TOT3,@IMP_TOT4,@DES_TOT,@DES_FIN,@COM_TOT,@CONDICION,@CVE_OBS,@NUM_ALMA,@ACT_CXC,@ACT_COI,@ENLAZADO,@TIP_DOC_E,@NUM_MONED,@TIPCAMB,@NUM_PAGOS,@FECHAELAB,@PRIMERPAGO,@RFC,@CTLPOL,@ESCFD,@AUTORIZA,@SERIE,@FOLIO,@AUTOANIO,@DAT_ENVIO,@CONTADO,@CVE_BITA,@BLOQ,@FORMAENVIO,@DES_FIN_PORC,@DES_TOT_PORC,@IMPORTE,@COM_TOT_PORC,@METODODEPAGO,@NUMCTAPAGO,@TIP_DOC_ANT,@DOC_ANT,@TIP_DOC_SIG,@DOC_SIG,@UUID,@VERSION_SINC,@FORMADEPAGOSAT,@USO_CFDI)", CommandType.Text) > 0;
                // agregar los campos libres
                conexion.baseDatos.LimpiarParametros();
                conexion.baseDatos.AgregarParametro("@CVE_DOC", cvedoc);
                var resultcl = conexion.baseDatos.EjecutarSinConsulta(" insert into FACTR_CLIB{0}(CLAVE_DOC) values(@CVE_DOC); ", CommandType.Text) > 0;
                //agregar las partidas
                decimal cant_total, imp1, imp2, imp3, imp4, total, desc, descind, desfin;
                bpartidas = RNPartidasRemision.GenerarPartidas(ObtenerRemision(cvedoc, numEmpresa), cvedoc, folio, numEmpresa, pRecpcion, lotes, out cant_total, out imp1, out imp2, out imp3, out imp4, out total, out desc, out descind, out desfin);
                conexion.baseDatos.LimpiarParametros();
                conexion.baseDatos.AgregarParametro("@IMP_TOT1", imp1);
                conexion.baseDatos.AgregarParametro("@IMP_TOT2", imp2);
                conexion.baseDatos.AgregarParametro("@IMP_TOT3", imp3);
                conexion.baseDatos.AgregarParametro("@IMP_TOT4", imp4);
                conexion.baseDatos.AgregarParametro("@IMPORTE", total);
                conexion.baseDatos.AgregarParametro("@CVE_DOC", cvedoc);
                conexion.baseDatos.AgregarParametro("@CAN_TOT", cant_total);
                result = conexion.baseDatos.EjecutarSinConsulta("update FACTR{0} set  IMP_TOT1=@IMP_TOT1 ,IMP_TOT2=@IMP_TOT2,IMP_TOT3=@IMP_TOT3,IMP_TOT4=@IMP_TOT4,IMPORTE=@IMPORTE, CAN_TOT=@CAN_TOT " +
                                                                "where CVE_DOC = @CVE_DOC", CommandType.Text) > 0;


                return(result);
            }
            catch (Exception e)
            {
                return(false);
            }
        }