660 lines
31 KiB
C#
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();
|
|
}
|
|
} |