diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index d049eab20..c29eab757 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
@@ -17637,8 +17655,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..69bc71753 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
@@ -15070,6 +15086,10 @@ Partial Class Ventas
DdlIVA.SelectedValue = "1.16"
PorcentajeIVA = ViewState("IVA").ToString().ToDecimal
End Select
+ 'SI ES COTIZACION HABILITAR EL DDL DE IVA
+ If CveVenta <= 0 AndAlso DdlTipoComprobante.SelectedValue = "Cot" Then
+ DdlIVA.Visible = True
+ End If
If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count > 0 AndAlso (Not CveVenta > 0 Or EsCreaApartirDe Or CveDevolucion > 0) Then RecalculaIVA()
'ViewState("SubProyectoPorcentajeIVA") = dr("IVA")
ViewState("TipoFormato") = dr("TipoFormato")
@@ -15715,6 +15735,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
@@ -18649,12 +18674,22 @@ Partial Class Ventas
Select Case RBLPago.SelectedValue.ToEntero()
Case 1 'CREDITO
TxtFechaPago.Text = If(DdlTipoComprobante.SelectedValue = "Rem", Now.AddDays(PlazoCobranzaRemision), Now.AddDays(PlazoCobranza)).ToShortDateString
+ 'SI ES CREDITO EL METODO DE PAGO DEBE SER PPD
+ If UsuarioActual.Empresa.Funcionalidad(589) = "1" Then
+ DdlMetodoPago33.SelectedValueExist("3")
+ DdlMetodoPago33.Enabled = False
+ End If
Case 2 'CONTADO
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem") Or (UsuarioActual.Empresa.Funcionalidad(558).ToEntero() = 1 And DdlTipoComprobante.SelectedValue = "Cot") Then
DivContado.Visible = True
TxtImporteContado.Text = TxtTotal.Text
End If
TxtFechaPago.Text = Now.ToShortDateString
+ 'SI ES CONTADO EL METODO DE PAGO DEBE SER PUE
+ If UsuarioActual.Empresa.Funcionalidad(589) = "1" Then
+ DdlMetodoPago33.SelectedValueExist("1")
+ DdlMetodoPago33.Enabled = False
+ End If
Case 3 ' TERMINAL
DivTerminal.Visible = True
TxtFechaPago.Text = If(DdlTipoComprobante.SelectedValue = "Rem", Now.AddDays(PlazoCobranzaRemision), Now.AddDays(PlazoCobranza)).ToShortDateString
@@ -18662,6 +18697,7 @@ Partial Class Ventas
LimpiaContado()
UpContado.Update()
+ UPCondicionesPago.Update()
End Sub
Private Sub CargaCuentas()