diff --git a/App_Code/Timbres.vb b/App_Code/Timbres.vb index fec0129a1..4690fd6a1 100644 --- a/App_Code/Timbres.vb +++ b/App_Code/Timbres.vb @@ -174,6 +174,16 @@ Public Class Timbres CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM = drT("Placa").ToString CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM = drT("Anio").ToString.ToEntero + If drT("ClaveTipoRemolque1").ToString <> "" Then + Dim Rem1 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque1"), .Placa = drT("PlacaRemolque1")} + CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem1) + End If + + If drT("ClaveTipoRemolque2").ToString <> "" Then + Dim Rem2 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque2"), .Placa = drT("PlacaRemolque2")} + CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem2) + End If + Dim DomOrigen As CFDICartaPorteDomicilio = Nothing DomOrigen = New CFDICartaPorteDomicilio With {.Calle = drT("DirOriCalle").ToString, diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 704255414..d0bf4fcef 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -49,9 +49,11 @@
  • Eliminar Movimiento
  • -
  • + + <%--
  • Refacturar Complemento -
  • + --%> +
  • Cancelar Movimiento y Complemento @@ -1215,29 +1217,30 @@ - -
    -
    -
    - -
    -
    -
    -
    - - Movimiento: - - Seleccione uno - - - +
    +
    +
    +
    + +
    +
    +
    +
    + Movimiento: + + Seleccione uno + + + +
    +
    -
    -
    - + + + + +
    +
    + Motivo de Cancelación: +
    +
    + + + + + + + + + +
    +
    + + diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index b80072e76..e8f7cfcc6 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -837,6 +837,13 @@ Partial Class Bancos_IE 'End If + + + DdlMotivoCancelacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa) + DdlMotivoCancelacion.DataBind() + DdlMotivoCancelacion.Items.Insert(0, New ListItem("Seleccione uno", "-1")) + + End If End Sub @@ -1096,7 +1103,7 @@ Partial Class Bancos_IE HplDepositado.NavigateUrl = $"/Bancos/IE.aspx?CveIE={CveIEDeposito2}" End If - LnkCancelarComplemento.Visible = False + 'LnkCancelarComplemento.Visible = False LnkCancelarComplementoImporte.Visible = False UppEliminarIE.Update() @@ -1267,7 +1274,7 @@ Partial Class Bancos_IE LnkEliminar.Visible = False 'LnkCancelar.Visible = False - LnkCancelarComplemento.Visible = True + 'LnkCancelarComplemento.Visible = True LnkCancelarComplementoImporte.Visible = True End If @@ -1275,7 +1282,7 @@ Partial Class Bancos_IE Else BtnEditar.Visible = False - LnkCancelarComplemento.Visible = False + ' LnkCancelarComplemento.Visible = False LnkCancelarComplementoImporte.Visible = False DVGenerarComplementoModal.Visible = False End If @@ -4587,22 +4594,23 @@ Partial Class Bancos_IE Dim ErrorCancelarComplemento As Boolean = True If CancelarComplemento Then - Dim ObjCancelacion As New Timbrado - 'Dim ObjBanco As New ClsBancos - If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then - If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then - CargaComplementosPago() - RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") - ErrorCancelarComplemento = False - Alert("El complemento se cancelo correctamente.") - End If + Dim CveMotivoCancelacion As Integer = DdlMotivoCancelacion.SelectedValue.ToEntero + Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero() - Else - If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then + If CveMotivoCancelacion <= 0 Or CveSATMotivoCancelacion <= 0 Then + Alert("Debe de elegir un motivo de cancelación.", TipoMensaje.MsgAdvertencia) + ErrorCancelarComplemento = True + End If - If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then + + If Not ErrorCancelarComplemento Then + + Dim ObjCancelacion As New Timbrado + If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then + + If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then CargaComplementosPago() RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") ErrorCancelarComplemento = False @@ -4610,12 +4618,25 @@ Partial Class Bancos_IE End If Else - Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) - End If + If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + If Banc.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then + CargaComplementosPago() + RegistraScript("$('#ModalCancelarComplemetno').modal('hide');") + ErrorCancelarComplemento = False + Alert("El complemento se cancelo correctamente.") + End If + + Else + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgAdvertencia) + End If + + End If End If + + Else ErrorCancelarComplemento = False End If @@ -5804,11 +5825,9 @@ Partial Class Bancos_IE #End Region #Region " COMPLEMENTOS PAGO " + Private Sub CargaComplementosPago() - - - Dim ObjBancos As New ClsBancos If UsuarioActual.CveRol = 1 Then @@ -5823,9 +5842,7 @@ Partial Class Bancos_IE GvComplementoPagos.DataSource = ObjBancos.DtResultados - If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 0 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 And ObjBancos.DtResultados.FiltraParametros(" CveIECancelacion > 0 ").Rows.Count = 0 Then - DVGenerarComplementoModal.Visible = True - End If + Else GvComplementoPagos.DataSource = Nothing End If @@ -5833,6 +5850,14 @@ Partial Class Bancos_IE If CveIE > 0 Then If ObjBancos.GetComplementoPagos(-1, CveIE, -1, UsuarioActual.CveEmpresa) Then + If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 0 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 Then + DVGenerarComplementoModal.Visible = True + End If + + If ObjBancos.DtResultados.FiltraParametros(" Estatus IN (1,3) ").Rows.Count = 1 And Tipo.ToUpper = "CARGO" And CveCliente > 0 And CveEstatusIE <> 2 Then + DVmotivoCancelacion.Visible = True + End If + ' GvComplementoPagos.DataSource = ObjBancos.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}) @@ -5844,11 +5869,14 @@ Partial Class Bancos_IE End If End If + ObjBancos.Dispose() GvComplementoPagos.DataBind() UpComplementoPagos.Update() + UpEliminarCotizacion.Update() 'Esto se ocupa para mostrar DVmotivoCancelacion + 'ObjBancos.Dispose() 'GvComplementoPagos.DataBind() 'UpComplementoPagos.Update() @@ -5863,9 +5891,16 @@ Partial Class Bancos_IE e.Row.Cells(4).Text = String.Format("", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolio"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE")))) If e.Row.DataKey("Estatus").Contiene("1", "3") Then + e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = True + e.Row.FCDropDownList("DdlMotivoCancelacion").Visible = True + e.Row.FCDropDownList("DdlMotivoCancelacion").DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa) + e.Row.FCDropDownList("DdlMotivoCancelacion").DataBind() + e.Row.FCDropDownList("DdlMotivoCancelacion").Items.Insert(0, New ListItem("Seleccione Uno", "-1")) + Else e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = False + e.Row.FCDropDownList("DdlMotivoCancelacion").Visible = False End If ElseIf e.Row.DataKey("Tipo") = "Egs" Then @@ -5876,6 +5911,7 @@ Partial Class Bancos_IE GvComplementoPagos.Columns(6).Visible = False GvComplementoPagos.Columns(7).Visible = False GvComplementoPagos.Columns(8).Visible = False + GvComplementoPagos.Columns(9).Visible = False End If @@ -5950,13 +5986,13 @@ Partial Class Bancos_IE Return Retorno End Function - Protected Sub LnkCancelarComplemento_Click(sender As Object, e As EventArgs) - If ChkConciliado.Checked Then - Alert("El documento seleccionado no se puede eliminar porque se encuentra conciliado.", TipoMensaje.MsgError) - Exit Sub - End If - Confirmacion("¿Seguro que desea Cancelar el documento por Sustitución?", "", String.Format("document.location.href=""/Ventas/ClientesAbonar.aspx?CveIESustitucion={0}&CveCliente={1}&CveMoneda={2}""", CveIE, CveCliente, CveMoneda), "") - End Sub + 'Protected Sub LnkCancelarComplemento_Click(sender As Object, e As EventArgs) + ' If ChkConciliado.Checked Then + ' Alert("El documento seleccionado no se puede eliminar porque se encuentra conciliado.", TipoMensaje.MsgError) + ' Exit Sub + ' End If + ' Confirmacion("¿Seguro que desea Cancelar el documento por Sustitución?", "", String.Format("document.location.href=""/Ventas/ClientesAbonar.aspx?CveIESustitucion={0}&CveCliente={1}&CveMoneda={2}""", CveIE, CveCliente, CveMoneda), "") + 'End Sub #End Region @@ -6126,6 +6162,9 @@ Partial Class Bancos_IE CalendarioCancelacion.StartDate = fechaCancelacion.ToDate UpEliminarCotizacion.Update() End If + + + RegistraScript("ShowDivCancelarIE();") End Sub Protected Sub BtnDesconciliar_Click(sender As Object, e As EventArgs) @@ -6605,6 +6644,16 @@ Partial Class Bancos_IE Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).BindingContainer, GridViewRow) + + + Dim CveMotivoCancelacion As Integer = GvRow.FCDropDownList("DdlMotivoCancelacion").SelectedValue.ToEntero + Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero() + + If CveMotivoCancelacion <= 0 Or CveSATMotivoCancelacion <= 0 Then + Alert("Debe de elegir un motivo de cancelación.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + CveComplementoPagoCancelar = GvRow.DataKey("CveComplementoPago").ToEntero FolioFiscalCancelar = GvRow.DataKey("FolioFiscal").ToString '' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC @@ -6622,7 +6671,7 @@ Partial Class Bancos_IE End If Else - Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveSATMotivoCancelacion:=2).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero() + If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then @@ -6681,6 +6730,8 @@ Partial Class Bancos_IE RegistraScript("$('#ModalCancelarComplemetno').modal('show');") DivFechaCancelación.Visible = True + CargaComplementosPago() + UpModalCancelarComplemetno.Update() Else diff --git a/Bancos/RepComplementoPago.aspx b/Bancos/RepComplementoPago.aspx index 74cdfbed1..73d4236b4 100644 --- a/Bancos/RepComplementoPago.aspx +++ b/Bancos/RepComplementoPago.aspx @@ -177,7 +177,7 @@ - + Cancelar SAT @@ -189,49 +189,7 @@ - diff --git a/Bancos/RepComplementoPago.aspx.vb b/Bancos/RepComplementoPago.aspx.vb index 2669c672c..d79cc385c 100644 --- a/Bancos/RepComplementoPago.aspx.vb +++ b/Bancos/RepComplementoPago.aspx.vb @@ -150,9 +150,9 @@ Partial Class Bancos_RepComplementoPago e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=pdf&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString))) e.Row.FCLinkButton("LnkSendMail").Visible = True - If DdlOpcion.SelectedValue.ToEntero = 2 Then - e.Row.FCLinkButton("LnkCancelarFolioFiscal").Visible = True - End If + 'If DdlOpcion.SelectedValue.ToEntero = 2 Then + ' e.Row.FCLinkButton("LnkCancelarFolioFiscal").Visible = True + 'End If End If @@ -529,7 +529,11 @@ Partial Class Bancos_RepComplementoPago Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) - End Sub - + End Sub + + + + + End Class diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index 644b42cd9..15c94a036 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -207,7 +207,7 @@ - + @@ -235,7 +235,7 @@ - + <%-- diff --git a/General/CatCategorias.aspx.vb b/General/CatCategorias.aspx.vb index 5b000f4c2..534d63aeb 100644 --- a/General/CatCategorias.aspx.vb +++ b/General/CatCategorias.aspx.vb @@ -41,12 +41,14 @@ Partial Class General_CatCategorias If ObjCategorias.AddCategorias(TxtCategoria.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then TxtCategoria.Text = "" Alert("El nueva Categoría se guardó correctamente.", TipoMensaje.MsgInformacion) + GlobalDTGralCategorias(UsuarioActual.CveEmpresa) = Nothing End If ElseIf HdnModalidadCategoria.Value = "U" Then If ObjCategorias.UpdateCategoria(TxtCategoria.Text.Trim, ChkEstatus.Checked, HdnIDCategoria.Value.ToEntero) Then TxtCategoria.Text = "" ChkEstatus.Checked = True Alert("La Categoría se actualizó correctamente.", TipoMensaje.MsgInformacion) + GlobalDTGralCategorias(UsuarioActual.CveEmpresa) = Nothing End If End If diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx index fd349e09d..0d1a3d2f8 100644 --- a/Inventarios/RecepcionAlmacen.aspx +++ b/Inventarios/RecepcionAlmacen.aspx @@ -14,6 +14,9 @@
  •  
  • +
  • + Cargar Excel +
  • Recepción Almacén @@ -1087,6 +1090,74 @@ + + + diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index 7fbb1cb32..c1fc2f3eb 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -5,13 +5,12 @@ Imports Microsoft.Reporting.WebForms Imports System.Data Imports Extensiones Imports System.IO - +Imports GemBox.Spreadsheet Partial Class Inventarios_RecepcionAlmacen Inherits ClsPaginas #Region "PROPIEDADES" - Private Shared missing As Object = System.Reflection.Missing.Value Private Property EstatusInicial As String Get EstatusInicial = ViewState("EstatusInicial").ToString @@ -44,9 +43,6 @@ Partial Class Inventarios_RecepcionAlmacen Else Return CType(ViewState("DtInv"), DataTable) End If - - - End Get Set(value As DataTable) ViewState("DtInv") = value @@ -988,11 +984,15 @@ Partial Class Inventarios_RecepcionAlmacen RecibidaCompleta = False + '' carga desde excel + ' HplCargaExcel.Enabled = True + Dim CargaSoloUsados As Boolean = False If ObjInventario.RecepcionAlmacenGet(pCveCompra, BuscaEntregaDirecta, -1, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then Dim DtRecepcion As DataTable = ObjInventario.DtResultados.Copy() + DtInv = DtRecepcion Dim NumUsados = ObjInventario.DtResultados.COUNT("EsUsado", "EsUsado = True").ToEntero() Dim NumProductos = ObjInventario.DtResultados.COUNT("EsUsado", "EsUsado = False").ToEntero() Dim CveSubProyecto As Integer @@ -4795,6 +4795,147 @@ Partial Class Inventarios_RecepcionAlmacen #End Region +#Region "CargaExcel" + + Private Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click + + If TxtExcel.getfiles().Archivos.Count > 0 Then + Dim file As Archivo = TxtExcel.getfiles().Archivos(0) + Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.path + Dim Tipo As String = If(file.Extension.Contiene("xlsx", "xlsx", "xlsm", "xlsb", "xls"), "EXCEL", "CSV") + CargarArchivoExcel(Directorio, file.filename) + Else + Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError) + End If + + End Sub + + Protected Sub CargarArchivoExcel(Ruta As String, FileName As String) + SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) + + Dim dt As DataTable = Nothing + Dim ErrorArchivo = False + + Try + dt = ReadExcelFile(Ruta + FileName, True) + Catch ex As Exception + ErrorArchivo = True + OnError("Ocurrio un error al leer el archivo
    " & ex.Message, ex) + End Try + + If Not ErrorArchivo AndAlso dt IsNot Nothing Then + + If Not dt.Columns(0).ColumnName = "Cantidad" Then + Alert("El nombre de la primera columna debe ser 'Cantidad'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(1).ColumnName = "Código" Then + Alert("El nombre de la segunda columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(2).ColumnName = "Producto" Then + Alert("El nombre de la tercera columna debe ser 'Producto'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + If Not dt.Columns(3).ColumnName = "Serie" Then + Alert("El nombre de la cuarta columna debe ser 'Serie'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + 'If Not dt.Columns(4).ColumnName = "Lote" Then + ' Alert("El nombre de la cuarta columna debe ser 'Lote'. Favor de corregirlo", TipoMensaje.MsgError) + ' Exit Sub + 'End If + 'If Not dt.Columns(5).ColumnName = "FechaCaducidad" Then + ' Alert("El nombre de la cuarta columna debe ser 'Fecha Caducidad'. Favor de corregirlo", TipoMensaje.MsgError) + ' Exit Sub + 'End If + + + dt.TableName = "Datos" + Dim ProductosNoCargados As New StringBuilder() + Dim RowsCargados As Integer = 0 + Dim RowsNoCargados As Integer = 0 + Dim NoPSConSerie As Integer = 0 + + If CveCompraSurtir > 0 Then + 'DtRecepcion + Try + 'Dim DtPS As DataTable = GlobalDTPS(UsuarioActual.CveEmpresa) + 'If(dt.Columns.Contains("PorcentajeIVA"), Round(Row("PorcentajeIVA").ToString.ToDecimal, 4), 0) + For Each RowExcel As DataRow In dt.Rows + If RowExcel("Código").ToString() <> "" Then + + Dim RowPS = DtInv.FiltroPrimero(String.Format("Codigo='{0}'", RowExcel("Código").ToString())) + + If RowPS IsNot Nothing AndAlso RowPS("CvePS").ToString().ToEntero() > 0 Then + + Dim CveProducto As Integer = RowPS("CvePS").ToString().ToEntero() + Dim CveUnidadMedida As Integer = RowPS("CveUM").ToString().ToEntero() + + Dim Cantidad As Double = RowExcel("Cantidad").ToString().ToDecimal() + Dim Serie As String = RowExcel("Serie").ToString() + Dim Lote As String '= RowExcel("Lote").ToString() + Dim FechaCaducidad As Date '= If(RowExcel("FechaCaducidad").ToString = "", MinFecha, RowExcel("FechaCaducidad").ToString.ToDate) + Dim Observaciones As String '= If(dt.Columns.Contains("Observaciones"), RowExcel("Observaciones").ToString, "").ToString + + + Dim Valido As Boolean = True + + If RowPS("AplicaSerie").ToString() = "True" And (String.IsNullOrEmpty(Serie.Trim()) OrElse Serie = "-1") Then + Valido = False + Alert($"El producto '{RowPS("PS")}' requiere 'Serie'", TipoMensaje.MsgAdvertencia) + ProductosNoCargados.AppendFormat("{0},", RowPS("PS").ToString()) + End If + + If RowPS("AplicaSerie").ToString() = "True" AndAlso Not String.IsNullOrEmpty(Serie.Trim()) Then + NoPSConSerie = NoPSConSerie + 1 + End If + + + If Valido Then + CveConsecSerie = RowPS("Consec").ToString.ToEntero + AgregaSerie(RowExcel("Serie").ToString, 1) + + 'AgregarPS(Cantidad, CveProducto, CveUnidadMedida, Observaciones, CveSeccionAlmacen:=DdlSeccionAlmacen.SelectedValue.ToEntero, SeccionAlmacen:=DdlSeccionAlmacen.SelectedItem.Text, Serie:=If(Not String.IsNullOrEmpty(Serie), Serie, ""), Lote:=Lote, FechaCaducidad:=FechaCaducidad, Limpia:=False) + RowsCargados = RowsCargados + 1 + Else + RowsNoCargados = RowsNoCargados + 1 + ProductosNoCargados.AppendFormat("{0},", RowPS("PS").ToString()) + End If + + Else + RowsNoCargados = RowsNoCargados + 1 + ProductosNoCargados.AppendFormat("{0},", RowExcel("Producto").ToString()) + End If + End If + Next + Catch ex As Exception + OnError("Ocurrió un error al cargar los productos." & ProductosNoCargados.ToString(), ex) + Finally + + Dim MensajeFinal As New StringBuilder() + If RowsNoCargados = 0 AndAlso RowsCargados > 0 Then + MensajeFinal.Append("Los productos se cargaron correctamente.

    ") + End If + If RowsCargados > 0 Then + MensajeFinal.Append("Se cargaron " & RowsCargados & " productos correctamente.") + End If + If RowsNoCargados > 0 Then + MensajeFinal.Append("No se pudieron cargar " & RowsNoCargados & " productos.
    Los siguientes productos no se pudieron cargar: " & ProductosNoCargados.ToString()) + End If + + Alert(MensajeFinal.ToString()) + + End Try + Else + Alert("No hay seleccionada compra", TipoMensaje.MsgError) + End If + + + End If + End Sub +#End Region + 'Protected Sub BtnGuardarDocumento_Click(sender As Object, e As EventArgs) ' Dim Filesgral As List(Of Archivo) = TxtDocumento.getfiles().Archivos @@ -4899,31 +5040,5 @@ Partial Class Inventarios_RecepcionAlmacen End Class - 'Private Function GuardaDocumentoBitacora(ObjEventoBitacora As ClsOIEventos, CveMovimiento As Integer) As Boolean - ' Dim Retorno = True - ' Dim Archivo As System.IO.FileInfo = Nothing - ' For Each Dr As DataRow In DtDocumentos.Rows - ' If ObjEventoBitacora.AddEventoBitacora("Documento Relacionado", Dr("FileExtension").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveMovimientoAlmacen:=CveMovimiento) Then - ' Try - ' If Dr("Documento").ToString <> "" Then - ' Archivo = New System.IO.FileInfo(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, Dr("Documento").ToString)) - ' If Archivo.Exists() Then - ' File.Move(Archivo.ToString, String.Format("{0}OI\OI{1}{2}", UsuarioActual.Empresa.Ruta, ObjEventoBitacora.CveEvento.ToString, Archivo.Extension)) - ' Else - ' Retorno = False - ' End If - ' End If - ' Catch ex As Exception - ' Retorno = False - ' Exit For - ' End Try - ' Else - ' Retorno = False - ' Exit For - ' End If - ' Next - - ' Return Retorno - 'End Function End Class diff --git a/Inventarios/RepEntradasSalidas.aspx b/Inventarios/RepEntradasSalidas.aspx index b2553c302..738610fb6 100644 --- a/Inventarios/RepEntradasSalidas.aspx +++ b/Inventarios/RepEntradasSalidas.aspx @@ -119,7 +119,7 @@
    Proveedor
    - +
    Categoría
    @@ -240,6 +240,7 @@ + diff --git a/Inventarios/RepEntradasSalidas.aspx.vb b/Inventarios/RepEntradasSalidas.aspx.vb index 625fbaace..aa7f9afff 100644 --- a/Inventarios/RepEntradasSalidas.aspx.vb +++ b/Inventarios/RepEntradasSalidas.aspx.vb @@ -94,11 +94,15 @@ Partial Class Inventarios_ReporteEntradasSalidas Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201) dvImp.Visible = TienePermisoImportes - GvM.Columns(10).Visible = TienePermisoImportes GvM.Columns(11).Visible = TienePermisoImportes GvM.Columns(12).Visible = TienePermisoImportes GvM.Columns(13).Visible = TienePermisoImportes GvM.Columns(14).Visible = TienePermisoImportes + GvM.Columns(15).Visible = TienePermisoImportes + + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + GvM.Columns(10).Visible = TienePermisoImportes + End If End Sub Private Sub CargaCombos() @@ -126,9 +130,9 @@ Partial Class Inventarios_ReporteEntradasSalidas DdlMoneda.Items.Insert(0, New ListItem("Todos", "-1")) 'Llenar dropdownlist de proveedores - DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) - DdlProveedor.DataBind() - DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1")) + 'DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) + 'DdlProveedor.DataBind() + 'DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1")) 'CARGA CLASIFICACIONES Dim ObjClasificaciones As New ClsClasificaciones @@ -139,7 +143,6 @@ Partial Class Inventarios_ReporteEntradasSalidas DdlClasificacion.DataBind() DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1")) - DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa) DdlCategoria.DataBind() @@ -148,6 +151,9 @@ Partial Class Inventarios_ReporteEntradasSalidas 'Carga Productos DdlPS.setEsWebService(True) + DdlProveedor.setEsWebService(True) + DdlProveedor.SelectedText = "" + DdlProveedor.SelectedValue = "-1" 'If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) @@ -160,7 +166,7 @@ Partial Class Inventarios_ReporteEntradasSalidas ' DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) 'End If - DdlMovs.SelectedValue = "2" + DdlMovs.SelectedValue = "3" 'Llenar dropdownlist de personal DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa) @@ -179,7 +185,6 @@ Partial Class Inventarios_ReporteEntradasSalidas CargarMarcas() - DdlTipoAlmacen.DataSource = GlobalDTTipoAlmacen(1) DdlTipoAlmacen.DataBind() DdlTipoAlmacen.Items.Insert(0, New ListItem("Todos", "-1")) @@ -187,7 +192,8 @@ Partial Class Inventarios_ReporteEntradasSalidas End Sub Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) - CargaClasificaciones() + CargaClasificaciones(DdlCategoria.SelectedValue.ToEntero) + End Sub Private Sub CargaClasificaciones(CveCategoria As Integer) @@ -354,7 +360,7 @@ Partial Class Inventarios_ReporteEntradasSalidas Dim TipoMov = If(DdlTipoMovimiento.SelectedValue = "-1", "", $" Tipo Movimiento: {DdlTipoMovimiento.SelectedItem.Text}") Dim Moneda = If(DdlMoneda.SelectedValue = "-1", "", $" Moneda: {DdlMoneda.SelectedItem.Text}") Dim SoloConMov = If(DdlMovs.SelectedValue = "-1", "", $" Solo Movimientos: {DdlMovs.SelectedItem.Text}") - Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $" Proveedor: {DdlProveedor.SelectedItem.Text}") + Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $" Proveedor: {DdlProveedor.SelectedText}") Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $" Clasificación: {DdlClasificacion.SelectedItem.Text}") Dim Familia = If(DdlCategoria.SelectedValue = "-1", "", $" Categoria: {DdlCategoria.SelectedItem.Text}") Dim SubFamilia = If(DdlSubFamilia.SelectedValue = "-1", "", $" SubFamilia: {DdlSubFamilia.SelectedItem.Text}") @@ -419,8 +425,8 @@ Partial Class Inventarios_ReporteEntradasSalidas GvM.Columns(3).Visible = ChkClasificacion2.Checked GvM.Columns(5).Visible = ChkSeccionAlmacen.Checked - GvM.Columns(15).Visible = ChkFechaUltimaCompra.Checked - GvM.Columns(16).Visible = ChkFechaUltimaVenta.Checked + GvM.Columns(16).Visible = ChkFechaUltimaCompra.Checked + GvM.Columns(17).Visible = ChkFechaUltimaVenta.Checked 'GvM.Columns(4).Visible = ChkSeccionAlmacen.Checked If ChkSeccionAlmacen.Checked OrElse ChkCodigoBarras.Checked OrElse ChkCodigoAlterno.Checked Then diff --git a/Inventarios/RepEntregaAlmacenRuta.aspx.cs b/Inventarios/RepEntregaAlmacenRuta.aspx.cs index 6f8694a6a..278181bff 100644 --- a/Inventarios/RepEntregaAlmacenRuta.aspx.cs +++ b/Inventarios/RepEntregaAlmacenRuta.aspx.cs @@ -376,7 +376,7 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas } else { - if( ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptor, RFCEmisor, CvePACCancelacion)) { + if( ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptor, RFCEmisor, CvePACCancelacion,CveSATMotivoCancelacion: 3)) { if (ObjGenerales.CancelarTimbreTimbrado(CveTimbre, DateTime.Now, CvePACCancelacion, ObjCancelacion.CancelacionAcuse, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) { diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 6c53d676e..8daf157f8 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -155,14 +155,16 @@ Partial Class Ventas_ClientesAbonar ViewState("Mail") = value End Set End Property - Private Property CveIESustitucion As Integer - Get - Return ViewState("CveIESustitucion").ToString.ToEntero - End Get - Set(value As Integer) - ViewState("CveIESustitucion") = value - End Set - End Property + + 'Private Property CveIESustitucion As Integer + ' Get + ' Return ViewState("CveIESustitucion").ToString.ToEntero + ' End Get + ' Set(value As Integer) + ' ViewState("CveIESustitucion") = value + ' End Set + 'End Property + Private Property CFDIRelacionadoSustitucion As String Get If ViewState("CFDIRelacionadoSustitucion") Is Nothing Then @@ -244,9 +246,9 @@ Partial Class Ventas_ClientesAbonar FechaCorteIE = DateTime.Now - If CveIESustitucion > 0 Then - CargaIESustituir() - End If + 'If CveIESustitucion > 0 Then + ' CargaIESustituir() + 'End If Dim dia As Integer = If(UsuarioActual.CveEmpresa = 13, Now.Day - 1, Now.Day) Fecha = (dia.ToString + "/" + Now.Month.ToString + "/" + Now.Year.ToString).ToDate @@ -334,7 +336,9 @@ Partial Class Ventas_ClientesAbonar Retorno = True CargaCuentas() CargaTipoTransaccion() - TxtFechaDocumento.Text = IIf(CveIESustitucion > 0, FechaCorteIE.ToShortDateString, Now.ToShortDateString).ToString + + 'TxtFechaDocumento.Text = IIf(CveIESustitucion > 0, FechaCorteIE.ToShortDateString, Now.ToShortDateString).ToString + TxtFechaDocumento.Text = Now.ToShortDateString.ToString TxtAboneA.Enabled = False LbEncabezado.Text = String.Format("{1}", CveCliente, ObjCliente.NombreComercial) @@ -372,10 +376,12 @@ Partial Class Ventas_ClientesAbonar Dim FechaI As String = IfNull(Request("FechaI"), "-1") Dim FechaF As String = IfNull(Request("FechaF"), "-1") - Dim FechaCorte As Date = IIf(CveIESustitucion > 0, (FechaCorteIE.ToDate).ToShortDateString, DateTime.Now.AddYears(1).ToShortDateString).ToString.ToDate + 'Dim FechaCorte As Date = IIf(CveIESustitucion > 0, (FechaCorteIE.ToDate).ToShortDateString, DateTime.Now.AddYears(1).ToShortDateString).ToString.ToDate + Dim FechaCorte As Date = DateTime.Now.AddYears(1).ToShortDateString.ToString.ToDate Dim SumDescuentoProntoPago As Double = 0.0 - If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte, CveIESustitucion:=CveIESustitucion) Then + 'If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte, CveIESustitucion:=CveIESustitucion) Then + If Mov.GetCxCClienteDetalle(ViewState("CveCliente").ToString.ToEntero, FechaI, FechaF, pCveMoneda, CveSubProyecto, UsuarioActual.CveEmpresa, CveClienteSucursal, FechaCorte:=FechaCorte) Then Dim TmpCxCAux As DataTable TmpCxCAux = Mov.DtResultados.FiltraParametros("Saldo > 0", "Fecha,SerieFolio") SumDescuentoProntoPago = TmpCxCAux.SUM("DescuentoProntoPago") @@ -385,6 +391,7 @@ Partial Class Ventas_ClientesAbonar CveMoneda = pCveMoneda End If + TxtImporte.Text = "" TxtObservaciones.Text = "" If SumDescuentoProntoPago > 0.0 Then @@ -701,12 +708,12 @@ Partial Class Ventas_ClientesAbonar '02-05-2018 MANDAMOS CANCELAR EL COMPLEMENTO A SUSTITUIR Dim ErrorCancelarIE As Boolean = False - If CveIESustitucion > 0 Then - ErrorCancelarIE = CancelarIE() - If ErrorCancelarIE Then - Exit Sub - End If - End If + 'If CveIESustitucion > 0 Then + ' ErrorCancelarIE = CancelarIE() + ' If ErrorCancelarIE Then + ' Exit Sub + ' End If + 'End If Dim ObjIE As New ClsBancos() Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL) @@ -761,7 +768,8 @@ Partial Class Ventas_ClientesAbonar End If - CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=CveIESustitucion, CveProveedorIntermediario:=CveProvIntermediario) + 'CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=CveIESustitucion, CveProveedorIntermediario:=CveProvIntermediario) + CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveIESustitucion:=-1, CveProveedorIntermediario:=CveProvIntermediario) Else If RblTipoPago.SelectedValue.Contiene("3") Then CveIE = DdlIngreso.SelectedValue.ToEntero @@ -1726,16 +1734,18 @@ Partial Class Ventas_ClientesAbonar End If 'BITACORA - If MsgError = "" Then - If CveIESustitucion > 0 And ComplementoSustitucionGenerado Then - If Not ObjEvento.AddEventoBitacora($"Complemento de pago Cancelado por sustitución con Folio {TxtFolio.Text}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIESustitucion) Then - MsgError = "Ocurrió un error al agregar la bitacora" - End If - If Not ObjEvento.AddEventoBitacora($"Complemento de pago Generado por Sustitución de {FolioIECancelado}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIE) Then - MsgError = "Ocurrió un error al agregar la bitacora" - End If - End If - End If + 'If MsgError = "" Then + + ' If CveIESustitucion > 0 And ComplementoSustitucionGenerado Then + ' If Not ObjEvento.AddEventoBitacora($"Complemento de pago Cancelado por sustitución con Folio {TxtFolio.Text}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIESustitucion) Then + ' MsgError = "Ocurrió un error al agregar la bitacora" + ' End If + ' If Not ObjEvento.AddEventoBitacora($"Complemento de pago Generado por Sustitución de {FolioIECancelado}", "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIE) Then + ' MsgError = "Ocurrió un error al agregar la bitacora" + ' End If + ' End If + + 'End If Catch ex As Exception MsgError = "Ocurrió un error al guardar el movimiento" @@ -2269,7 +2279,7 @@ Partial Class Ventas_ClientesAbonar DdlCuenta.SelectedValue = "-1" DdlTipoTransaccion.SelectedValue = "-1" - CveIESustitucion = "-1" + 'CveIESustitucion = "-1" CFDIRelacionadoSustitucion = "-1" FechaCorteIE = DateTime.Now.ToDate IDPoliza = -1 @@ -2500,7 +2510,8 @@ Partial Class Ventas_ClientesAbonar Dim ObjBancos As New ClsBancos - If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, If(CveIESustitucion > 0, 2, 1), UsuarioActual.CveEmpresa, -1) Then + 'If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, If(CveIESustitucion > 0, 2, 1), UsuarioActual.CveEmpresa, -1) Then + If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, 1, UsuarioActual.CveEmpresa, -1) Then If Not ObjBancos.DtResultados.Rows.Count > 0 Then ObjBancos.Dispose() Alert("No se generaron complementos de pago porque no hay facturas con método de pago PPD", TipoMensaje.MsgAdvertencia) @@ -2512,7 +2523,9 @@ Partial Class Ventas_ClientesAbonar ObjBancos.IniciaTransacSQL() - If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=If(CveIESustitucion > 0, True, False)) Then + + 'If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=If(CveIESustitucion > 0, True, False)) Then + If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=False) Then ObjBancos.Commit() ComplementoSustitucionGenerado = True @@ -2883,183 +2896,185 @@ Partial Class Ventas_ClientesAbonar #End Region #Region "COMPLEMENTO DE PAGO - ELIMINAR POR SUSTITUCION" - Protected Sub CargaIESustituir() - Dim ObjIE As New ClsBancos() - If ObjIE.GetBancosIE(CveIESustitucion, UsuarioActual.CveEmpresa) Then - If ObjIE.DtResultados.Rows.Count > 0 Then - FechaCorteIE = ObjIE.FechaDocumento - CveMoneda = ObjIE.CveMoneda - CveMonedaFiltro = CveMoneda - IDPoliza = ObjIE.IDPoliza - FolioIECancelado = ObjIE.Folio - End If - End If - ObjIE.Dispose() - UpDatos.Update() - End Sub - Function CancelarIE() As Boolean - Dim ErrorCancelar = False - If Not IsDate(TxtFechaDocumento.Text.ToDate) Then - Alert("El campo fecha cancelación es incorrecto. Por favor verifique y vuelva a intentar") - Return True - End If + 'Protected Sub CargaIESustituir() + ' Dim ObjIE As New ClsBancos() + ' If ObjIE.GetBancosIE(CveIESustitucion, UsuarioActual.CveEmpresa) Then + ' If ObjIE.DtResultados.Rows.Count > 0 Then + ' FechaCorteIE = ObjIE.FechaDocumento + ' CveMoneda = ObjIE.CveMoneda + ' CveMonedaFiltro = CveMoneda + ' IDPoliza = ObjIE.IDPoliza + ' FolioIECancelado = ObjIE.Folio + ' End If + ' End If + ' ObjIE.Dispose() + ' UpDatos.Update() + 'End Sub - Dim Banc As New ClsBancos - Banc.IniciaTransacSQL() + 'Function CancelarIE() As Boolean + ' Dim ErrorCancelar = False - Dim ObjAC As ClsContPAQi = Nothing - If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then - ObjAC = New ClsContPAQi(UsuarioActual.Empresa) - ObjAC.IniciaTransacSQL() - End If + ' If Not IsDate(TxtFechaDocumento.Text.ToDate) Then + ' Alert("El campo fecha cancelación es incorrecto. Por favor verifique y vuelva a intentar") + ' Return True + ' End If - Dim IdPolizaNueva = -1 - Dim FolioPolizaNueva = -1 + ' Dim Banc As New ClsBancos + ' Banc.IniciaTransacSQL() - Try - 'CANCELA IE CONTABILIZADO - If IDPoliza > 0 Then - If ObjAC Is Nothing Then - ErrorCancelar = True - End If + ' Dim ObjAC As ClsContPAQi = Nothing + ' If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad Then + ' ObjAC = New ClsContPAQi(UsuarioActual.Empresa) + ' ObjAC.IniciaTransacSQL() + ' End If - If Not ErrorCancelar Then - Dim dt As DataTable - If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then - dt = ObjAC.DtResultados + ' Dim IdPolizaNueva = -1 + ' Dim FolioPolizaNueva = -1 - ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS) - If dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaDocumento.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaDocumento.Text.ToDate.Year Then - IdPolizaNueva = ObjAC.AddPoliza(3, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, TxtFechaDocumento.Text.ToDate) + ' Try + ' 'CANCELA IE CONTABILIZADO + ' If IDPoliza > 0 Then + ' If ObjAC Is Nothing Then + ' ErrorCancelar = True + ' End If - If IdPolizaNueva > 0 Then - FolioPolizaNueva = ObjAC.Folio + ' If Not ErrorCancelar Then + ' Dim dt As DataTable + ' If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then + ' dt = ObjAC.DtResultados - 'CREA POLIZA NEGATIVA - For Each dr As DataRow In dt.Rows - If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, TxtFechaDocumento.Text.ToDate, "") Then - ErrorCancelar = True : Exit For - End If - Next + ' ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS) + ' If dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaDocumento.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaDocumento.Text.ToDate.Year Then + ' IdPolizaNueva = ObjAC.AddPoliza(3, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, TxtFechaDocumento.Text.ToDate) - 'AJUSTA POLIZA - If Not ErrorCancelar Then - If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then - ErrorCancelar = True - End If - End If + ' If IdPolizaNueva > 0 Then + ' FolioPolizaNueva = ObjAC.Folio - 'CANCELA IE - If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then - ErrorCancelar = True - End If - End If + ' 'CREA POLIZA NEGATIVA + ' For Each dr As DataRow In dt.Rows + ' If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, TxtFechaDocumento.Text.ToDate, "") Then + ' ErrorCancelar = True : Exit For + ' End If + ' Next - Else - ErrorCancelar = True - End If + ' 'AJUSTA POLIZA + ' If Not ErrorCancelar Then + ' If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then + ' ErrorCancelar = True + ' End If + ' End If - Else + ' 'CANCELA IE + ' If Not ErrorCancelar Then + ' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then + ' ErrorCancelar = True + ' End If + ' End If - 'LIMPIA POLIZA PONIENDO IMPORTE EN CEROS - For Each dr As DataRow In dt.Rows - If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then - ErrorCancelar = True : Exit For - End If - Next + ' Else + ' ErrorCancelar = True + ' End If - 'AJUSTA POLIZA - If Not ErrorCancelar Then - If Not ObjAC.AjustaPoliza(IDPoliza) Then - ErrorCancelar = True - End If - End If + ' Else - 'CANCELA IE - If Not ErrorCancelar Then - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then - ErrorCancelar = True - End If - End If + ' 'LIMPIA POLIZA PONIENDO IMPORTE EN CEROS + ' For Each dr As DataRow In dt.Rows + ' If Not ObjAC.UpdateMovimiento(dr("Id").ToString.ToEntero, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "1", 0, dr("Referencia").ToString, dr("Concepto").ToString, dr("IdSegNeg").ToString.ToEntero, dr("Fecha").ToString.ToDate) Then + ' ErrorCancelar = True : Exit For + ' End If + ' Next - End If + ' 'AJUSTA POLIZA + ' If Not ErrorCancelar Then + ' If Not ObjAC.AjustaPoliza(IDPoliza) Then + ' ErrorCancelar = True + ' End If + ' End If - End If - End If - Else + ' 'CANCELA IE + ' If Not ErrorCancelar Then + ' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then + ' ErrorCancelar = True + ' End If + ' End If - If FechaCorteIE.Month < TxtFechaDocumento.Text.ToDate.Month Or FechaCorteIE.Year < TxtFechaDocumento.Text.ToDate.Year Then - 'CANCELA IE MES ANTERIOR - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then - ErrorCancelar = True - End If - Else - 'CANCELA IE MES ACTUAL - If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then - ErrorCancelar = True - End If - End If + ' End If - End If + ' End If + ' End If + ' Else - If Not ErrorCancelar Then - If Banc.GetComplementoPagos(-1, CveIESustitucion, -1, UsuarioActual.CveEmpresa) Then + ' If FechaCorteIE.Month < TxtFechaDocumento.Text.ToDate.Month Or FechaCorteIE.Year < TxtFechaDocumento.Text.ToDate.Year Then + ' 'CANCELA IE MES ANTERIOR + ' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, True, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then + ' ErrorCancelar = True + ' End If + ' Else + ' 'CANCELA IE MES ACTUAL + ' If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIESustitucion, False, IdPolizaNueva, FolioPolizaNueva, TxtFechaDocumento.Text.ToDate) > 0 Then + ' ErrorCancelar = True + ' End If + ' End If - Dim CveComplementoPago As Integer = -1 + ' End If - If Banc.DtResultados.Rows.Count > 0 Then - 'OBTENEMOS EL UUID DEL COMPLEMENTO A CANCELAR POR SUSTITUCION - CFDIRelacionadoSustitucion = Banc.DtResultados.Rows(0)("FolioFiscal") - CveComplementoPago = Banc.DtResultados(0)("CveComplementoPago").ToString().ToEntero - End If + ' If Not ErrorCancelar Then + ' If Banc.GetComplementoPagos(-1, CveIESustitucion, -1, UsuarioActual.CveEmpresa) Then - 'ACTUALIZA FOLIOS CANCELADOS - If Banc.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}).Rows.Count > 0 Then - If Not Banc.GetFoliosCancelados(UsuarioActual.CveEmpresa) Then - ErrorCancelar = True - Else - Dim FolioCancelado = $"{FolioIECancelado}_C_{Banc.DtResultados(0)("Cantidad").ToString().ToEntero + 1}" + ' Dim CveComplementoPago As Integer = -1 - If Not Banc.UpdateFolioCancelado(CveIESustitucion.ToEntero, Folio:=FolioCancelado) Then - ErrorCancelar = True - End If - End If - End If + ' If Banc.DtResultados.Rows.Count > 0 Then + ' 'OBTENEMOS EL UUID DEL COMPLEMENTO A CANCELAR POR SUSTITUCION + ' CFDIRelacionadoSustitucion = Banc.DtResultados.Rows(0)("FolioFiscal") + ' CveComplementoPago = Banc.DtResultados(0)("CveComplementoPago").ToString().ToEntero + ' End If - 'ACTUALIZA ESTATUS DE COMPLEMENTO DE PAGO A CANCELADO = 2 - If Not ErrorCancelar And CveComplementoPago > 0 Then - If Not Banc.UpdateComplementoPagoCancelado(CveComplementoPago, 2, UsuarioActual.Empresa.CvePAC, UsuarioActual.CveEmpresa, DateTime.Now) Then - ErrorCancelar = True - End If - End If - End If - End If - Catch ex As Exception - ErrorCancelar = True - OnError("Ocurrió un error al cancelar el IE", ex) - End Try + ' 'ACTUALIZA FOLIOS CANCELADOS + ' If Banc.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "SerieFolio", "Fecha", "CveIE"}).Rows.Count > 0 Then + ' If Not Banc.GetFoliosCancelados(UsuarioActual.CveEmpresa) Then + ' ErrorCancelar = True + ' Else + ' Dim FolioCancelado = $"{FolioIECancelado}_C_{Banc.DtResultados(0)("Cantidad").ToString().ToEntero + 1}" - If Not ErrorCancelar Then - Banc.Commit() - If ObjAC IsNot Nothing Then ObjAC.Commit() + ' If Not Banc.UpdateFolioCancelado(CveIESustitucion.ToEntero, Folio:=FolioCancelado) Then + ' ErrorCancelar = True + ' End If + ' End If + ' End If - Dim Msg As New StringBuilder - Msg.Append("El movimiento bancario quedó cancelado exitosamente.") + ' 'ACTUALIZA ESTATUS DE COMPLEMENTO DE PAGO A CANCELADO = 2 + ' If Not ErrorCancelar And CveComplementoPago > 0 Then + ' If Not Banc.UpdateComplementoPagoCancelado(CveComplementoPago, 2, UsuarioActual.Empresa.CvePAC, UsuarioActual.CveEmpresa, DateTime.Now) Then + ' ErrorCancelar = True + ' End If + ' End If + ' End If + ' End If + ' Catch ex As Exception + ' ErrorCancelar = True + ' OnError("Ocurrió un error al cancelar el IE", ex) + ' End Try - If IdPolizaNueva > 0 Then Msg.AppendFormat("

    Ver Póliza de cancelación", IdPolizaNueva) - Alert(Msg.ToString, TipoMensaje.MsgInformacion) - Else - Banc.RollBack() - If ObjAC IsNot Nothing Then ObjAC.RollBack() - Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError) - End If + ' If Not ErrorCancelar Then + ' Banc.Commit() + ' If ObjAC IsNot Nothing Then ObjAC.Commit() - If ObjAC IsNot Nothing Then ObjAC.Dispose() - Banc.Dispose() - Return ErrorCancelar - End Function + ' Dim Msg As New StringBuilder + ' Msg.Append("El movimiento bancario quedó cancelado exitosamente.") + + ' If IdPolizaNueva > 0 Then Msg.AppendFormat("

    Ver Póliza de cancelación", IdPolizaNueva) + ' Alert(Msg.ToString, TipoMensaje.MsgInformacion) + ' Else + ' Banc.RollBack() + ' If ObjAC IsNot Nothing Then ObjAC.RollBack() + ' Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError) + ' End If + + ' If ObjAC IsNot Nothing Then ObjAC.Dispose() + ' Banc.Dispose() + ' Return ErrorCancelar + 'End Function Private Sub BtnVincularIntermediario_Click(sender As Object, e As EventArgs) Handles BtnVincularIntermediario.Click RegistraScript("$('#ModalVincularIntermediario').modal('hide')", "hidemodal") diff --git a/Ventas/ProductosServicios.aspx b/Ventas/ProductosServicios.aspx index 1dd2de17a..6f716c614 100644 --- a/Ventas/ProductosServicios.aspx +++ b/Ventas/ProductosServicios.aspx @@ -2178,6 +2178,40 @@ <%-- FIN MODAL PS ADICIONALES --%> + + + + + + + + + + diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 53a0a361e..5c8299fe2 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -148,6 +148,29 @@ Partial Class ProductosyServicios End Property #End Region + +#Region "Material peligroso" + + Property ValidaMaterialPeligrosoMensaje As Boolean + Get + + If ViewState("ValidaMaterialPeligroso") Is Nothing Then + ViewState("ValidaMaterialPeligroso") = False + End If + + Return Boolean.Parse(ViewState("ValidaMaterialPeligroso").ToString) + + End Get + Set(value As Boolean) + ViewState("ValidaMaterialPeligroso") = value + End Set + + + End Property + +#End Region + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then @@ -1213,6 +1236,15 @@ Partial Class ProductosyServicios End Sub Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click + + If DdlSATPS.txtValue.Value.ToEntero > 0 Then + If Not ValidaMaterialPeligrosoMensaje Then + ValidaMaterialPeligroso(DdlSATPS.txtValue.Value.ToEntero) + Exit Sub + End If + End If + + If DdlSATPS.SelectedValue.Contiene("46920", "0", "-1") AndAlso UsuarioActual.CveEmpresa.Contiene(119, 158, 72, 80, 145) Then Alert("El Producto Servicio SAT con clave '01010101' no es valido, por favor seleccione otro", TipoMensaje.MsgAdvertencia) Exit Sub @@ -3045,4 +3077,76 @@ Partial Class ProductosyServicios End If Return False End Function + + + + + + + Sub ValidaMaterialPeligroso(CveSATPS As Integer) + + Dim EsPeligroso As Boolean = False + + Dim ObjGrales As New ClsGenerales + + + If ObjGrales.GetSATProductosServicios(CveSATPS:=CveSATPS) Then + + Dim DTDatos As New DataTable + DTDatos = ObjGrales.DtResultados.FiltraParametros($" CveSATPS= {CveSATPS}") + + + + 'Es material Peligros + If DTDatos.Rows(0)("EsPeligroso").ToString.ToEntero = 1 Then + + If DdlMaterialPeligroso.txtValue.Value.ToEntero > 0 And DdlEmbalaje.txtValue.Value.ToEntero > 0 And TxtPesoKg.Text.Trim.Length > 0 Then + ValidaMaterialPeligrosoMensaje = True + Else + + RegistraScript("$('#DivModalMensaje').modal('show');") + ValidaMaterialPeligrosoMensaje = False + LblModalMensajeCuerpo.Text = "El producto servicio del SAT seleccionado esta clasificado como material peligroso, favor de llenar los datos de la sección carta porte en la pestaña Contabilidad - Inventarios." + UPModalMensaje.Update() + End If + + Else + 'No es matgerial peligroso + + If DdlMaterialPeligroso.txtValue.Value.ToEntero > 0 Or DdlEmbalaje.txtValue.Value.ToEntero > 0 Or TxtPesoKg.Text.Trim.Length > 0 Then + RegistraScript("$('#DivModalMensaje').modal('show');") + ValidaMaterialPeligrosoMensaje = False + LblModalMensajeCuerpo.Text = "El producto servicio del SAT seleccionado no esta clasificado como material peligroso, favor de limpiar los datos de la sección carta porte en la pestaña Contabilidad - Inventarios, el incluir estos datos en un material no peligroso generara errores al timbrar traslados." + UPModalMensaje.Update() + + Else + ValidaMaterialPeligrosoMensaje = True + End If + + + End If + End If + + + + ObjGrales.Dispose() + + + + 'Return Respuesta + + End Sub + + Protected Sub BtnmodalMensajeOK_Click(sender As Object, e As EventArgs) + + ValidaMaterialPeligrosoMensaje = True + RegistraScript("$('#DivPersonalizar').modal('hide');") + + BtnGuardar_Click(Nothing, Nothing) + + + End Sub + + + End Class diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx b/Ventas/RepCancelacionesPorRespuesta.aspx index 41171b71d..15daebde9 100644 --- a/Ventas/RepCancelacionesPorRespuesta.aspx +++ b/Ventas/RepCancelacionesPorRespuesta.aspx @@ -36,25 +36,25 @@
    - Facturas Pendientes Por Respuesta + Facturas Pendientes Por Respuesta
    +
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    +
    " style="display: inline-block; margin-right: -20px; width: 150px;" /> " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
    +
    +
    + +
    +
    +
    +
    + @@ -84,25 +84,24 @@
    - Facturas Pendientes Por Refacturar + Facturas Pendientes de cancelar provenientes de refacturación
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    +
    " style="display: inline-block; margin-right: -20px; width: 150px;" /> " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
    +
    +
    + +
    +
    +
    +
    + @@ -114,11 +113,9 @@ - - - - + + @@ -129,7 +126,6 @@ - diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx.cs b/Ventas/RepCancelacionesPorRespuesta.aspx.cs index 00e1a8ba3..70d70c8d8 100644 --- a/Ventas/RepCancelacionesPorRespuesta.aspx.cs +++ b/Ventas/RepCancelacionesPorRespuesta.aspx.cs @@ -456,20 +456,20 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas { if (e.Row.RowType == DataControlRowType.DataRow) { - if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 0) - { - e.Row.Cells[14].Text = ""; - } + //if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 0) + //{ + // e.Row.Cells[14].Text = ""; + //} - if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 1 && e.Row.DBCampo("CveEstatusFactura").ToString().ToEntero() == 23) - { - e.Row.FCLinkButton("LnkValidarRefac").Visible = false; - } + //if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 1 && e.Row.DBCampo("CveEstatusFactura").ToString().ToEntero() == 23) + //{ + // e.Row.FCLinkButton("LnkValidarRefac").Visible = false; + //} if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 0 && e.Row.DBCampo("CveEstatusFactura").ToString().ToEntero() == 23 && e.Row.DBCampo("CveVentaSustitucion").ToEntero() > 0) { e.Row.FCLinkButton("LnkCancelar").Visible = true; - e.Row.FCLinkButton("LnkValidarRefac").Visible = false; + //e.Row.FCLinkButton("LnkValidarRefac").Visible = false; } } }