Files
SIG/Bancos/Devoluciones.aspx.cs
rrene 1c14bceea9 -- cambio de GlobalDTSubProyectos
- cambio en GlobalDTUsuarios
2024-08-01 05:46:28 -07:00

660 lines
31 KiB
C#

using Extensiones;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using System.Web;
using System.Web.UI.WebControls;
using static Extensiones.ModExtensiones;
public partial class Bancos_Devoluciones : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaTipoTransaccion("");
CargaCuentas();
CargaSubProyectos();
CargaCliente();
CargaProveedor();
CargaPersonal();
CargaConcepto();
TxtImporte.Attributes.Add("disabled", "disabled");
TxtComisiones.Attributes.Add("disabled", "disabled");
TxtTotal.Attributes.Add("disabled", "disabled");
TipoDevolucion.SelectedValue = "1";
}
}
#region"INFORMACION GENERAL"
protected void OpcionDevolucion_SelectedIndexChanged(object sender, EventArgs e)
{
string tipo = "";
switch (OpcionDevolucion.SelectedValue)
{
case "1":
tipo = "Egs";
OpcionDev.Text = "Cliente:";
DdlCliente.Visible = true;
DdlProveedores.Visible = false;
DdlPersonal.Visible = false;
LimpiarGV();
LimpiarDDL();
GvDevoluciones.Columns[8].Visible = true;
divTipoDevolucion.Visible = false;
break;
case "2":
tipo = "Ing";
OpcionDev.Text = "Proveedor:";
DdlProveedores.Visible = true;
DdlCliente.Visible = false;
DdlPersonal.Visible = false;
LimpiarGV();
LimpiarDDL();
GvDevoluciones.Columns[8].Visible = false;
divTipoDevolucion.Visible = false;
break;
case "3":
tipo = "Ing";
OpcionDev.Text = "Viaticos:";
DdlPersonal.Visible = true;
DdlProveedores.Visible = false;
DdlCliente.Visible = false;
LimpiarGV();
LimpiarDDL();
GvDevoluciones.Columns[8].Visible = false;
divTipoDevolucion.Visible = true;
break;
case "4":
tipo = "Ing";
OpcionDev.Text = "Personal:";
DdlPersonal.Visible = true;
DdlProveedores.Visible = false;
DdlCliente.Visible = false;
LimpiarGV();
LimpiarDDL();
GvDevoluciones.Columns[8].Visible = false;
divTipoDevolucion.Visible = false;
break;
}
ComprobanteMuestraOculta();
CargaTipoTransaccion(tipo);
}
protected void TipoDevolucion_SelectedIndexChanged(object sender, EventArgs e)
{
switch (TipoDevolucion.SelectedValue)
{
case "1":
DivBancos.Visible = true;
DivViaticos.Visible = false;
break;
case "2":
DivBancos.Visible = false;
DivViaticos.Visible = true;
break;
}
ComprobanteMuestraOculta();
}
private void ComprobanteMuestraOculta()
{
if (OpcionDevolucion.SelectedValue.ToEntero() == 3 && TipoDevolucion.SelectedValue.ToString().ToEntero() == 2)
{
Anexo.Text = "";
DvComprobante.Visible = false;
}
else
{
DvComprobante.Visible = true;
}
}
protected void CargaTipoTransaccion(string tipo)
{
DdlTipoTransanccion.Items.Clear();
DdlTipoTransanccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros($"Tipo='{tipo}'");
DdlTipoTransanccion.DataBind();
DdlTipoTransanccion.Items.Insert(0, new ListItem("Seleccione Tipo Movimiento", "-1"));
}
protected void CargaCuentas()
{
DdlCuenta.DataSource = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros("CveTipoCuenta <> 1");
DdlCuenta.DataBind();
DdlCuenta.Items.Insert(0, new ListItem("Seleccione Cuenta", "-1"));
}
protected void CargaSubProyectos()
{
DdlSubProyecto.DataSource = get_GlobalDTSubProyectos( UsuarioActual.CveEmpresa);
DdlSubProyecto.DataBind();
DdlSubProyecto.Items.Insert(0, new ListItem("Seleccione SubProyecto", "-1"));
}
protected void CargaCliente()
{
DdlCliente.setEsWebService(true);
DdlCliente.Attributes.Add("data-metodo", "getcliente");
}
protected void CargaProveedor()
{
DdlProveedores.setEsWebService(true);
DdlProveedores.Attributes.Add("data-metodo", "getproveedores");
}
protected void CargaPersonal()
{
DdlPersonal.DataSource = get_GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("", "NombreCompleto");
DdlPersonal.DataBind();
DdlPersonal.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
protected void DdlTipoTransanccion_SelectedIndexChanged(object sender, EventArgs e)
{
if (DdlTipoTransanccion.SelectedValue.ToEntero() > 0)
{
DdlCuenta.Enabled = true;
DdlCuenta_SelectedIndexChanged(DdlCuenta, e);
}
else
{
DdlCuenta.SelectedValue = "-1";
DdlCuenta.Enabled = false;
DdlCuenta_SelectedIndexChanged(DdlCuenta, e);
}
UpDatos.Update();
}
protected void DdlCuenta_SelectedIndexChanged(object sender, EventArgs e)
{
long Folio;
ClsBancos bancos = new ClsBancos();
Folio = bancos.GetNextFolio(DdlCuenta.SelectedValue.ToEntero(), DdlTipoTransanccion.SelectedValue.ToEntero());
bancos.Dispose();
TxtFolio.Text = Folio.ToString();
}
protected void DdlOtrosPagos_SelectedIndexChanged(object sender, EventArgs e)
{
bool EsOtrosEgresos = (DdlOtrosPagos.SelectedValue.Equals("2"));
DivComisiones.Visible = EsOtrosEgresos;
DivTotal.Visible = EsOtrosEgresos;
TxtComisiones.Text = "0.00";
TxtTotal.Text = TxtImporte.Text;
GvDevoluciones.Columns[9].Visible = EsOtrosEgresos;
UpDevoluciones.Update();
}
#endregion
#region"CLIENTE"
protected void DdlCliente_selectedindexchange(object sender, EventArgs e)
{
CargaDevolucionesCliente(DdlCliente.SelectedValue.ToEntero());
}
protected void CargaDevolucionesCliente(int CveCliente)
{
ClsMovimientos ObjMov = new ClsMovimientos();
ClsClientes clsClientes = new ClsClientes();
if (ObjMov.GetMovimientosIE(1, CveCliente, DdlCuenta.SelectedValue.ToEntero(), MinFecha, NowADS(), 1, -1, UsuarioActual.CveEmpresa))
{
GvDevoluciones.DataSource = ObjMov.DtResultados.FiltraParametros("Saldo > 0 ");
GvDevoluciones.DataBind();
}
ObjMov.Dispose();
clsClientes.Dispose();
UpDevoluciones.Update();
}
#endregion
#region"PROVEEDOR"
protected void DdlProveedores_selectedindexchange(object sender, EventArgs e)
{
CargaDevolucionesProveedor(DdlProveedores.SelectedValue.ToEntero());
}
protected void CargaDevolucionesProveedor(int CveProveedor)
{
ClsMovimientos ObjMov = new ClsMovimientos();
if (ObjMov.GetEgresosSinComprobar("-1", "-1", CveProveedor, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa))
{
string[] columnas = new string[10] { "CveIE", "IEDevolucion", "Saldo", "Importe", "Pagado", "Folio", "FechaDocumento", "Abreviatura", "CveMoneda","TipoCambio" };
GvDevoluciones.DataSource = ObjMov.DtResultados.FiltraParametros("CveIE > 0 AND Saldo > 0 AND CveConceptoContable in (10,48,338)", "", columnas);
GvDevoluciones.DataBind();
}
ObjMov.Dispose();
UpDevoluciones.Update();
}
#endregion
#region"PERSONAL"
protected void DdlPersonal_SelectedIndexChanged(object sender, EventArgs e)
{
CargaDevolucionesPersonal(DdlPersonal.SelectedValue.ToEntero());
}
protected void CargaDevolucionesPersonal(int CvePersonal)
{
ClsMovimientos ObjMov = new ClsMovimientos();
ClsRH clsRH = new ClsRH();
switch (OpcionDevolucion.SelectedValue)
{
case "3":
if (ObjMov.GetEgresosSinComprobar("-1", "-1", -1, CvePersonal, -1, -1, -1, 1, -1, UsuarioActual.CveEmpresa))
{
string[] columnas = new string[10] { "CveIE", "IEDevolucion", "Saldo", "Importe", "Pagado", "Folio", "FechaDocumento", "Abreviatura", "CveMoneda", "TipoCambio" };
GvDevoluciones.DataSource = ObjMov.DtResultados.FiltraParametros("CveIE > 0 AND Saldo > 0 ", "", columnas);
GvDevoluciones.DataBind();
}
break;
case "4":
if (ObjMov.GetPrestamosPersonalXSaldar(CvePersonal, -1, UsuarioActual.CveEmpresa))
{
string[] columnas = new string[10] { "CveIE", "IEDevolucion", "Saldo", "Importe", "Pagado", "Folio", "FechaDocumento", "Abreviatura", "CveMoneda", "TipoCambio" };
GvDevoluciones.DataSource = ObjMov.DtResultados.FiltraParametros("CveIE > 0 AND Saldo > 0 ", "", columnas);
GvDevoluciones.DataBind();
}
break;
}
ObjMov.Dispose();
clsRH.Dispose();
UpDevoluciones.Update();
}
#endregion
#region"GV ROW"
protected void GvDevoluciones_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1}); FnCambia({2},this,{1},0,'{3}');", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"), e.Row.FCCheckBox("Chk").ClientID, "El Importe no debe de exceder el saldo"));
e.Row.FCTextBox("TxtAbonar").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},1,'{2}');", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), "El Importe no debe de exceder el saldo"));
e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2,'{2}');", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), "El Importe no debe de exceder el saldo"));
}
}
protected void LimpiarGV()
{
GvDevoluciones.DataSource = null;
GvDevoluciones.DataBind();
TxtObservaciones.Text = "";
TxtImporte.Text = "";
UpDevoluciones.Update();
}
protected void LimpiarDDL()
{
DdlCliente.SelectedValue = "";
DdlProveedores.SelectedValue = "";
DdlPersonal.SelectedValue = "-1";
}
#endregion
#region"GUARDAR"
protected void BtnGuardar_Click(object sender, EventArgs e)
{
//inician validaciones
if (OpcionDevolucion.SelectedValue.ToEntero() != 3 && TipoDevolucion.SelectedValue.ToString().ToEntero() != 2 && TxtImporte.Text == "")
{
Alert("Debe ingresar un importe", TipoMensaje.MsgAdvertencia);
return;
}
if (OpcionDevolucion.SelectedValue == "3" && TipoDevolucion.SelectedValue == "2")
{
if (TxtValor.Text == "")
{
Alert("Debe ingresar un importe", TipoMensaje.MsgAdvertencia);
return;
}
else
{
decimal valor = TxtValor.Text.ToDecimal() * TxtVecesAplicar.Text.ToDecimal();
decimal total = hdnTotal.Text.ToDecimal();
if (valor != total)
{
Alert("La cantidad total debe ser igual a lo seleccionado", TipoMensaje.MsgAdvertencia);
return;
}
else
{
if (valor == 0)
{
Alert("No se han seleccionado opciones", TipoMensaje.MsgAdvertencia);
return;
}
}
}
}
//terminan validaciones
List<Archivo> filesgral = Anexo.getfiles().Archivos;
string filemove = "";
string Comprobante = "";
foreach (Archivo fileItem in filesgral)
{
Comprobante = System.IO.Path.GetExtension(String.Format("{0}Temp\\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "");
filemove = fileItem.filename;
}
ClsBancos ObjIE = new ClsBancos();
ClsContabilidad ObjMov = new ClsContabilidad(ObjIE.IniciaTransacSQL());
ClsCompras ObjComp = new ClsCompras(ObjIE.IniciaTransacSQL());
ClsNominas ObjNom = new ClsNominas(ObjIE.IniciaTransacSQL());
string MsgError = "";
string PagueseA = "";
int CveIE = -1;
int CveConceptoContableBanco = 30;
int CveConceptoContableDevolucion = 0;
int CvePlantillaPoliza = 0;
int CveTipoPoliza = 1;// tipo ingreso
int CvePrePoliza = 0;
int CveMoneda = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero()}").ToEntero();
int FolioFijo = 0;
int cveProveedor = (DdlProveedores.SelectedValue.ToEntero() > 0) ? DdlProveedores.SelectedValue.ToEntero() : -1;
int cvePersonal = (DdlPersonal.SelectedValue.ToEntero() > 0) ? DdlPersonal.SelectedValue.ToEntero() : -1;
int cveCliente = (DdlCliente.SelectedValue.ToEntero() > 0) ? DdlCliente.SelectedValue.ToEntero() : -1;
bool TipoMovtoDevolucion = false;
decimal TC = 1;
StringBuilder Msg = new StringBuilder();
switch (OpcionDevolucion.SelectedValue)
{
case "1":
PagueseA = DdlCliente.SelectedText.ToString();
CveConceptoContableDevolucion = 92;
CvePlantillaPoliza = 7;
TipoMovtoDevolucion = false;
CveTipoPoliza = 2; //tipo egreso
break;
case "2":
PagueseA = DdlProveedores.SelectedText.ToString();
CveConceptoContableDevolucion = CveMoneda==2?339:21;
CvePlantillaPoliza = 7;
TipoMovtoDevolucion = true;
break;
case "3":
PagueseA = DdlPersonal.SelectedItem.ToString();
CvePlantillaPoliza = 100;
TipoMovtoDevolucion = true;
CveConceptoContableDevolucion = 250;
break;
case "4":
PagueseA = DdlPersonal.SelectedItem.ToString();
CveConceptoContableDevolucion = 273;
CvePlantillaPoliza = 100;
TipoMovtoDevolucion = true;
break;
}
if (CveMoneda != 1)
{
TC = get_GlobalTipoCambio(TxtFechaDocumento.Text.ToDate()).ToDecimal();
}
// DATOS PREPOLIZA
if (DdlTipoTransanccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE Devoluciones", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), 1, TxtFechaDocumento.Text.ToDate(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransanccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: CveTipoPoliza);
if (CvePrePoliza > 0)
{
string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
string Ref = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
if (OpcionDevolucion.SelectedValue.ToEntero() == 3 && TipoDevolucion.SelectedValue.ToString().ToEntero() == 2)
{
int cveConcepto = DdlConcepto.SelectedValue.ToEntero();
string descripcion = TxtDescripcion.Text;
int tipoDescuento = 1;
double valor = TxtValor.Text.ToDouble();
int vecesAplicar = TxtVecesAplicar.Text.ToEntero();
decimal montoLimite = 0;
DateTime fechaInicioAplicacion = NowADS();
bool estatus = true;
int CveCuenta = -1;
int CveMovtoPermanente = ObjNom.AddMovtoPermanente(cveConcepto, cvePersonal, descripcion, tipoDescuento, valor, vecesAplicar, montoLimite, fechaInicioAplicacion, estatus, CveCuenta);
if (CveMovtoPermanente < 0)
{
MsgError = "No se pudo insertar movimiento permanente";
}
foreach (GridViewRow gvr in GvDevoluciones.Rows)
{
if (gvr.FCCheckBox("Chk").Checked)
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), gvr.FCTextBox("TxtAbonar").Text.ToDecimal(),CveConceptoContableDevolucion, Ref, Conc, CveProveedor: cveProveedor, CvePersonal: cvePersonal, CveIE: gvr.DataKey("CveIE").ToEntero(), CveIEDevolucion: CveIE, CveNominaMovtoPermanente: CveMovtoPermanente))
{
MsgError = "No se pudo insertar concepto de Devolución";
break;
}
else
{
//Decimal tTotal = (TxtValor.Text.ToDecimal() * TxtVecesAplicar.Text.ToDecimal()).RoundSQL();
Decimal tTotal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal();
//GUARDA PREPOLIZAS DETALLE Via Nómina
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, !TipoMovtoDevolucion, tTotal, tTotal,174, Ref, Conc, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: cveCliente, CveProveedor: cveProveedor, CvePersonal: cvePersonal, CveIE: gvr.DataKey("CveIE").ToEntero(), CveNominaMovtoPermanente: CveMovtoPermanente))
{
MsgError = "No se pudo insertar concepto de Devolución";
}
}
}
}
}
else
{
decimal ImporteMNDevuelto = 0;
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero(), DdlTipoTransanccion.SelectedValue.ToEntero(), TxtFechaDocumento.Text.Trim().ToDate(), TxtFolio.Text.Trim(), PagueseA, TxtImporte.Text.Trim().ToDouble(), CveMoneda,
(double)TC, TxtObservaciones.Text.Trim(), "", false, false, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
if (CveIE > 0)
{
//GUARDA PREPOLIZAS DETALLE DEVOLUCION
foreach (GridViewRow gvr in GvDevoluciones.Rows)
{
if (gvr.FCCheckBox("Chk").Checked)
{
if (OpcionDevolucion.SelectedValue.ToEntero() == 1) //cliente
{
if (gvr.FCTextBox("TxtIVA").Text.ToDecimal() > 0)
{
//INGxC
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveConceptoContableDevolucion, Ref, Conc, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), CveIEDevolucion: CveIE))
{
MsgError = "No se pudo insertar concepto de devolución";
}
//IVA
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, -gvr.FCTextBox("TxtIVA").Text.ToDecimal(), -gvr.FCTextBox("TxtIVA").Text.ToDecimal(), 13, Ref, Conc, CveIE: CveIE, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de IVA";
}
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, -gvr.FCTextBox("TxtIVA").Text.ToDecimal(), -gvr.FCTextBox("TxtIVA").Text.ToDecimal(), 61, Ref, Conc, CveIE: CveIE, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de IVA";
}
}
else
{
//INGxC
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveConceptoContableDevolucion, Ref, Conc, CveIE: CveIE, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), CveIEDevolucion: gvr.DataKey("CveIE").ToEntero()))
{
MsgError = "No se pudo insertar concepto de bancos";
}
// OTROS INGRESOS
if (gvr.FCTextBox("TxtComision").Text.ToDecimal() != 0)
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoDevolucion, gvr.FCTextBox("TxtComision").Text.ToDecimal(), gvr.FCTextBox("TxtComision").Text.ToDecimal(), 78, Ref, Conc, CveIE: CveIE, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: DdlCliente.SelectedValue.ToEntero(), CveIEDevolucion: gvr.DataKey("CveIE").ToEntero()))
{
MsgError = "No se pudo insertar concepto de ot. ingresos/gastos";
break;
}
}
}
}
else
{
ImporteMNDevuelto += gvr.FCTextBox("TxtAbonar").Text.ToDecimal();
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveConceptoContableDevolucion, Ref, Conc, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveProveedor: cveProveedor, CvePersonal: cvePersonal, CveIEDevolucion: CveIE))
{
MsgError = "No se pudo insertar concepto de Devolución";
break;
}
if (MsgError == "" && gvr.DataKey("CveMoneda") == "2")
{
decimal ImporteMN = (gvr.FCTextBox("TxtAbonar").Text.ToDecimal() * gvr.DataKey("TipoCambio").ToDecimal() - gvr.FCTextBox("TxtAbonar").Text.ToDecimal()).RoundSQL();
ImporteMNDevuelto += ImporteMN;
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoDevolucion, gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), ImporteMN, 340, Ref, Conc, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveProveedor: cveProveedor, CvePersonal: cvePersonal, ImporteME: gvr.FCTextBox("TxtAbonar").Text.ToDecimal(), CveIEDevolucion: CveIE, TipoCambio: gvr.DataKey("TipoCambio").ToDecimal()))
{
MsgError = "No se pudo insertar concepto de bancos";
}
}
// OTROS INGRESOS
if (gvr.FCTextBox("TxtComision").Text.ToDecimal() != 0)
{
int tcvecon = 255;
if (gvr.FCTextBox("TxtComision").Text.ToDecimal() > 0)
tcvecon = 78;
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoDevolucion, gvr.FCTextBox("TxtComision").Text.ToDecimal(), gvr.FCTextBox("TxtComision").Text.ToDecimal(), tcvecon, Ref, Conc, CveIE: gvr.DataKey("CveIE").ToEntero(), CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveProveedor: cveProveedor, CvePersonal: cvePersonal, CveIEDevolucion: CveIE))
{
MsgError = "No se pudo insertar concepto de Devolución";
break;
}
}
}
}
}
//GUARDA PREPOLIZAS DETALLE Bancos
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, !TipoMovtoDevolucion, TxtImporte.Text.ToDecimal(), TxtImporte.Text.ToDecimal(), CveConceptoContableBanco, Ref, Conc, CveIE: CveIE, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: cveCliente, CveProveedor: cveProveedor, CvePersonal: cvePersonal))
{
MsgError = "No se pudo insertar concepto de bancos";
}
if (CveMoneda==2 )
{
decimal ImporteMN = (TxtImporte.Text.ToDecimal() * TC - TxtImporte.Text.ToDecimal()).RoundSQL();
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, !TipoMovtoDevolucion, TxtImporte.Text.ToDecimal(), ImporteMN, 204, Ref, Conc, CveIE: CveIE, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero(), CveCliente: cveCliente, CveProveedor: cveProveedor, CvePersonal: cvePersonal, TipoCambio:TC, ImporteME: TxtImporte.Text.ToDecimal()))
{
MsgError = "No se pudo insertar concepto de bancos";
}
}
}
else
{
MsgError = "No se insertó movimiento bancario";
}
}
}
else
{
MsgError = "No se pudo insertar la póliza";
}
//VALIDA QUE CUADRE LA PREPOLIZA
Usuario UA = UsuarioActual;
if (ObjMov.ValidacionesPrePoliza(CvePrePoliza, ref UA))
{
if (ObjMov.ValorPolizaDescuadre > 0)
{
MsgError = ObjMov.MensajePolizaDescuadre;
ModExtensiones.GuardaLogAD($"Bancos/IE DEVOLUCIONES | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas");
}
}
if (MsgError.Equals(""))
{
if (Msg.ToString().Equals(""))
{
Msg.Append("El Documento se guardo correctamente");
}
System.IO.FileInfo archivo = null;
if (DdlTipoTransanccion.SelectedValue.ToEntero().Contiene(2, 8, 9))
{
archivo = new System.IO.FileInfo(String.Format("{0}Formatos/Transferencia.rdlc", UsuarioActual.Empresa.Ruta));
}
else if (DdlTipoTransanccion.SelectedValue.ToEntero().Contiene(1))
{
archivo = new System.IO.FileInfo(String.Format("{0}Formatos/CHQ-{1}.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero()));
if (!archivo.Exists)
{
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas));
}
}
else if (DdlTipoTransanccion.SelectedValue.ToEntero().Contiene(6) && UsuarioActual.CveEmpresa == 72)
{
archivo = new System.IO.FileInfo(String.Format("{0}Formatos/ComprobanteEgreso.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero()));
}
if (CvePrePoliza > 0)
{
Msg.AppendFormat(@"<br/><br/><a class=""Texto"" target='_blank' href=""/Contabilidad/RegPrePolizaS.aspx?CvePrePoliza={0}"">Ver Póliza</a>", CvePrePoliza);
}
ObjIE.Commit();
if (filemove != "")
{
filemove.FilesMove(CveIE.ToString(), String.Format("{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase: false);
}
if (!Msg.ToString().Equals(""))
{
string AccionJS = String.Format(@"document.location.href=""{0}"";", HttpContext.Current.Request.Url.PathAndQuery);
Alert(Msg.ToString(), TipoMensaje.MsgInformacion, String.Format(@"document.location.href=""{0}"";", HttpContext.Current.Request.Url.PathAndQuery));
}
}
else
{
ObjIE.RollBack();
Msg.Clear();
Alert(Msg.ToString(), TipoMensaje.MsgError);
}
ObjIE.Dispose();
ObjMov.Dispose();
ObjNom.Dispose();
if (ObjComp != null)
ObjComp.Dispose();
}
#endregion
protected void CargaConcepto()
{
ClsNominas onom = new ClsNominas();
if (onom.GetConceptos(UsuarioActual.CveEmpresa))
{
DataTable dt = onom.DtResultados.FiltraParametros(" FormulaTotal = 'FNC.[MovimientosPermanentes]'");
DdlConcepto.Items.Clear();
DdlConcepto.DataSource = dt.FiltraParametros("Tipo ='D'");
DataRow drow = dt.NewRow();
drow["CveConcepto"] = "-1";
drow["Concepto"] = "Seleccione";
dt.Rows.InsertAt(drow, 0);
DdlConcepto.DataSource = dt;
DdlConcepto.SelectedValueExist("-1");
//DdlConcepto.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
onom.Dispose();
DdlConcepto.DataBind();
}
}