diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index cafaeaf55..3023bc09f 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -439,8 +439,7 @@ Public Class ClsVentas
Optional CorreoNotificacion As String = "", Optional FormaPaqueteria As Integer = 1, Optional FacturarSucursal As Boolean = False, Optional VentaDesglosaIEPS As Boolean = False, Optional ServicioDomicilio As Boolean = False, Optional RFCReceptor As String = "", Optional Adjunto As String = "-1",
Optional DevolucionImportePagado As Decimal = 0, Optional EsGarantia As Boolean = False, Optional CveLineaAdicional As Integer = -1, Optional DescripcionVenta As String = "",
Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional CveTipoVenta As Integer = -1, Optional RequiereOS As Boolean = False,
- Optional FechaParaSurtir As DateTime = MinFecha
- ) As Boolean
+ Optional FechaParaSurtir As DateTime = MinFecha, Optional Paciente As String = "-1", Optional Episodio As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_VentasAdd")
@@ -547,6 +546,9 @@ Public Class ClsVentas
.Add("@RequiereOS", SqlDbType.Int).Value = RequiereOS
.Add("@FechaParaSurtir", SqlDbType.DateTime).Value = If(FechaParaSurtir = MinFecha, Fecha, FechaParaSurtir)
+ .Add("@Paciente", SqlDbType.VarChar).Value = Paciente
+ .Add("@Episodio", SqlDbType.VarChar).Value = Episodio
+
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
End With
@@ -576,7 +578,8 @@ Public Class ClsVentas
Optional AtencionA As String = "", Optional PedidoContrato As String = "", Optional CveFormaPago33 As Integer = -1, Optional CveMetodoPago33 As Integer = -1,
Optional CveCliente As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional OrdenCompra As String = "-1", Optional RetIVA As Decimal = -1,
Optional RetISR As Decimal = -1, Optional Kilometraje As Decimal = 0, Optional CveUsoCFDi As Integer = -1, Optional ServicioDomicilio As Boolean = False, Optional CveVendedor As Integer = -1,
- Optional RequiereOS As Boolean = False, Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional FechaParaSurtir As DateTime = MinFecha) As Boolean
+ Optional RequiereOS As Boolean = False, Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1, Optional FechaParaSurtir As DateTime = MinFecha,
+ Optional Paciente As String = "-1", Optional Episodio As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasUpdate")
@@ -613,6 +616,8 @@ Public Class ClsVentas
.Add("@CveMedico", SqlDbType.Int).Value = CveMedico
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.Add("@FechaParaSurtir", SqlDbType.DateTime).Value = FechaParaSurtir
+ .Add("@Paciente", SqlDbType.VarChar).Value = Paciente
+ .Add("@Episodio", SqlDbType.VarChar).Value = Episodio
End With
Try
@@ -627,7 +632,7 @@ Public Class ClsVentas
Public Function UpdateObservacionesVenta(CveVenta As Integer, CveEmpresa As Integer, CveVendedor As Integer, Observaciones As String, FormaPaqueteria As Integer, CorreoNotificaciones As String, ObservacionesAlm As String,
Pedido As String, OrdenCompra As String, FechaPago As String, CveUsoCFDI As Integer, Optional DescripcionVenta As String = "-1", Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1,
- Optional FechaParaSurtir As DateTime = MinFecha) As Boolean
+ Optional FechaParaSurtir As DateTime = MinFecha, Optional Paciente As String = "-1", Optional Episodio As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasObservacionesUpdate")
With SqlAdapter.SelectCommand.Parameters
@@ -646,6 +651,8 @@ Public Class ClsVentas
.Add("@CveMedico", SqlDbType.Int).Value = CveMedico
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.Add("@FechaParaSurtir", SqlDbType.DateTime).Value = FechaParaSurtir
+ .Add("@Paciente", SqlDbType.VarChar).Value = Paciente
+ .Add("@Episodio", SqlDbType.VarChar).Value = Episodio
End With
Try
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index 94b5a8d54..6288d471e 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -603,6 +603,20 @@
+
+ |
+ Paciente:
+ |
+
+
+ |
+
+ Episodio:
+ |
+
+
+ |
+
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 5d31eacd1..dbcbea3a7 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -5876,13 +5876,21 @@ Partial Class Ventas
CveTipoVenta = If(DbRowVenta("CveTipoVenta").ToString.ToEntero > 0, DbRowVenta("CveTipoVenta").ToString.ToEntero, -1)
+ TrVentasMedicas3.Visible = True
+
If DbRowVenta("CveMedico").ToString.ToEntero > 0 AndAlso CveTipoVenta.Contiene(1, 2, 3, 5) Then
TrVentasMedicas1.Visible = True
+
DdlMedico.SelectedValueExist(DbRowVenta("CveMedico").ToString)
DdlProcedimiento.SelectedValueExist(DbRowVenta("CveProcedimiento").ToString)
+ TxtPaciente.Text = DbRowVenta("Paciente").ToString
+ TxtEpisodio.Text = DbRowVenta("Episodio").ToString
DdlMedico.Enabled = False
DdlProcedimiento.Enabled = False
+ TxtPaciente.Enabled = False
+ TxtEpisodio.Enabled = False
+
If DbRowVenta("FechaParaSurtir").ToString().ToDate() > DateTime.MinValue Then
TrVentasMedicas2.Visible = True
@@ -13335,7 +13343,8 @@ 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, FechaParaSurtir:=factura.FechaParaSurtir) Then
+ CveMedico:=CveMedico, CveProcedimiento:=CveProcedimiento, CveTipoVenta:=CveTipoVentaGuardar, RequiereOS:=ChkRequiereTecnico.Checked, FechaParaSurtir:=factura.FechaParaSurtir,
+ Paciente:=TxtPaciente.Text, Episodio:=TxtEpisodio.Text) Then
ErrorList.Add("Ocurrió un error al Generar la Venta.
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
@@ -17684,9 +17693,9 @@ Partial Class Ventas
End If
- If DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False Then
+ If DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False Or UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
'VALIDA EXISTENCIA
- If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 153, 140}) Then
+ If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 153, 140, 186}) Then
If CveVenta <= 0 OrElse Me.EsCreaApartirDe Then
If Existencia - TmpDT.SUM("Cantidad", $"CvePS = {CvePS} AND (EntregaDirecta IS NULL OR EntregaDirecta < 1)") < TxtCantidad.Text.ToDouble Then
Alert("No cuenta con la cantidad suficiente en inventario. Cuenta con " + Existencia.FormatoNumero(2) + ".", TipoMensaje.MsgAdvertencia)
@@ -21670,6 +21679,8 @@ Partial Class Ventas
TrVentasMedicas1.Visible = True
DdlMedico.Enabled = True
DdlProcedimiento.Enabled = True
+ TxtPaciente.Enabled = True
+ TxtEpisodio.Enabled = True
End If
@@ -21844,7 +21855,8 @@ Partial Class Ventas
PedidoContrato:=TxtPedidoContrato.Text, AtencionA:=TxtAtencionA.Text.Trim, CveMetodoPago33:=DdlMetodoPago33.SelectedValue.ToEntero(),
CveFormaPago33:=DdlFormaPago33.SelectedValue.ToEntero(), TipoDocto:=DdlTipoComprobante.SelectedValue, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal,
OrdenCompra:=TxtOrdenCompra.Text, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, Kilometraje:=TxtKilometraje.Text.ToDecimal, CveUsoCFDi:=DdlUsoCFDI.SelectedValue.ToEntero(),
- CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), ServicioDomicilio:=TrServicioDomicilio.Visible, CveMedico:=DdlMedico.SelectedValue.ToEntero, CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, FechaParaSurtir:=FechaParaSurtir) Then
+ CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), ServicioDomicilio:=TrServicioDomicilio.Visible, CveMedico:=DdlMedico.SelectedValue.ToEntero, CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero,
+ FechaParaSurtir:=FechaParaSurtir, Paciente:=TxtPaciente.Text, Episodio:=TxtEpisodio.Text) Then
OcurrioError = True
End If
@@ -33679,6 +33691,8 @@ Partial Class Ventas
TrVentasMedicas1.Visible = True
DdlMedico.Enabled = True
DdlProcedimiento.Enabled = True
+ TxtPaciente.Enabled = True
+ TxtEpisodio.Enabled = True
End If
If UsuarioActual.TienePermisoProceso(289) Then
@@ -33735,7 +33749,8 @@ Partial Class Ventas
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, DescripcionVenta:=TxtDescripcionVenta.Text.Trim,
- CveMedico:=DdlMedico.SelectedValue.ToEntero, CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, FechaParaSurtir:=FechaParaSurtir) Then
+ CveMedico:=DdlMedico.SelectedValue.ToEntero, CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, FechaParaSurtir:=FechaParaSurtir, Paciente:=TxtPaciente.Text,
+ Episodio:=TxtEpisodio.Text) Then
TieneError = True
End If
@@ -36092,6 +36107,7 @@ Partial Class Ventas
TrVentasMedicas1.Visible = True
TrVentasMedicas2.Visible = True
+ TrVentasMedicas3.Visible = True
For Each item As ListItem In RBLTipoVenta.Items
item.Text = $"  {item.Text}"
@@ -36172,7 +36188,7 @@ Partial Class Ventas
TdFechaOS1.Visible = ChkRequiereTecnico.Checked
- TdFechaOS2.Visible = ChkRequiereTecnico.Checked
+
UpCliente.Update()
End Sub
@@ -36339,6 +36355,27 @@ Partial Class Ventas
End If
End If
+
+
+ For Each GvRow As GridViewRow In GvProductosProcedimiento.Rows
+ Dim Cantidad As Decimal = GvRow.FCTextBox("TxtCantidad").Text.ToDecimal
+ Dim CveUnidadMedida As Integer = GvRow.DataKey("CveUnidadMedida").ToEntero
+ Dim Abreviatura As String = GvRow.DataKey("Abreviatura").ToString
+ Dim PU As Decimal = GvRow.DataKey("Precio").ToDecimal
+ Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToEntero
+ Dim Clasificacion As String = GvRow.DataKey("Clasificacion").ToString
+ Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero
+
+ If Cantidad > 0 Then
+
+ If Not ValidaAgregarPS(CvePS, CveUnidadMedida, PU, 2) Then
+ Alert("No hay existencia.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ End If
+ Next
+
ChkRequiereTecnico.Checked = ChkRequiereTecnicoModal.Checked
TxtFechaOS.Text = TxtFechaModal.Text
@@ -36425,6 +36462,7 @@ Partial Class Ventas
End If
End If
Next
+
If CountPsAgregados > 0 Then
CalculaTotalesVenta()
End If
@@ -36492,7 +36530,8 @@ Partial Class Ventas
If ObjOrdenServicio.AddOrdenesServicios(CveCliente, DdlSubProyectoDatos.SelectedValue.ToEntero, UsuarioActual.Nombre, TxtFechaOS.Text.Replace(",", "").ToDateTime, $"Venta: {LblSerie.Text}-{TxtFolio.Text}", UsuarioActual.CveUsuario, EstatusOrdenServicio,
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVentaOS, -1, -1, CveOSTipo, CveClienteSucursal:=DdlSucursalCliente.SelectedValue.ToEntero,
Direccion:="", Telefono:="", CveModeloAuto:=-1, Año:="", CveMedico:=DdlMedico.SelectedValue.ToEntero,
- CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, CveTipoVenta:=RBLTipoVenta.SelectedValue.ToEntero, FechaCita:=TxtFechaOS.Text.Replace(",", "").ToDateTime) Then
+ CveProcedimiento:=DdlProcedimiento.SelectedValue.ToEntero, CveTipoVenta:=RBLTipoVenta.SelectedValue.ToEntero, FechaCita:=TxtFechaOS.Text.Replace(",", "").ToDateTime,
+ Paciente:=TxtPaciente.Text, IdentificadorCliente:=TxtEpisodio.Text) Then
CveOSVentaMedica = ObjOrdenServicio.CveOS
Else
errorList.Add("Se presento un error al guardar la orden de servicio.")