This commit is contained in:
Antonio Gonzalez
2020-07-14 19:39:39 -07:00
15 changed files with 2457 additions and 1610 deletions

View File

@@ -525,7 +525,7 @@ Public Class ClsClientes
'SqlAdapter.Dispose()
Return Retorno
End Function
Public Function GetHistorialVentas(CveCliente As Integer, Optional SelectTop As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional TipoDocto As String = "-1") As Boolean
Public Function GetHistorialVentas(CveCliente As Integer, Optional SelectTop As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional TipoDocto As String = "-1", Optional CveEstatusFactura As Integer = -1, Optional FechaI As DateTime = ModExtensiones.MinFecha, Optional FechaF As DateTime = ModExtensiones.MaxFecha) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_ClienteHistorialVentas")
@@ -533,6 +533,9 @@ Public Class ClsClientes
SqlAdapter.SelectCommand.Parameters.Add("@SelectTop", SqlDbType.Int).Value = SelectTop
SqlAdapter.SelectCommand.Parameters.Add("@CveClienteSucursal", SqlDbType.Int).Value = CveClienteSucursal
SqlAdapter.SelectCommand.Parameters.Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto
SqlAdapter.SelectCommand.Parameters.Add("@CveEstatusFactura", SqlDbType.Int).Value = CveEstatusFactura
SqlAdapter.SelectCommand.Parameters.Add("@FechaI", SqlDbType.DateTime).Value = FechaI
SqlAdapter.SelectCommand.Parameters.Add("@FechaF", SqlDbType.DateTime).Value = FechaF
Try
SqlAdapter.Fill(Data)

View File

@@ -102,8 +102,35 @@ Public Class ClsValidaCFDi
EsValida = 2
End If
Catch ex As Exception
'SI NO PUEDE ENCONTRAR EL ESTATUS UTILIZA EL SERVICIO PARA ESTATUS DE CANCELACION
If EsValida = 0 Then
Dim Vigencia = Timbrado.VerificarVigenciaSAT(LFolioFiscal.ToUpper, LRFCEmisor, LRFCReceptor, Importe, True)
If Vigencia IsNot Nothing Then
If Vigencia.EsCancelable.ToUpper() = "NO CANCELABLE" Then
EsValida = 1
End If
If Vigencia.Estado.ToUpper().Contains("CANCELADO") Then
EsValida = 2
ElseIf Vigencia.Estado.ToUpper().Contains("VIGENTE") Then
If Vigencia.EstatusCancelacion.ToUpper() = "EN PROCESO" Then
EsValida = 1
ElseIf Vigencia.EsCancelable.ToUpper() = "CANCELABLE CON ACEPTACIÓN" Then
EsValida = 1
ElseIf Vigencia.EsCancelable.ToUpper() = "CANCELABLE SIN ACEPTACIÓN" Then
EsValida = 1
End If
Else
EsValida = 0
End If
Else
EsValida = 0
End If
End If
Catch ex As Exception
OnError("Ocurrió un error al consultar la vigencia ante el SAT", ex)
End Try
End Sub

View File

@@ -4265,6 +4265,14 @@ Namespace Modelos
Return Retorno
End If
'VALIDACION DE PEDIDOS: SI ESTA ENTEGADO NO SE PUEDA CANCELAR
If ObjFactura.TipoDocto = "Pd2" AndAlso TieneAlmacen AndAlso ObjFactura.SaldoAlmacen <> 0 Then
Retorno.Mensaje = "El pedido no se puede cancelar debido ha que ya fue entregado."
Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia
Return Retorno
End If
Dim CveEstatusRefacturacion As Integer = If(ObjFactura.CveEstatusRefacturacion <= 0, 0, ObjFactura.CveEstatusRefacturacion)

View File

@@ -105,7 +105,7 @@ Partial Class PopUpVerFactura
Dim UsuarioToken = ValidaUsuarioSistema(CveEmpresaToken, CveUsuario)
If UsuarioToken IsNot Nothing AndAlso UsuarioActual Is Nothing Then
If UsuarioToken IsNot Nothing AndAlso Context.Session("UsuarioSIG") Is Nothing Then
Context.Session("UsuarioSIG") = UsuarioToken
End If
End If

View File

