This commit is contained in:
2024-01-12 20:30:38 -07:00
20 changed files with 773 additions and 668 deletions

View File

@@ -54,7 +54,7 @@
<div class="portlet-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtProcedimiento" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<asp:TextBox ID="TxtProcedimiento" CssClass="form-control" runat="server" MaxLength="150"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVRol" runat="server" ControlToValidate="TxtProcedimiento" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>'Nombre del Procedimiento''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<label for="<%= TxtProcedimiento.ClientID.ToString()%>">Nombre Procedimiento:</label>

View File

@@ -236,7 +236,7 @@ Partial Class Ventas_ClientesAbonar
LnkAccionesModalSeleccionLayout.Visible = True
End If
If UsuarioActual.CveEmpresa.Contiene(13, 1) Then
If UsuarioActual.CveEmpresa.Contiene(13, 1, 15) Then
DVImporteDeduccionesPago.Visible = True
End If

View File

@@ -589,7 +589,7 @@
<b>Requiere Técnico:</b>
</td>
<td runat="server" id="TdRequiereTecnico2" visible="true">
<asp:CheckBox ID="ChkRequiereTecnico" runat="server" CssClass="chksino" OnCheckedChanged="ChkRequiereTecnico_CheckedChanged" AutoPostBack="true" Text="Requiere Técnico:" />
<asp:CheckBox ID="ChkRequiereTecnico" runat="server" CssClass="chksino" OnCheckedChanged="ChkRequiereTecnico_CheckedChanged" AutoPostBack="true" Text="Requiere Técnico:" Checked="false" />
</td>
<td runat="server" id="TdFechaOS1" visible="true">
<b>Fecha de Cirugia:</b>

View File

