This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2024-01-10 00:08:26 -07:00
39 changed files with 1649 additions and 179 deletions

View File

@@ -2737,7 +2737,12 @@ Partial Class Ventas
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then BtnCrearApartirDe.Visible = False
If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Egs") Then BtnEditar.Visible = True
If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem") Then BtnPermisoEditarRemision.Visible = True
If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ped") Then BtnPermisoEditarRemision.Visible = True
If DdlTipoComprobante.SelectedValue = "Ped" Then
BtnPermisoEditarRemision.Text = "Editar Pedido"
BtnEditarRemision.Text = "Actualizar Pedido"
End If
DivFechaAnticipoCliente.Visible = True
TxtFechaAnticipoCliente.Text = NowADS().ToShortDateString
@@ -3386,19 +3391,27 @@ Partial Class Ventas
End If
End If
If CveVenta <= 0 AndAlso UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
EsVentaMedica = True
CargaTiposVenta()
If CveCliente > 0 Then
SeleccionarClienteSucursal(CveCliente:=CveCliente)
If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
If CveVenta <= 0 Then
EsVentaMedica = True
CargaTiposVenta()
If CveCliente > 0 Then
SeleccionarClienteSucursal(CveCliente:=CveCliente)
End If
End If
If CveVenta >= 0 Then
HLFAgregarOS.Visible = True
HLFAgregarOS.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveVenta={CveVenta}"
End If
End If
If CveVenta >= 0 AndAlso UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
HLFAgregarOS.Visible = True
HLFAgregarOS.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveVenta={CveVenta}"
TxtPrecio.Enabled = False
'ocultar la columna de subproyecto
GvPS.Columns(ColumnaSubProyecto).Visible = False
ThProyecto.Visible = False
ThProyecto2.Visible = False
TxtCantidad.Text = "1"
TxtCantidad.Focus()
End If
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
@@ -5193,7 +5206,7 @@ Partial Class Ventas
HdnTotalVenta.Value = DbRowVenta("Total").ToString().FormatoNumero(2)
TxtMotivoDescuento.Text = DbRowVenta("MotivoDescuento").ToString()
TxtObsFact.Text = DbRowVenta("Observaciones").ToString()
LblUsuario.Text = DbRowVenta("Nombre").ToString()
LblUsuario.Text = DbRowVenta("Nombre").ToString().SubStringADS(30)
LblFechaRegistro.Text = DbRowVenta("FechaIng").ToString().ToDate.ToShortDateString
LblSeTimbro.Text = DbRowVenta("SeTimbro").ToString()
LblMail.Text = DbRowVenta("EnvioMail").ToString()
@@ -5316,7 +5329,13 @@ Partial Class Ventas
End If
TxtFechaEjecucion.Text = DbRowVenta("FechaEjecucion").ToString().ToDateTime.ToString("dd/MM/yyyy")
If DbRowVenta("CveMedico").ToString.ToEntero > 0 AndAlso DbRowVenta("CveProcedimiento").ToString.ToEntero > 0 Then
TxtFechaEjecucion.Text = DbRowVenta("FechaEjecucion").ToString().ToDateTime.ToString("dd/MM/yyyy HH:mm")
DVMEEFechaEje.Visible = False
Else
TxtFechaEjecucion.Text = DbRowVenta("FechaEjecucion").ToString().ToDateTime.ToString("dd/MM/yyyy")
End If
'DdlSucursalEjecucion.SelectedValueExist(DbRowVenta("CveSucursalEjecucion").ToString())
'DdlSucursalCobranza.SelectedValueExist(DbRowVenta("CveSucursalCobranza").ToString())
DdlSucursalCliente.SelectedValueExist(DbRowVenta("CveClienteSucursal").ToString())
@@ -8188,6 +8207,10 @@ Partial Class Ventas
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False
End If
If EsVentaMedica Then
GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False
End If
If CveCicloComercial > 0 Then
For Each gvr As GridViewRow In GvContratoDetalles.Rows
If gvr.RowType = DataControlRowType.DataRow Then
@@ -13524,7 +13547,7 @@ Partial Class Ventas
If EsVentaMedica AndAlso ErrorList.Count = 0 AndAlso ChkRequiereTecnico.Checked Then
GeneraOS(ObjVentas.IniciaTransacSQL, ErrorList)
GeneraOS(ObjVentas.IniciaTransacSQL, ErrorList, CveVentaOS:=factura.CveVenta, SerieFolioOS:=factura.SerieFolio)
If ErrorList.Count = 0 Then
If Not ObjOS.UpdateVentaOS(factura.CveVenta, CveOSVentaMedica) Then
@@ -16798,16 +16821,22 @@ Partial Class Ventas
DdlUnidadMedida.DataBind()
DdlUnidadMedida.SelectedValueExist(drPS("CveUnidadMedida").ToString())
If drPS("CveTipoPS").ToString() = "1" Then 'Si es servicio
If UsuarioActual.Empresa.Funcionalidad(558).ToString() = "1" Then 'Si es Empresa llantera
TxtPrecio.Enabled = True
Else
'TxtPrecio.Enabled = False
End If
If EsVentaMedica Then
TxtPrecio.Enabled = False
Else
TxtPrecio.Enabled = True
If drPS("CveTipoPS").ToString() = "1" Then 'Si es servicio
If UsuarioActual.Empresa.Funcionalidad(558).ToString() = "1" Then 'Si es Empresa llantera
TxtPrecio.Enabled = True
Else
'TxtPrecio.Enabled = False
End If
Else
TxtPrecio.Enabled = True
End If
End If
Dim PSCodigoSAT As String = drPS("SATClavePS").ToString
If UsuarioActual.TienePermisoProceso(68) AndAlso Not PSCodigoSAT.Contiene("84111506", "80141610") Then TxtPrecio.Enabled = False
@@ -18001,17 +18030,12 @@ Partial Class Ventas
'YOKOHAMA
If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso CveRinTamañoPS > 0 AndAlso CveMarcaPromocion.Contiene(800, 912, 1238, 1381, 1456, 1528, 1600, 1672, 1807) Then
Dim DtRines As DataTable = Nothing
Dim ObjGral As New ClsGenerales
If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then
DtRines = ObjGral.DtResultados.Copy()
End If
ObjGral.Dispose()
If CveMarcaPromocion > 0 Then
ObjDescuento.NombrePromo = "YOKOHAMA VERANO" 'dr("NombrePromocion").ToString()
ObjDescuento.CveMarca = CveMarcaPromocion
Dim Rin As String = DtRines.FiltroPrimeroValor("RinTamaño", $"CveRinTamaño = {CveRinTamañoPS}")
Dim Rin As String = GlobalDTPSRinTamaños(UsuarioActual.CveEmpresa, CveRinTamañoPS).FiltroPrimeroValor("RinTamaño", "")
Dim PromoDescuento As Decimal = (Descuento * (1 + If(IncluyeImpuestos, PorcentajeIVA, 0))).RoundSQL(2)
ObjDescuento.ObsDescuento = String.Format("RIN {0} BONO ${1:N2}", Rin, PromoDescuento)
@@ -21676,6 +21700,9 @@ Partial Class Ventas
ViewState("CveClienteAnterior") = CveCliente
DdlMedicoObservaciones.Enabled = True
DdlProcedimientoObservaciones.Enabled = True
Dim CantidadFacturadaRemision As Decimal = 0
'EN BDH NO DEBE PERMITIR EDITAR EL PU
@@ -21716,7 +21743,14 @@ Partial Class Ventas
TxtObsPS.Enabled = True
DdlProyecto.Enabled = True
DdlSubProyecto.Enabled = True
TxtPrecio.Enabled = True
If EsVentaMedica Then
TxtPrecio.Enabled = False
Else
TxtPrecio.Enabled = True
End If
LbAgregar.Enabled = True
ImgDescTotal.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '2'; $get('LblPrecio1').style.display = 'none'; $get('LblTotalPS1').style.display = 'none'; $get('LblSubTotal1').style.display = ''; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = 'none'; $get('BtnAplicarDescG').style.display = ''; $get('TrMotivoDescuento').style.display = '';")
LblSubTotal1.Text = TxtSubTotal.Text
@@ -21731,6 +21765,7 @@ Partial Class Ventas
UpPS.Update()
UpCliente.Update()
UPObservaciones.Update()
End Sub
Private Sub BtnEditarRemision_Click(sender As Object, e As EventArgs) Handles BtnEditarRemision.Click
Dim OcurrioError As Boolean = False
@@ -21825,7 +21860,7 @@ Partial Class Ventas
PedidoContrato:=TxtPedidoContrato.Text, AtencionA:=TxtAtencionA.Text.Trim, CveMetodoPago33:=DdlMetodoPago33.SelectedValue.ToEntero(),
CveFormaPago33:=DdlFormaPago33.SelectedValue.ToEntero(), TipoDocto:="Rem", CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal,
OrdenCompra:=TxtOrdenCompra.Text, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, Kilometraje:=TxtKilometraje.Text.ToDouble, CveUsoCFDi:=DdlUsoCFDI.SelectedValue.ToEntero(),
CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), ServicioDomicilio:=TrServicioDomicilio.Visible) Then
CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), ServicioDomicilio:=TrServicioDomicilio.Visible, CveMedico:=DdlMedicoObservaciones.SelectedValue.ToEntero, CveProcedimiento:=DdlProcedimientoObservaciones.SelectedValue.ToEntero) Then
OcurrioError = True
End If
@@ -26192,7 +26227,26 @@ Partial Class Ventas
#Region " SALDAR VENTA "
Protected Sub BtnSaldarVenta_Click(sender As Object, e As EventArgs)
SaldarVenta()
'SaldarVenta()
Dim ObjCancelacion As New Timbrado
Dim FolioFiscal As String = LblFolioFiscal.Text
Dim RFCEmisor As String = UsuarioActual.Empresa.RFC
Dim RFCReceptor As String = LblRFC.Text
Dim CvePACCancelacion As Integer = 4
Dim RespCancelacion As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TxtTotal.Text.ToDecimal, RFCReceptor, RFCEmisor, CvePACCancelacion, CveSATMotivoCancelacion:=3)
If RespCancelacion.Verificado Then
Else
Alert("Los servicios de cancelación del SAT no se encuentran disponibles o presentan time out. Intente de nuevo en unos minutos.<br/>Origen del error: WebService www.sat.gob.mx", TipoMensaje.MsgError)
End If
End Sub
Private Sub SaldarVenta()
'Dim ObjVenta As New ClsVentas
@@ -33619,6 +33673,9 @@ Partial Class Ventas
UpPS.Update()
End If
TxtDescripcionVenta.Enabled = True
UpCliente.Update()
UpParametros.Update()
UPObservaciones.Update()
UpFacturar.Update()
@@ -33637,7 +33694,7 @@ Partial Class Ventas
ObjVentas.IniciaTransacSQL()
If Not ObjVentas.UpdateObservacionesVenta(Me.CveVenta, UsuarioActual.CveEmpresa, DdlVendedor.SelectedValue.ToEntero(), TxtObsFact.Text, RblPaqueteria.SelectedValue.ToEntero(), TxtCorreoNotificaciones.Text,
TxtObsAlmacen.Text, TxtPedidoContrato.Text, TxtOrdenCompra.Text, TxtFechaPago.Text, DdlUsoCFDI.SelectedValue.ToEntero) Then
TxtObsAlmacen.Text, TxtPedidoContrato.Text, TxtOrdenCompra.Text, TxtFechaPago.Text, DdlUsoCFDI.SelectedValue.ToEntero, DescripcionVenta:=TxtDescripcionVenta.Text.Trim) Then
TieneError = True
End If
@@ -36314,7 +36371,7 @@ Partial Class Ventas
End Sub
Private Function GeneraOS(ByRef TransacSQL As SqlTransaction, ByRef errorList As List(Of String)) As Boolean
Private Function GeneraOS(ByRef TransacSQL As SqlTransaction, ByRef errorList As List(Of String), CveVentaOS As Integer, SerieFolioOS As String) As Boolean
Dim Errores As Boolean = False
@@ -36350,18 +36407,22 @@ Partial Class Ventas
Dim CveOsDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(ObjOrdenServicio.CveOS, CvePSDetalle, 1, -1, -1, $"Venta: {LblSerie.Text}-{TxtFolio.Text}", False, True, False, -1, "-1", "-1", "-1", "", UsuarioActual.CveUsuario, Archivo:="")
If CveOsDetalle > 0 Then
'MENSAJE PRINCIPAL
'Dim MensajeAlertOS As New StringBuilder
MensajeAlert.AppendFormat(String.Format("<br/>La Orden de Servicio: <b>{0}</b> se generó correctamente.<br/>", ObjOrdenServicio.Folio))
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=OS&CVEOS={0}", ObjOrdenServicio.CveOS)))
'Dim Liga = $"document.location.href=""/OS/RepOrdenesServicios.aspx"";"
'Alert(MensajeAlertOS.ToString, TipoMensaje.MsgInformacion, Liga)
Else
errorList.Add("Se presento un error al guardar la el detalle de la orden de servicio.")
Errores = True
End If
End If
If Not Errores Then
Dim ObjEventos As New ClsOIEventos(TransacSQL)
Dim LigaVenta As String = String.Format("Pedido en Folio: <a href=""/Ventas/Ventas.aspx?CveVenta={0}"" target=""_blank"">{1}</a>", CveVentaOS, SerieFolioOS)
If Not ObjEventos.AddEventoBitacora(LigaVenta, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOS:=CveOSVentaMedica) Then
errorList.Add("Se presento un error al guardar la bitacora de la orden de servicio.")
Errores = True
End If
End If
Return If(Errores, False, True)