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()