|
|
|
|
@@ -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 /> - Los servicios del SAT están ocupados.<br /> - 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 /> - Los servicios del SAT están ocupados.<br /> - 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"
|
|
|
|
|
|
|
|
|
|
|