diff --git a/Sistemas/EmpresasModulos.aspx.vb b/Sistemas/EmpresasModulos.aspx.vb
index 6d95e141b..1100a4a46 100644
--- a/Sistemas/EmpresasModulos.aspx.vb
+++ b/Sistemas/EmpresasModulos.aspx.vb
@@ -47,14 +47,23 @@ Partial Class Sistemas_EmpresasModulos
UpDatos.Update()
End Sub
Private Sub CargarEmpresa()
+
+ Dim DTEmpresas As New DataTable
+
+ Using ObjEmpresas As New ClsSisEmpresas()
+ If ObjEmpresas.GetEmpresas(-1, "-1", "-1", "-1", "-1") Then
+ DTEmpresas = ObjEmpresas.DtResultados
+ End If
+ End Using
+
If UsuarioActual.CveRol <> 1 Then
- DdlEmpresa.DataSource = GlobalDTEmpresas
+ DdlEmpresa.DataSource = DTEmpresas
DdlEmpresa.Enabled = False
Else
- DdlEmpresa.DataSource = GlobalDTEmpresas
+ DdlEmpresa.DataSource = DTEmpresas
End If
- DdlEmpresa.SelectedValue = UsuarioActual.CveEmpresa.ToString
+ DdlEmpresa.SelectedValueExist(UsuarioActual.CveEmpresa.ToString)
DdlEmpresa.DataBind()
End Sub
Private Sub CargaModulosEmpresa()
@@ -71,7 +80,13 @@ Partial Class Sistemas_EmpresasModulos
End Sub
Private Sub CargaModulosDisponible()
- Dim DtModulosDisponible As DataTable = GlobalDTModulos().FiltraParametros("Liga <> ''")
+ Dim DtModulosDisponible As New DataTable '= GlobalDTModulos().FiltraParametros("Liga <> ''")
+
+ Using ObjModulos As New ClsModulos
+ If ObjModulos.GetModulos(-1, -1, "-1", "-1") Then
+ DtModulosDisponible = ObjModulos.DtResultados
+ End If
+ End Using
Dim rowsToDelete = From r1 In DtModulosDisponible.AsEnumerable()
Join r2 In DtModulosEmpresa.AsEnumerable() On r1.Field(Of Integer)("CveModulo") Equals r2.Field(Of Integer)("CveModulo")
@@ -150,4 +165,8 @@ Partial Class Sistemas_EmpresasModulos
#End Region
+
+ Protected Sub DdlEmpresa_SelectedIndexChanged(sender As Object, e As EventArgs)
+ consultar_Click(Nothing, Nothing)
+ End Sub
End Class
diff --git a/Transportes/RepContratoDetalle.aspx b/Transportes/RepContratoDetalle.aspx
index c084c4ad8..8e526529a 100644
--- a/Transportes/RepContratoDetalle.aspx
+++ b/Transportes/RepContratoDetalle.aspx
@@ -21,6 +21,10 @@
#C_Tab_ctl00_DdlClientes{
width:100%!important;
}*/
+
+ .font-light {
+ color:#666666;
+ }
.mx-1 {
margin: 0 5px 0 5px;
}
@@ -127,12 +131,7 @@
diff --git a/Transportes/RepContratoDetalle.aspx.vb b/Transportes/RepContratoDetalle.aspx.vb
index 62b6ad38d..4031cc1dc 100644
--- a/Transportes/RepContratoDetalle.aspx.vb
+++ b/Transportes/RepContratoDetalle.aspx.vb
@@ -201,6 +201,22 @@ Partial Class RepContratoDetalle
End Set
End Property
+ Private Property TotalPagos As Decimal
+ Get
+ If ViewState("TotalPagos") Is Nothing Then
+ ViewState("TotalPagos") = 0
+ End If
+
+ Return ViewState("TotalPagos").ToString.ToDecimal
+
+ End Get
+ Set(value As Decimal)
+ ViewState("TotalPagos") = value
+ End Set
+ End Property
+
+
+
@@ -209,20 +225,42 @@ Partial Class RepContratoDetalle
#Region "Carga Página"
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
+
+
If Request("CveContrato") Is Nothing Then
Response.Redirect($"~/Transportes/RepContratos.aspx")
End If
+
CveContrato = Request("CveContrato").ToEntero
+
If Not IsPostBack Then
+
InicializaCombos()
CargaDatos()
+ CargaAuxiliarClienteCxC(DdlClientes.SelectedValue.ToEntero, CveVentaRemision)
AsientoSeleccionado = ""
CveViajePasajero = 0
Session("FileExtension") = ""
ArchivoUpdate = ""
CargaGvBitacora()
+ If CveContrato > 0 Then
+ HlEvento.Visible = True
+ HlEvento.NavigateUrl = "/OI/PopUpAgenda.aspx?CveTipoEvento=2&CveContrato=" & CveContrato & "&TB_iframe=true&height=370&width=600;"
+ ImgAddObs.Visible = True
+ LtlTareaNueva.Text = String.Format(" Tarea", CveContrato)
+ CargaEventoBitacora()
+ End If
+
+ If CveVentaRemision > 0 Then
+ DVFactura.Visible = True
+ End If
+
End If
+
+
+
+
End Sub
Private Sub InicializaCombos()
'Lista Tipo AF
@@ -297,6 +335,14 @@ Partial Class RepContratoDetalle
If Not IsDBNull(ObjContratos.Archivo) AndAlso ObjContratos.Archivo <> "" AndAlso ObjContratos.Archivo <> "-1" AndAlso ObjContratos.Archivo <> $"{ObjContratos.CveContrato}." Then
ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "CONTRATOS", ObjContratos.Archivo)
BtnDescargar.Visible = True
+
+ Dim File As New FileInfo(ViewState("FUrl").ToString)
+ BtnDescargar.NavigateUrl = $"~/Compras/PopUpVerFactura.aspx?ArchivoContrato={Encripta(File.FullName)}"
+ 'If File.Exists Then
+ ' RegistraScript($"window.open({Url}, ""_blank"");")
+ 'End If
+
+
Else
BtnDescargar.Visible = False
A1.Visible = True
@@ -313,13 +359,13 @@ Partial Class RepContratoDetalle
ObjTransportes.Dispose()
GvViajesPasajeros.DataBind()
End If
- 'Bitácora
- Dim ObjEventoBitacora As New ClsOIEventos
- If ObjEventoBitacora.GetEventos(-1, -1, -1, "-1", "-1", -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveContrato:=CveContrato) Then
- GvEventosBitacora.DataSource = ObjEventoBitacora.DtResultados
- GvEventosBitacora.DataBind()
- End If
- ObjEventoBitacora.Dispose()
+ ''Bitácora
+ 'Dim ObjEventoBitacora As New ClsOIEventos
+ 'If ObjEventoBitacora.GetEventos(-1, -1, -1, "-1", "-1", -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveContrato:=CveContrato) Then
+ ' GvEB.DataSource = ObjEventoBitacora.DtResultados
+ ' GvEB.DataBind()
+ 'End If
+ 'ObjEventoBitacora.Dispose()
End If
Else
@@ -332,8 +378,113 @@ Partial Class RepContratoDetalle
End Sub
#End Region
+
+#Region "Bitacora"
+ Protected Sub GVEventoBitacora_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEB.RowDataBound
+ If e.Row.RowType = DataControlRowType.DataRow Then
+ If e.Row.RowIndex = 0 Then
+ e.Row.Cells(0).Width = Unit.Pixel(200)
+ e.Row.Cells(1).Width = Unit.Pixel(200)
+ e.Row.Cells(2).Width = Unit.Pixel(100)
+ e.Row.Cells(3).Width = Unit.Pixel(500)
+ End If
+
+ If e.Row.DBCampo("Archivo").ToString <> "" Then
+ e.Row.FCLinkButton("LinkArchivo").Visible = True
+ e.Row.FCLinkButton("LinkArchivo").CommandArgument = String.Format("OI\{0}", e.Row.DBCampo("Archivo").ToString)
+ ScriptManager.GetCurrent(Me).RegisterPostBackControl(e.Row.FCLinkButton("LinkArchivo")) 'Registro un evento Postbacktrigger, que recargue toda la pagina para que funcione
+ End If
+
+ e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Left
+
+ End If
+ End Sub
+
+ Protected Sub BtnGuardarEventoBitacora_Click(sender As Object, e As EventArgs) Handles BtnGuardarEventoBitacora.Click
+ Dim ObjEventoBitacora As New ClsOIEventos
+
+ Dim FileExtension As String = "-1"
+ Dim Filesgral As List(Of Archivo) = AnexoBit.getfiles().Archivos
+ Dim Filename As String = ""
+ For Each fileItem As Archivo In Filesgral
+ FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
+ Filename = fileItem.filename
+ Next
+
+
+
+ If ObjEventoBitacora.AddEventoBitacora(TxtEventoDescripcion.Text.Trim, String.Format(".{0}", FileExtension), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveContrato:=CveContrato) Then
+ If Filename <> "" Then
+ Filename.FilesMove(String.Format("OI{0}", ObjEventoBitacora.CveEvento.ToString), String.Format("{0}OI", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
+ End If
+
+ GvEB.DataSource = ObjEventoBitacora.DtResultados
+ TxtEventoDescripcion.Text = ""
+ AnexoBit.Text = "[]"
+ Alert("La bitácora/observación se guardó correctamente", TipoMensaje.MsgInformacion)
+ RegistraScript("$('#ModalBitacora').modal('hide')", "hidemodal")
+
+ End If
+ ObjEventoBitacora.Dispose()
+ GvEB.DataBind()
+
+ UPEventoBitacora.Update()
+ CargaEventoBitacora()
+ UPAddEventoBitacora.Update()
+ End Sub
+
+ Private Sub CargaEventoBitacora()
+
+ If CveContrato > 0 Then
+ Dim ObjEventoBitacora As New ClsOIEventos()
+ If ObjEventoBitacora.GetAgendaBitacora(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveContrato:=CveContrato) Then
+ GvEB.DataSource = ObjEventoBitacora.DtResultados.FiltraParametros("CveTipoEvento = 6 OR CveTipoEvento = 2")
+ Else
+ GvEB.DataSource = Nothing
+ End If
+ ObjEventoBitacora.Dispose()
+ GvEB.DataBind()
+ UPEventoBitacora.Update()
+ End If
+
+ End Sub
+
+ 'Protected Sub CargarArchivo(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AFU.UploadedComplete
+ ' If AFU.HasFile Then
+
+
+ ' Dim UploadFolder As String = String.Format("{0}\Temp\", UsuarioActual.Empresa.Ruta)
+ ' UploadFolder.DirectoryExistsCreate()
+ ' Dim Extension As String = System.IO.Path.GetExtension(AFU.PostedFile.FileName)
+
+ ' If File.Exists(String.Format("{0}{1}{2}", UploadFolder, UsuarioActual.CveUsuario.ToString, Extension)) Then File.Delete(String.Format("{0}{1}{2}", UploadFolder, UsuarioActual.CveUsuario.ToString, Extension))
+
+ ' AFU.SaveAs(UploadFolder & UsuarioActual.CveUsuario.ToString & Extension)
+ ' Session("FileUpload") = UploadFolder & UsuarioActual.CveUsuario.ToString & Extension
+ ' Session("FileExtension") = Extension
+ ' Session("FileFolder") = UploadFolder
+ ' End If
+ 'End Sub
+ Protected Sub DownloadFile(ByVal sender As Object, ByVal e As EventArgs)
+ Dim filePath As String = String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, CType(sender, LinkButton).CommandArgument)
+ Dim Archivo As New System.IO.FileInfo(filePath)
+
+ HttpContext.Current.Response.Clear()
+ HttpContext.Current.Response.ClearContent()
+ HttpContext.Current.Response.ContentType = "application/octet-stream"
+ HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment; filename=" + Path.GetFileName(filePath))
+ HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
+ HttpContext.Current.Response.TransmitFile(filePath)
+ HttpContext.Current.Response.Flush()
+ HttpContext.Current.Response.End()
+
+ Archivo = Nothing
+ End Sub
+#End Region
+
#Region "Información General"
Protected Sub BtnGuardarArchivo_Click1(sender As Object, e As EventArgs) Handles BtnGuardarArchivo.Click
+
Dim FileExtension As String = "-1"
Dim Filesgral As List(Of Extensiones.Archivo) = Anexo.getfiles().Archivos
Dim Filename As String = ""
@@ -375,32 +526,61 @@ Partial Class RepContratoDetalle
BtnDescargar.Visible = True
End If
End Sub
- Private Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click
- DescargarArchivo()
- End Sub
- Private Sub DescargarArchivo()
- Dim File As New FileInfo(ViewState("FUrl").ToString)
+ 'Private Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click
+ ' Dim File As New FileInfo(ViewState("FUrl").ToString)
+ ' Dim Url As String = $"{ObtenerUrlCompleta()}Compras/PopUpVerFactura.aspx?ArchivoContrato={Encripta(File.FullName)}"
+ ' If File.Exists Then
+ ' RegistraScript($"window.open({Url}, ""_blank"");")
+ ' End If
- If File.Exists Then 'set appropriate headers
- Response.Clear()
- Response.ClearHeaders()
- Response.ClearContent()
- Response.AddHeader("Content-Disposition", "attachment; filename=" & TxtFolio.Text & $"{File.Extension}")
- Response.AddHeader("Content-Length", File.Length.ToString())
- 'Response.ContentType = "text/plain"
- Response.ContentType = "application/octet-stream"
- Response.Flush()
- ' Response.TransmitFile(File.FullName)
- Response.WriteFile(File.FullName)
- Response.End()
- 'if file does not exist
- Alert("Descargado Correctamente.", TipoMensaje.MsgInformacion)
- Else
- Alert("Ocurrio un error al descargar el archivo", TipoMensaje.MsgAdvertencia, "window.close()")
+ 'End Sub
+
+ Public Function ObtenerUrlCompleta() As String
+
+ Dim Solicitud As HttpRequest = HttpContext.Current.Request
+ Dim url As String = Solicitud.Url.Scheme & "://" & Solicitud.Url.Host
+
+ If (Solicitud.Url.Port <> 80 AndAlso Solicitud.Url.Port <> 443) Then
+ url &= ":" & Solicitud.Url.Port
+ End If
+
+
+ url &= Solicitud.ApplicationPath
+
+ If Not url.EndsWith("/") Then
+ url &= "/"
+ End If
+
+ Return url
+
+ End Function
+ 'Private Sub DescargaArchivo(urlArchivo As String)
+
+ ' Dim File As New FileInfo(urlArchivo)
+
+ ' If File.Exists Then 'set appropriate headers
+
+ ' Response.Clear()
+ ' Response.ClearHeaders()
+ ' Response.ClearContent()
+ ' Response.AddHeader("Content-Disposition", "inline; filename=" & TxtFolio.Text & $"{File.Extension}")
+ ' Response.AddHeader("Content-Length", File.Length.ToString())
+ ' 'Response.ContentType = "text/plain"
+ ' Response.ContentType = "application/octet-stream"
+ ' Response.Flush()
+ ' ' Response.TransmitFile(File.FullName)
+ ' Response.WriteFile(File.FullName)
+ ' Response.End()
+
+ ' Else
+
+ ' Alert("Ocurrio un error al descargar el archivo", TipoMensaje.MsgAdvertencia, "window.close()")
+
+ ' End If
+
+ 'End Sub
- End If 'nothing in the URL as HTTP GET
- End Sub
Protected Sub UpdateContrato(sender As Object, e As EventArgs)
Dim ArchivoUpdate As String = "-1"
Dim ErrorProceso As Boolean = False
@@ -886,6 +1066,52 @@ Partial Class RepContratoDetalle
GvBitacora.DataBind()
End Sub
#End Region
+
+#Region "PAGOS"
+ Private Sub CargaAuxiliarClienteCxC(CveCliente As Integer, CveRemision As Integer)
+
+ If CveRemision > 0 Then
+ Dim ObjMovtos As New ClsMovimientos()
+
+ If ObjMovtos.GetCxCClienteAuxiliar(CveCliente, CveRemision) Then
+
+ Dim dtTemp As New DataTable
+ dtTemp = ObjMovtos.DtResultados.FiltraParametros(" Conceptocontable = 'Pago del Cliente' ")
+ TotalPagos = dtTemp.SUM("Abono")
+ GVAuxiliar.DataSource = dtTemp
+
+ Else
+ GVAuxiliar.DataSource = Nothing
+ End If
+
+ ObjMovtos.Dispose()
+ GVAuxiliar.DataBind()
+ UpPagos.Update()
+ End If
+
+ End Sub
+
+ Protected Sub GVAuxiliar_RowDataBound(sender As Object, e As GridViewRowEventArgs)
+
+ If e.Row.RowType = DataControlRowType.DataRow Then
+ If e.Row.DataKey("TipoReferencia").ToEntero = 1 Then
+ e.Row.FCHyperLink("HplReferencia").NavigateUrl = $"/Bancos/IE.aspx?CveIE={e.Row.DataKey("CveReferencia").ToEntero}"
+ End If
+ End If
+ If e.Row.RowType = DataControlRowType.Footer Then
+ e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Right
+ e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Right
+ e.Row.Cells(1).Text = "Total"
+ e.Row.FCLabel("Lbltotal").Text = TotalPagos.ToString("###,###,###.00")
+ End If
+
+ End Sub
+
+#End Region
+
+
+
+
End Class
diff --git a/Transportes/RepContratos.aspx b/Transportes/RepContratos.aspx
index 865151ea5..4878f656f 100644
--- a/Transportes/RepContratos.aspx
+++ b/Transportes/RepContratos.aspx
@@ -392,9 +392,10 @@
-
+
diff --git a/Transportes/RepContratos.aspx.vb b/Transportes/RepContratos.aspx.vb
index 3fecb240d..3572a912e 100644
--- a/Transportes/RepContratos.aspx.vb
+++ b/Transportes/RepContratos.aspx.vb
@@ -102,6 +102,10 @@ Partial Class ListadoContratos
End Sub
Protected Sub AddContrato(sender As Object, e As EventArgs)
+ If Not VallidaCantidadPasajeros(DdlTipoAF.SelectedValue.ToEntero, TxtCantidadPasajeros.Text.ToEntero) Then
+ Exit Sub
+ End If
+
Dim ErrorProceso As Boolean = False
Dim CveContrato As Integer = -1
@@ -221,6 +225,22 @@ Partial Class ListadoContratos
RegistraScript("$('#ModalAgregar').modal('hide')", "hidemodal1")
End Sub
+ Private Function VallidaCantidadPasajeros(CveTipoAF As Integer, Cantidad As Integer) As Boolean
+
+ Dim Respuesta As Boolean = True
+
+ If CveTipoAF = 181 And Cantidad < 30 Then 'autobus
+ Respuesta = False
+ Alert("El tipo unidad autobus debe de tener un minimo de 30 pasajeros.", TipoMensaje.MsgAdvertencia)
+ ElseIf CveTipoAF = 184 And Cantidad > 21 Then 'sprinter
+ Respuesta = False
+ Alert("El tipo de unidad sprinter no puede tener más de 21 pasajeros.", TipoMensaje.MsgAdvertencia)
+ End If
+
+ Return Respuesta
+
+ End Function
+
Protected Sub ResetModal()
'Reiniciamos modal
TxtDescripcion.Text = ""
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb
index 07edc6ac6..b227f33e8 100644
--- a/Ventas/Clientes.aspx.vb
+++ b/Ventas/Clientes.aspx.vb
@@ -6,7 +6,8 @@ Imports System.Data.SqlClient
Imports System.Globalization
Imports System.IO
Imports System.Net
-Imports System.Net.Http
+Imports System.Net.Http
+Imports System.Security.Policy
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Imports Newtonsoft.Json
@@ -209,14 +210,14 @@ Partial Class Clientes
End Set
End Property
- Private Property ObjFactura As Modelos.Factura
- Get
- Return CType(ViewState("ObjFactura"), Modelos.Factura)
- End Get
- Set(value As Modelos.Factura)
- ViewState("ObjFactura") = value
- End Set
- End Property
+ 'Private Property ObjFactura As Modelos.Factura
+ ' Get
+ ' Return CType(ViewState("ObjFactura"), Modelos.Factura)
+ ' End Get
+ ' Set(value As Modelos.Factura)
+ ' ViewState("ObjFactura") = value
+ ' End Set
+ 'End Property
Private Property CobranzaTelefono As String
Get
@@ -309,14 +310,14 @@ Partial Class Clientes
ViewState("DTPorcentajePrecios") = value
End Set
End Property
- Private Property TmpDT As DataTable
- Get
- Return If(IsNothing(ViewState("TmpDT")), Nothing, CType(ViewState("TmpDT"), DataTable))
- End Get
- Set(value As DataTable)
- ViewState("TmpDT") = value
- End Set
- End Property
+ 'Private Property TmpDT As DataTable
+ ' Get
+ ' Return If(IsNothing(ViewState("TmpDT")), Nothing, CType(ViewState("TmpDT"), DataTable))
+ ' End Get
+ ' Set(value As DataTable)
+ ' ViewState("TmpDT") = value
+ ' End Set
+ 'End Property
Private Property DtPromociones As DataTable
Get
Return If(IsNothing(ViewState("DtPromociones")), Nothing, CType(ViewState("DtPromociones"), DataTable))
@@ -664,7 +665,7 @@ Partial Class Clientes
Actualizar = False
SetValues()
CargaCombos()
- CreaDTVentas()
+ 'CreaDTVentas()
CreaDtPago()
RegistraScript("CargaHeader();")
CargaCombosDirecionesClientesSAT()
@@ -9197,102 +9198,52 @@ Partial Class Clientes
#Region " A C U M U L A D O R E S"
- Protected Sub LnkFacturaUsadosCargos_Click(sender As Object, e As EventArgs)
- 'CveVentaNota = 0
+ Protected Sub LnkFacturaUsadosBonificacion_Click(sender As Object, e As EventArgs)
+
+ Dim DtSubProyectos As DataTable = New DataTable()
+ DtSubProyectos.Columns.Add(New DataColumn("CveSubProyecto", GetType(Integer)))
- 'Dim Cargos As Decimal = 0D
- 'Dim Iva As Decimal = 0D
-
- 'For Each GvRow As GridViewRow In GvAcum.Rows
-
- ' If GvRow.DataKey("CveConcepto").Toentero() = 1 And GvRow.FCCheckBox("ChkCargo").Checked Then
- ' Cargos = Cargos + GvRow.DataKey("ImporteCargo").ToDecimal()
- ' End If
- 'Next
-
- 'Dim CvePS As Integer = UsuarioActual.Empresa.Funcionalidad(534).Toentero() 'CvePS Distruibuidor Cargo Nota
- 'Dim CveUnidadMedida As Integer
- 'Dim CveClasificacion As Integer
-
- 'If CvePS > 0 Then
-
- ' If Cargos > 0 Then
-
- ' CveUnidadMedida = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimeroValor("CveUnidadMedida").ToString().Toentero()
- ' CveClasificacion = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimeroValor("CveClasificacion").ToString().Toentero()
- ' Iva = Cargos * 0.16D
-
- ' If GenerarNotaCredito(CvePS, 1, CveUnidadMedida, Cargos, Iva, "Clientes/Usados", CveClasificacion) Then
- ' Alert($"LA nota de crédito fue generada correctamente {SerieNotaAcumulador}-{FolioNotaAcumulador}")
- ' Else
- ' Alert("Se presento un error al generar la nota de creédito", TipoMensaje.MsgError)
- ' End If
- ' End If
-
- 'Else
- ' Alert("No esta asignada la funcionalidad CvePS Distruibuidor Cargo Nota")
- 'End If
-
- CreaObjetosVenta(1)
-
- 'If ObjFactura.CveCliente > 0 Then
- ' If TmpDT.Rows.Count > 0 Then
- ' Dim Retorno = ObjFactura.EmitirFactura(false)
- ' For Each Mensaje In Retorno.Mensajes
- ' Alert(Mensaje, If(Retorno.TieneError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion))
- ' Next
- ' End If
- 'End If
-
- CargaUsados()
-
- End Sub
- Protected Sub LnkFacturaUsadosBonificacion_Click(sender As Object, e As EventArgs)
-
- 'CveVentaNota = 0
- 'Dim Bonificacion As Decimal = 0D
- 'Dim Iva As Decimal = 0D
-
- 'For Each GvRow As GridViewRow In GvAcum.Rows
- ' If GvRow.DataKey("CveConcepto").Toentero() = 1 And GvRow.FCCheckBox("ChkBonificacion").Checked Then
- ' Bonificacion = Bonificacion + GvRow.DataKey("ImporteBonificacion").ToDecimal()
- ' End If
- 'Next
-
-
- 'Dim CvePS As Integer = UsuarioActual.Empresa.Funcionalidad(534).Toentero() 'CvePS Distruibuidor Bonificación Nota
- 'Dim CveUnidadMedida As Integer
- 'Dim CveClasificacion As Integer
- 'If CvePS > 0 Then
- ' If Bonificacion > 0 Then
-
- ' CveUnidadMedida = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimeroValor("CveUnidadMedida").ToString().Toentero()
- ' CveClasificacion = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimeroValor("CveClasificacion").ToString().Toentero()
- ' Iva = Bonificacion * 0.16D
-
- ' If GenerarNotaCredito(CvePS, 2, CveUnidadMedida, Bonificacion, Iva, "Clientes/Usados", CveClasificacion) Then
- ' Alert($"LA nota de crédito fue generada correctamente {SerieNotaAcumulador}-{FolioNotaAcumulador}")
- ' Else
- ' Alert("Se presento un error al generar la nota de creédito", TipoMensaje.MsgError)
- ' End If
-
- ' End If
-
- 'Else
- ' Alert("No esta asignada la funcionalidad CvePS Distruibuidor Bonificación Nota")
- 'End If
-
- CreaObjetosVenta(2)
-
- If ObjFactura.CveCliente > 0 Then
- If TmpDT.Rows.Count > 0 Then
- Dim Retorno As Modelos.Factura.MMensajeFactura = ObjFactura.EmitirFactura(False)
- For Each Mensaje As String In Retorno.Mensajes
- Alert(Mensaje, If(Retorno.TieneError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion))
- Next
+ For Each GvRow As GridViewRow In GvAcum.Rows
+ If GvRow.FCCheckBox("ChkBonificacion").Checked Then
+ DtSubProyectos.Rows.Add(GvRow.DataKey("CveSubProyecto").ToEntero())
End If
+ Next
+
+ Dim StringFolios As New StringBuilder
+ Dim StringMsg As New StringBuilder
+
+ Dim ObjVentas As New ClsVentas
+ ObjVentas.IniciaTransacSQL()
+
+ Dim TieneError As Boolean = False
+ Try
+ For Each Row As DataRow In DtSubProyectos.FiltraParametros("", DistinctColumns:={"CveSubProyecto"}).Rows
+ Dim Resp = CreaObjetosVenta(2, Row("CveSubProyecto").ToString().ToEntero(), ObjVentas)
+ If Resp.TieneError Then
+ TieneError = True
+ StringMsg.Append("Ocurrió un error al generar la RNC de bonificación")
+ Exit For
+ Else
+ StringFolios.AppendFormat(" {0}", Resp.SerieFolio)
+ End If
+ Next
+ Catch ex As Exception
+ TieneError = True
+ StringMsg.Append("Ocurrió un error al generar la RNC de bonificación")
+ End Try
+
+ If TieneError Then
+ ObjVentas.RollBack()
+ Else
+ ObjVentas.Commit()
End If
+ If Not TieneError AndAlso StringFolios.Length > 0 Then
+ StringMsg.AppendFormat("Se generaron las siguientes remisiones de nota de crédito de bonificación: {0}", StringFolios)
+ End If
+
+ Alert(StringMsg.ToString(), If(TieneError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion))
+
Alert("Listo")
CargaUsados()
End Sub
@@ -9420,8 +9371,8 @@ Partial Class Clientes
End Sub
- Private Sub CreaDTVentas()
- TmpDT = New DataTable
+ Private Function CreaDTVentas() As DataTable
+ Dim TmpDT = New DataTable
TmpDT.Columns.Add("CveVenta", GetType(Integer))
TmpDT.Columns.Add("Consec", GetType(Integer))
TmpDT.Columns.Add("Cantidad", GetType(Decimal))
@@ -9507,8 +9458,9 @@ Partial Class Clientes
TmpDT.Columns.Add("CveTamaño", GetType(Integer))
TmpDT.Columns.Add("EsCargo", GetType(Boolean))
- End Sub
- Private Function AgregarProductoServicio(Cantidad As Decimal, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, CvePS As Integer, PS As String, Obs As String,
+ Return TmpDT
+ End Function
+ Private Function AgregarProductoServicio(ByRef TmpDT As DataTable, Cantidad As Decimal, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, CvePS As Integer, PS As String, Obs As String,
PU As Decimal, Descuento As Decimal,
CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String,
Optional Serie As String = "", Optional TiempoEntrega As String = "", Optional EntregaDirecta As Integer = 0,
@@ -9630,16 +9582,15 @@ Partial Class Clientes
Return Retorno
End Function
- Private Sub CreaObjetosVenta(Tipo As Integer)
-
- Dim CveSubProyecto As Integer = -1
+ Private Function CreaObjetosVenta(Tipo As Integer, CveSubProyecto As Integer, ByRef ObjVentas As ClsVentas) As Modelos.Factura.MMensajeFactura
+ Dim TmpDT As DataTable = CreaDTVentas()
+ Dim UsadosBonificacion As List(Of Integer) = New List(Of Integer)
TmpDT.Rows.Clear()
TmpDT.AcceptChanges()
For Each GvRow As GridViewRow In GvAcum.Rows
- If GvRow.FCCheckBox("ChkBonificacion").Checked OrElse GvRow.FCCheckBox("ChkCargo").Checked Then
- CveSubProyecto = GvRow.DataKey("CveSubProyecto").ToEntero()
+ If GvRow.FCCheckBox("ChkBonificacion").Checked AndAlso GvRow.DataKey("CveSubProyecto").ToEntero() = CveSubProyecto Then
Dim Cantidad As Decimal = GvRow.DataKey("Cantidad").ToDecimal
Dim PU As Decimal = 0
@@ -9662,6 +9613,8 @@ Partial Class Clientes
End If
If CvePSCargo > 0 AndAlso PU > 0 Then
+ Dim CveMovto As Integer = GvRow.DataKey("CveMovto").ToEntero()
+
Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePSCargo).Rows(0)
If Dr IsNot Nothing Then
CveUnidadMedida = Dr("CveUnidadMedida").ToString().ToEntero()
@@ -9671,8 +9624,10 @@ Partial Class Clientes
Clasificacion = Dr("Clasificacion").ToString()
End If
- AgregarProductoServicio(Cantidad, CveUnidadMedida, UnidadMedida, CveClasificacion, Clasificacion, CvePSCargo, PS, "Clientes/Usados", PU, 0, -1, "", DdlSubProyecto.SelectedValue.ToEntero(),
+ AgregarProductoServicio(TmpDT, Cantidad, CveUnidadMedida, UnidadMedida, CveClasificacion, Clasificacion, CvePSCargo, PS, "Clientes/Usados", PU, 0, -1, "", DdlSubProyecto.SelectedValue.ToEntero(),
DdlSubProyecto.SelectedItem.Text, PorcentajeIVA:=PorcentajeIVA)
+
+ UsadosBonificacion.Add(CveMovto)
End If
End If
@@ -9694,20 +9649,9 @@ Partial Class Clientes
DT.Dispose()
End If
ObjFolios.Dispose()
- End If
-
-
- 'If FolioNotaCredito(Tipo) Then
- ' Folio = FolioNotaAcumulador
- ' Serie = SerieNotaAcumulador
- 'End If
-
- If ObjFactura IsNot Nothing Then
- ObjFactura.Dispose()
- ObjFactura = Nothing
End If
- ObjFactura = New Modelos.Factura(UsuarioActual)
+ Dim ObjFactura = New Modelos.Factura(UsuarioActual)
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
ObjFactura.CveVenta = -1
@@ -9828,20 +9772,12 @@ Partial Class Clientes
ObjFactura.CveTipoRelacion = -1
End If
- Dim UsadosBonificacion As List(Of Integer) = New List(Of Integer)
- For Each GvRow As GridViewRow In GvAcum.Rows
- Dim CveMovto As Integer = GvRow.DataKey("CveMovto").ToEntero()
- If (Tipo = 1 And GvRow.FCCheckBox("ChkCargo").Checked) Or (Tipo = 2 And GvRow.FCCheckBox("ChkBonificacion").Checked) Then
- UsadosBonificacion.Add(CveMovto)
- End If
- Next
-
ObjFactura.UsadosBonificacion = UsadosBonificacion
ObjFactura.TipoBonificacion = Tipo
- ' ObjFactura.Timbre = PreParaTimbre(ObjFactura)
+ Return ObjFactura.EmitirFactura(False, Transac:=ObjVentas.IniciaTransacSQL(), Modulo:="Clientes/Bonificacion", MostrarURL:=True)
- End Sub
+ End Function
#End Region