From 079bb7a19c6974993a3d621edc6a9806f0b4b322 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 5 Oct 2020 12:02:38 -0700 Subject: [PATCH] limitar la facturacion si tiene codigo sat 01010101 --- Compras/Compras.aspx.vb | 31 +++++++++++++++++++++++++++++-- Ventas/Ventas.aspx.vb | 21 +++++++++++++++++++++ 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index d737eb295..037558c3a 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1145,7 +1145,7 @@ Partial Class Compras_Compras CargaDatosAgregarPS() TieneAnticiposXML = False Modalidad = "" - Version = "" + Version = "3.3" CveMetodoPago = -1 RFCProv = "" CargaDdlTipoGasto() @@ -3953,6 +3953,24 @@ Partial Class Compras_Compras End If End If + 'VERIFICA SI LOS PRODUCTOS/SERVICIOS EXISTEN EN EL CATALOGO DEL SAT + If UsuarioActual.CveEmpresa = 72 Then + + Dim DtNoEncontrados As DataTable = TmpDT.FiltraParametros("ISNULL(CveSATPS,0) = 46920 ") + If DtNoEncontrados IsNot Nothing AndAlso DtNoEncontrados.Rows.Count > 0 Then + Dim StrNoEncontrados As New StringBuilder + StrNoEncontrados.Append("Los siguientes productos no tiene asignado la clave Producto SAT o Unidad Medida SAT

") + For Each drt As DataRow In DtNoEncontrados.Rows + StrNoEncontrados.AppendFormat("{0}
", drt("CodigoPS")) + Next + Alert(StrNoEncontrados.ToString(), TipoMensaje.MsgAdvertencia) + DtNoEncontrados.Dispose() + StrNoEncontrados.Clear() + Exit Sub + End If + DtNoEncontrados.Dispose() + End If + 'Si se marcó No Deducible en el encabezado mínimo se debe registrar un No Deducible en el Detalle Dim GuardaNoDeducibles As Boolean = False If ChkEsNoDeducible.Checked Then @@ -17621,8 +17639,17 @@ Partial Class Compras_Compras ActualizaTotales = True Select Case Modalidad Case "A" 'ADD + + Dim SATClavePS = -1 + Dim PSRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") + If PSRow IsNot Nothing Then + SATClavePS = PSRow("SATClavePS").ToString.ToEntero + End If + AddPS(TxtCantidad.Text.Trim.ToDouble, ddlUM.SelectedValue.ToEntero, ddlUM.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero, DdlClasificacion.SelectedItem.Text, DdlPS.SelectedValue.ToEntero, DdlPS.SelectedText, HdnTipoPS.Value.ToEntero, - DdlSubProyecto.SelectedValue.ToString, DdlSubProyecto.SelectedItem.Text, DdlProyecto.SelectedItem.Text, DdlProyecto.SelectedValue.ToString, TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDouble, Total, Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2), TxtRetIVAModal.Text.ToDouble / 100, TxtRetISRModal.Text.ToDouble / 100, TxtIEPSModal.Text.ToDouble / 100, 0, TxtDescuentoModal.Text.ToDouble, OtrosGastos:=TxtOtrosGastos.Text.ToDouble, CveTipoGasto:=DdlTipoGasto.SelectedValue.ToEntero, TipoGasto:=DdlTipoGasto.SelectedItem.Text, NoDeducible:=ChkEsNoDeduciblePS.Checked) + DdlSubProyecto.SelectedValue.ToString, DdlSubProyecto.SelectedItem.Text, DdlProyecto.SelectedItem.Text, DdlProyecto.SelectedValue.ToString, TxtObsPS.Text.Trim, TxtPrecio.Text.Trim.ToDouble, Total, Math.Round(DdlIVA.SelectedValue.ToDouble - 1, 2), + TxtRetIVAModal.Text.ToDouble / 100, TxtRetISRModal.Text.ToDouble / 100, TxtIEPSModal.Text.ToDouble / 100, 0, TxtDescuentoModal.Text.ToDouble, OtrosGastos:=TxtOtrosGastos.Text.ToDouble, CveTipoGasto:=DdlTipoGasto.SelectedValue.ToEntero, TipoGasto:=DdlTipoGasto.SelectedItem.Text, + NoDeducible:=ChkEsNoDeduciblePS.Checked, CveSATPS:=SATClavePS) AddPS2() LimpiaAgregar() diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index b6d1b85e8..3f30ed1db 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -7062,6 +7062,22 @@ Partial Class Ventas Exit Sub End If dttsat.Dispose() + + If UsuarioActual.CveEmpresa = 72 Then + Dim DtNoEncontrados As DataTable = TmpDT.FiltraParametros("ISNULL(SATClaveProdServ,'') = '01010101' ") + If DtNoEncontrados IsNot Nothing AndAlso DtNoEncontrados.Rows.Count > 0 Then + Dim StrNoEncontrados As New StringBuilder + StrNoEncontrados.Append("Los siguientes productos no tiene asignado la clave Producto SAT o Unidad Medida SAT

") + For Each drt As DataRow In DtNoEncontrados.Rows + StrNoEncontrados.AppendFormat("{0}
", drt("CodigoPS")) + Next + Alert(StrNoEncontrados.ToString(), TipoMensaje.MsgAdvertencia) + DtNoEncontrados.Dispose() + StrNoEncontrados.Clear() + Exit Sub + End If + DtNoEncontrados.Dispose() + End If End If If ObjFactura Is Nothing Or (ObjFactura.Cliente Is Nothing And Not CveEmpresaCRM > 0) Then @@ -15715,6 +15731,11 @@ Partial Class Ventas MensajeCveSAT.AppendFormat("{0}-{1}: Sin Unidad Medida SAT
", DrPS("Codigo").ToString(), DrPS("PS").ToString()) Return False End If + + If UsuarioActual.CveEmpresa = 72 AndAlso DrPS("SATClavePS").ToString() = "01010101" Then + MensajeCveSAT.AppendFormat("{0}-{1}: El producto/servicio no existe en el catálogo del SAT
", DrPS("Codigo").ToString(), DrPS("PS").ToString()) + Return False + End If End If End If