@@ -3438,7 +3438,7 @@ Partial Class Ventas
End If
End If
If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
If CveVenta <= 0 Then
EsVentaMedica = True
CargaTiposVenta()
@@ -11628,6 +11628,7 @@ Partial Class Ventas
If UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso DvModalRequiereOSFecha.Visible Then
ObjFactura.Alfa1 = TxtFechaOS.Text.Trim
ObjFactura.FechaEjecucion = TxtFechaOS.Text.Trim.ToDateTime
ObjFactura.FechaParaSurtir = TxtFechaOS.Text.Trim.ToDateTime
Else
ObjFactura.Alfa1 = TxtAlfa1.Text.Trim
End If
@@ -13264,7 +13265,7 @@ Partial Class Ventas
Dim CveProcedimiento As Integer = -1
Dim CveTipoVentaGuardar As Integer = -1
If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
CveMedico = DdlMedico.SelectedValue.ToEntero
CveProcedimiento = DdlProcedimiento.SelectedValue.ToEntero
CveTipoVentaGuardar = If(SeEstaFActurandoVentaMedica, CveTipoVenta, RBLTipoVenta.SelectedValue.ToEntero)
@@ -13288,7 +13289,7 @@ Partial Class Ventas
Kilometraje:=TxtKilometraje.Text.ToDouble, EsAmortizacion:=EsNCAmortizacion, CveTipoRetencion:=factura.CveTipoRetencion, CorreoNotificacion:=TxtCorreoNotificaciones.Text,
FormaPaqueteria:=RblPaqueteria.SelectedValue.ToEntero, FacturarSucursal:=factura.FacturarSucursal, VentaDesglosaIEPS:=factura.VentaDesglosaIEPS, RFCReceptor:=RFCReceptor, Adjunto:=Adjunto, DevolucionImportePagado:=factura.DevolucionImportePagado, EsGarantia:=factura.EsGarantia, ServicioDomicilio:=TrServicioDomicilio.Visible,
CveLineaAdicional:=DdlLineaAdicional.SelectedValue.ToEntero(), DescripcionVenta:=DescripcionVenta,
CveMedico:=CveMedico, CveProcedimiento:=CveProcedimiento, CveTipoVenta:=CveTipoVentaGuardar, RequiereOS:=ChkRequiereTecnico.Checked) Then
CveMedico:=CveMedico, CveProcedimiento:=CveProcedimiento, CveTipoVenta:=CveTipoVentaGuardar, RequiereOS:=ChkRequiereTecnico.Checked, FechaParaSurtir:=factura.FechaParaSurtir) Then
ErrorList.Add("Ocurrió un error al Generar la Venta.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
Else
If factura.TipoDocto.Contiene("Dev", "Egs") OrElse DtVentasNC IsNot Nothing OrElse CveEstatusRefacturacion > 0 OrElse CveAnticipoPadre > 0 Then
@@ -16367,7 +16368,6 @@ Partial Class Ventas
End Function
#End Region
#Region " BTN ELIMINAR "
Protected Sub BtnEmitir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnEmitir.Click
@@ -16643,8 +16643,6 @@ Partial Class Ventas
End Sub
#End Region
#Region " VISTA PREVIA "
Protected Sub BtnVistaPrevia_Click(sender As Object, e As System.EventArgs) Handles BtnVistaPrevia.Click
VistaPreviaNew()
@@ -16653,195 +16651,6 @@ Partial Class Ventas
#End Region
#Region "I M A G E - B U T T O N S"
'Protected Function CancelarFactura(ByRef ObjVentas As ClsVentas, ByRef ObjConta As ClsContabilidad, ByRef ObjAC As ClsContPAQi, ByRef ObjBancos As ClsBancos) As Boolean
' Dim IDPoliza As Integer = -1
' Dim CvePrePoliza As Integer
' Dim CvePlantillaPoliza As Integer
' Dim ErrorCancelar As Boolean = False
' Dim Mensaje As String = ""
' Try
' ObjFacturaDevolucion.TipoDocto = ObjFactura.TipoDocto
' Dim TipoContable As Integer = -1
' If ObjFacturaDevolucion.TipoDocto.Contiene("Egs", "Dev") Then
' CvePlantillaPoliza = 7
' ElseIf ObjFacturaDevolucion.TipoDocto.Contiene("Ing", "Rem", "Ant") Then
' CvePlantillaPoliza = 4
' End If
' If UsuarioActual.Empresa.Funcionalidad(706) = "1" AndAlso Then
' End If
' CvePrePoliza = ObjConta.AddPrePolizas("Ventas/GuardaEstatus", CvePlantillaPoliza, TxtTotal.Text.ToDouble, TxtTotal.Text.Replace(",", "").ToDouble, DdlMoneda.SelectedValue.ToEntero(), NowADS(), NombreCliente, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
' ObjFacturaDevolucion.CveVenta = CveVenta
' ObjFacturaDevolucion.CvePrePoliza = CvePrePoliza
' If NuevaFactura = 1 AndAlso UsuarioActual.TienePermisoProceso(222) Then
' If ObjVentas.GetVentaDetalle(ObjFacturaDevolucion.CveVenta) Then
' TmpDT = ObjVentas.DtResultados
' TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer))
' TmpDT.Columns.Add("TieneProntoPago", GetType(String))
' TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal))
' End If
' ErrorCancelar = ProcesoPrepolizas(ObjConta, ObjFacturaDevolucion, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas)
' Else
' ErrorCancelar = ProcesoPrepolizas(ObjConta, ObjFacturaDevolucion, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas)
' End If
' If Not ErrorCancelar Then
' ErrorCancelar = GuardarVentaImpuestosLocales(ObjVentas, ObjConta, ObjFacturaDevolucion, -1)
' End If
' If CveEstatus = 4 Then
' If ObjVentas.UpdateEstatusFactura(CveEstatus, FolioFiscal, "", NowADS(), CveVenta, IDPoliza) Then
' Mensaje = "El nuevo estatus se guardó correctamente"
' Else
' ErrorCancelar = True
' End If
' 'Si se está mandando a Cancelada SAT
' ElseIf CveEstatus = 5 Then
' Dim DT As DataTable = Nothing
' If FolioFiscal = "" Then
' Dim XmlDoc As New XmlDocument
' XmlDoc.Load(Ruta & "XML\" & DdlTipoComprobante.SelectedValue & "\" & VentaFolio & ".xml")
' ViewState("FolioFiscal") = XmlDoc.DocumentElement("cfdi:Complemento").FirstChild.Attributes("UUID").InnerText
' End If
' Dim ObjCancelacion As New Timbrado
' Dim Total As Decimal = TxtTotal.Text.ToDecimal
' Dim RFCReceptor As String = HdnRFCVenta.Value
' If Not ObjVentas.UpdateEstatusFactura(13, FolioFiscal, "", NowADS(), CveVenta, IDPoliza) Then 'Marcamos la factura como refacturada, si no se cancelo en el SAT el estatus nos dejara cancelarla despues
' ErrorCancelar = True
' End If
' Dim RespCancelacion = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, Total, RFCReceptor, UsuarioActual.Empresa.RFC)
' If RespCancelacion.Verificado Then
' 'falta verificar traer el acuse y reenviarlo
' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC Then
' Dim IDMPoliza As Modelos.RetornoPolizaConta = GenerarPolizaAC(ObjAC, ObjFacturaDevolucion, True)
' IDPoliza = IDMPoliza.IdPoliza
' If IDMPoliza.IdPoliza <= 0 Then
' Mensaje = "No se pudo generar la poliza"
' ErrorCancelar = True
' End If
' End If
' If Not ErrorCancelar Then
' If ObjVentas.UpdateEstatusFactura(CveEstatus, FolioFiscal, ObjCancelacion.CancelacionAcuse, NowADS(), CveVenta, IDPoliza, CvePAC:=UsuarioActual.Empresa.CvePAC) Then
' Mensaje = "El nuevo estatus se guardó correctamente"
' Else
' ErrorCancelar = True
' End If
' End If
' Else
' ErrorCancelar = True
' End If
' ObjCancelacion = Nothing
' End If
' Catch ex As Exception
' GuardaLog("CancelF." & ex.ToString())
' ErrorCancelar = True
' End Try
' Return Not ErrorCancelar
'End Function
'Protected Function CancelarFactura2(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjAC As ClsContPAQi, ObjBancos As ClsBancos) As Boolean
' Dim IDPoliza As Integer = -1
' Dim CvePrePoliza As Integer
' Dim CvePlantillaPoliza As Integer
' Dim ErrorCancelar As Boolean = False
' Dim Mensaje As String = ""
' CreaObjetosVenta()
' If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then
' CvePlantillaPoliza = 7
' ElseIf ObjFactura.TipoDocto.Contiene("Ing", "Rem") Then
' CvePlantillaPoliza = 4
' End If
' CvePrePoliza = ObjConta.AddPrePolizas("Ventas/GuardaEstatus", CvePlantillaPoliza, TxtTotal.Text.ToDouble, TxtTotal.Text.Replace(",", "").ToDouble, DdlMoneda.SelectedValue.ToEntero(), NowADS(), NombreCliente, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
' ObjFactura.CveVenta = CveVenta
' ObjFactura.CvePrePoliza = CvePrePoliza
' If HplSaldoAuxiliar.Text.ToDecimal > 0 Then
' ErrorCancelar = ProcesoPrepolizas(ObjConta, ObjFactura, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas)
' End If
' If Not ErrorCancelar Then
' ErrorCancelar = GuardarVentaImpuestosLocales(ObjVentas, ObjConta, ObjFactura, -1)
' End If
' If CveEstatus = 4 Then
' If ObjVentas.UpdateEstatusFactura(CveEstatus, FolioFiscal, "", NowADS(), CveVenta, IDPoliza) Then
' Mensaje = "El nuevo estatus se guardó correctamente"
' Else
' ErrorCancelar = True
' End If
' 'Si se está mandando a Cancelada SAT
' ElseIf CveEstatus = 5 Then
' Dim DT As DataTable = Nothing
' If FolioFiscal = "" Then
' Dim XmlDoc As New XmlDocument
' XmlDoc.Load(Ruta & "XML\" & DdlTipoComprobante.SelectedValue & "\" & VentaFolio & ".xml")
' ViewState("FolioFiscal") = XmlDoc.DocumentElement("cfdi:Complemento").FirstChild.Attributes("UUID").InnerText
' End If
' 'Si es cancelar en el SAT:
' Dim CFDi As New ClbNegBICFDv3_2.ClsNegEDI
' Dim Respuesta As New ClbNegBICFDv3_2.ClsNegRespuesta
' Respuesta = CFDi.CancelaCFdi(UsuarioActual.Empresa.BIUsuario, UsuarioActual.Empresa.BIContraseña, Ruta & "Certificados\" & UsuarioActual.Empresa.ArchivoPfx, UsuarioActual.Empresa.ContraseñaKey, UsuarioActual.Empresa.RFC, FolioFiscal, "http://208.43.160.178/srvCFDi/service1.asmx")
' If Respuesta Is Nothing Then
' 'Alert("La factura no se pudo cancelar. <br />Posbiles causas:<br />&nbsp;&nbsp;- Los servicios del SAT están ocupados.<br />&nbsp;&nbsp;- El Folio Fiscal no ha quedado registrado.", TipoMensaje.MsgError)
' Me.GuardaLog(CFDi.MsgError)
' ErrorCancelar = True
' Mensaje = "La factura no se pudo cancelar. <br />Posbiles causas:<br />&nbsp;&nbsp;- Los servicios del SAT están ocupados.<br />&nbsp;&nbsp;- El Folio Fiscal no ha quedado registrado."
' ElseIf Respuesta.NoCertificadoSAT <> String.Empty Then
' If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.Empresa.UsaAC Then
' Dim IDMPoliza As Modelos.RetornoPolizaConta = GenerarPolizaAC(ObjAC, ObjFacturaDevolucion, True)
' IDPoliza = IDMPoliza.IdPoliza
' If IDMPoliza.IdPoliza <= 0 Then
' Mensaje = "No se pudo generar la poliza"
' ErrorCancelar = True
' End If
' End If
' If Not ErrorCancelar Then
' If ObjVentas.UpdateEstatusFactura(CveEstatus, FolioFiscal, Respuesta.NoCertificadoSAT, Respuesta.FechaTimbrado, CveVenta, IDPoliza) Then
' Mensaje = "El nuevo estatus se guardó correctamente"
' Else
' ErrorCancelar = True
' End If
' End If
' End If
' End If
' Return Not ErrorCancelar
'End Function
Protected Sub ImgBtnAddC_Click(sender As Object, e As ImageClickEventArgs) Handles ImgBtnAddC.Click
Dim Row As DataRow = Nothing
Row = DTmpC.NewRow
@@ -21781,6 +21590,7 @@ Partial Class Ventas
UPCondicionesPago.Update()
If Me.PermiteCredito Then RBLPago.Enabled = True
DdlVendedor.Enabled = True
DdlSucursalCliente.Enabled = True
ModalidadEdicion = True
@@ -21869,6 +21679,7 @@ Partial Class Ventas
Dim Moneda As Integer = DdlMoneda.SelectedValue.ToEntero()
Dim TipoCambio As Decimal = TxtTipoCambio.Text.ToDecimal
EditoRemision = True
CveClienteSucursal = DdlClienteSucursal.SelectedValue.ToEntero
Try
'CONVERTIR REMISION - TIPO MONEDA -DOLARES A PESOS
If DdlMoneda.SelectedValue.ToEntero() <> 2 AndAlso ChkConvertirDolares.Checked Then
@@ -31174,6 +30985,10 @@ Partial Class Ventas
Exit Sub
End If
If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
AsignaMedicoProcedimientoFacturaRemisionesModal()
End If
DdlMoneda.SelectedValue = GlobalDTMonedas.FiltroPrimeroValor("CveMoneda", $"Abreviatura = '{dtSeleccionadas.FiltroPrimeroValor("Abreviatura")}'")
DdlMoneda.Enabled = False
CambiaMoneda()
@@ -31444,6 +31259,9 @@ Partial Class Ventas
RegistraScript("$('#DivRemisiones').modal('hide');", "DivRemisionesHide")
End Sub
Private Function VerificaRemisiones(ByRef dt As DataTable) As Boolean
Dim Valido As Boolean = True
If ChkRemProductos.Checked Then
@@ -36065,6 +35883,44 @@ Partial Class Ventas
End Sub
Private Sub AsignaMedicoProcedimientoFacturaRemisionesModal()
Dim CveVentaConsultar As Integer = -1
If ChkRemProductos.Checked Then
For Each gvRow As GridViewRow In GvRemPS.Rows
If gvRow.FCCheckBox("Chk").Checked Then
CveVentaConsultar = gvRow.DataKey("CveVenta").ToEntero
Exit For
End If
Next
Else
For Each gvRow As GridViewRow In GvRem.Rows
If gvRow.FCCheckBox("Chk").Checked Then
CveVentaConsultar = gvRow.DataKey("CveVenta").ToEntero
Exit For
End If
Next
End If
If CveVentaConsultar > 0 Then
Dim objVenta As New ClsVentas
If objVenta.GetVenta(CveVentaConsultar, UsuarioActual.CveEmpresa) Then
Dim dRow As DataRow = objVenta.DtResultados.Rows(0)
DdlMedico.SelectedValueExist(dRow("CveMedico").ToString.ToEntero)
DdlProcedimiento.SelectedValueExist(dRow("CveProcedimiento").ToString.ToEntero)
SeEstaFActurandoVentaMedica = True
CveTipoVenta = dRow("CveTipoVenta").ToString.ToEntero
ChkRequiereTecnico_CheckedChanged(Nothing, Nothing)
End If
objVenta.Dispose()
End If
UpCliente.Update()
End Sub
#Region "VENTAS MEDICAS"