@@ -787,11 +787,11 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas
strBody.Append(" <br/>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" Gracias por realizar pedido <br/>");
strBody.Append(" Compuproveedores");
//strBody.Append(" Compuproveedores");
strBody.Append(" </p>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%;text-align:center'>");
strBody.Append(" Sigue disfrutando de nuestros productos y servicios<br/>");
strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
//strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
strBody.Append("");
strBody.Append(" </p>");
strBody.Append(" </body>");

View File

@@ -202,7 +202,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
}
CargaDatos();
}
}
@@ -231,7 +231,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
DdlPaqueterias.DataBind();
DdlPaqueterias.Items.Insert(0, new ListItem("Todos ", "-1"));
}
DdlPaqueteriaEditar.DataSource = get_GlobalDTPaqueterias(UsuarioActual.CveEmpresa);
DdlPaqueteriaEditar.DataBind();
@@ -254,7 +254,8 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
if (UsuarioActual.CveRol == 1339)
{
DdlEstatus.Items.Insert(0, new ListItem("En Proceso ", "2"));
}else
}
else
{
DdlEstatus.Items.Insert(0, new ListItem("Todos ", "-1"));
DdlEstatus.Items.Insert(1, new ListItem("Pendiente ", "1"));
@@ -272,7 +273,8 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
DdlEstatusEditar.Items.Insert(4, new ListItem("Confirmado por Cliente", "4"));
DdlEstatusEditar.SelectedValue = "-1";
if(UsuarioActual.Empresa.Funcionalidad(280) == "1"){
if (UsuarioActual.Empresa.Funcionalidad(280) == "1")
{
DivEstatusEntrega.Visible = true;
}
@@ -282,7 +284,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
{
if (UsuarioActual.CveRol == 1339)
{
DdlUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa:UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveRol = {0}",UsuarioActual.CveRol));
DdlUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveRol = {0}", UsuarioActual.CveRol));
DdlUsuarios.DataBind();
}
else
@@ -336,7 +338,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
String FechaIngInicio = TxtFechaInicialIngreso.Text == "" ? "-1" : TxtFechaInicialIngreso.Text;
String FechaIngFin = TxtFechaFinalIngreso.Text == "" ? "-1" : TxtFechaFinalIngreso.Text;
if (ObjGeneral.GetPaqueteriasGuias(CvePaqueteriaGuia, CvePaqueteriaGuiaTipo, CvePaqueteria, CveEstatus, CveSubProyecto, CveEmpresa, Guia, FechaInicio, FechaFin,
if (ObjGeneral.GetPaqueteriasGuias(CvePaqueteriaGuia, CvePaqueteriaGuiaTipo, CvePaqueteria, CveEstatus, CveSubProyecto, CveEmpresa, Guia, FechaInicio, FechaFin,
FechaIngInicio, FechaIngFin, Filtro: Filtro, CveUsuarioEntrega: CveUsuarioEntrega, EsEntregaInterna: ChkLote.Checked))
{
DTDatos = ObjGeneral.DtResultados;
@@ -356,7 +358,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
int CvePaqueteriaGuiaTipo = DdlTipoEditar.SelectedValue.ToEntero();
int CveEstatus = DdlEstatusEditar.SelectedValue.ToEntero();
int CveSubProyecto = DdlSucursalesEditar.SelectedValue.ToEntero();
String Guia = (TxtGuia.Text != "") ? TxtGuia.Text : "-1";
String Rastreo = TxtRastreo.Text;
String Fecha = TxtFecha.Text;
@@ -372,7 +374,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
if (ObjGeneral.UpdatePaqueteriasGuias(CvePaqueteriaGuia, CvePaqueteriaGuiaTipo, CveSubProyecto, CvePaqueteria, CveEstatus, Fecha, Rastreo, Guia, NumCajas, Peso, Dimensiones, FechaEstimada, Observaciones, ImplicaCosto))
{
if (Guia == "-1")
{
Alert(String.Format("La Guía se ha actualizado correctamente."), ModExtensiones.TipoMensaje.MsgInformacion);
@@ -486,7 +488,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
TxtPeso.Text = String.Format("{0:N3}", GvRow.DataKey("Peso").ToDouble());
TxtDimensiones.Text = GvRow.DataKey("Dimensiones");
TxtObservaciones.Text = GvRow.DataKey("Observaciones");
ChkImplicaCosto.Checked = Boolean.Parse(GvRow.DataKey("ImplicaCosto"));
Boolean mostrarDescarga = CrearArchivo(false);
@@ -494,7 +496,8 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
if (mostrarDescarga)
{
DivDownloadGuia.Visible = true;
} else
}
else
{
DivDownloadGuia.Visible = false;
}
@@ -533,9 +536,9 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
{
BtnEliminarGuia.Visible = false;
}
UPEditarGuia.Update();
this.RegistraScript("$('#DivEditarGuia').modal('show');");
}
@@ -716,7 +719,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
int EstatusEntregado = 3;
//Mandamos a actualizar solo el estatus
if (!ObjGral.UpdatePaqueteriasGuias(CvePaqueteriaGuia,-1, -1, -1, EstatusEntregado, "-1", "", "", -1, -1, "-1", "-1", ""))
if (!ObjGral.UpdatePaqueteriasGuias(CvePaqueteriaGuia, -1, -1, -1, EstatusEntregado, "-1", "", "", -1, -1, "-1", "-1", ""))
{
TieneError = true;
}
@@ -732,7 +735,8 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
if (MensajeEnviado)
{
Alert(String.Format("El Archivo ha sido guardado y el estatus de la Guía ha sido actualizado correctamente. <br><br>Correo enviado exitosamente a {0}.", Destinatario));
}else
}
else
{
Alert(String.Format("El Archivo ha sido guardado y el estatus de la Guía ha sido actualizado correctamente. <br><br>Error al Notificar al Cliente a su correo: {0}.", Destinatario));
}
@@ -777,7 +781,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
{
String path = Path.Combine(UsuarioActual.Empresa.Ruta, "Documentos", "Guias", CvePaqueteriaGuia.ToString() + ".pdf");
System.IO.FileInfo file = new System.IO.FileInfo(path);
string[] fileEntries = Directory.GetFiles(Path.Combine(UsuarioActual.Empresa.Ruta, "Documentos", "Guias"));
foreach (string fileName in fileEntries)
@@ -793,7 +797,8 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
if (descargar)
{
DescargarArchivo(file);
}else
}
else
{
if (!file.Exists)
{
@@ -813,11 +818,11 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename="+ String.Format("Guia {0} - {1}{2}",Paqueteria, Guia,File.Extension));
Response.AddHeader("Content-Disposition", "attachment; filename=" + String.Format("Guia {0} - {1}{2}", Paqueteria, Guia, File.Extension));
Response.AddHeader("Content-Length", File.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.WriteFile(File.FullName);
Response.End();
}
catch (Exception e)
@@ -1006,7 +1011,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
SerieFolio = String.Format("{0}-{1}", DbRowVenta["Serie"].ToString(), DbRowVenta["Folio"].ToString().ToEntero());
NombreCliente = DbRowVenta["ClienteNombre"].ToString();
//Si se subio Archivo
if (!SubirArchivo)
{
@@ -1037,7 +1042,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
private string getCorreoNotificacion(int CveCliente, int CveVendedor)
{
DataRow DatosCliente = get_GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveCliente = {0}",CveCliente));
DataRow DatosCliente = get_GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveCliente = {0}", CveCliente));
DataRow DatosVendedor = get_GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("CveVendedor = {0}", CveVendedor));
if (DatosCliente != null && DatosVendedor != null)
{
@@ -1060,11 +1065,11 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
CveVenta = GvRow.DataKey("CveAgrupador").ToString().ToEntero();
Folio = GvRow.DataKey("Folio").ToString();
}
protected void BtnReasignar_Click(object sender, EventArgs e)
{
ClsGenerales ObjGeneral = new ClsGenerales();
if (ObjGeneral.AsignarEntregasPorRealizar(CvePaqueteriaGuiaReasignar, -1, CveMotivoRechazoPaqueteria:DdlMotivoRechazoGuia.SelectedValue.ToEntero()))
if (ObjGeneral.AsignarEntregasPorRealizar(CvePaqueteriaGuiaReasignar, -1, CveMotivoRechazoPaqueteria: DdlMotivoRechazoGuia.SelectedValue.ToEntero()))
{
Alert("La guía está lista para volver a ser asignada, disponible en el reporte <a style='color:#23527c' href='/Inventarios/EntregasPorRealizar.aspx'>Entregas Por Realizar</a>");
}
@@ -1072,7 +1077,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
CargaDatos();
UPDatos.Update();
CvePaqueteriaGuiaReasignar = -1;
EnviarCorreoNotificacionEntrega(3, Folio, "","","","","",-1,null);
EnviarCorreoNotificacionEntrega(3, Folio, "", "", "", "", "", -1, null);
this.RegistraScript("$('#ModalMotivoReasignacion').modal('hide')", "hidemodal3");
}
@@ -1080,7 +1085,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
{
ClsVentas ObjVentas = new ClsVentas();
if (ObjVentas.GetVenta(CveVenta,UsuarioActual.CveEmpresa))
if (ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa))
{
DataRow row = ObjVentas.DtResultados.Rows[0];
string ClienteNombre = row["ClienteNombre"].ToString();
@@ -1122,11 +1127,11 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas
strBody.Append(" <br/>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" Agradecemos su preferencia. <br/>");
strBody.Append(" Compuproveedores");
//strBody.Append(" Compuproveedores");
strBody.Append(" </p>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%;text-align:center'>");
strBody.Append(" Sigue disfrutando de nuestros productos y servicios<br/>");
strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
//strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
strBody.Append("");
strBody.Append(" </p>");
strBody.Append(" </body>");

View File

@@ -13,10 +13,12 @@ Partial Class Inventarios_AjustesSeccionAlmacen
End Sub
Private Sub CargaCombos()
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim DtAlmacenes As DataTable = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
DdlAlmacen.DataSource = DtAlmacenes
DdlAlmacen.DataBind()
DdlAlmacenExcel.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
DdlAlmacenExcel.DataSource = DtAlmacenes
DdlAlmacenExcel.DataBind()
DdlClasificaciones.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
@@ -216,7 +218,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "")
If Tipo = "EXCEL" Then
Dim CveAlmacen As Integer = DdlAlmacenExcel.SelectedValue.ToEntero()
Dim CveSubProyecto As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}")
Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}")
CargarArchivo(Directorio, file.filename, CveAlmacen, CveSubProyecto)
Else
@@ -267,7 +269,10 @@ Partial Class Inventarios_AjustesSeccionAlmacen
If Not ErrorArchivo Then
Dim ErrorMovInv As Boolean = False
Dim RowNoEncontrados As New StringBuilder()
Dim CodigosNoEncontrados As New StringBuilder()
Dim SeccionesNoEncontradas As New StringBuilder()
Dim ExistenciasNoEncontradas As New StringBuilder()
Dim NumAgregados As Integer = 0
Dim ObjInventario As New ClsInventarios()
@@ -275,7 +280,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Try
Dim DtExistenciasSecciones As DataTable = Nothing
If ObjInventario.GetMovimientosDetalleSeccionesAlmacen(DdlAlmacen.SelectedValue.ToEntero, DdlClasificaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
If ObjInventario.GetMovimientosDetalleSeccionesAlmacen(DdlAlmacenExcel.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) Then
DtExistenciasSecciones = ObjInventario.DtResultados.Copy()
End If
@@ -293,9 +298,9 @@ Partial Class Inventarios_AjustesSeccionAlmacen
For Each RowExcel As DataRow In DtExcel.Rows
Dim Codigo As String = RowExcel("Código").ToString.Trim()
Dim PS As String = RowExcel("Producto/Servicio").ToString().Trim()
'Dim PS As String = RowExcel("Producto/Servicio").ToString().Trim()
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, Codigo:=Codigo).FiltroPrimero($"PS='{PS}'")
Dim DrPS As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimero($"Codigo='{Codigo}'")
If DrPS IsNot Nothing Then
If Not ErrorMovInv Then
@@ -319,7 +324,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim RowExistencia As DataRow = DtExistenciasSecciones.FiltroPrimero($"CvePS={CvePS}")
If RowExistencia IsNot Nothing Then
If RowExistencia IsNot Nothing AndAlso CveSeccionAlmacen > 0 Then
Dim CveSeccionAlmacenSalida As Integer = RowExistencia("CveSeccionAlmacen").ToString().ToEntero()
Dim CantidadSalida As Decimal = RowExistencia("Existencia").ToString().ToDecimal()
Dim SerieSalida As String = RowExistencia("Serie").ToString()
@@ -362,13 +367,22 @@ Partial Class Inventarios_AjustesSeccionAlmacen
End If
Else
ErrorMovInv = True
RowNoEncontrados.AppendFormat("{0},", Codigo)
End If
If RowExistencia Is Nothing Then
ExistenciasNoEncontradas.AppendFormat("{0},", SeccionAlmacen)
ErrorMovInv = True
End If
If CveSeccionAlmacen <= 0 Then
SeccionesNoEncontradas.AppendFormat("{0},", SeccionAlmacen)
ErrorMovInv = True
End If
End If
Else
ErrorMovInv = True
RowNoEncontrados.AppendFormat("{0},", Codigo)
CodigosNoEncontrados.AppendFormat("{0},", Codigo)
End If
Next
@@ -383,10 +397,21 @@ Partial Class Inventarios_AjustesSeccionAlmacen
ObjInventario.RollBack()
Dim SbError As New StringBuilder()
SbError.Append("Ocurrió un error al guardar")
If RowNoEncontrados.Length > 0 Then
SbError.Append("Los siguientes códigos no fueron encontrados en el sistema.<br/>")
SbError.Append(RowNoEncontrados.ToString())
SbError.Append("Ocurrió un error al guardar.<br/>")
If CodigosNoEncontrados.Length > 0 Then
SbError.Append("<br/>Los siguientes códigos no fueron encontrados en el sistema.<br/>")
SbError.Append(CodigosNoEncontrados.ToString())
End If
If ExistenciasNoEncontradas.Length > 0 Then
SbError.Append($"<br/>Los siguientes códigos no se encontraron existencias en el almacen: '{DdlAlmacenExcel.SelectedItem.Text}'.<br/>")
SbError.Append(ExistenciasNoEncontradas.ToString())
End If
If SeccionesNoEncontradas.Length > 0 Then
SbError.Append("<br/>Las siguientes secciones de almacen no fueron encontradas en el sistema.<br/>")
SbError.Append(SeccionesNoEncontradas.ToString())
End If
Alert(SbError.ToString(), TipoMensaje.MsgError)

View File

@@ -3256,11 +3256,11 @@ Partial Class Inventarios_EntregaAlmacen
strBody.Append(" <br/>")
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>")
strBody.Append(" Gracias por su compra <br/>")
strBody.Append(" Compuproveedores")
'strBody.Append(" Compuproveedores")
strBody.Append(" </p>")
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%;text-align:center'>")
strBody.Append(" Sigue disfrutando de nuestros productos y servicios<br/>")
strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>")
'strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>")
strBody.Append("")
strBody.Append(" </p>")
strBody.Append(" </body>")

View File

@@ -178,11 +178,11 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas
strBody.Append(" <br/>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%'>");
strBody.Append(" Gracias por realizar su pedido <br/>");
strBody.Append(" Compuproveedores");
//strBody.Append(" Compuproveedores");
strBody.Append(" </p>");
strBody.Append(" <p style='font-family:Segoe UI Semibold;font-size:12pt;width:100%;text-align:center'>");
strBody.Append(" Sigue disfrutando de nuestros productos y servicios<br/>");
strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
//strBody.Append(" <a href='https://www.compuproveedoresti.com/'>www.compuproveedores.com</a>");
strBody.Append("");
strBody.Append(" </p>");
strBody.Append(" </body>");

File diff suppressed because it is too large Load Diff

View File

@@ -8,13 +8,14 @@ Imports System.Xml
Imports System.IO.Compression
Imports System.Net
Imports Microsoft.Reporting.WebForms
Imports System.Net.Http
Partial Class Ventas_PortalCliente
Inherits ClsPaginas
Const TopRegistros = 20
Const TopRegistros = 20
#Region " PROPIEDADES "
Private Property CveCliente As Integer
Get
@@ -177,10 +178,10 @@ Partial Class Ventas_PortalCliente
Set(value As Modelos.Factura)
ViewState("ObjFactura") = value
End Set
End Property
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Destino = String.Format("{0}\Compras\", UsuarioActual.Empresa.Ruta)
@@ -223,7 +224,10 @@ Partial Class Ventas_PortalCliente
CargarClienteSucursal()
End If
'??ESTE TAB VA DESAPARECER - PARA QUE SOLO LA EMPRESA GESTIONE A LOS USUARIOS POR CLIENTE??
CargaPedidos()
CargaCuentasDepositos()
'??ESTE TAB VA DESAPARECER - PARA QUE SOLO LA EMPRESA GESTIONE A LOS USUARIOS POR CLIENTE??
If UsuarioActual.TienePermisoProceso(234) Then ' CARGA TAB SISTEMA
TabSistema.Visible = False
'CargaUsuariosPortal()
@@ -245,8 +249,8 @@ Partial Class Ventas_PortalCliente
InicializaTabPedido()
End If
End Sub
End Sub
#Region "DATOS DEL CLIENTE"
Private Sub CargaDatosCliente()
LtlTitulo.Text = "Portal del Cliente:"
@@ -261,11 +265,11 @@ Partial Class Ventas_PortalCliente
End If
End If
ObjClientes.Dispose()
End Sub
End Sub
#End Region
#Region "TAB HISTORIAL DE VENTAS"
Private Sub CargaHistorial(Optional SelectTop As Integer = 21, Optional CveClienteSucursal As Integer = -1)
Dim ObjClientes As New ClsClientes()
If ObjClientes.GetHistorialVentas(CveCliente, SelectTop, CveClienteSucursal:=CveClienteSucursal) Then
@@ -400,9 +404,9 @@ Partial Class Ventas_PortalCliente
ObjVentas.UpdateVentaMail(3, HdnCveVenta.Value.ToEntero)
ObjVentas.Dispose()
End Try
End Sub
End Sub
#End Region
#Region "TAB CUENTAS X PAGAR"
Private Sub CargaCxP(Optional VerMas As Integer = -1)
If TabCxP.Visible = True Then
@@ -539,8 +543,8 @@ Partial Class Ventas_PortalCliente
End If
ObjEventoBitacora.Dispose()
UPAddEventoBitacora.Update()
End Sub
End Sub
#Region " PAGO PROSEPAGO "
Private Sub InicializaProsepago()
If Not UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 145) Then
@@ -1231,12 +1235,12 @@ Partial Class Ventas_PortalCliente
Dim Mail As New ClsSisMail()
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, CorreoDestino, Asunto, Body)
End Sub
End Sub
#End Region
#End Region
#Region "TAB ANTICIPOS"
Private Sub CargaAnticipos(Optional SelectTop As Integer = 21, Optional CveClienteSucursal As Integer = -1)
Dim ObjMovtos As New ClsMovimientos()
@@ -1290,9 +1294,9 @@ Partial Class Ventas_PortalCliente
CargaAnticipos(21)
BtnVerMasAnticipos.Text = "Ver Más"
End If
End Sub
End Sub
#End Region
#Region "TAB BUZON DE CALIDAD"
Private Sub CargarTipoBuzon()
If TabBuzonCalidad.Visible = True Then
@@ -1378,9 +1382,9 @@ Partial Class Ventas_PortalCliente
End If
Next
ObjQueja.Dispose()
End Sub
End Sub
#End Region
#Region "TAB SISTEMA"
Private Sub CargaUsuariosPortal()
Dim ObjUsuario As New ClsSisUsuarios()
@@ -1424,11 +1428,11 @@ Partial Class Ventas_PortalCliente
End If
ObjUsuario.Dispose()
GvUsuariosPortal.DataBind()
End Sub
End Sub
#Region "GESTION DE USUARIOS DEL PORTAL"
Protected Sub LnkAgregarUsuario_Click(sender As Object, e As EventArgs) Handles LnkAgregarUsuario.Click
Dim ObjParametro As SisParametro = GlobalDTParametros(SisParametros.URL)
Dim ObjUsuario As New ClsSisUsuarios
@@ -1673,13 +1677,13 @@ Partial Class Ventas_PortalCliente
a.GuardaLog()
Dim Mail As New ClsSisMail()
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body)
End Sub
End Sub
#End Region
#End Region
#Region "TAB CONTRASENIA"
Protected Sub BtnGuardarContraseña_Click(sender As Object, e As EventArgs) Handles BtnGuardarContraseña.Click
If Decripta(UsuarioActual.Contraseña) = TxtContraseniaActual.Text Then
@@ -1702,9 +1706,459 @@ Partial Class Ventas_PortalCliente
Alert("La Contraseña Actual es incorrecta.", TipoMensaje.MsgAdvertencia)
End If
End Sub
End Sub
#End Region
#Region "TAB PEDIDOS"
Private Sub CargaCuentasDepositos()
'CargaEstatus
DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(" CveEstatusFactura IN (2, 5, 21) ")
DdlEstatus.DataBind()
DdlCuenta.Items.Clear()
'Dim ObjGral As New ClsGenerales
'If ObjGral.GetCuentasDepositos(CveProveedor:=-1, CveCliente:=CveCliente, CvePersonal:=-1) Then
' DdlCuentaDeposito.DataSource = ObjGral.DtResultados.FiltraParametros("Estatus ='True'")
' If ObjGral.DtResultados.Rows.Count > 0 Then
' DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1"))
' End If
'End If
'ObjGral.Dispose()
'DdlCuentaDeposito.DataBind()
Dim dt As DataTable
If UsuarioActual.Empresa.Funcionalidad(127) = "1" Then
dt = GlobalDTBancosCuentas(-1)
Else
dt = GlobalDTBancosCuentas(-1).FiltraParametros("CveTipoCuenta <> 1") ' quito las cajas chicas
End If
DdlCuenta.DataSource = dt
DdlCuenta.DataBind()
UpIxC.Update()
End Sub
Private Sub CargaPedidos(Optional TopPedidos As Integer = 21)
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim.ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim.ToDate, MaxFecha)
Dim ObjClientes As New ClsClientes
If ObjClientes.GetHistorialVentas(CveCliente, TopPedidos, CveClienteSucursal:=-1, TipoDocto:="Pd2", CveEstatusFactura:=DdlEstatus.SelectedValue.ToEntero(), FechaI:=FechaI, FechaF:=FechaF) Then
GvPedidos.DataSource = ObjClientes.DtResultados
If ObjClientes.DtResultados.Rows.Count < 21 Then
LnkVerMasPedidos.Visible = False
End If
End If
ObjClientes.Dispose()
GvPedidos.DataBind()
UpTabPedidos.Update()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaPedidos()
End Sub
Protected Sub BtnVerMasPedidos_Click(sender As Object, e As EventArgs)
If BtnVerMasVentas.Text = "Ver Más" Then
CargaPedidos(-1)
BtnVerMasVentas.Text = "Ver Menos"
Else
CargaPedidos(21)
BtnVerMasVentas.Text = "Ver Más"
End If
End Sub
Protected Sub GvPedidos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveVenta") <> "" Then
'e.Row.FCHyperLink("ImgAbonar").NavigateUrl = String.Format("/Bancos/PopIEVentas.aspx?CveVenta={0}&TB_iframe=true&height=550&width=700", e.Row.DBCampo("CveVenta"))
If e.Row.DBCampo("CveEstatusFactura").ToEntero().Contiene(4, 5) Then
e.Row.FCLinkButton("ImgAbonar").Visible = False
e.Row.FCLinkButton("ImgCancelar").Visible = False
End If
Else
e.Row.FCLinkButton("ImgAbonar").Visible = False
e.Row.FCLinkButton("ImgCancelar").Visible = False
e.Row.CssClass = "Totales"
End If
End If
End Sub
Protected Sub ImgCancelar_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = (DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow))
If GvRow.DataKey("CveVenta").ToEntero() > 0 Then
Dim ObjFactura As New Modelos.Factura(UsuarioActual, GvRow.DataKey("CveVenta").ToEntero(), UsuarioActual.CveEmpresa)
If ObjFactura IsNot Nothing Then
Dim Resp = ObjFactura.CancelarFactura(RealizarDevolucionAlmacen:=False, ListaRemisionesCancelar:=New List(Of Integer))
Alert(Resp.Mensaje, If(Resp.HuboError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion))
End If
Else
Alert("No se encontro pedido para cancelar", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub ImgAbonar_Click(sender As Object, e As EventArgs)
TxtTotalPedido.Text = ""
TxtFolio.Text = ""
Me.CveVenta = -1
Dim GvRow As GridViewRow = (DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow))
If GvRow.DataKey("CveVenta").ToEntero() > 0 Then
LblPedido.Text = GvRow.DataKey("SerieFolio")
TxtTotalPedido.Text = GvRow.DataKey("Total").ToDecimal().FormatoNumero(2)
RVPedido.MaximumValue = GvRow.DataKey("Total").ToDecimal().FormatoNumero(2)
Me.CveVenta = GvRow.DataKey("CveVenta").ToEntero()
RegistraScript("$('#DivIxC').modal({backdrop: 'static',keyboard: false});")
End If
UpIxC.Update()
End Sub
Protected Sub BtnPagarPedido_Click(sender As Object, e As EventArgs)
GuargarIxC(CveCliente, TxtTotalPedido.Text.ToDecimal(), New Modelos.Factura(UsuarioActual, Me.CveVenta, UsuarioActual.CveEmpresa))
End Sub
Private Sub GuargarIxC(CveCliente As Integer, ImportePagado As Decimal, ObjFactura As Modelos.Factura)
Dim MsgError As String = ""
Dim CveConceptoContable As Integer = 30
Dim CveConceptoCompra As Integer = 10
Dim CveCreditoDetalle As Integer = -1
Dim CIF As Decimal = 0
Dim CvePlantillaPoliza As Integer = 3
Dim CvePrePoliza As Integer = 0
Dim ComprobanteIE As String = ""
Dim CveIE As Integer = -1
Dim CveTipoTransaccion As Integer = 11
Dim FechaDoc As DateTime = Now
Dim ConceptoContable As Integer
Dim TipoMovimiento As Boolean
Dim importeMovimiento As Decimal
Dim FechaMovimiento As Date = Now
Dim Concepto As String = ""
Dim Importe As Decimal = ImportePagado
Dim Msg As New StringBuilder
Dim ObjIE As New ClsBancos()
Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
Dim ObjComp As New ClsCompras(ObjIE.IniciaTransacSQL)
Try
Dim CveCuentaDeposito As Integer = 0
'If DdlCuentaDeposito.Items.Count > 0 Then
' CveCuentaDeposito = DdlCuentaDeposito.SelectedValue.ToEntero
'End If
'*****-_- INICIA: CONFIGURACION REGISTRO -_-*****
Dim AgregaPolizaSaldoInicial As Boolean = False
'INGPC
CvePlantillaPoliza = 6
If CveCliente > 0 Then
CveConceptoCompra = 66 'Anticipo doc por pagar
CveConceptoContable = 30 'Bancos
End If
Dim FolioFijo As Integer = 0
Dim tCveMoneda As Integer = ObjFactura.CveMoneda
Dim tImporteMonedaExtranjera As Decimal = 0
If tCveMoneda <> 1 Then tImporteMonedaExtranjera = TxtImporte.Text.ToDecimal * GlobalTipoCambio(Now).ToString.ToDecimal
Dim PagueseA = ObjFactura.Cliente.Nombre
If MsgError = "" Then
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, CveTipoTransaccion, FechaDoc, TxtFolio.Text.Trim, PagueseA, Importe, ObjFactura.CveMoneda,
TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, "", False, False, -1, CvePrePoliza, ComprobanteIE, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=1, Referencia:="-1", CveCuentaTarjeta:=-1, ConceptoCIE:="-1")
If CveIE > 0 Then
If CveTipoTransaccion = 1 AndAlso UsuarioActual.CveEmpresa <> 119 Then FolioFijo = ObjIE.Folio.ToEntero 'cheque
CvePrePoliza = ObjMov.AddPrePolizas("PortalCliente/IE " + "INGPC", CvePlantillaPoliza, Importe, Importe, tCveMoneda, FechaDoc, PagueseA, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(CveTipoTransaccion.ToString(), Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(CveTipoTransaccion.ToString(), "-1", UsuarioActual.CveEmpresa))
'valida prepoliza
If CvePrePoliza > 0 Then
If Not ObjIE.UpdateIEPrePoliza(MinFecha, "", -1, CvePrePoliza, CveIE, -1) Then
MsgError = "Ocurrio un error al agregar la prepoliza al IE."
End If
Dim Conc As String = ObjIE.Folio
Dim Ref As String = ObjIE.Folio
ComprobanteIE = $"{CveIE}"
'GUARDA PREPOLIZAS DETALLE [PRIMERO SON LOS CASOS ESPECIALES, AL FINAL (ELSE) LOS CASOS NORMALES] --REEMPLAZA IFs
Dim importeMX As Decimal
Dim Multiplicador As Integer
If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
For Each Row As DataRow In ObjMov.DtResultados.Rows
ConceptoContable = Row("CveConcepto").ToString.ToEntero
TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
importeMovimiento = 0
Multiplicador = (Row("Multiplicador").ToString.ToEntero)
Concepto = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, PagueseA, "", ObjIE.Folio)
Select Case ConceptoContable
Case 66
importeMovimiento = Importe '- TxtIvaIxC.Text.ToDecimal
importeMX = importeMovimiento
Case 30
importeMovimiento = Importe
importeMX = importeMovimiento
End Select
If importeMovimiento <> 0 Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, If(ConceptoContable = 30, ObjFactura.Cliente.IdCtaContClientes, ObjFactura.Cliente.IdCtaContAnticipos), -1, CveIE:=CveIE, CveCompra:=-1, CveProveedor:=-1, CvePersonal:=-1, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=importeMovimiento, ImporteME:=tImporteMonedaExtranjera, TipoCambio:=TxtTipoCambio.Text.ToDecimal, CveCuenta:=If(ConceptoContable = 30, ObjFactura.Cliente.CveCuentaClientes, ObjFactura.Cliente.CveCuentaAnticipos)) Then
MsgError = "Ocurrió un error al registrar el asiento del ingreso."
End If
End If
Next
End If
If MsgError = "" Then
If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
If ObjMov.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Bancos/IE | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
End If
Else
MsgError = "No se pudo validar la prepoliza de cuadre."
End If
End If
'El movimiento 1 es el de Venta
'Conta ContPAQ
'If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then
' If IDCtaBeneficiario > 0 And IDCtaContable > 0 Then
' If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
' IDPoliza = ObjMov.ContaIdPoliza
' 'Alert(alertaContabilizacion & ObjMov.AlertaMensaje, ModExtensiones.TipoMensaje.MsgInformacion)
' Else
' Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
' End If
' Else
' If IDCtaContable < 1 Then
' Alert("No se puede contabilizar la Prepoliza debido a que la cuenta de Bancos es invalida", TipoMensaje.MsgAdvertencia)
' End If
' If IDCtaBeneficiario < 1 Then
' Alert("No se puede contabilizar la Prepoliza debido a que las cuenta del Beneficiario es invalida", TipoMensaje.MsgAdvertencia)
' End If
' End If
'End If
'If UsuarioActual.Empresa.UsaAC Then
' Dim ConceptoRenglon, Referencia As String
' Dim FolioPoliza As Integer
' Dim Fecha As Date = FechaDoc
' Dim TipoChq As String = ""
' Dim Total As Double = TxtImporte.Text.ToDouble
' Dim Conta As New ClsContPAQi(UsuarioActual.Empresa)
' Conta.IniciaTransacSQL()
' If CveTipoTransaccion = 1 Then TipoChq = "CHQ"
' ConceptoRenglon = String.Format("Anticipo {0}", PagueseA)
' Dim IDPoliza = Conta.AddPoliza(2, ConceptoRenglon, Total, Total, UsuarioActual.CveUsuario, Fecha, ObjIE.Folio, TipoChq)
' If IDPoliza > 0 Then
' FolioPoliza = Conta.Folio
' Referencia = ObjIE.Folio
' ConceptoRenglon = String.Format("Anticipo {0} {1}", PagueseA, TxtObservaciones.Text)
' Total = TxtImporte.Text.ToDouble
' If Not Conta.AddMovimiento(IDPoliza, IDCtaContable, True, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento"
' If Not Conta.AddMovimiento(IDPoliza, IDCtaBeneficiario, False, Total, Referencia, ConceptoRenglon, 0, Fecha, "") Then MsgError = "No se insertó el movimiento"
' Else
' MsgError = "No se insertó el encabezado"
' End If
' If MsgError = "" Then
' Conta.Commit()
' Conta.AjustaPoliza(IDPoliza)
' 'actualizar la conta del IE
' ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0)
' Else
' Conta.RollBack()
' IDPoliza = 0
' End If
' Conta.Dispose()
'End If
'Notificación de Pago
'If TxtNotificarA.Text.Trim <> "" And MsgError = "" Then
' 'NotificacionPago(CveIE, TxtNotificarA.Text.Trim)
' EnviarCorreoNotificacion(CveIE, TxtNotificarA.Text.Trim, "", UsuarioActual, False)
'End If
Else
MsgError = "No se pudo insertar la póliza"
End If
Else
MsgError = "No se insertó el encabezado"
End If
End If
Catch ex As Exception
MsgError = ex.ToString()
End Try
If MsgError = "" Then
'IMPRIME CHEQUE
'GeneraChequePDF(CveIE, UsuarioActual.Empresa, IDPoliza)
If Msg.ToString = "" Then
ObjIE.Commit()
Msg.Append("El Documento se guardo correctamente: Folio:" + ObjIE.Folio)
Alert(Msg.ToString(), TipoMensaje.MsgInformacion)
End If
'Dim Archivo As System.IO.FileInfo = Nothing
''VERIFICA SI EXISTE EL FORMATO
''If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(2, 8, 9) Then
'' Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/Transferencia.rdlc", UsuarioActual.Empresa.Ruta))
''ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1) Then
'' Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/CHQ-{1}.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
'' If Not Archivo.Exists Then
'' Archivo = New System.IO.FileInfo(String.Format("{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas))
'' End If
''ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(6) And UsuarioActual.CveEmpresa = 72 Then
'' Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/ComprobanteEgreso.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
''End If
'If Archivo IsNot Nothing Then
' If Archivo.Exists Then
' Msg.AppendFormat("<br/><br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">{1}</a> ", Encripta(String.Format("OP=IECHEQUE&CVEIE={0}", CveIE)), "Imprimir Ingre")
' End If
'End If
Else
ObjIE.RollBack()
Alert(MsgError, TipoMensaje.MsgAdvertencia)
End If
ObjIE.Dispose()
ObjMov.Dispose()
ObjComp.Dispose()
End Sub
Private Function DescargarFactura(CveVenta As Integer, CveEmpresa As Integer) As Byte()
Dim Url = New Uri(String.Format("{0}Compras/PopUpVerFactura.aspx?P={1}", "http://localhost:85/", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta))))
Dim File As Byte() = Nothing
Try
Using httpClient = New HttpClient()
httpClient.Timeout = New TimeSpan(0, 15, 0)
Using request = New HttpRequestMessage(HttpMethod.Get, Url)
request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks)))
Dim response = httpClient.SendAsync(request).Result
If response.StatusCode = Net.HttpStatusCode.OK Then
File = response.Content.ReadAsByteArrayAsync().Result
End If
End Using
End Using
Catch ex As Exception
File = Nothing
OnError("Ocurrió un error al descargar la factura", ex)
End Try
Return File
End Function
Private Sub MandaMails(UsuarioActual As Usuario, CveVenta As Integer, EnviarFactura As Boolean, ObjFactura As Modelos.Factura)
Dim ObjMail As New ClsSisMail()
Dim ObjVentas As New ClsVentas
Dim ArchivoPDF As String = ""
Dim ArchivoPDFBytes As Byte() = Nothing
Dim ExistePDF As Boolean = False
Try
Dim Asunto As String = String.Empty
Dim Cuerpo As String = String.Empty
Dim ResultadoMail As Integer = 0
Dim TipoComprobante = "Pedido"
If UsuarioActual.Empresa.PlantillaMailVenta.Trim.Length > 0 Then
Cuerpo = UsuarioActual.Empresa.PlantillaMailVenta
Cuerpo = Cuerpo.Replace("{""NombreEmpresa""}", UsuarioActual.Empresa.Empresa)
Cuerpo = Cuerpo.Replace("{""NombreCliente""}", ObjFactura.Cliente.Nombre)
Cuerpo = Cuerpo.Replace("{""TipoDocumento""}", TipoComprobante)
Cuerpo = Cuerpo.Replace("{""Fecha""}", ObjFactura.Fecha.ToString("dd/MM/yyyy"))
Cuerpo = Cuerpo.Replace("{""Total""}", ObjFactura.Total.FormatoNumero(2))
Cuerpo = Cuerpo.Replace("{""FechaVencimiento""}", ObjFactura.FechaVencimiento.ToString("dd/MM/yyyy"))
Cuerpo = Cuerpo.Replace("{""SerieFolio""}", ObjFactura.SerieFolio)
End If
If UsuarioActual.Empresa.AsuntoPlantillaMailVenta.Trim.Length > 0 Then
Asunto = UsuarioActual.Empresa.AsuntoPlantillaMailVenta
Asunto = Asunto.Replace("{""TipoDocumento""}", TipoComprobante)
Asunto = Asunto.Replace("{""Sucursal""}", ObjFactura.SubProyecto.SubProyecto)
Asunto = Asunto.Replace("{""SerieFolio""}", ObjFactura.SerieFolio)
End If
If Not EnviarFactura Then
ObjVentas.UpdateVentaMail(0, CveVenta)
End If
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
ArchivoPDF = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
If Not File.Exists(ArchivoPDF) Then
ArchivoPDFBytes = DescargarFactura(ObjFactura.CveVenta, ObjFactura.CveEmpresa)
Else
ExistePDF = True
End If
If ExistePDF Then
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = ArchivoPDF})
Else
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = ArchivoPDFBytes, .NombreArchivo = String.Format("{0}.pdf", ObjFactura.SerieFolio)})
End If
If ObjMail.SendMail(UsuarioActual.Empresa, ObjFactura.Cliente.Mail, Asunto, Cuerpo, "japmx95@gmail.com", LSRutasMail, Displayname:="") Then
ResultadoMail = 1
Else
ResultadoMail = 3
End If
ObjVentas.UpdateVentaMail(ResultadoMail, CveVenta)
Catch ex As Exception
OnError("Ocurrió error al mandar el Mail", ex)
ObjVentas.UpdateVentaMail(3, CveVenta)
Finally
ObjVentas.Dispose()
End Try
End Sub
#End Region
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
@@ -1739,12 +2193,12 @@ Partial Class Ventas_PortalCliente
ElseIf gvi = 1 Then
CargaGridUsuarios(Orden)
End If
End Sub
End Sub
#End Region
#Region "DESCARGA Todos los Archivos"
Private Sub BtnDescargarPDF_Click(sender As Object, e As EventArgs) Handles BtnDescargarPDF.Click
If Not Directory.Exists(AppDomain.CurrentDomain.BaseDirectory & "Temp") Then Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory & "Temp")
@@ -1827,14 +2281,14 @@ Partial Class Ventas_PortalCliente
'Elimine el .zip que se genero
If File.Exists(RutaArchivo) Then File.Delete(RutaArchivo)
End Sub
End Sub
#End Region
#Region "IMPRIMIR GVHistorial"
Protected Sub BtnExcelHistorial_Click(sender As Object, e As EventArgs)
Dim retorno As Byte() = Nothing
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
@@ -1870,6 +2324,10 @@ Partial Class Ventas_PortalCliente
End Sub
Protected Sub BtnExcelHistorialPedidos_Click(sender As Object, e As EventArgs)
GvPedidos.ExportToExcel("Pedidos")
End Sub
Protected Sub BtnPDFHistorial_Click(sender As Object, e As EventArgs)
Dim retorno As Byte() = ImprimirReporteHistorial()
@@ -1913,12 +2371,12 @@ Partial Class Ventas_PortalCliente
ObjClientes.Dispose()
Return retorno
End Function
End Function
#End Region
#Region "IMPRIMIR CxC Activas"
Protected Sub LbExcelCxCActivas_Click(sender As Object, e As EventArgs)
Dim retorno As Byte() = Nothing
@@ -1984,13 +2442,13 @@ Partial Class Ventas_PortalCliente
End If
ObjMovtos.Dispose()
Return retorno
End Function
End Function
#End Region
#Region "IMPRIMIR CxCHistorial"
Protected Sub LbExcelCxCHistorial_Click(sender As Object, e As EventArgs)
Dim retorno As Byte() = Nothing
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
@@ -2055,34 +2513,34 @@ Partial Class Ventas_PortalCliente
End If
ObjMovtos.Dispose()
Return retorno
End Function
End Function
#End Region
'Protected Sub BtnCxPActivas_Click(sender As Object, e As EventArgs)
' If BtnCxPActivas.Text = "Ver Más <i class='fa fa-angle-double-down'></i>" Then
' BtnCxPActivas.Text = "Ver Menos <i class='fa fa-angle-double-up'></i>"
' CargaCxP()
' Else
' BtnCxPActivas.Text = "Ver Más <i class='fa fa-angle-double-down'></i>"
' CargaCxP(1)
' End If
'End Sub
'Protected Sub BtnHistorialCxP_Click(sender As Object, e As EventArgs)
' If BtnHistorialCxP.Text = "Ver Más <i class='fa fa-angle-double-down'></i>" Then
' BtnHistorialCxP.Text = "Ver Menos <i class='fa fa-angle-double-up'></i>"
' CargaCxP(2)
' Else
' BtnHistorialCxP.Text = "Ver Más <i class='fa fa-angle-double-down'></i>"
' CargaCxP(2)
' End If
'End Sub
'Protected Sub BtnCxPActivas_Click(sender As Object, e As EventArgs)
' If BtnCxPActivas.Text = "Ver Más <i class='fa fa-angle-double-down'></i>" Then
' BtnCxPActivas.Text = "Ver Menos <i class='fa fa-angle-double-up'></i>"
' CargaCxP()
' Else
' BtnCxPActivas.Text = "Ver Más <i class='fa fa-angle-double-down'></i>"
' CargaCxP(1)
' End If
'End Sub
'Protected Sub BtnHistorialCxP_Click(sender As Object, e As EventArgs)
' If BtnHistorialCxP.Text = "Ver Más <i class='fa fa-angle-double-down'></i>" Then
' BtnHistorialCxP.Text = "Ver Menos <i class='fa fa-angle-double-up'></i>"
' CargaCxP(2)
' Else
' BtnHistorialCxP.Text = "Ver Más <i class='fa fa-angle-double-down'></i>"
' CargaCxP(2)
' End If
'End Sub
#Region "TAB PEDIDO"
#Region "CARGAS"
Private Sub CargaFolios()
If CveSubProyecto <= 0 Then
@@ -2280,11 +2738,11 @@ Partial Class Ventas_PortalCliente
TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String))
TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String))
End Sub
End Sub
#End Region
#Region "SELECTED INDEX CHANGE"
Protected Sub DdlMoneda_SelectedIndexChanged(sender As Object, e As EventArgs)
TrConversionTipoCambio.Visible = False
@@ -2364,13 +2822,15 @@ Partial Class Ventas_PortalCliente
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaPS(DdlClasificacion.SelectedValue.ToEntero, DdlPS)
UpClasificacion.Update()
End Sub
End Sub
#End Region
#Region "AGREGAR/EDITAR/ELIMINAR"
Protected Sub LnkAddVenta_Click(sender As Object, e As EventArgs)
Protected Sub LnkAddPedido_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivVenta').modal({backdrop: 'static',keyboard: false});")
End Sub
Protected Sub LnkAddPSVenta_Click(sender As Object, e As EventArgs)
Modalidad = "A"
LnkAgregar.Text = "Agregar"
TxtCantidad.Text = ""
@@ -2386,9 +2846,9 @@ Partial Class Ventas_PortalCliente
DdlClasificacion.SelectedIndex = -1
DdlUM.Items.Clear()
ChkAgregar.Checked = True
UpVenta.Update()
RegistraScript(String.Format("$('#{0}').modal('show');", "DivAddVenta"))
UpAddPedido.Update()
RegistraScript("$('#DivAddVenta').modal({backdrop: 'static',keyboard: false});")
End Sub
Protected Sub LnkEditar_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
@@ -2411,17 +2871,22 @@ Partial Class Ventas_PortalCliente
TxtPrecio.Text = GvRow.DataKey("PU")
LblTotal.Text = GvRow.DataKey("Total")
ChkAgregar.Checked = False
UpVenta.Update()
RegistraScript(String.Format("$('#{0}').modal('show');", "DivAddVenta"), "EdicionVenta")
UpAddPedido.Update()
RegistraScript("$('#DivAddVenta').modal('show');", "EdicionVenta")
End Sub
Protected Sub LnkEliminar_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim DbRow As DataRow = Nothing
DbRow = TmpDT.Rows(GvRow.RowIndex)
TmpDT.Rows.Remove(DbRow)
GvPS.DataSource = TmpDT
GvPS.DataBind()
CalculaTotalesVenta()
Alert("Eliminado Correctamente.", TipoMensaje.MsgInformacion)
End Sub
@@ -2442,22 +2907,15 @@ Partial Class Ventas_PortalCliente
End If
DdlClasificacion.SelectedIndex = -1
DdlUM.Items.Clear()
UpVenta.Update()
Else
RegistraScript("ClosePopup();", "AddUpdatePS")
End If
End If
UpAddPedido.Update()
End Sub
Private Sub AgregarPS()
If Modalidad = "A" Then
AgregarProductoServicio(TxtCantidad.Text.ToDecimal, DdlUM.SelectedValue.ToEntero, DdlUM.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text,
DdlPS.SelectedValue.ToEntero, DdlPS.SelectedText, TxtObs.Text, TxtPrecio.Text.ToDecimal, 0, -1, "", CveSubProyecto, "")
CalculaTotalesVenta()
ElseIf Modalidad = "U" Then
If Modalidad = "U" Then
Dim ErrorEdit As Boolean = True
Dim Contador As Integer = 0
@@ -2475,7 +2933,12 @@ Partial Class Ventas_PortalCliente
TmpDT.Rows.RemoveAt(Contador)
TmpDT.AcceptChanges()
End If
End If
End If
AgregarProductoServicio(TxtCantidad.Text.ToDecimal, DdlUM.SelectedValue.ToEntero, DdlUM.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text,
DdlPS.SelectedValue.ToEntero, DdlPS.SelectedText, TxtObs.Text, TxtPrecio.Text.ToDecimal, 0, -1, "", CveSubProyecto, "")
CalculaTotalesVenta()
End Sub
@@ -2616,13 +3079,13 @@ Partial Class Ventas_PortalCliente
GvPS.DataSource = view
GvPS.DataBind()
UpTabPedidos.Update()
End Sub
UpAddPedido.Update()
End Sub
#End Region
#Region "GUARDAR VENTA"
Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False)
ObjFactura = New Modelos.Factura
ObjFactura.Version = "3.3"
@@ -2911,6 +3374,10 @@ Partial Class Ventas_PortalCliente
ViewState("CveVenta") = ObjFactura.CveVenta
If ObjFactura.CveVenta > 0 Then
EnviarCorreoPedido(ObjFactura)
End If
'MENSAJE PRINCIPAL
MensajeAlert.AppendFormat(String.Format("<br/>El {0}: <b>{1}</b> se generó correctamente.<br/><br/>", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
@@ -2970,6 +3437,10 @@ Partial Class Ventas_PortalCliente
End If
End Sub
Private Sub EnviarCorreoPedido(ObjFactura As Modelos.Factura)
Dim Hilo As New System.Threading.Thread(Sub() MandaMails(UsuarioActual, ObjFactura.CveVenta, True, ObjFactura, ""))
Hilo.Start()
End Sub
Private Sub GuardarVenta(ByRef ObjVentas As ClsVentas, ByRef ObjConta As ClsContabilidad, ByRef ObjInventario As ClsInventarios, ByRef ObjContr As ClsContratos, factura As Modelos.Factura, TmpDTDetalle As DataTable, CveNCaVincular As Integer, ByRef objContPaqi As ClsContPAQi, Optional ByRef ObjBancos As ClsBancos = Nothing, Optional ByRef ObjOS As ClsOS = Nothing, ByRef Optional ObjEventos As ClsOIEventos = Nothing, ByRef Optional ObjCGame As ClsCGame = Nothing, ByRef Optional ObjCliente As ClsClientes = Nothing)
@@ -3067,11 +3538,12 @@ Partial Class Ventas_PortalCliente
TxtObs.Text = ""
CalculaTotalesVenta()
UpTabPedidos.Update()
End Sub
End Sub
#End Region
#End Region
#End Region
End Class

View File

@@ -153,9 +153,10 @@ Partial Class Sistemas_CatSesiones
Private Sub CargaAlmacenUsuarios()
Dim Obj As New ClsSisUsuarios
If Obj.GetAlmacen(-1) Then Application("GlobalDTAlmacenUsuarios") = Obj.DtResultados Else Application("GlobalDTAlmacenUsuarios") = Nothing
Obj.Dispose()
GlobalDTAlmacenUsuarios(-1, UsuarioActual.CveEmpresa) = Nothing
'Dim Obj As New ClsSisUsuarios
'If Obj.GetAlmacen(-1) Then Application("GlobalDTAlmacenUsuarios") = Obj.DtResultados Else Application("GlobalDTAlmacenUsuarios") = Nothing
'Obj.Dispose()
End Sub
Private Sub CargaClientes()
@@ -267,8 +268,9 @@ Partial Class Sistemas_CatSesiones
Application("GlobalDTUsuarioResponsable") = ObjUsuarios.DtResultados
Else
Application("GlobalDTUsuarios") = Nothing
End If
If ObjUsuarios.GetAlmacen(-1) Then Application("GlobalDTAlmacenUsuarios") = ObjUsuarios.DtResultados Else Application("GlobalDTAlmacenUsuarios") = Nothing
End If
GlobalDTAlmacenUsuarios(-1, UsuarioActual.CveEmpresa) = Nothing
'If ObjUsuarios.GetAlmacen(-1) Then Application("GlobalDTAlmacenUsuarios") = ObjUsuarios.DtResultados Else Application("GlobalDTAlmacenUsuarios") = Nothing
ObjUsuarios.Dispose()
'Fin Carga Usuarios
End Sub

View File

@@ -10,6 +10,7 @@ using System.Web.Services.Protocols;
using GemBox.Spreadsheet;
using System.Data;
using System.Text;
using System.Collections.Generic;
public class TareasJam : IHttpHandler
{
@@ -57,9 +58,21 @@ public class TareasJam : IHttpHandler
DataTable DTClientes = new DataTable();
DataTable DTAlmacenes = new DataTable();
string FTPServer = "ftp://127.0.0.1/";
string TFPUsr = "Toor";
string FTPPass = "agj-3500";
string RutaProductos = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Productos{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
string RutaVentas = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Ventas{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
string RutaClientes = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Clientes{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
string RutaAlmacenes = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Almacenes{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
//"ftp://us2.hostedftp.com/", "agrojam", "A12345678";
//string FTPServer = "ftp://127.0.0.1/";
//string TFPUsr = "Toor";
//string FTPPass = "agj-3500";
string FTPServer = "ftp://us2.hostedftp.com";
string TFPUsr = "agrojam";
string FTPPass = "A12345678";
bool ErrorProceso = false;
@@ -179,8 +192,8 @@ public class TareasJam : IHttpHandler
string tmpString = dRow[3].ToString().ToDate().ToString("yyyy/MM/dd");
dRow[3] = tmpString;
}
DTAlmacenes.AcceptChanges();
DTAlmacenes.AcceptChanges();
}
@@ -197,10 +210,7 @@ public class TareasJam : IHttpHandler
if (!ErrorProceso)
{
string RutaProductos = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Productos{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
string RutaVentas = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Ventas{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
string RutaClientes = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Clientes{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
string RutaAlmacenes = $@"{ HttpContext.Current.Server.MapPath("~") }Temp\Almacenes{DateTime.Now.ToString("yyyyMMdd")}.xlsx";
SpreadsheetInfo.SetLicense(Extensiones.ModExtensiones.SerialGemBoxSpreadsheet());
@@ -344,24 +354,53 @@ public class TareasJam : IHttpHandler
string Cuerpo = Respuesta ? $"<b>Correcto</b><br>Tarea de carga de archios Corteva realizada correctamente<br> {SBLog.ToString()}" : $"<b>Error</b><br> Error tarea de carga de archios Corteva<br> {SBLog.ToString()}" ;
MandaCorreo(Cuerpo, Respuesta);
MandaCorreo(Cuerpo, Respuesta, RutaProductos, RutaVentas, RutaClientes, RutaAlmacenes);
return Respuesta;
}
private void MandaCorreo(string Cuerpo, bool ErrorProceso)
private void MandaCorreo(string Cuerpo, bool ErrorProceso, string RutaProductos, string RutaVentas, string RutaClientes, string RutaAlmacenes)
{
try
{
List<ClsSisMail.ArchivoMail> ListaArchivos = new List<ClsSisMail.ArchivoMail>();
ClsSisMail.ArchivoMail Productos = new ClsSisMail.ArchivoMail();
ClsSisMail.ArchivoMail Ventas = new ClsSisMail.ArchivoMail();
ClsSisMail.ArchivoMail Clientes = new ClsSisMail.ArchivoMail();
ClsSisMail.ArchivoMail Almacenes = new ClsSisMail.ArchivoMail();
Productos.Ruta = RutaProductos;
Ventas.Ruta = RutaVentas;
Clientes.Ruta = RutaClientes;
Almacenes.Ruta = RutaAlmacenes;
//FileInfo FIp = new FileInfo(RutaProductos);
//FileInfo FIv = new FileInfo(RutaVentas);
//FileInfo FIc = new FileInfo(RutaClientes);
//FileInfo FIa = new FileInfo(RutaAlmacenes);
ListaArchivos.Add(Productos);
ListaArchivos.Add(Ventas);
ListaArchivos.Add(Clientes);
ListaArchivos.Add(Almacenes);
ClsSisMail Correo = new ClsSisMail();
string Para = "julian@adssistemas.mx;rene.molina@adssistemas.mx;oscar.irigoyen@adssistemas.mx";
// string Para = "oscar.irigoyen@adssistemas.mx";
// string Para = "oscar.irigoyen@adssistemas.mx";
string Asunto = ErrorProceso ? $"Carga Layout Corteva {DateTime.Now.ToString("yyyy-MM-dd")}" : $"Carga Layout Corteva Error {DateTime.Now.ToString("yyyy-MM-dd")}";
Correo.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Cuerpo);
Correo.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Cuerpo, Archivos:ListaArchivos);
}catch(Exception ex)
{

View File

@@ -7028,8 +7028,6 @@
}
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places">
</script>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=drawing&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
</asp:Content>

View File

@@ -80,6 +80,8 @@