diff --git a/Acumuladores/RepEntradasUsadosClientes.aspx b/Acumuladores/RepEntradasUsadosClientes.aspx index 36a2fb0f6..c2da0c83c 100644 --- a/Acumuladores/RepEntradasUsadosClientes.aspx +++ b/Acumuladores/RepEntradasUsadosClientes.aspx @@ -72,15 +72,77 @@ - + - - - + + + + + + + + + + + + + + diff --git a/Acumuladores/RepEntradasUsadosClientes.aspx.vb b/Acumuladores/RepEntradasUsadosClientes.aspx.vb index 8925785f9..75e36daaf 100644 --- a/Acumuladores/RepEntradasUsadosClientes.aspx.vb +++ b/Acumuladores/RepEntradasUsadosClientes.aspx.vb @@ -49,7 +49,7 @@ Partial Class Acumuladores_RepEntradasUsadosClientes Dim Acum As New ClsAcumuladores If Acum.EntradasUsadosClientesRep(CveAlmacen, FechaI, FechaF, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - GvDatos.DataSource = Acum.DtResultados.FiltraParametros("Codigo_Clientes <> 'Total:'") 'los renglones generados con esta caracteriztica son con un grouping set en la consulta, se pueden quitar + GvDatos.DataSource = Acum.DtResultados.FiltraParametros("Codigo_Clientes <> 'Total:'") 'los renglones generados con esta caracteriztica son con un grouping set en la consulta, se pueden quitar DatosEntradasUsadosClientes = Acum.DtResultados.FiltraParametros("Codigo_Clientes <> 'Total:'") End If @@ -61,18 +61,11 @@ Partial Class Acumuladores_RepEntradasUsadosClientes Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then - 'If e.Row.DBCampo("EsHeader").ToString = "-1" Or e.Row.DBCampo("Codigo").ToString = "" Then - ' e.Row.CssClass = "SubTotales2" - 'End If - If e.Row.DBCampo("TipoHeader").ToString = "1" Then - e.Row.CssClass = "Totales" - ElseIf e.Row.DBCampo("TipoHeader").ToString = "2" Then - e.Row.CssClass = "SubTotales" - ElseIf e.Row.DBCampo("TipoHeader").ToString = "3" Then - e.Row.CssClass = "SubTotales2" - End If - End If + If e.Row.DBCampo("EsHeader").ToString = "-1" Or e.Row.DBCampo("Codigo").ToString = "" Then + e.Row.CssClass = "SubTotales2" + End If + End If End Sub Protected Sub BtnImprimir_Click(sender As Object, e As EventArgs) @@ -96,4 +89,19 @@ Partial Class Acumuladores_RepEntradasUsadosClientes End Sub + Public Sub CargarVentasGrupo(sender As Object, e As EventArgs) + Dim tempLink As LinkButton = CType(sender, LinkButton) + Dim renglon As GridViewRow = CType(tempLink.NamingContainer, GridViewRow) + + LbCliente.Text = renglon.DataKey("NombreComercial") + LbTam.Text = renglon.DataKey("Codigo") + Dim ObjAcum As New ClsAcumuladores + If ObjAcum.GetUsadosClasificacionVentas(renglon.DataKey("CveCliente"), renglon.DataKey("Codigo"), TxtFechaI.Text, TxtFechaF.Text) Then + GvVentas.DataSource = ObjAcum.DtResultados + End If + ObjAcum.Dispose() + GvVentas.DataBind() + + RegistraScript("$('#ModalVentasAvance').modal('show');RecargaAvances = true;") + End Sub End Class diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb index 0a9418855..3720d4918 100644 --- a/App_Code/ClsAcumuladores.vb +++ b/App_Code/ClsAcumuladores.vb @@ -1039,6 +1039,29 @@ Public Class ClsAcumuladores Return Retorno End Function + Public Function GetUsadosClasificacionVentas(CveCliente As Integer, Codigo As String, FechaInicio As String, FechaFin As String) As Boolean + + Dim Retorno As Boolean = False + + SqlDataAdapter("PA_Acum_UsadosClasificacionVentas") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@Codigo", SqlDbType.VarChar).Value = Codigo + .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + .Add("@FechaFin", SqlDbType.Date).Value = FechaFin + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + OnError("Ocurrió un error al consultar los datos. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + #Region " IDisposable Support " diff --git a/App_Code/ClsCompProveedores.vb b/App_Code/ClsCompProveedores.vb index 2f2e2794e..bbbc1b8f1 100644 --- a/App_Code/ClsCompProveedores.vb +++ b/App_Code/ClsCompProveedores.vb @@ -1858,7 +1858,7 @@ Public Class ClsCompProveedores Return Retorno End Function - Public Function GetRePresentanteLegal(CveRepresentanteLegal As Integer, CveEmpresa As Integer) As Boolean + Public Function GetRePresentanteLegal(CveRepresentanteLegal As Integer, CveEmpresa As Integer, Optional CveProveedor As Integer = -1) As Boolean Dim Retorno As Boolean = False @@ -1868,6 +1868,7 @@ Public Class ClsCompProveedores .Add("@CveRepresentanteLegal", SqlDbType.Int).Value = CveRepresentanteLegal .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor End With diff --git a/App_Code/ClsContPAQi.vb b/App_Code/ClsContPAQi.vb index 0c1a2d1b9..860bd5889 100644 --- a/App_Code/ClsContPAQi.vb +++ b/App_Code/ClsContPAQi.vb @@ -1074,7 +1074,7 @@ Public Class ClsContPAQi StrSQL.AppendLine(" INNER JOIN Polizas p ON mp.IdPoliza = p.Id ") StrSQL.AppendLine(" INNER JOIN Cuentas c ON c.Id = mp.IdCuenta ") StrSQL.AppendLine(" INNER JOIN TiposPolizas t ON mp.TipoPol = t.Codigo ") - StrSQL.AppendLine(" LEFT JOIN SIG_Resp_OIC.dbo.Usuarios U ON U.CveUsuario = P.IdUsuario ") + StrSQL.AppendLine(" LEFT JOIN SERVIDOR.Ventas.dbo.Usuarios U ON U.CveUsuario = P.IdUsuario ") StrSQL.AppendLine(" LEFT JOIN SegmentosNegocio s ON mp.IdSegNeg = s.id ") StrSQL.AppendLine(" WHERE (@IdPoliza = -1 OR mp.IdPoliza = @IdPoliza) ") StrSQL.AppendLine(" AND (@Eje = -1 OR mp.Ejercicio = @Eje) ") diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 1ce79752d..4a5e80e2b 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -617,8 +617,8 @@ Partial Class Bancos_PopIECompras MovimientoPagar = New IEMovimiento MovimientoPagar.SubTotal = dr("SubTotal").ToString.ToDecimal MovimientoPagar.IVA = dr("IVA").ToString.ToDecimal - MovimientoPagar.IVADeducible = dr("IVADeducible").ToString.ToDecimal - MovimientoPagar.IVANoDeducible = dr("IVANoDeducible").ToString.ToDecimal + MovimientoPagar.IVADeducible = dr("IVADeducible").ToString.ToDecimal.RoundSQL + MovimientoPagar.IVANoDeducible = dr("IVANoDeducible").ToString.ToDecimal.RoundSQL MovimientoPagar.RetIVA = dr("RetIVA").ToString.ToDecimal MovimientoPagar.RetISR = dr("RetISR").ToString.ToDecimal MovimientoPagar.Total = dr("Total").ToString.ToDecimal @@ -1982,6 +1982,75 @@ Partial Class Bancos_PopIECompras End If End If End If + + Case 285 'Ret IVA x Acreditar Acreditable Servicios + If MovimientoPagar.ConceptoRetIVA = 5 Then + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago + ImporteMX = ImporteMovimiento + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) + ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) + ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + End If + ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ImporteMX = Math.Round(ImporteMX, 2) + TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + 'Conta ContPAQ + If IdCtaContRetIVA > 0 Then + IdCtaContable = IdCtaContRetIVA + ElseIf UsuarioActual.Empresa.Funcionalidad(578).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + Else + If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjMov.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + End If + End If + End If + End If + Case 286 'Ret IVA Acreditable Servicio + If MovimientoPagar.ConceptoRetIVA = 5 Then + If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago + ImporteMX = ImporteMovimiento + ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) + ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) + ImporteMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) + ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + End If + ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ImporteMX = Math.Round(ImporteMX, 2) + TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + 'Conta ContPAQ + If IdCtaContRetIVAAcreditable > 0 Then + IdCtaContable = IdCtaContRetIVAAcreditable + ElseIf UsuarioActual.Empresa.Funcionalidad(582).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(582).ToEntero + Else + If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjMov.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + End If + End If + End If + End If 'Case 16 'Ret ISR X Acreditar ' If MovimientoPagar.ConceptoRetISR = 1 Then ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then @@ -2280,7 +2349,7 @@ Partial Class Bancos_PopIECompras Else If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ImporteMovimiento = MovimientoPagar.IVADeducible * PorcentajePago + ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago).RoundSQL ImporteMX = ImporteMovimiento ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago) @@ -2579,8 +2648,8 @@ Partial Class Bancos_PopIECompras End If ObjCreditos.Dispose() Else - IdCtaContable = CtaProveedor - CveCuenta = CveCuentaProveedor + IdCtaContable = IdCuentaBancaria + CveCuenta = CveCuentaCliente End If Else IdCtaContable = IdCtaContComplementaria @@ -2675,6 +2744,8 @@ Partial Class Bancos_PopIECompras ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMX = Math.Round(ImporteMX, 2) TimpocambioGeneral = tipoCambioPago + IdCtaContable = GlobalDTRHPersonal(UsuarioActual.CveEmpresa, CvePersonal:=CvePersonal).FiltroPrimeroValor("IdCtaContPersonal", "").ToEntero + Else ImporteMovimiento = 0 End If @@ -3146,7 +3217,7 @@ Partial Class Bancos_PopIECompras If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then If ObjMov.ValorPolizaDescuadre > 0 Then - 'MsgError = ObjMov.MensajePolizaDescuadre + MsgError = ObjMov.MensajePolizaDescuadre GuardaLogAD($"Bancos/PopIECompras | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") End If End If diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 77a1c8d1b..6d0c5000c 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -1261,6 +1261,72 @@ Partial Class Bancos_ProveedoresAbonar End If End If End If + Case 285 'Ret IVA x Acreditar Acreditable Servicios + If gvr.DataKey("CveRetIVAConcepto").ToEntero = 5 Then + If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago + importeMX = ImporteMovimiento + ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) + importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) + ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) + importeMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) + importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) + End If + ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + importeMX = Math.Round(importeMX, 2) + + If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + 'Conta ContPAQ + If IdCtaContRetIVA > 0 Then + IdCtaContable = IdCtaContRetIVA + ElseIf UsuarioActual.Empresa.Funcionalidad(578).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + Else + If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjMov.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + End If + End If + End If + End If + Case 286 'Ret IVA Acreditable Servicio + If gvr.DataKey("CveRetIVAConcepto").ToEntero = 5 Then + If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago + importeMX = ImporteMovimiento + ElseIf CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) + importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) + ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then + ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) + importeMX = ImporteMovimiento * tipoCambioCompra + ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then + ImporteMovimiento = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePago) + importeMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, TipoCambioPago, tipoCambioCompra) + End If + ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + importeMX = Math.Round(importeMX, 2) + + If TipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{TipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + 'Conta ContPAQ + If IdCtaContRetIVAAcreditable > 0 Then + IdCtaContable = IdCtaContRetIVAAcreditable + ElseIf UsuarioActual.Empresa.Funcionalidad(582).ToEntero > 0 Then + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(582).ToEntero + Else + If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If ObjMov.DtResultados.Rows.Count > 0 Then + IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + End If + End If + End If + End If 'Case 16 'Ret ISR X Acreditar ' If gvr.DataKey("CveRetISRConcepto").ToEntero = 1 Then ' If CveMoneda = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 9cd4e6444..f8ad52e6f 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -104,6 +104,15 @@ Partial Class Compras_Compras Set(ByVal value As List(Of String)) ViewState("ListaDocumentos") = value End Set + End Property + + Public Property TieneAnticiposXML As Boolean + Get + TieneAnticiposXML = DirectCast(ViewState("TieneAnticiposXML"), Boolean) + End Get + Set(ByVal value As Boolean) + ViewState("TieneAnticiposXML") = value + End Set End Property Private Property DTOCTemp As DataTable @@ -873,6 +882,7 @@ Partial Class Compras_Compras Private Property Descuentos As Decimal = 0 + Private Property Amortizaciones As Decimal = 0 Private Property EmisorRFC As String Private Property ReceptorRFC As String Private Property TrasladoIVA As Decimal = 0 @@ -1116,6 +1126,7 @@ Partial Class Compras_Compras 'ImgBtnBuscarOC.Attributes.Add("data-toggle", "tooltip") 'ImgBtnBuscarOC.Attributes.Add("data-placement", "top") CargaDatosAgregarPS() + TieneAnticiposXML = False Modalidad = "" Version = "" CveMetodoPago = -1 @@ -1405,8 +1416,11 @@ Partial Class Compras_Compras End If 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO - LblSaldoFactura.Text = If(CveCompra > 0, Saldo.FormatoNumero, TxtTotal.Text.FormatoNumero) - + LblSaldoFactura.Text = If(CveCompra > 0, Saldo.FormatoNumero, TxtTotal.Text.FormatoNumero) + 'cuando es factura con amortizacion, el importe a descontar es el saldo que se debe de aplicar para la amortizacion + If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 Then + LblSaldoFactura.Text = TmpDT.SUMD("Descuento").ToString + End If If UsuarioActual.CveEmpresa = 126 And CveCompra > 0 Then LnkExportaGv.Visible = True @@ -1829,6 +1843,20 @@ Partial Class Compras_Compras VerVales.Visible = True End If + If TieneAnticiposXML Then 'si tiene anticipos, limpia los descuentos + 'LblAmortizacion.Text = ImporteAnticipo.FormatoNumero + TxtDescuento.Text = "0.00" + LblAmortizacion.Text = Descuentos.FormatoNumero + 'limpia los descuentos + For Each drr As DataRow In TmpDT.Rows + 'drr("Total") = drr("Total").ToString.ToDecimal + drr("Descuento").ToString.ToDecimal + drr("Amortizacion") = drr("Descuento") 'pasamos el importe de descuento a amortizacion + drr("Descuento") = 0.00 + Next + Amortizaciones = Descuentos + Descuentos = 0 + End If + Dim Msg As String = "" @@ -2127,7 +2155,7 @@ Partial Class Compras_Compras Private Sub ValidacionesTotalesXml() Dim Msg As String = "" - Dim SubtotalTemp = TmpDT.SUM("Total") + Math.Round(TmpDT.SUM("Descuento"), 2) + Dim SubtotalTemp = TmpDT.SUM("Total") + Math.Round(TmpDT.SUM("Descuento") + Math.Round(TmpDT.SUM("Amortizacion")), 2) Dim DescuentosTemp = TmpDT.SUM("Descuento") Dim Subtotal2Temp = TmpDT.SUM("Total") Dim IVATemp = TmpDT.SUM("IVA") @@ -4369,7 +4397,7 @@ Partial Class Compras_Compras 'METODO DE PREPOLIZA DE ALMACEN If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then - Dim ImporteAlmacen = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal + Dim ImporteAlmacen = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal If ImporteAlmacen > 0 Then If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then If (CveImportacion > 0 Or CveFlete > 0) Then @@ -4403,10 +4431,17 @@ Partial Class Compras_Compras End If 'hay amortización directa como descuento. RMF Temporal If UsuarioActual.CveEmpresa = 119 Then - If LblAmortizacion.Text.ToDouble > 0 AndAlso TxtDescuento.Text.ToDouble = 0 Then - TxtDescuento.Text = LblAmortizacion.Text - LblAmortizacion.Text = "0.00" - End If + 'If LblAmortizacion.Text.ToDouble > 0 AndAlso TxtDescuento.Text.ToDouble = 0 Then + ' TxtDescuento.Text = LblAmortizacion.Text + ' LblAmortizacion.Text = "0.00" + 'End If + + 'o si el descuento es igual a la amortizacion + 'If LblAmortizacion.Text.ToDouble = TxtDescuento.Text.ToDouble Then + ' TxtDescuento.Text = LblAmortizacion.Text + ' LblAmortizacion.Text = "0.00" + 'End If + End If 'Compra @@ -6175,36 +6210,31 @@ Partial Class Compras_Compras Else importeMovimiento = 0 End If - Case 285 'Perdida - - - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - If ObjConta.DtResultados.Rows.Count > 0 Then - IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero - CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacionSIG").ToString.ToEntero + Case 285 'Ret IVA 6% Servicios + + IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + + 'If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then + ' If ObjConta.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero + ' CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaRetIVACirculacionSIG").ToString.ToEntero + ' End If + 'End If + + + If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then + + If CveMoneda = 2 Then + importeMN = TmpDT.SUMD("RetIVA") * TxtTC.Text.ToDecimal + Else + importeMN = TmpDT.SUMD("RetIVA") + importeMovimiento = TmpDT.SUMD("RetIVA") + End If + + Else + importeMovimiento = 0 End If - - - - - If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then - - If CveMoneda = 2 Then - importeMN = TmpDT.SUMD("RetIVA") * TxtTC.Text.ToDecimal - Else - importeMN = TmpDT.SUMD("RetIVA") - importeMovimiento = TmpDT.SUMD("RetIVA") - - End If - - Else - importeMovimiento = 0 - End If - - - - Case 6 'Compra Dim AgregaMercanciaInventario As Boolean = UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119) AndAlso UsuarioActual.Empresa.UsaInventarios AndAlso Not UsuarioActual.Empresa.Funcionalidad(126) = "1" @@ -6784,6 +6814,7 @@ Partial Class Compras_Compras Else ErrorPrepoliza = True Exit For + Exit For End If ' FLUCTUACION CAMBIARIA @@ -7014,7 +7045,7 @@ Partial Class Compras_Compras Exit For End If - If TxtTotal.Text.ToDouble > 0 Then + If TxtTotal.Text.ToDouble > 0 AndAlso TieneAnticiposXML = False Then importeMNNC = importeMovimientoNC * tipoCambioActual * Multiplicador IdCtaContable = CtaProveedorExtranjera ' CtaProveedorAnticiposExtranjera CveCuenta = CveCuentaProveedorExtranjera 'CveCuentaProveedorAnticiposExtranjera @@ -7116,7 +7147,7 @@ Partial Class Compras_Compras ErrorPrepoliza = True End If - If TxtTotal.Text.ToDouble > 0 Then + If TxtTotal.Text.ToDouble > 0 AndAlso TieneAnticiposXML = False Then Dim IdCtaContablePago As Integer = CtaProveedor Dim CveCuentaPago As Integer = CveCuentaProveedor Dim usacomplementariaProveedor As Boolean = False @@ -7177,15 +7208,19 @@ Partial Class Compras_Compras Dim PorcentajePagoAnt As Decimal = importeMovimiento / If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDecimal) Dim ImporteIVA As Decimal = Math.Round(PorcentajePagoAnt * TxtIVA.Text.ToDecimal, 2) - 'Agregamos el 14 - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteIVA, Referencia, 14, Concepto, FechaMovimiento, CtaIvaxAcreditar, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorLocal, CveAcreedor:=CveAcreedor, CveIE:=Ant.CveIE, CveColectiva:=CveColectiva, ImporteMX:=ImporteIVA * tipoCambioActual * Multiplicador, ImporteME:=If(tipoCambioActual = 1, 0, ImporteIVA), CveCuenta:=CveCuentaIvaxAcreditar, PorcentajeImpuesto:=PorcentajeImpuestoAnticipo, Contabilizable:=SeContabiliza) Then - ErrorPrepoliza = True - End If - 'Agregamos el 19 - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, ImporteIVA, Referencia, 19, Concepto, FechaMovimiento, CtaIvaAcreditable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorLocal, CveAcreedor:=CveAcreedor, CveIE:=Ant.CveIE, CveColectiva:=CveColectiva, ImporteMX:=ImporteIVA * tipoCambioActual * Multiplicador, ImporteME:=If(tipoCambioActual = 1, 0, ImporteIVA), PorcentajeImpuesto:=PorcentajeImpuestoAnticipo, Contabilizable:=SeContabiliza) Then - ErrorPrepoliza = True - End If + If ImporteIVA <> 0 Then + 'Agregamos el 14 + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteIVA, Referencia, 14, Concepto, FechaMovimiento, CtaIvaxAcreditar, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorLocal, CveAcreedor:=CveAcreedor, CveIE:=Ant.CveIE, CveColectiva:=CveColectiva, ImporteMX:=ImporteIVA * tipoCambioActual * Multiplicador, ImporteME:=If(tipoCambioActual = 1, 0, ImporteIVA), CveCuenta:=CveCuentaIvaxAcreditar, PorcentajeImpuesto:=PorcentajeImpuestoAnticipo, Contabilizable:=SeContabiliza) Then + ErrorPrepoliza = True + End If + + 'Agregamos el 19 + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, ImporteIVA, Referencia, 19, Concepto, FechaMovimiento, CtaIvaAcreditable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorLocal, CveAcreedor:=CveAcreedor, CveIE:=Ant.CveIE, CveColectiva:=CveColectiva, ImporteMX:=ImporteIVA * tipoCambioActual * Multiplicador, ImporteME:=If(tipoCambioActual = 1, 0, ImporteIVA), PorcentajeImpuesto:=PorcentajeImpuestoAnticipo, Contabilizable:=SeContabiliza) Then + ErrorPrepoliza = True + End If + End If + End If @@ -7502,10 +7537,11 @@ Partial Class Compras_Compras End Select - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Ant.Importe, " ", CveConceptoAnt, " ", TxtFechaPago.Text.ToDate, 0, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedorLocal, CveAcreedor:=CveAcreedor, CveIE:=Ant.CveIE, CveColectiva:=CveColectiva, ImporteMX:=Ant.Importe) Then - ' ImporteAnticipo += Ant.Importe ' RESTO DEL IMPORTE POR SI QUEDA DIFERENCIA DE LA SUMA DE LOS ANTICIPOS Y EL PROVEEDOR TIENE QUE PAGAR - 'movimiento de pago proveedor, --no se regisra porque no se registra el total de la compra como deuda del proveedor, solo lo que queda a deber - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, Ant.Importe, " ", CveConceptoPago, " ", TxtFechaPago.Text.ToDate, 0, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorLocal, CveAcreedor:=CveAcreedor, CveIE:=Ant.CveIE, CveColectiva:=CveColectiva, ImporteMX:=Ant.Importe) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Ant.Importe, " ", CveConceptoAnt, " ", TxtFechaPago.Text.ToDate, 0, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedorLocal, CveAcreedor:=CveAcreedor, CveIE:=Ant.CveIE, CveColectiva:=CveColectiva, ImporteMX:=Ant.Importe) Then + ' ImporteAnticipo += Ant.Importe ' RESTO DEL IMPORTE POR SI QUEDA DIFERENCIA DE LA SUMA DE LOS ANTICIPOS Y EL PROVEEDOR TIENE QUE PAGAR + 'movimiento de pago proveedor, --no se regisra porque no se registra el total de la compra como deuda del proveedor, solo lo que queda a deber + 'si es l moviemiento es de amortizacion con descuento, no registra el pago, ya esta descontado + If TieneAnticiposXML = False AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, Ant.Importe, " ", CveConceptoPago, " ", TxtFechaPago.Text.ToDate, 0, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorLocal, CveAcreedor:=CveAcreedor, CveIE:=Ant.CveIE, CveColectiva:=CveColectiva, ImporteMX:=Ant.Importe) Then ErrorMovtosCxP = True End If PorcentajePago = (Ant.Importe) / TxtTotal.Text.ToDecimal @@ -8131,9 +8167,11 @@ Partial Class Compras_Compras Contador += 1 'If gvr.DataKey("Fecha").ToDate > Fecha Then Fecha = gvr.DataKey("Fecha").ToDate 'guardo la fecha mayor Importe += gvr.FCTextBox("TxtAnticipo").Text.ToDouble - If Math.Round(Importe, 2) - Math.Round(CompraSaldo, 2) > 0.01 Then gvr.FCTextBox("TxtAnticipo").Text = "" : gvr.FCCheckBox("Chk").Checked = False + If Math.Round(Importe, 2) - Math.Round(CompraSaldo, 2) > 0.01 Then gvr.FCTextBox("TxtAnticipo").Text = "" : gvr.FCCheckBox("Chk").Checked = False + End If - Next + Next + Else Contador = 1 End If @@ -9067,7 +9105,8 @@ Partial Class Compras_Compras Next End If - LblAmortizacion.Text = ImporteAnticipo.FormatoNumero + LblAmortizacion.Text = ImporteAnticipo.FormatoNumero + UpPS.Update() End If RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAnticipos")) @@ -10119,6 +10158,7 @@ Partial Class Compras_Compras If documento.Attributes("UUID").Value <> "" Then ListaDocumentos.Add(documento.Attributes("UUID").Value) End If + TieneAnticiposXML = True Next End If End If @@ -10287,10 +10327,11 @@ Partial Class Compras_Compras e.Row.BackColor = Drawing.Color.LightGray Else If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red - If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = "" + If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = "" + Dim ImporteAmortizacion As Decimal = If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDecimal) - e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO - e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDouble)), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO + e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO + e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO If ChkNCInv.Checked Then e.Row.FCCheckBox("Chk").CssClass = "ChkAntNC" @@ -10303,6 +10344,8 @@ Partial Class Compras_Compras Entro = True End If Next + 'permite vincular otro folio fiscal. + Entro = True If Not Entro Then e.Row.FCCheckBox("Chk").Enabled = False End If End If @@ -10614,6 +10657,7 @@ Partial Class Compras_Compras DTConceptos.Columns.Add("Descuento", GetType(Double)) DTConceptos.Columns.Add("IVA", GetType(Double)) DTConceptos.Columns.Add("Total", GetType(Double)) + DTConceptos.Columns.Add("Amortizacion", GetType(Double)) End Sub 'Private Sub AddPS(Cantidad As Double, UM As String, PS As String, PU As Double, IVA As Double, Descuento As Double, Optional Total As Double = 0) ' Dim Row As DataRow = Nothing @@ -11961,14 +12005,19 @@ Partial Class Compras_Compras #End Region #Region " AJUSTA IMPORTES " - Private Sub AjustaImporteUltimoConcepto(ImporteAjuste As Decimal, Optional EsCarga As Boolean = False) - 'Dim TempSubTotal = TxtSubTotal.Text.ToDouble + Private Sub AjustaImporteUltimoConcepto(ImporteAjuste As Decimal, Optional EsCarga As Boolean = False) + 'Dim TempSubTotal = TxtSubTotal.Text.ToDouble + Dim Amortizacion As Decimal = 0 + If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then + Amortizacion = LblAmortizacion.Text.ToDecimal + End If If TmpDT.Rows.Count > 0 Then ' si hay movimientos y si esta afectando al total, que se haga el ajuste 'Dim ImporteAjuste As Decimal = Total - (SubTotal2 + IVA - RetencionIVA - RetencionIVA - RetencionISR + IEPS + OtrosImpuestos) Dim Indice As Integer = If(TmpDT.Rows(TmpDT.Rows.Count - 1)("CvePS").ToString = UsuarioActual.Empresa.Funcionalidad(112).ToString, TmpDT.Rows.Count - 2, TmpDT.Rows.Count - 1) - Dim tPU As Decimal - + Dim tPU As Decimal + + If TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal > 0 Then tPU = ImporteAjuste / TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal Else @@ -11985,7 +12034,7 @@ Partial Class Compras_Compras Descuentos = TmpDT.SUM("Descuento").ToString.ToDecimal End If TxtSubTotal.Text = (SubTotal + Descuentos).FormatoNumero() - TxtSubTotal2.Text = SubTotal.FormatoNumero + TxtSubTotal2.Text = (SubTotal - Amortizacion).FormatoNumero TxtDescuento.Text = Descuentos.FormatoNumero() SubTotalConceptos = SubTotal GvPS.DataSource = TmpDT : GvPS.DataBind() @@ -14863,8 +14912,12 @@ Partial Class Compras_Compras 'If DdlOCVinculaInv.SelectedValue.ToEntero = 237 And Not CveFlete > 0 Then Alert("Necesita vincular un flete si selecciona Factura de Flete", TipoMensaje.MsgAdvertencia) : Exit Sub 'If DdlOCVinculaInv.SelectedValue.ToEntero = 240 And Not CveImportacion > 0 Then Alert("Necesita vincular una Importación si selecciona Factura de Importación", TipoMensaje.MsgAdvertencia) : Exit Sub - Dim SubTotalGV = 0.0D - Dim SubTotalCompra = If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteSinImpuestos"), TmpDT.SUM("Total").ToString.ToDecimal) + Dim SubTotalGV = 0.0D + Dim Amortizacion As Decimal = TmpDT.SUMD("Total") + If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then + Amortizacion = TmpDT.SUMD("ImporteSinImpuestos") + End If + Dim SubTotalCompra As Decimal = Amortizacion Dim DiferenciaPermitida = 1 Dim Cont = 0 For Each gvr As GridViewRow In GvOC1.Rows @@ -14931,7 +14984,14 @@ Partial Class Compras_Compras If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Or VinculacionCompleta Then TotalRows += 1 End If - Next + Next + + Dim TieneAmortizacion As Boolean = False + + If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then + TieneAmortizacion = True + End If + For Each gvr As GridViewRow In GvOC1.Rows If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Or VinculacionCompleta Then dr = DTOCGV.Rows(gvr.RowIndex) @@ -14963,7 +15023,7 @@ Partial Class Compras_Compras Dim RetISR As Double = dr("RetISRPorcentaje").ToString.ToDecimal Dim IEPSPS As Double = dr("IEPSPSPorcentaje").ToString.ToDecimal Dim IEPSPSIVA As Double = dr("IEPSPSIVAPorcentaje").ToString.ToDecimal - Dim Descuento As Double = If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TxtDescuento.Text.ToDouble / TotalRows, gvr.FCHiddenField("HdnOC1Descuento").Value.ToDecimal) + Dim Descuento As Double = If(TieneAmortizacion, TxtDescuento.Text.ToDouble / TotalRows, gvr.FCHiddenField("HdnOC1Descuento").Value.ToDecimal) 'Dim Descuento As Double = gvr.FCHiddenField("HdnOC1Descuento").Value.ToDecimal Dim CveOrdenCompraDetalle As Integer = dr("CveOrdenCompraDetalle").ToString.ToEntero Dim EntregaDirecta As Integer = dr("EntregaDirecta").ToString.ToEntero @@ -15012,11 +15072,10 @@ Partial Class Compras_Compras AddPS2(False) 'AJUSTE DE REDONDEO O DIFERENCIA PERMITIDA DE IMPORTE - AjustaImporteUltimoConcepto((If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUMD("ImporteSinImpuestos"), TxtSubTotal2.Text.ToDouble) + TxtOtrosImpuestos.Text.ToDouble).ToDecimal - If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, TmpDT.SUM("ImporteSinImpuestos").ToString.ToDecimal, TmpDT.SUM("Total").ToString.ToDecimal)) - 'AjustaImporteUltimoConcepto(TxtSubTotal2.Text.ToDecimal + TxtOtrosImpuestos.Text.ToDecimal - (TmpDT.SUM("Total").ToString.ToDecimal)) - - - + AjustaImporteUltimoConcepto((If(TieneAmortizacion, TmpDT.SUMD("ImporteSinImpuestos"), TxtSubTotal2.Text.ToDouble) + TxtOtrosImpuestos.Text.ToDouble).ToDecimal - If(TieneAmortizacion, TmpDT.SUM("ImporteSinImpuestos").ToString.ToDecimal, TmpDT.SUM("Total").ToString.ToDecimal)) + 'AjustaImporteUltimoConcepto(TxtSubTotal2.Text.ToDecimal + TxtOtrosImpuestos.Text.ToDecimal - (TmpDT.SUM("Total").ToString.ToDecimal)) + + BtnGuardar.Enabled = True If Not CierrePeriodo Then BtnGuardar.Visible = True @@ -16492,6 +16551,16 @@ Partial Class Compras_Compras Dim Amortizacion As Decimal = 0 If UsuarioActual.CveEmpresa = 119 Then Amortizacion = LblAmortizacion.Text.Trim.ToDecimal + TxtSubTotal.Text = (TxtSubTotal.Text.ToDouble + Amortizacion).ToString + End If + + Dim TieneAmortizacion As Boolean = False + If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then + TieneAmortizacion = True + End If + + If CveCompra < 0 AndAlso Not TieneAmortizacion Then + LblAmortizacion.Text = "0.00" End If TempSubTotal = TxtSubTotal.Text.ToDouble @@ -16503,7 +16572,7 @@ Partial Class Compras_Compras TempIEPS = TxtIEPS.Text.ToDouble TempRetIVA = TxtRetIVA.Text.ToDouble TempRetISR = TxtRetISR.Text.ToDouble - TempTotal = Math.Round(TempSubTotal2 + TempIVA + TempIEPS - TempRetIVA - TempRetISR - TxtOtrosImpuestos.Text.ToDouble, 2) + TempTotal = Math.Round(TempSubTotal2 + TempIVA + TempIEPS - TempRetIVA - TempRetISR - TxtOtrosImpuestos.Text.ToDouble - Amortizacion, 2) DifTotales = TxtTotal.Text.ToDouble - TempTotal Dim DiferenciaPermitida = 0.6 diff --git a/Compras/Proveedores.aspx b/Compras/Proveedores.aspx index bcbcf062c..ae72b0047 100644 --- a/Compras/Proveedores.aspx +++ b/Compras/Proveedores.aspx @@ -603,6 +603,51 @@ --%> + +
+
+
+ + Representastes Legales + +
+
+
+
+
+ +
+ + + + +
+
+
+ + + + + + + + + + <%-- + + + + + --%> + + + + + +
+
+ diff --git a/Compras/Proveedores.aspx.vb b/Compras/Proveedores.aspx.vb index 3036fa58f..b32464910 100644 --- a/Compras/Proveedores.aspx.vb +++ b/Compras/Proveedores.aspx.vb @@ -380,6 +380,9 @@ Partial Class Compras_Proveedores End If HlEvento.Visible = True HlEvento.NavigateUrl = "/OI/PopUpAgenda.aspx?CveTipoEvento=2&CveProveedor=" & CveProveedor & "&TB_iframe=true&height=370&width=600;" + + CargaRepresentantes() + Else 'Configuración de Modalidad Insert @@ -500,6 +503,30 @@ Partial Class Compras_Proveedores 'ViewState("OUsuario") = "Usuario DESC" End Sub + + Private Sub CargaRepresentantes() + + If CveProveedor > 0 Then + + Dim ObjProveedores As New ClsCompProveedores + + If ObjProveedores.GetRePresentanteLegal(-1, UsuarioActual.CveEmpresa, CveProveedor) Then + + GvRepresentante.DataSource = ObjProveedores.DtResultados + Else + GvRepresentante.DataSource = Nothing + End If + + ObjProveedores.Dispose() + + GvRepresentante.DataBind() + End If + + + End Sub + + + Private Sub CargaCuentasContables(Optional IdCuentaPadre As Integer = -1) If UsuarioActual.Empresa.UsaContabilidad Then Dim ObjContabilidad As New ClsContPAQi(UsuarioActual.Empresa) diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index a630bed96..b8638b6db 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -424,7 +424,7 @@ Partial Class Compras_ReembolsosComprobaciones If UsuarioActual.CveEmpresa.Contiene(119) Then - CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones", 9, TxtImporteVinculado.Text.ToDecimal, TxtImporteVinculado.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones1", 9, TxtImporteVinculado.Text.ToDecimal, TxtImporteVinculado.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveCajaChica > 0 Then If ObjMov.GetRetCuenta(30, CveCajaChica) Then @@ -448,7 +448,7 @@ Partial Class Compras_ReembolsosComprobaciones Else If drp IsNot Nothing Then If drp("IdPoliza").ToString.ToEntero > 0 Then - CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones", 9, TxtImporteVinculado.Text.ToDecimal, TxtImporteVinculado.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones2", 9, TxtImporteVinculado.Text.ToDecimal, TxtImporteVinculado.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) IdPoliza = drp("IdPoliza").ToString.ToEntero Else CvePrePolizaIERegistrado = drp("CvePrePoliza").ToString.ToEntero @@ -464,14 +464,14 @@ Partial Class Compras_ReembolsosComprobaciones End If If ChkChequeExcedente.Checked Then - CvePrePolizaExcedente = ObjMov.AddPrePolizas("Compras/Comprobaciones", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePolizaExcedente = ObjMov.AddPrePolizas("Compras/Comprobaciones3", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) CveIEExcedente = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text, TxtImporte.Text.ToDecimal, CveMoneda, 0.0, TxtObservaciones.Text, "", ChkAbonoCuenta.Checked, True, -1, CvePrePolizaExcedente, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FueConciliado:=If(ChkReembolsarSinBancos.Checked, True, False)) If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, TxtImporte.Text.ToDecimal, TxtObservaciones.Text, If(CveCajaChica > 0, 30, 29), TxtObservaciones.Text, TxtFechaDocumento.Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEExcedente, CvePersonal:=CvePersonal, CveCompra:=-1, CveProveedor:=-1, ImporteME:=If(tipoCambio = 1, 0, TxtImporte.Text.ToDecimal), ImporteMX:=TxtImporte.Text.ToDecimal * tipoCambio) Then MsgError = "Error al registrar detalle de concepto bancario" End If End If ElseIf Not ChkReembolsarSinBancos.Checked Then - CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones4", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) CveIERegistrado = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text, TxtImporte.Text.ToDecimal, CveMoneda, 0.0, TxtObservaciones.Text, "", ChkAbonoCuenta.Checked, True, -1, CvePrePolizaIERegistrado, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FueConciliado:=If(ChkReembolsarSinBancos.Checked, True, False)) 'AGREGO PREPOLIZA IE BANCOS @@ -506,7 +506,7 @@ Partial Class Compras_ReembolsosComprobaciones End If Else - CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones5", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) 'SI ES CAJA CHICA REGISTRO IE CAJA CHICA If CveCajaChica > 0 Then @@ -635,7 +635,7 @@ Partial Class Compras_ReembolsosComprobaciones CvePrePolizaPago = CvePrePolizaIERegistrado 'SE USARA PARA PODER ELIMINAR UNA COMPROBACION - CvePrePolizaPagoOriginal = ObjMov.AddPrePolizas("Compras/Comprobaciones", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePolizaPagoOriginal = ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) 'registramos el nuevo IE @@ -979,7 +979,7 @@ Partial Class Compras_ReembolsosComprobaciones ImporteMovto = ImportePagar If ImportePagar = ImporteOriginal Then - CvePrePolizaPago = ObjMov.AddPrePolizas("Compras/Comprobaciones", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePolizaPago = ObjMov.AddPrePolizas("Compras/Comprobaciones7", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) 'registramos el nuevo IE If CveCajaChica > 0 Then CveIEPago = 0 diff --git a/Edoc/CatDocumentos.aspx b/Edoc/CatDocumentos.aspx index eaa6a2fed..a4dd193e9 100644 --- a/Edoc/CatDocumentos.aspx +++ b/Edoc/CatDocumentos.aspx @@ -1,4 +1,4 @@ -<%@ Page Title="RH - Catálogo de Documentos" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatDocumentos.aspx.vb" Inherits="RH_CatDocumentos" %> +<%@ Page Title="Catálogo de Documentos" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatDocumentos.aspx.vb" Inherits="RH_CatDocumentos" %> <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> diff --git a/Edoc/Contratos.aspx b/Edoc/Contratos.aspx index 3bd132099..b49544a0c 100644 --- a/Edoc/Contratos.aspx +++ b/Edoc/Contratos.aspx @@ -230,7 +230,7 @@