public void guardar(string aplicacion, string movimiento, string usuario) { try { //revisa si existe la tabla de cambios _SQL.CrearConexion(); _SQL.AbrirConexion(); string existe = "select COUNT(*) from sys.objects where type_desc = 'USER_TABLE' and name='VMX_SR_CAMBIOS'"; if (_SQL.executeScalar(existe) == "0") { //si no la crea string createtable = "CREATE TABLE VMX_SR_CAMBIOS(Fecha DateTime, Usuario varchar(50), Aplicacion varchar(50), Movimiento varchar(100)) "; _SQL.EjecutarDML(createtable); } //inserta el registro string insertar = string.Format("INSERT INTO VMX_SR_CAMBIOS(Fecha,Usuario,Aplicacion,Movimiento)VALUES(getdate(),'{0}','{1}','{2}')", usuario, aplicacion, movimiento); _SQL.EjecutarDML(insertar); _SQL.CerrarConexion(); _SQL.DestruirConexion(); } catch (Exception ex) { _ArchivoErrores.escribir("historicoCambios", "guardar", ex.InnerException + "--" + ex.Message); _SQL.DestruirConexion(); } }
public static double obtenerTipoCambio(string pBanco, string pNoControl, string pMoneda) { DataTable odtTipoCambio; Microsoft_SQL_Server oSQL = null; double dTC = 0.0; try { oSQL = new Microsoft_SQL_Server(Global.Servidor, Global.BaseDatos, Global.Usuario, Global.Password); oSQL.CrearConexion(); oSQL.AbrirConexion(); string query = MapeoQuerySql.ObtenerPorId("TipoCambio.obtenerTipoCambio2"); query = string.Format(query, pBanco, pNoControl, pMoneda); odtTipoCambio = oSQL.EjecutarConsulta(query, "TIPOCAMBIO"); dTC = Convert.ToDouble(odtTipoCambio.Rows[0]["SELL_RATE"].ToString()); return(dTC); } catch (Exception ex) { throw new Exception("Ocurrio un error al obtener el Tipo de Cambio. Detalle: " + ex.Message); } finally { oSQL.CerrarConexion(); oSQL.DestruirConexion(); } }
public DataTable obtenerDatos() { DataTable odtApp; Microsoft_SQL_Server oSQL = null; string sTipoCambio = string.Empty; try { oSQL = new Microsoft_SQL_Server(Global.Servidor, Global.BaseDatos, Global.Usuario, Global.Password); oSQL.CrearConexion(); oSQL.AbrirConexion(); string query = MapeoQuerySql.ObtenerPorId("APPLICATION_GLOBAL.obtenerDatos"); odtApp = oSQL.EjecutarConsulta(query, "APPLICATION_GLOBAL"); return(odtApp); } catch (Exception ex) { throw new Exception("Ocurrio un error al obtener información de APPLICATION_GLOBAL. Detalle: " + ex.Message); } finally { oSQL.CerrarConexion(); oSQL.DestruirConexion(); } }
/// <summary> /// Cerrar conexiones a las bases de datos. /// Ademas de cerrar las transacciones activas. /// </summary> public void cerrarConexiones() { try { _oSQL.CerrarConexion(); _oSQL.DestruirConexion(); _oSQL.DestruirTransaccion(); } catch (Exception) { } }
public string getNext_GJ_ID(string id_site, int add_Id = 0) { Microsoft_SQL_Server objSQL = new Microsoft_SQL_Server(Global.Servidor, Global.BaseDatos, Global.Usuario, Global.Password); DataTable dtTblID_Poliza = new DataTable("NEXT_NUMBER_GEN"); string sNextNumber = string.Empty; string ALPHA_PREFIX = string.Empty; string ALPHA_SUFFIX = string.Empty; string journalID = string.Empty; int sDecimalPlaces = 0; int iNextNumber = 0; objSQL.CrearConexion(); objSQL.AbrirConexion(); // Este numero consecutivo NEXT_NUMBER es generado por Visual ERP string query = string.Format(MapeoQuerySql.ObtenerPorId("AdminGJ.getNext_GJ_ID"), id_site); dtTblID_Poliza = objSQL.EjecutarConsulta(string.Format(query), "NEXT_NUMBER_GEN"); objSQL.CerrarConexion(); objSQL.DestruirConexion(); if (dtTblID_Poliza.Rows.Count > 0) { //sNextNumber = dtTblID_Poliza.Rows[0]["NEXT_NUMBER"].ToString(); iNextNumber = Convert.ToInt32(dtTblID_Poliza.Rows[0]["NEXT_NUMBER"]) + add_Id; sNextNumber = iNextNumber.ToString(); sDecimalPlaces = int.Parse(dtTblID_Poliza.Rows[0]["DECIMAL_PLACES"].ToString()); // Concatenar ceros a la izquierda if (sNextNumber.Length < sDecimalPlaces) { while (sNextNumber.Length < sDecimalPlaces) { sNextNumber = "0" + sNextNumber; } } } ALPHA_PREFIX = dtTblID_Poliza.Rows[0]["ALPHA_PREFIX"].ToString(); ALPHA_SUFFIX = dtTblID_Poliza.Rows[0]["ALPHA_SUFFIX"].ToString(); journalID = ALPHA_PREFIX + sNextNumber + ALPHA_SUFFIX; // Siguiente ID_Poliza return(journalID); }
public string getMax_GJ_ID(string PrefijoID_GJ, string site_id) { string GJ_id = ""; int decimal_places = 0; Microsoft_SQL_Server objSQL = new Microsoft_SQL_Server(Global.Servidor, Global.BaseDatos, Global.Usuario, Global.Password); // Este numero consecutivo se obtiene de GJ sin importarle el site_id string sql = MapeoQuerySql.ObtenerPorId("AdminGJ.getMax_GJ_ID"); sql = string.Format(sql, PrefijoID_GJ, PrefijoID_GJ.Length); objSQL.CrearConexion(); string s = obtenerConsulta(objSQL._oConn, sql); sql = MapeoQuerySql.ObtenerPorId("AdminGJ.decimal_places"); sql = string.Format(sql, site_id); string paso = obtenerConsulta(objSQL._oConn, sql); objSQL.CerrarConexion(); objSQL.DestruirConexion(); if (paso != "") { decimal_places = Convert.ToInt16(paso); } if (s != null) { GJ_id = (Convert.ToInt32(s) + 1).ToString(); // Concatenar ceros a la izquierda if (GJ_id.Length < decimal_places) { while (GJ_id.Length < decimal_places) { GJ_id = "0" + GJ_id; } } // Concatenar prefijo GJ_id = PrefijoID_GJ + GJ_id; } return(GJ_id); }
public void setNext_GJ_ID(string site_id) { int nextNumber = 0; DataTable dtTblID_Poliza = new DataTable("NEXT_NUMBER_GEN"); Microsoft_SQL_Server objSQL = new Microsoft_SQL_Server(Global.Servidor, Global.BaseDatos, Global.Usuario, Global.Password); objSQL.CrearConexion(); objSQL.AbrirConexion(); // Este numero consecutivo NEXT_NUMBER es generado por Visual ERP string query = string.Format(MapeoQuerySql.ObtenerPorId("AdminGJ.getNext_GJ_ID"), site_id); dtTblID_Poliza = objSQL.EjecutarConsulta(query, "NEXT_NUMBER_GEN"); nextNumber = int.Parse(dtTblID_Poliza.Rows[0]["NEXT_NUMBER"].ToString()); query = MapeoQuerySql.ObtenerPorId("AdminGJ.setNext_GJ_ID"); // Actualizar el nuevo numero de poliza objSQL.EjecutarDML(string.Format(query, nextNumber + 1, site_id)); objSQL.CerrarConexion(); objSQL.DestruirConexion(); }
public void agregarPoliza(DataTable pdtTbl_Traspasos, string psTipoTraspaso, DataTable pdtTbl_VMX_IVATRASTEMP) { Microsoft_SQL_Server objSql = new Microsoft_SQL_Server(Global.Servidor, Global.BaseDatos, Global.Usuario, Global.Password); string sInsertGJ = string.Empty; string sInsertGJ_CURR = string.Empty; StringBuilder sGJ_DIST = new StringBuilder(); StringBuilder sGJ_LINE = new StringBuilder(); StringBuilder sVMX_CONTOLPOLIZA_LINE = new StringBuilder(); AdminCurrencyTracking oCurrencyTracking = new AdminCurrencyTracking(); _dtVMX_IVATRASTEMP = pdtTbl_Traspasos; _dtDetalla_IVA = pdtTbl_VMX_IVATRASTEMP; string query = string.Empty; try { _lstCurrencyTracking = oCurrencyTracking.getCurrencyTracking(_GJ_Date); objSql.CrearConexion(); objSql.AbrirConexion(); objSql.CrearTransaccion(); // General Journal sInsertGJ = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.GeneralJournal"); sInsertGJ = string.Format(sInsertGJ, _ID, _GJ_Date, _Description, _PostingDate, _Total_DR_Amount, _Total_CR_Amount, _Sell_Rate, _Buy_Rate, _EntityID, _Create_Date, _UserID, _CurrencyID, _Post_All_Tracking, _Post_As_Native, _User_Exch_Rate, _Posting_Candidate); // Insertar encabezado de Poliza objSql.EjecutarDML(sInsertGJ); // Almacenar el tipo de moneda y el monto de la poliza. sInsertGJ_CURR = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.Currency"); sInsertGJ_CURR = string.Format(sInsertGJ_CURR, _ID, _CurrencyID, _Total_CR_Amount, _Sell_Rate, _Buy_Rate); if (_lstCurrencyTracking.Count > 0) { string currencyTracking = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.Currency"); foreach (MonedaRastreo item in _lstCurrencyTracking) { sInsertGJ_CURR += string.Format(currencyTracking, _ID, item.ID, Math.Round((_Total_CR_Amount / item.SELL_RATE), 2), item.SELL_RATE, item.BUY_RATE); } } objSql.EjecutarDML(sInsertGJ_CURR); int iDistNo = 0; int iLineNo = 1; double dperdida = 0; double dganancia = 0; string sCtaGanancia = string.Empty; string sCtaPerdida = string.Empty; foreach (DataRow drRow_Traspasos in pdtTbl_Traspasos.Rows) { string DIST_NO = "1"; string NATIVE_AMOUNT = "0"; string POSTING_STATUS = "U"; string NATIVE = "Y"; string sCta_Origen = drRow_Traspasos["CUENTA_ORIGEN"].ToString(); string sCta_Destino = drRow_Traspasos["CUENTA_DESTINO"].ToString(); string sMontoTraspaso = drRow_Traspasos["MONTO"].ToString(); double dIVA_Factura = double.Parse(drRow_Traspasos["MONTO"].ToString()); double dIVA_Deposito = double.Parse(drRow_Traspasos["MONTO_IVA_DEPOSITO"].ToString()); double dGananciaPerdida = 0; string str_sql = string.Empty; // ganancia perdida DataRow[] result = pdtTbl_VMX_IVATRASTEMP.Select("VAT_GL_ACCT_ID = '" + sCta_Origen + "' AND TRASLADO = '" + sCta_Destino + "'"); foreach (DataRow item in pdtTbl_VMX_IVATRASTEMP.Rows) { dGananciaPerdida = double.Parse(item["PERDIDA_GANANCIA"].ToString()); if (item["VAT_GL_ACCT_ID"].ToString().Equals(sCta_Origen) && item["TRASLADO"].ToString().Equals(sCta_Destino) && dGananciaPerdida < 0) { dperdida += Math.Abs(dGananciaPerdida); sCtaPerdida = item["CUENTA_PER_GANANCIA"].ToString(); } else { dganancia += dGananciaPerdida; sCtaGanancia = item["CUENTA_PER_GANANCIA"].ToString(); } } // Encacbezado de poliza para control de CTECH query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.ControlCTech"); query = string.Format(query, _ID, sCta_Destino, sMontoTraspaso, _PostingDate, _Create_Date, _Create_Date, _UserID, psTipoTraspaso); objSql.EjecutarDML(query); // En caso de que el monto sea cero no se genera // ningun movimiento contable. if (dIVA_Factura > 0) { // Detalle de los movimientos de la poliza. // Nota:En caso de tener moneda de rastreo generar un registro automaticamente para esta moneda // CXC.- Cuentas por Cobrar // Verificar el caso en que la cuenta origen sea diferente a la cuenta destino if (psTipoTraspaso == "CXC") { // DR.- Debito query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxC"); query = string.Format(query, _ID, DIST_NO, iDistNo, dIVA_Factura, "DR", sCta_Origen, NATIVE_AMOUNT, _PostingDate, POSTING_STATUS, _Create_Date, _EntityID, _CurrencyID, NATIVE); sGJ_DIST.AppendLine(query); iDistNo++; // CR.- Credito query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxC"); query = string.Format(query, _ID, DIST_NO, iDistNo.ToString(), dIVA_Deposito, "CR", sCta_Destino, NATIVE_AMOUNT, _PostingDate, POSTING_STATUS, _Create_Date, _EntityID, _CurrencyID, NATIVE); sGJ_DIST.AppendLine(query); // Moneda rastreable foreach (MonedaRastreo moneda in _lstCurrencyTracking) { iDistNo++; // DR.- Debito query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxC"); query = string.Format(query, _ID, DIST_NO, iDistNo, Math.Round((double.Parse(sMontoTraspaso) / moneda.SELL_RATE), 2), "DR", sCta_Destino, NATIVE_AMOUNT, _PostingDate, POSTING_STATUS, _Create_Date, _EntityID, moneda.ID, "N"); sGJ_DIST.AppendLine(query); iDistNo++; // CR.- Credito query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxC"); query = string.Format(query, _ID, DIST_NO, iDistNo, Math.Round((double.Parse(sMontoTraspaso) / moneda.SELL_RATE), 2), "CR", sCta_Destino, NATIVE_AMOUNT, _PostingDate, POSTING_STATUS, _Create_Date, _EntityID, moneda.ID, "N"); sGJ_DIST.AppendLine(query); } } else { // CR.- Credito query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxC"); query = string.Format(query, _ID, DIST_NO, iDistNo, sMontoTraspaso, "CR", sCta_Origen, NATIVE_AMOUNT, _PostingDate, POSTING_STATUS, _Create_Date, _EntityID, _CurrencyID, NATIVE); sGJ_DIST.AppendLine(query); iDistNo++; // DR.- Debito query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxC"); query = string.Format(query, _ID, DIST_NO, iDistNo, sMontoTraspaso, "DR", sCta_Destino, NATIVE_AMOUNT, _PostingDate, POSTING_STATUS, _Create_Date, _EntityID, _CurrencyID, NATIVE); sGJ_DIST.AppendLine(query); // Moneda rastreable foreach (MonedaRastreo moneda in _lstCurrencyTracking) { iDistNo++; // CR.- Credito query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxC"); query = string.Format(query, _ID, DIST_NO, iDistNo, Math.Round((double.Parse(sMontoTraspaso) / moneda.SELL_RATE), 2), "CR", sCta_Origen, NATIVE_AMOUNT, _PostingDate, POSTING_STATUS, _Create_Date, _EntityID, moneda.ID, "N"); sGJ_DIST.AppendLine(query); iDistNo++; // DR.- Debito query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxC"); query = string.Format(query, _ID, DIST_NO, iDistNo, Math.Round((double.Parse(sMontoTraspaso) / moneda.SELL_RATE), 2), "DR", sCta_Destino, NATIVE_AMOUNT, _PostingDate, POSTING_STATUS, _Create_Date, _EntityID, moneda.ID, "N"); sGJ_DIST.AppendLine(query); } } iDistNo++; // Detalle de movimientos de la poliza // CXP.- Cuentas por Pagar if (psTipoTraspaso == "CXP") { query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxP"); query = string.Format(query, _ID, iLineNo, sCta_Destino, sMontoTraspaso, 0); sGJ_LINE.AppendLine(query); iLineNo++; query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxP"); query = string.Format(query, _ID, iLineNo, sCta_Origen, 0, sMontoTraspaso); sGJ_LINE.AppendLine(query); } else { query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxP"); query = string.Format(query, _ID, iLineNo, sCta_Origen, sMontoTraspaso, 0); sGJ_LINE.AppendLine(query); iLineNo++; query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CxP"); query = string.Format(query, _ID, iLineNo, sCta_Destino, 0, sMontoTraspaso); sGJ_LINE.AppendLine(query); } iLineNo++; } foreach (DataRow dr_i in pdtTbl_VMX_IVATRASTEMP.Rows) { string BANK_ACCOUNT_ID = dr_i["BANK_ACCOUNT_ID"].ToString(); string CONTROL_NO = dr_i["CONTROL_NO"].ToString(); string VAT_AMOUNT = "0"; string SELL_RATE = dr_i["TC_FACTURA"].ToString(); string MONTO = dr_i["IVA_MXN_TRASLADAR_FACT"].ToString(); string CUENTA_ORIGEN = dr_i["VAT_GL_ACCT_ID"].ToString(); string DESCRIPCION = dr_i["DESCRIPCION"].ToString(); string CUENTA_DESTINO = dr_i["TRASLADO"].ToString(); string COD_CLIENTE = string.Empty; if (sCta_Destino == CUENTA_DESTINO && sCta_Origen == CUENTA_ORIGEN) { // CXC - CASH_RECEIPT if (psTipoTraspaso == "CXC") { COD_CLIENTE = dr_i["Cliente"].ToString(); query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CashReceiptCxC"); query = string.Format(query, _ID, BANK_ACCOUNT_ID, CONTROL_NO, VAT_AMOUNT, SELL_RATE, MONTO, CUENTA_ORIGEN, DESCRIPCION, CUENTA_DESTINO, CUENTA_DESTINO, psTipoTraspaso, COD_CLIENTE); sVMX_CONTOLPOLIZA_LINE.AppendLine(query); } else { // CXP - CASH_DISBURSEMENT query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.CashDisbursementCxP"); query = string.Format(query, _ID, BANK_ACCOUNT_ID, CONTROL_NO, VAT_AMOUNT, SELL_RATE, MONTO, CUENTA_ORIGEN, DESCRIPCION, CUENTA_DESTINO, CUENTA_DESTINO, psTipoTraspaso); sVMX_CONTOLPOLIZA_LINE.AppendLine(query); } } } } // Guardar todos los traspasos en GJ_DIST objSql.EjecutarDML(sGJ_DIST.ToString()); // Guarddar todo los traspasos en GJ_LINE objSql.EjecutarDML(sGJ_LINE.ToString()); // Guardar los traspasos en tabla de CTECH objSql.EjecutarDML(sVMX_CONTOLPOLIZA_LINE.ToString()); // Actualizar el nuevo numero de poliza query = MapeoQuerySql.ObtenerPorId("PolizaContable.agregarPoliza.ActualizaNumeroPoliza"); query = string.Format(query, ((int.Parse(_ID) + 1)).ToString()); objSql.EjecutarDML(query); objSql.TransCommit(); } catch (Exception ex) { objSql.TransRollback(); throw new Exception(string.Format("Ocurrió un error al generar la póliza.\nDetalle: {0}.", ex.Message)); } finally { objSql.DestruirTransaccion(); objSql.CerrarConexion(); objSql.DestruirConexion(); } }
private void bGuardar_Click(object sender, EventArgs e) { if (MessageBox.Show("¿Está seguro de aplicar los cambios?", "Configurar Perdida Ganancia Cambiaria", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Cursor.Current = Cursors.WaitCursor; try { this.PG_intercambiada = cbPerdidaGanancia.Checked; //variable de retorno a frmPrincipal string pg = this.PG_intercambiada ? "True" : "False"; //revisa configuración anterior para realizar los cambios //if (ConfigurationManager.AppSettings["PG_Intercarmbiada"].ToString() != pg) //{ //cambiar archivo config Configuration config = ConfigurationManager.OpenExeConfiguration(Application.StartupPath + @"\VKIVA.exe"); AppSettingsSection aps = config.AppSettings; aps.Settings["PG_Intercarmbiada"].Value = pg; config.Save(ConfigurationSaveMode.Full); ConfigurationManager.RefreshSection("appSettings"); //cambiar las vistas if (PG_intercambiada) { //si se activa, las vistas se modifican al intercambio vistasIVA_PGactivado act = new vistasIVA_PGactivado(); _SQL.CrearConexion(); _SQL.AbrirConexion(); _SQL.EjecutarDML(act.vmx_iva_cxc_02.ToString()); _SQL.EjecutarDML(act.vmx_iva_trasl_cxp_01.ToString()); _SQL.EjecutarDML(act.vmx_iva_trasl_cxp_02.ToString()); _SQL.EjecutarDML(act.vmx_iva_trasl_cxp_03.ToString()); _SQL.CerrarConexion(); _SQL.DestruirConexion(); } else { //si no se activa, las vistas se modifican al no intercambio vistasIVA_PGdesactivado desact = new vistasIVA_PGdesactivado(); _SQL.CrearConexion(); _SQL.AbrirConexion(); _SQL.EjecutarDML(desact.vmx_iva_cxc_02.ToString()); _SQL.EjecutarDML(desact.vmx_iva_trasl_cxp_01.ToString()); _SQL.EjecutarDML(desact.vmx_iva_trasl_cxp_02.ToString()); _SQL.EjecutarDML(desact.vmx_iva_trasl_cxp_03.ToString()); _SQL.CerrarConexion(); _SQL.DestruirConexion(); } //almacenar registro de la actualización historicoCambios hc = new historicoCambios(_SQL); hc.guardar("TraspasoDeIva", "Intercambio Perdida Ganancia = " + pg, Usuario.userName); MessageBox.Show("Se ha actualizado la configuración de perdida/Ganancia cambiaria.\nDebe cerrar la ventana de traspaso de Iva para que los cambios surtan efecto.", "Configurar Perdida Ganancia Cambiaria", MessageBoxButtons.OK, MessageBoxIcon.Information); //} this.Close(); } catch (Exception ex) { MessageBox.Show("Ocurrió un error al actualizar la configuración de perdida/Ganancia cambiaria.\n" + ex.InnerException, "Configurar Perdida Ganancia Cambiaria", MessageBoxButtons.OK, MessageBoxIcon.Stop); _ArchivoErrores.escribir("frmPerdidaGanancia", "bGuardar_Click(object sender, EventArgs e)", ex.InnerException + "--" + ex.Message); this.Close(); } }//if }