diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb index 4cad5571a..373a3253f 100644 --- a/App_Code/ClsMovimientos.vb +++ b/App_Code/ClsMovimientos.vb @@ -789,7 +789,6 @@ Public Class ClsMovimientos Public Function GetEgresosSinComprobar(FechaInicio As String, FechaFin As String, CveProveedor As Integer, CvePersonal As Integer, CveClasificacion As Integer, CveUsuarioRegistro As Integer, CveUsuarioResponsable As Integer, CveMoneda As Integer, Saldo As Double, CveEmpresa As Integer, Optional CveTipoTransaccion As Integer = -1, Optional CveUsuarioSolicito As Integer = -1) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_EgresosSinComprobar") With SqlAdapter.SelectCommand.Parameters @@ -820,7 +819,6 @@ Public Class ClsMovimientos Public Function GetIngresosAcreedorXSaldar(CveProveedor As Integer, CveMoneda As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_IngresosAcreedorXSaldar") With SqlAdapter.SelectCommand.Parameters @@ -840,7 +838,6 @@ Public Class ClsMovimientos End Function Public Function GetPrestamosPersonalXSaldar(CvePersonal As Integer, CveMoneda As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_PrestamosPersonalXSaldar") With SqlAdapter.SelectCommand.Parameters @@ -861,7 +858,6 @@ Public Class ClsMovimientos Public Function GetDeudoresrXSaldar(CveProveedor As Integer, CveMoneda As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_DuedorXSaldar") With SqlAdapter.SelectCommand.Parameters @@ -883,7 +879,6 @@ Public Class ClsMovimientos Public Function GetIngresosPorComprobar(FechaInicio As String, FechaFin As String, CveCliente As Integer, CveUsuarioRegistro As Integer, CveMoneda As Integer, Saldo As Double, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_IngresosPorComprobar") With SqlAdapter.SelectCommand.Parameters @@ -909,7 +904,6 @@ Public Class ClsMovimientos Public Function GetIngresosAnticiposPorComprobar(FechaInicio As String, FechaFin As String, CveCliente As Integer, CveUsuarioRegistro As Integer, CveMoneda As Integer, Saldo As Double, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_IngresosAnticiposSinComprobar") With SqlAdapter.SelectCommand.Parameters @@ -935,7 +929,6 @@ Public Class ClsMovimientos Public Function GetMovimientosIE(Opcion As Integer, CveFiltro As Integer, CveCuentaBancaria As Integer, FechaInicio As Date, FechaFin As Date, CveMoneda As Integer, Saldo As Double, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_MovimientosIE") With SqlAdapter.SelectCommand.Parameters @@ -962,7 +955,6 @@ Public Class ClsMovimientos Public Function GetEgresosSinComprobarPersonal(CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_EgresosSinComprobarPersonal") With SqlAdapter.SelectCommand.Parameters @@ -982,7 +974,6 @@ Public Class ClsMovimientos Public Function GetChequesFYE(CveEmpresa As Integer, Optional FechaI As DateTime = ModExtensiones.MinFecha, Optional FechaF As DateTime = ModExtensiones.MaxFecha) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_ReporteChequesFYEGet") With SqlAdapter.SelectCommand.Parameters @@ -1004,7 +995,6 @@ Public Class ClsMovimientos Public Function GetEgresosSinComprobarPersonalDetalle(CvePersonal As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_EgresosSinComprobarPersonalDetalle") With SqlAdapter.SelectCommand.Parameters @@ -1025,8 +1015,7 @@ Public Class ClsMovimientos Public Function GetDeudoresSaldos(CveProveedor As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - - DataAdapter("PA_Banc_DeudoresSaldos") + DataAdapter("PA_Banc_DeudoresSaldosGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor @@ -1045,8 +1034,7 @@ Public Class ClsMovimientos Public Function GetDeudoresComisionesSaldos(CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - - DataAdapter("PA_Banc_DeudoresComisionesSaldos") + DataAdapter("PA_Banc_DeudoresComisionesSaldosGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa @@ -1064,8 +1052,7 @@ Public Class ClsMovimientos Public Function GetDeudoresComisionesSaldosDetalle(CveProveedor As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - - DataAdapter("PA_Banc_DeudoresComisionesSaldosDetalle") + DataAdapter("PA_Banc_DeudoresComisionesSaldosDetalleGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor @@ -1085,7 +1072,6 @@ Public Class ClsMovimientos Public Function GetDeudoresSaldos2(CveProveedor As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_DeudoresSaldos2") With SqlAdapter.SelectCommand.Parameters @@ -1106,7 +1092,6 @@ Public Class ClsMovimientos Public Function GetSaldosDeudorAcreedorAnticipos(FechaInicio As Date, FechaFin As Date, Opcion As Integer, CveProveedor As Integer, CvePersonal As Integer, CveClasificacion As Integer, CveUsuarioRegistro As Integer, CveUsuarioResponsable As Integer, CveMoneda As Integer, Saldo As Double, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_SaldosDAP") With SqlAdapter.SelectCommand.Parameters @@ -1136,8 +1121,7 @@ Public Class ClsMovimientos Public Function GetDeudoresSaldosDetalle(CveProveedor As Integer, CveMoneda As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - - DataAdapter("PA_Banc_DeudoresSaldosDetalle") + DataAdapter("PA_Banc_DeudoresSaldosDetalleGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor @@ -1158,7 +1142,6 @@ Public Class ClsMovimientos Public Function GetIngresosSaldos(CveCliente As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_IngresosSaldos") With SqlAdapter.SelectCommand.Parameters @@ -1179,7 +1162,6 @@ Public Class ClsMovimientos Public Function GetOtrosIngresos(Opcion As Integer, CveCliente As Integer, CveProveedor As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_OtrosIngresos") With SqlAdapter.SelectCommand.Parameters @@ -1202,7 +1184,6 @@ Public Class ClsMovimientos Public Function GetIngresosSaldosDetalle(CveCliente As Integer, CveMoneda As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_IngresosSaldosDetalle") With SqlAdapter.SelectCommand.Parameters @@ -1224,7 +1205,6 @@ Public Class ClsMovimientos Public Function GetDocumentosxPagarDetalle(CveCliente As Integer, CveMoneda As Integer, Opcion As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_DocumentosxPagarSaldosDetalle") With SqlAdapter.SelectCommand.Parameters @@ -1247,7 +1227,6 @@ Public Class ClsMovimientos Public Function GetCajaChicaDetalle(CveCajaChica As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_CajaChicaDetalle") With SqlAdapter.SelectCommand.Parameters @@ -1268,7 +1247,6 @@ Public Class ClsMovimientos Public Function UpdateReembolsoComprobante(CveComprobacion As Integer, Comprobante As String) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Comp_ReembolosoComprobanteUpdate") With SqlAdapter.SelectCommand.Parameters @@ -1290,7 +1268,6 @@ Public Class ClsMovimientos Public Function GetAcreedoresSaldosDetalles(CveProveedor As Integer, CveMoneda As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_AcreedoresSaldosDetalles") With SqlAdapter.SelectCommand.Parameters @@ -1312,7 +1289,6 @@ Public Class ClsMovimientos Public Function GetAcreedoresSaldos(CveProveedor As Integer, CveMoneda As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Banc_AcreedoresSaldos") With SqlAdapter.SelectCommand.Parameters @@ -1414,7 +1390,6 @@ Public Class ClsMovimientos Optional ConComprobacion As Integer = -1, Optional AplicaNC As Integer = -1) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Comp_CxPProgramar") With SqlAdapter.SelectCommand.Parameters @@ -1457,7 +1432,8 @@ Public Class ClsMovimientos Return Retorno End Function - Public Function GetCxPPersonalCajaChica(CveEmpresa As Integer, CvePersonal As Integer, CveCajaChica As Integer, NumeroReembolso As String, Optional FechaI As DateTime = ModExtensiones.MinFecha, Optional FechaF As DateTime = ModExtensiones.MaxFecha, Optional OpcionSaldo As Integer = 1) As Boolean + Public Function GetCxPPersonalCajaChica(CveEmpresa As Integer, CvePersonal As Integer, CveCajaChica As Integer, NumeroReembolso As String, Optional FechaI As DateTime = ModExtensiones.MinFecha, Optional FechaF As DateTime = ModExtensiones.MaxFecha, + Optional OpcionSaldo As Integer = 1, Optional CveSubProyecto As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_CxPPersonalCajaChica") With SqlAdapter.SelectCommand.Parameters @@ -1468,6 +1444,7 @@ Public Class ClsMovimientos .Add("@FechaI", SqlDbType.DateTime).Value = FechaI .Add("@FechaF", SqlDbType.DateTime).Value = FechaF .Add("@OpcionSaldo", SqlDbType.Int).Value = OpcionSaldo ' 1. solo con saldo, -1. todos + .Add("@CveSubProyecto", SqlDbType.Int).Value = OpcionSaldo End With Try SqlAdapter.Fill(Data) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index c82c5ba22..65b176d49 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -6225,6 +6225,7 @@ Public Class ClsPaginas Dim ObjInv As New ClsGenerales Dim TelDestino As String = "" Dim NombreUsuario As String = "" 'Persona que timbro + Dim LugarOrigen As String = "" If ObjInv.GetGralTimbre(CveTimbre, "-1", MinFecha, MaxFecha, -1, UsuarioActual.CveEmpresa, -1) Then If ObjInv.DtResultados.Rows.Count > 0 Then @@ -6235,6 +6236,7 @@ Public Class ClsPaginas TipoDocto = Dr("TipoDocto").ToString TelDestino = Dr("TelDestino").ToString NombreUsuario = Dr("NombreUsuario").ToString + LugarOrigen = Dr("LugarOrigen").ToString If UsuarioActual.CveEmpresa = 13 Then PermisoSCTR1 = Dr("PermisoSCTR1").ToString @@ -6632,6 +6634,8 @@ Public Class ClsPaginas params.Add(New ReportParameter("DomicilioFiscal", $"{UsuarioActual.Empresa.Direccion}, {UsuarioActual.Empresa.Colonia}, {UsuarioActual.Empresa.Localidad}, {UsuarioActual.Empresa.Estado}, Tel. {Telefono}")) params.Add(New ReportParameter("SerieFolio", SerieFolio)) params.Add(New ReportParameter("NombreUsuario", NombreUsuario)) + params.Add(New ReportParameter("LugarOrigen", LugarOrigen)) + params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC)) params.Add(New ReportParameter("DomicilioExpedicion", LugarExpedicion)) 'CLIENTE diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index cc028f6c9..6d7ecde0c 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -3,9 +3,7 @@ Option Strict On Imports System.Data Imports System.Data.SqlClient -Imports System.Runtime.CompilerServices Imports Extensiones -Imports Profact.TimbraCFDI40 Public Class ClsVentas Implements IDisposable @@ -7915,11 +7913,6 @@ Public Class ClsVentas - - - - - #Region "IDisposable Support" diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 19b3bbb23..a0df85f43 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -964,9 +964,9 @@ Public Class Timbrado If CvePACEspecial <> -1 Then tCvePAC = CvePACEspecial 'validación especial. - If Ventas.TipoDocto.Contiene("Ing", "Dev") Then + If Ventas.TipoDocto.Contiene("Ing", "Dev") AndAlso UsuarioActual.Empresa.Funcionalidad(153) = "" Then ' funcionalidad para no filtrar por códigos 01010101 - Dim CodigoIncorrecto = (From c In Ventas.Timbre.Conceptos Where (c.ClaveProdServ = "01010101") OrElse (c.ClaveProdServ = "84111506" AndAlso Not UsuarioActual.CveEmpresa.Contiene(2, 70, 144)) + Dim CodigoIncorrecto = (From c In Ventas.Timbre.Conceptos Where (c.ClaveProdServ = "01010101") OrElse (c.ClaveProdServ = "84111506") Select c.ClaveProdServ, c.Descripcion) Dim Str As New StringBuilder Str.Append("Los siguientes productos tienen especificado un código no permitido por el SAT:
") diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx index 0c2d9a41c..085d86b98 100644 --- a/Bancos/DepositosCaja.aspx +++ b/Bancos/DepositosCaja.aspx @@ -318,14 +318,14 @@ -
+
-
+
@@ -336,7 +336,7 @@
-
+
diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index 5db1c8b8e..0ae16b335 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -15,11 +15,22 @@ Partial Class Bancos_DepositosCaja Set(value As Integer) ViewState("FacturasCheckadas") = value End Set + End Property + + Private Property IntermediarioPendiente As Boolean + Get + Return ViewState("IntermediarioPendiente").ToString.ToBool + End Get + Set(value As Boolean) + ViewState("IntermediarioPendiente") = value + End Set End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then FacturasCheckadas = 0 + IntermediarioPendiente = False + TxtFecha.Text = NowADS().ToShortDateString txtFechaI.Text = NowADS().AddDays(-1).ToShortDateString txtFechaF.Text = NowADS().ToShortDateString @@ -45,6 +56,13 @@ Partial Class Bancos_DepositosCaja 'Dim StrEncriptPrueba As String = Encripta($"OP=DC&CveIE={2784391}&CuentaCaja={"TestCuantaCaja"}&CuentaDepo={"Test cuenta"}") 'HplImprimirPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={StrEncriptPrueba}" + If UsuarioActual.CveEmpresa = 145 Then + IntermediarioPendiente = True + divInterClasif.Visible = False + divInterSubProyecto.Visible = False + DivIVA.Visible = False + End If + If UsuarioActual.CveEmpresa = 189 Then If DdlTipoPago.Items.FindByValue("-1") IsNot Nothing Then DdlTipoPago.Items.Remove(DdlTipoPago.Items.FindByValue("-1")) @@ -307,35 +325,7 @@ Partial Class Bancos_DepositosCaja NuevaCvePrePoliza = ObjConta.AddPrePolizas("DepCaja", 13, TotalImportePrePoliza, TotalImportePrePoliza, CveMoneda, Fecha, $"Depósito Bancario - {DdlTipoDeposito.SelectedItem.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=1) - Dim IntermediarioFactura As Boolean = False - If UsuarioActual.CveEmpresa = 145 Then IntermediarioFactura = True - If ChkIntermediario.Checked Then - CveSubProyectoIntermediario = DdlSubProyectoIntermediario.SelectedValue.ToEntero - CveClasificacionIntermediario = DdlClasificacionIntermediario.SelectedValue.ToEntero - CveProveedorIntermediario = DdlProveedorIntermediario.SelectedValue.ToEntero - - If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then ' empresa llantera - If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, TotalImporte, 95, DdlClasificacionIntermediario.SelectedItem.Text, DdlClasificacionIntermediario.SelectedItem.Text, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, CveProveedor:=CveProveedorIntermediario, CveCuenta:=57619) Then - OcurrioError = True - End If - If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, TotalImporte, TotalImporte, 95, DdlClasificacionIntermediario.SelectedItem.Text, DdlClasificacionIntermediario.SelectedItem.Text, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, CveProveedor:=CveProveedorIntermediario, CveCuenta:=57619) Then - OcurrioError = True - End If - End If - - If Not IntermediarioFactura Then ' si factura no se manda al gasto sino se disminuye solo lo depositado - If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, ImporteInter, ImporteInter, 51, DdlClasificacionIntermediario.SelectedItem.Text, DdlClasificacionIntermediario.SelectedItem.Text, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario) Then - OcurrioError = True - End If - End If - - If IVA <> 0 Then - If Not OcurrioError AndAlso Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, IVA, IVA, 14, DdlClasificacionIntermediario.SelectedItem.Text, DdlClasificacionIntermediario.SelectedItem.Text, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, PorcentajeImpuesto:=0.16D) Then - OcurrioError = True - End If - End If - End If Dim CveTransaccionBanco As Integer = DdlTipoDeposito.SelectedValue.ToEntero @@ -419,6 +409,38 @@ Partial Class Bancos_DepositosCaja OcurrioError = True End If + If Not OcurrioError AndAlso ChkIntermediario.Checked Then + + CveSubProyectoIntermediario = DdlSubProyectoIntermediario.SelectedValue.ToEntero + CveClasificacionIntermediario = DdlClasificacionIntermediario.SelectedValue.ToEntero + CveProveedorIntermediario = DdlProveedorIntermediario.SelectedValue.ToEntero + + If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then ' empresa llantera + If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, TotalImporte, 95, DdlClasificacionIntermediario.SelectedItem.Text, DdlClasificacionIntermediario.SelectedItem.Text, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, CveProveedor:=CveProveedorIntermediario, CveCuenta:=57619) Then + OcurrioError = True + End If + If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, TotalImporte, TotalImporte, 95, DdlClasificacionIntermediario.SelectedItem.Text, DdlClasificacionIntermediario.SelectedItem.Text, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, CveProveedor:=CveProveedorIntermediario, CveCuenta:=57619) Then + OcurrioError = True + End If + End If + + If Not IntermediarioPendiente Then ' si factura no se manda al gasto sino se disminuye solo lo depositado + If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, ImporteInter, ImporteInter, 51, DdlClasificacionIntermediario.SelectedItem.Text, DdlClasificacionIntermediario.SelectedItem.Text, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario) Then + OcurrioError = True + End If + Else 'se manda el saldo como deudor + If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, ImporteInter, ImporteInter, 43, "Comisión Intermediario", "Comisión Intermediario", CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, CveProveedor:=DdlProveedorIntermediario.SelectedValue.ToEntero, CveIE:=CveIEOrigen) Then + OcurrioError = True + End If + End If + + If IVA <> 0 Then + If Not OcurrioError AndAlso Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, False, IVA, IVA, 14, DdlClasificacionIntermediario.SelectedItem.Text, DdlClasificacionIntermediario.SelectedItem.Text, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, PorcentajeImpuesto:=0.16D) Then + OcurrioError = True + End If + End If + End If + If Not OcurrioError AndAlso ChkCuentaRetorno.Checked Then If Not ObjConta.AddPrePolizasDetalle(NuevaCvePrePoliza, True, CuentaRetorno, CuentaRetorno * TipoCambio, 325, $"Depósito Bancario - CAJA - {tSubProyectoDeposito}", TxtCuentaRetornoObs.Text.Trim, CveSubProyecto:=CveSubProyecto) Then OcurrioError = True @@ -436,11 +458,11 @@ Partial Class Bancos_DepositosCaja Dim Importe As Decimal = Gvr.DataKey("Importe").ToDecimal Dim SerieFolio As String = Gvr.DataKey("SerieFolio").ToString - 'si es el primero, se descuenta la "comisión" - If i = 0 AndAlso IntermediarioFactura Then - Importe = Importe - ImporteInter - i += 1 - End If + ''si es el primero, se descuenta la "comisión" + 'If i = 0 AndAlso IntermediarioPendiente Then + ' Importe = Importe - ImporteInter + ' i += 1 + 'End If 'Datos de las Prepolizas A Cancelar Dim CveIE As Integer = Gvr.DataKey("CveIE").ToEntero diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index b419b6dd1..12b98c61b 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -2314,7 +2314,7 @@ Partial Class Bancos_IE 'CANCELA NC ImporteAplicar = ImporteAplicar - Impo ImporteAplicarMN = (ImporteAplicar * If(tCveMoneda = 1, 1, TxtTipoCambio.Text.ToDecimal)).RoundSQL() - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -(ImporteAplicar), -(ImporteAplicarMN), 12, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, (ImporteAplicar), -(ImporteAplicarMN), 91, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=CveVentaDevDin, CveVentaAmortizacion:=CveVentaDevDin, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" Exit Select End If diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index c404ad0b2..ffac55d18 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -9373,7 +9373,7 @@ Partial Class Compras_Compras '---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - If Not ErrorAC Then + If Retorno AndAlso Not ErrorAC Then Dim Cont As Integer = 0 Dim indiceTR As Integer = 0 For Each Row As DataRow In TmpDT.Rows @@ -9501,6 +9501,11 @@ Partial Class Compras_Compras End If 'Retorno = True 'Alert("La Compra se actualizó correctamente.") + + If Not ActualizarPrePolizaValidacion(ObjContabilidad, ObjCompra) Then + Retorno = False + End If + Else If IdPoliza > 0 Then If Not ObjContabilidad.UpdatePrePolizasDetalleBloquear(CvePrePoliza, True) Then @@ -9513,7 +9518,7 @@ Partial Class Compras_Compras End If End If - If (NumeroReembolsoOriginal.Trim <> TxtRembolsoNumero.Text.Trim) Then + If Retorno AndAlso (NumeroReembolsoOriginal.Trim <> TxtRembolsoNumero.Text.Trim) Then 'NOTA. si hay un cambio en el reembolso, puede tener estas consideraciones. '1. no tenía comprobación y se ocupa relacionar, se deberá validar que no tenga pagos contabilizados '2. se está cambiando de comprobación @@ -9911,6 +9916,7 @@ Partial Class Compras_Compras (row1("TipoAF").ToString.ToEntero <> row2("TipoAF").ToString.ToEntero) Or (row1("CvePS").ToString.ToEntero <> row2("CvePS").ToString.ToEntero) Or (row1("Obs").ToString <> row2("Obs").ToString) Or + (row1("IVAPorcentaje").ToString <> row2("IVAPorcentaje").ToString AndAlso CveCompra > 0 AndAlso CveCompraFactura = 0) Or (DdlTipoCompra.SelectedValue.ToEntero <> TipoCompraOriginal) Then Return False End If @@ -9936,7 +9942,7 @@ Partial Class Compras_Compras End Function - Private Function ActualizarPrePoliza(ObjConta As ClsContabilidad, ObjCompra As ClsCompras) As Boolean + Private Function ActualizarPrePoliza(ByRef ObjConta As ClsContabilidad, ByRef ObjCompra As ClsCompras) As Boolean Dim Retorno As Boolean = True, ErrorPrepoliza As Boolean = False Dim CvePlantillaPrePoliza As Integer @@ -10047,175 +10053,224 @@ Partial Class Compras_Compras If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 228, CveCompra, 1) Then ErrorPrepoliza = True 'PS NO RECIBIDO If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 229, CveCompra, 1) Then ErrorPrepoliza = True 'PS NO RECIBIDO - - 'SI ES GASTO CON ALMACEN REGISTRA EL CONCEPTO 95 - If DdlTipoCompra.SelectedValue = "10" Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMN, importeMN, 95, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=False) Then - ErrorPrepoliza = True - End If + If CveCompra > 0 And CveCompraFactura = 0 Then + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 14, CveCompra, 1) Then ErrorPrepoliza = True + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 5, CveCompra, 1) Then ErrorPrepoliza = True + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 311, CveCompra, 1) Then ErrorPrepoliza = True + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 305, CveCompra, 1) Then ErrorPrepoliza = True + If Not ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 306, CveCompra, 1) Then ErrorPrepoliza = True End If + If Not ErrorPrepoliza Then + If DdlTipoCompra.SelectedValue = "10" Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMN, importeMN, 95, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=False) Then + ErrorPrepoliza = True + End If + End If - 'OBTIENE METODO DE CONTABILIZACIÓN AL GUARDAR - Dim CveConceptoContableAlmacen As Integer = 0 - If ObjCompra.GetCompras(CveCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) AndAlso ObjCompra.DtResultados.Rows.Count > 0 Then - CveConceptoContableAlmacen = ObjCompra.DtResultados.FiltroPrimeroValor("CveConceptoContableAlmacen").ToEntero - If CveConceptoContableAlmacen = 0 AndAlso tUsaInventarios Then - If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then - If (CveImportacion > 0 Or CveFlete > 0) Then - CveConceptoContableAlmacen = CveConceptoContableAlmacen + 'OBTIENE METODO DE CONTABILIZACIÓN AL GUARDAR + Dim CveConceptoContableAlmacen As Integer = 0 + If ObjCompra.GetCompras(CveCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) AndAlso ObjCompra.DtResultados.Rows.Count > 0 Then + CveConceptoContableAlmacen = ObjCompra.DtResultados.FiltroPrimeroValor("CveConceptoContableAlmacen").ToEntero + + If CveConceptoContableAlmacen = 0 AndAlso tUsaInventarios Then + If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then + If (CveImportacion > 0 Or CveFlete > 0) Then + CveConceptoContableAlmacen = CveConceptoContableAlmacen + Else + CveConceptoContableAlmacen = 205 + End If + If OCVinculada AndAlso DdlOCVinculaInv.Visible AndAlso Not (CveImportacion > 0 Or CveFlete > 0) Then + CveConceptoContableAlmacen = DdlOCVinculaInv.SelectedValue.ToEntero + End If + If UsuarioActual.CveEmpresa.Contiene(72, 80, 140, 141, 152) And Not (CveImportacion > 0 Or CveFlete > 0) Then 'se comento, RMF. 2020.08.19, no le hallo sentido + CveConceptoContableAlmacen = 205 + End If Else - CveConceptoContableAlmacen = 205 + CveConceptoContableAlmacen = 225 End If - If OCVinculada AndAlso DdlOCVinculaInv.Visible AndAlso Not (CveImportacion > 0 Or CveFlete > 0) Then - CveConceptoContableAlmacen = DdlOCVinculaInv.SelectedValue.ToEntero - End If - If UsuarioActual.CveEmpresa.Contiene(72, 80, 140, 141, 152) And Not (CveImportacion > 0 Or CveFlete > 0) Then 'se comento, RMF. 2020.08.19, no le hallo sentido - CveConceptoContableAlmacen = 205 - End If - Else - CveConceptoContableAlmacen = 225 End If End If - End If - 'AF - DT = TmpDT.FiltraParametros("ISNULL(TipoAF,0) = 2") - If DT.Rows.Count > 0 AndAlso DdlTipoComprobante.SelectedValue <> "NC" Then - For Each Row2 As DataRow In DT.Rows - importeMovimiento = Row2("Total").ToString.ToDecimal - importeMN = importeMovimiento * tipoCambioActual * Multiplicador - - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN, importeMovimiento, 49, Row2("CodAF").ToString, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveActivoFijo:=Row2("CveActivoFijo").ToString.ToEntero, CveIE:=CveIE, CvePersonal:=CvePersonal, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento)) Then - ErrorPrepoliza = True - End If - End If - Next - End If - - 'LIMPIA - importeMovimiento = 0 - 'COSTO ALMACEN - Dim DtAlmacenes As DataTable = GlobalDTAlmacen(UsuarioActual.CveEmpresa) - If tUsaInventarios And CveConceptoContableAlmacen = 0 Or DdlTipoCompra.SelectedValue.ToEntero = 10 Then - DT = TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) > 0", "", {"CveAlmacen"}) - 'RECORREMOS PARA DETECTAR LA MODALIDAD DEL ALMACEN, EN CASO DE SER SOLO EXISTENCIA LIMPIAMOS CVEALMACEN - - DT.AcceptChanges() - DT = DT.FiltraParametros("ISNULL(CveAlmacen,0) > 0") - If (DT.Rows.Count > 0) AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then + 'AF + DT = TmpDT.FiltraParametros("ISNULL(TipoAF,0) = 2") + If DT.Rows.Count > 0 AndAlso DdlTipoComprobante.SelectedValue <> "NC" Then For Each Row2 As DataRow In DT.Rows - - importeMovimiento = TmpDT.SUM("Total", $"CveAlmacen = {Row2("CveAlmacen")}").ToString.ToDecimal + TmpDT.SUM("CostoIndirectoAlmacen", $"CveAlmacen = {Row2("CveAlmacen")}").ToString.ToDecimal 'Row2("Total").ToString.ToDecimal + Row2("CostoIndirectoAlmacen").ToString.ToDecimal + importeMovimiento = Row2("Total").ToString.ToDecimal importeMN = importeMovimiento * tipoCambioActual * Multiplicador If importeMovimiento <> 0 Then - Dim SeContabiliza As Boolean = True - 'SI ES GASTO DE ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68 - If DdlTipoCompra.SelectedValue = "10" Then - SeContabiliza = False - End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, importeMN, 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN, importeMovimiento, 49, Row2("CodAF").ToString, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveActivoFijo:=Row2("CveActivoFijo").ToString.ToEntero, CveIE:=CveIE, CvePersonal:=CvePersonal, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento)) Then ErrorPrepoliza = True End If End If Next End If - End If - 'LIMPIA - importeMovimiento = 0 + 'LIMPIA + importeMovimiento = 0 + 'COSTO ALMACEN + Dim DtAlmacenes As DataTable = GlobalDTAlmacen(UsuarioActual.CveEmpresa) + If tUsaInventarios And CveConceptoContableAlmacen = 0 Or DdlTipoCompra.SelectedValue.ToEntero = 10 Then + DT = TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) > 0", "", {"CveAlmacen"}) + 'RECORREMOS PARA DETECTAR LA MODALIDAD DEL ALMACEN, EN CASO DE SER SOLO EXISTENCIA LIMPIAMOS CVEALMACEN - 'INV [MERCANCIA RECIBIDA POR ADELANTADO (OC) | MERCANCIA PENDIENTE POR RECIBIR (COMPRA) ] - If DdlTipoCompra.SelectedValue.ToEntero <> 10 AndAlso tUsaInventarios And Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") And CveConceptoContableAlmacen.Contiene(176, 205) Then - importeMovimiento = TmpDT.SUM("Total", $"ISNULL(TipoAF,0) <> 2 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal - importeMN = importeMovimiento * tipoCambioActual * Multiplicador + DT.AcceptChanges() + DT = DT.FiltraParametros("ISNULL(CveAlmacen,0) > 0") + If (DT.Rows.Count > 0) AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then + For Each Row2 As DataRow In DT.Rows - If importeMovimiento <> 0 Then - Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, importeMN, CveConceptoContableAlmacen, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento)) Then - ErrorPrepoliza = True + importeMovimiento = TmpDT.SUM("Total", $"CveAlmacen = {Row2("CveAlmacen")}").ToString.ToDecimal + TmpDT.SUM("CostoIndirectoAlmacen", $"CveAlmacen = {Row2("CveAlmacen")}").ToString.ToDecimal 'Row2("Total").ToString.ToDecimal + Row2("CostoIndirectoAlmacen").ToString.ToDecimal + importeMN = importeMovimiento * tipoCambioActual * Multiplicador + + If importeMovimiento <> 0 Then + Dim SeContabiliza As Boolean = True + 'SI ES GASTO DE ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68 + If DdlTipoCompra.SelectedValue = "10" Then + SeContabiliza = False + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, importeMN, 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then + ErrorPrepoliza = True + End If + End If + Next End If End If - End If - 'NC CON PRODUCTOS - CUENTA PUENTE + 'LIMPIA + importeMovimiento = 0 - If tUsaInventarios And Not DdlTipoComprobante.SelectedValue.Contiene("Ant") And CveConceptoContableAlmacen.Contiene(225) Then - importeMovimiento = TmpDT.SUM("Total", $"ISNULL(TipoAF,0) <> 2 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal - importeMN = importeMovimiento * tipoCambioActual * Multiplicador - - If importeMovimiento <> 0 Then - Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, importeMN, CveConceptoContableAlmacen, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento)) Then - ErrorPrepoliza = True - End If - End If - End If - 'GASTO - DT = TmpDT.Copy - 'RECORREMOS PARA DETECTAR LA MODALIDAD DEL ALMACEN, EN CASO DE SER SOLO EXISTENCIA LIMPIAMOS CVEALMACEN - If DdlTipoCompra.SelectedValue <> "10" Or DdlTipoCompra.SelectedValue = "13" Then - For Each Dr As DataRow In DT.Rows - If DtAlmacenes.FiltroPrimeroValor("Modalidad", $"CveAlmacen = {Dr("CveAlmacen").ToString.ToEntero}").ToString = "Solo Existencia" Then - Dr("CveAlmacen") = 0 - End If - Dr.AcceptChanges() - Next - End If - - DT.AcceptChanges() - DtAlmacenes.Dispose() - - - If DdlTipoCompra.SelectedValue.ToEntero <> 10 Then - 'QUITA 1-[MERCANCIA RECIBIDA POR ADELANTADO (OC) | MERCANCIA PENDIENTE POR RECIBIR (COMPRA)] 2-[NC CON PRODUCTOS] - If tUsaInventarios And CveConceptoContableAlmacen > 0 Then - DT = DT.FiltraParametros("CveTipoPS <> 2") - End If - End If - - Dim DTDistinct As DataTable = DT.Copy - If DdlTipoCompra.SelectedValue.ToEntero = 10 Then - DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF,0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto", "CveAlmacen"}) - Else - 'If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then - ' DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF,0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"}) - 'Else - DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"}) - 'End If - End If - - If DTDistinct.Rows.Count > 0 Then - For Each Row2 As DataRow In DTDistinct.Rows - - 'DETERMINA IMPORTE - 'If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then - ' importeMovimiento = DT.SUM("Total", String.Format("ISNULL(TipoAF,0) <> 2 AND CveClasificacion = {0} AND CveSubProyecto = {1} AND ISNULL(CveTipoGasto,0) = {2}", Row2("CveClasificacion").ToString.ToEntero, Row2("CveSubProyecto").ToString.ToEntero, Row2("CveTipoGasto").ToString.ToEntero)).ToString.ToDecimal - 'Else - importeMovimiento = DT.SUM("Total", String.Format("ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveClasificacion = {0} AND CveSubProyecto = {1} AND ISNULL(CveTipoGasto,0) = {2}", Row2("CveClasificacion").ToString.ToEntero, Row2("CveSubProyecto").ToString.ToEntero, Row2("CveTipoGasto").ToString.ToEntero)).ToString.ToDecimal - 'End If - - If DdlTipoCompra.SelectedValue.ToEntero = 10 Then - importeMovimiento = DT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"CveAlmacen > 0 ").ToString.ToDecimal + TmpDT.SUM("CostoIndirectoAlmacen", $"CveAlmacen > 0").ToString.ToDecimal - End If + 'INV [MERCANCIA RECIBIDA POR ADELANTADO (OC) | MERCANCIA PENDIENTE POR RECIBIR (COMPRA) ] + If DdlTipoCompra.SelectedValue.ToEntero <> 10 AndAlso tUsaInventarios And Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") And CveConceptoContableAlmacen.Contiene(176, 205) Then + importeMovimiento = TmpDT.SUM("Total", $"ISNULL(TipoAF,0) <> 2 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal importeMN = importeMovimiento * tipoCambioActual * Multiplicador - 'AGREGA MOVIMIENTO - If importeMovimiento <> 0 AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then + If importeMovimiento <> 0 Then Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, importeMN, 6, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=Row2("CveClasificacion").ToString.ToEntero, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveTipoGasto:=Row2("CveTipoGasto").ToString.ToEntero) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, importeMN, CveConceptoContableAlmacen, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento)) Then ErrorPrepoliza = True End If End If - Next + End If + + 'NC CON PRODUCTOS - CUENTA PUENTE + + If tUsaInventarios And Not DdlTipoComprobante.SelectedValue.Contiene("Ant") And CveConceptoContableAlmacen.Contiene(225) Then + importeMovimiento = TmpDT.SUM("Total", $"ISNULL(TipoAF,0) <> 2 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal + importeMN = importeMovimiento * tipoCambioActual * Multiplicador + + If importeMovimiento <> 0 Then + Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, importeMN, CveConceptoContableAlmacen, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento)) Then + ErrorPrepoliza = True + End If + End If + End If + 'GASTO + DT = TmpDT.Copy + 'RECORREMOS PARA DETECTAR LA MODALIDAD DEL ALMACEN, EN CASO DE SER SOLO EXISTENCIA LIMPIAMOS CVEALMACEN + If DdlTipoCompra.SelectedValue <> "10" Or DdlTipoCompra.SelectedValue = "13" Then + For Each Dr As DataRow In DT.Rows + If DtAlmacenes.FiltroPrimeroValor("Modalidad", $"CveAlmacen = {Dr("CveAlmacen").ToString.ToEntero}").ToString = "Solo Existencia" Then + Dr("CveAlmacen") = 0 + End If + Dr.AcceptChanges() + Next + End If + + DT.AcceptChanges() + DtAlmacenes.Dispose() + + + If DdlTipoCompra.SelectedValue.ToEntero <> 10 Then + 'QUITA 1-[MERCANCIA RECIBIDA POR ADELANTADO (OC) | MERCANCIA PENDIENTE POR RECIBIR (COMPRA)] 2-[NC CON PRODUCTOS] + If tUsaInventarios And CveConceptoContableAlmacen > 0 Then + DT = DT.FiltraParametros("CveTipoPS <> 2") + End If + End If + + Dim DTDistinct As DataTable = DT.Copy + If DdlTipoCompra.SelectedValue.ToEntero = 10 Then + DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF,0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto", "CveAlmacen"}) + Else + 'If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then + ' DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF,0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"}) + 'Else + DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"}) + 'End If + End If + + If DTDistinct.Rows.Count > 0 Then + For Each Row2 As DataRow In DTDistinct.Rows + + 'DETERMINA IMPORTE + 'If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then + ' importeMovimiento = DT.SUM("Total", String.Format("ISNULL(TipoAF,0) <> 2 AND CveClasificacion = {0} AND CveSubProyecto = {1} AND ISNULL(CveTipoGasto,0) = {2}", Row2("CveClasificacion").ToString.ToEntero, Row2("CveSubProyecto").ToString.ToEntero, Row2("CveTipoGasto").ToString.ToEntero)).ToString.ToDecimal + 'Else + importeMovimiento = DT.SUM("Total", String.Format("ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveClasificacion = {0} AND CveSubProyecto = {1} AND ISNULL(CveTipoGasto,0) = {2}", Row2("CveClasificacion").ToString.ToEntero, Row2("CveSubProyecto").ToString.ToEntero, Row2("CveTipoGasto").ToString.ToEntero)).ToString.ToDecimal + 'End If + + If DdlTipoCompra.SelectedValue.ToEntero = 10 Then + importeMovimiento = DT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"CveAlmacen > 0 ").ToString.ToDecimal + TmpDT.SUM("CostoIndirectoAlmacen", $"CveAlmacen > 0").ToString.ToDecimal + End If + importeMN = importeMovimiento * tipoCambioActual * Multiplicador + + 'AGREGA MOVIMIENTO + If importeMovimiento <> 0 AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then + Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, importeMN, 6, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=Row2("CveClasificacion").ToString.ToEntero, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveTipoGasto:=Row2("CveTipoGasto").ToString.ToEntero) Then + ErrorPrepoliza = True + End If + End If + Next + + + + End If + + 'LIMPIA + importeMovimiento = 0 + + If CveCompra > 0 And CveCompraFactura = 0 Then + + Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + Dim IVAPorcentaje As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal + Dim CveTipoSaldo As Integer = 1 + + Select Case DdlTipoComprobante.SelectedValue + Case "Fac" + CveTipoSaldo = 1 + Exit Select + Case "NC" + CveTipoSaldo = 15 + Exit Select + Case "Ant" + CveTipoSaldo = 11 + Exit Select + Case "Dev" + CveTipoSaldo = 15 + Exit Select + End Select + + Dim ConceptoTipoTotal As ConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(CveTipoSaldo, DdlMoneda.SelectedValue.ToEntero, False, CveTipoConcepto) + + If Not ErrorPrepoliza AndAlso TxtIVA.Text.ToDecimal > 0 Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TxtIVA.Text.ToDecimal, (TxtIVA.Text.ToDecimal * tipoCambioActual * Multiplicador), 14, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveSubProyecto:=CveSubProyecto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=IVAPorcentaje) Then + ErrorPrepoliza = True + End If + End If + + If Not ErrorPrepoliza AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, TxtTotal.Text.ToDecimal, (TxtTotal.Text.ToDecimal * tipoCambioActual * Multiplicador), ConceptoTipoTotal.CveConcepto, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveSubProyecto:=CveSubProyecto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual) Then + ErrorPrepoliza = True + End If + + End If End If + 'SI ES GASTO CON ALMACEN REGISTRA EL CONCEPTO 95 + - 'LIMPIA - importeMovimiento = 0 Next End If @@ -10225,9 +10280,91 @@ Partial Class Compras_Compras Next End If + ''OIC 2025-04-16 El bloque de validacion se paso a la funcion ActualizarPrePolizaValidacion + 'If DtPrePolizas IsNot Nothing Then + ' For Each RowPrePoliza As DataRow In DtPrePolizas.FiltraParametros("", DistinctColumns:={"CvePrePoliza"}).Rows + ' If ObjConta.ValidacionesPrePoliza(RowPrePoliza("CvePrePoliza").ToString().ToEntero(), UsuarioActual, Opcion:=4, AutoConta:=False) Then + ' If ObjConta.ValorPolizaDescuadre > 0 Then + ' ErrorPrepoliza = True + ' Alert("Error en validacion de prepoliza cuadre", TipoMensaje.MsgAdvertencia) + ' GuardaLogAD($"Compras/Compras-Actualizar | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + ' Exit For + ' End If + ' End If + ' Next + 'End If + + If Not ErrorPrepoliza Then + Retorno = True + Else + Retorno = False + End If + + Return Retorno + End Function + + + Private Function ActualizarPrePolizaValidacion(ByRef ObjConta As ClsContabilidad, ByRef ObjCompra As ClsCompras) As Boolean + + Dim Retorno As Boolean = True, ErrorPrepoliza As Boolean = False + Dim CvePlantillaPrePoliza As Integer + If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then + CvePlantillaPrePoliza = 60 + Else + CvePlantillaPrePoliza = 1 + End If + + If (ArrAnticipos.Count > 0 And CveCompra > 0) Or (ArrAnticipos.Count > 0 And UsuarioActual.Empresa.UsaAC) Then + CvePlantillaPrePoliza = 52 + End If + + If RBLContado.SelectedValue = "2" AndAlso DdlFuncionarioEmpleado.SelectedValue.ToEntero > 0 Then + + If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then + CvePlantillaPrePoliza = 60 + Else + CvePlantillaPrePoliza = 1 + End If + + End If + + Dim DtPrePolizas As DataTable = Nothing + + If ObjConta.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPrePoliza) Then + For Each Row As DataRow In ObjConta.DtResultados.Rows + + Dim ConceptoContable As Integer = Row("CveConcepto").ToString.ToEntero + + Select Case ConceptoContable + + Case 6 + + Dim CveProveedorConcepto As Integer = 0, CveIE As Integer = 0, CveCreditoDetalle As Integer = 0 + Dim ConceptoPersonal As String = "", Concepto As String = "" + Dim tUsaInventarios As Boolean = UsuarioActual.Empresa.UsaInventarios + If (UsuarioActual.CveEmpresa.Contiene(13, 83, 7, 11, 12, 122, 145)) Then tUsaInventarios = False + + If Not ObjConta.GetPrePolizasDetalleCompra(CveCompra, UsuarioActual.CveEmpresa) Then + ErrorPrepoliza = True + Else + DtPrePolizas = ObjConta.DtResultados.FiltraParametros("CveConceptoContable IN (6,68,49,205,176,5,305,311)") + + If DtPrePolizas.Rows.Count > 0 Then + Dim drr As DataRow = ObjConta.DtResultados.FiltraParametros("CveConceptoContable in(6,68,49,205,176,5,305,311)").FiltroPrimero("") + CveProveedorConcepto = drr("CveProveedor").ToString.ToEntero + CveIE = drr("CveIE").ToString.ToEntero + CveCreditoDetalle = drr("CveCreditoDetalle").ToString.ToEntero + Concepto = drr("Concepto").ToString + End If + End If + + End Select + Next + End If + If DtPrePolizas IsNot Nothing Then For Each RowPrePoliza As DataRow In DtPrePolizas.FiltraParametros("", DistinctColumns:={"CvePrePoliza"}).Rows - If ObjConta.ValidacionesPrePoliza(RowPrePoliza("CvePrePoliza").ToString().ToEntero(), UsuarioActual, Opcion:=4, AutoConta:=False) Then + If Not ObjConta.ValidacionesPrePoliza(RowPrePoliza("CvePrePoliza").ToString().ToEntero(), UsuarioActual, Opcion:=4, AutoConta:=False) Then If ObjConta.ValorPolizaDescuadre > 0 Then ErrorPrepoliza = True Alert("Error en validacion de prepoliza cuadre", TipoMensaje.MsgAdvertencia) @@ -10247,6 +10384,7 @@ Partial Class Compras_Compras Return Retorno End Function + Protected Sub ImgActualizarProyecto_Click(sender As Object, e As EventArgs) Handles ImgActualizarProyecto.Click 'actualizo los proyectos Dim Compra As New ClsCompras @@ -17409,6 +17547,9 @@ Partial Class Compras_Compras If ActualizaTotales And UsuarioActual.CveEmpresa = 72 Or Not CveCompraFactura > 0 Then TxtTotal.Text = Total.ToString.FormatoNumero() + If CveCompra > 0 AndAlso CveCompraFactura = 0 Then + TxtIVA.Text = IVA.ToString.FormatoNumero() + End If End If Else @@ -18023,24 +18164,43 @@ Partial Class Compras_Compras 'HdnIVAPS.Value = If(PS.Rows(0)("IVA").ToString = "-1", ViewState("IVA"), PS.Rows(0)("IVA").ToString).ToString ViewState("IVAPS") = PS("IVA").ToString - If ViewState("IVAPS").ToString.ToEntero() = -1 Then + If ViewState("IVAPS").ToString.ToEntero() = -1 Or (CveCompra > 0 AndAlso CveCompraFactura = 0) Then + + Dim Drr As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero())(0) ViewState("IVAPS") = Drr("IVA").ToString().ToDouble() - DdlProyecto.SelectedValueExist(Drr("CveProyecto")) + DdlProyecto.SelectedValueExist(Drr("CveProyecto")) DdlIVA.Enabled = True - If Not Modalidad = "U" Then - Select Case ViewState("IVAPS").ToString().ToDouble - Case 0 - DdlIVA.SelectedValue = "1" - Case 0.16 - DdlIVA.SelectedValue = "1.16" - Case 0.08 - DdlIVA.SelectedValue = "1.08" - End Select + If (CveCompra > 0 AndAlso CveCompraFactura = 0) Then + If PS("IVA").ToString.ToEntero = -1 Then + ViewState("IVAPS") = 0.16 + DdlIVA.SelectedValue = "1.16" + Else + Select Case ViewState("IVAPS").ToString().ToDouble + Case 0 + DdlIVA.SelectedValue = "1" + Case 0.16 + DdlIVA.SelectedValue = "1.16" + Case 0.08 + DdlIVA.SelectedValue = "1.08" + End Select + End If + Else + If Not Modalidad = "U" Then + Select Case ViewState("IVAPS").ToString().ToDouble + Case 0 + DdlIVA.SelectedValue = "1" + Case 0.16 + DdlIVA.SelectedValue = "1.16" + Case 0.08 + DdlIVA.SelectedValue = "1.08" + End Select + End If End If + Else 'DdlIVA.SelectedValue = "1" ' DdlIVA.Enabled = False @@ -18684,12 +18844,13 @@ Partial Class Compras_Compras If CveFactura > 0 And TxtIVA.Text.ToDecimal = 0 Then DrPS("IVA") = 0 DrPS("IVAPorcentaje") = 0 + ElseIf CveCompra > 0 And CveCompraFactura = 0 Then + DrPS("IVA") = (IVA * Total).RoundSQL + DrPS("IVAPorcentaje") = IVA Else - If ActualizarIva Then DrPS("IVA") = (IVA * Total).RoundSQL End If - DrPS("IVAPorcentaje") = IVA End If @@ -19813,6 +19974,10 @@ Partial Class Compras_Compras Dim ObjContabilidad As New ClsContabilidad(ObjCompra.IniciaTransacSQL) Dim Estatus As Boolean = ActualizarPrePoliza(ObjContabilidad, ObjCompra) + If Estatus Then + Estatus = ActualizarPrePolizaValidacion(ObjContabilidad, ObjCompra) + End If + If Estatus Then ObjCompra.Commit() diff --git a/Compras/RepRembolsoComprobaciones.aspx b/Compras/RepRembolsoComprobaciones.aspx index fb4e387ee..160139739 100644 --- a/Compras/RepRembolsoComprobaciones.aspx +++ b/Compras/RepRembolsoComprobaciones.aspx @@ -26,16 +26,11 @@
  • - - Exportar Excel - + Exportar Excel
  • - - Imprimir Reembolso - + Imprimir Reembolso
  • -
  • Cargar Comprobante
  • @@ -123,6 +118,13 @@
    + +
    + + +
    @@ -188,7 +190,8 @@
    - + Compra diff --git a/Compras/RepRembolsoComprobaciones.aspx.vb b/Compras/RepRembolsoComprobaciones.aspx.vb index edd6c6050..795ce312f 100644 --- a/Compras/RepRembolsoComprobaciones.aspx.vb +++ b/Compras/RepRembolsoComprobaciones.aspx.vb @@ -87,7 +87,9 @@ Partial Class Compras_RepRembolsoComprobaciones DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa) DdlPersonal.DataBind() - txtFechaI.Text = NowADS.AddYears(-1).ToShortDateString + txtFechaI.Text = NowADS.AddMonths(-3).ToShortDateString + + CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto, "Todos") End If End Sub @@ -133,8 +135,17 @@ Partial Class Compras_RepRembolsoComprobaciones Protected Sub GvCxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxP.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then - If e.Row.RowIndex = 0 Then - e.Row.BackColor = Drawing.Color.LightGray + + 'If e.Row.RowIndex = 0 Then + ' e.Row.BackColor = Drawing.Color.LightGray + 'End If + + If e.Row.DataKey("Gpo").Trim.Length = 0 Then + e.Row.CssClass = "Totales" + End If + + If e.Row.DataKey("Gpo").Trim.Length > 0 AndAlso e.Row.DataKey("CveCompra").ToEntero = 0 Then + e.Row.CssClass = "SubTotales" End If e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Right @@ -236,7 +247,8 @@ Partial Class Compras_RepRembolsoComprobaciones If DdlTipoPago.SelectedValue = "2" Then ViewState("CvePersonal") = -2 - ObjMovtos.GetCxPPersonalCajaChica(UsuarioActual.CveEmpresa, CvePersonal, CveCajaChica, If(TxtNumeroReembolso.Text.Trim = "", "-1", TxtNumeroReembolso.Text.Trim), FechaI:=FechaI, FechaF:=FechaF, OpcionSaldo:=-1) + ObjMovtos.GetCxPPersonalCajaChica(UsuarioActual.CveEmpresa, CvePersonal, CveCajaChica, If(TxtNumeroReembolso.Text.Trim = "", "-1", TxtNumeroReembolso.Text.Trim), FechaI:=FechaI, FechaF:=FechaF, OpcionSaldo:=-1, + CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero) DtDatos = ObjMovtos.DtResultados GvCxP.DataSource = DtDatos diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index caf9c6f53..3df41ca1e 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -1561,7 +1561,7 @@ Partial Class ContabilidadC_RegPrePolizaS DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub CargaComprasE(CveProveedor As Integer, Optional tCveCompra As Integer = -1) - If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then + If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 6, 17, 305, 308, 310, 311, 312) Then Dim ObjCompras As New ClsCompras DdlComprasE.ClearSelection() diff --git a/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc b/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc index df258447e..f305d7390 100644 --- a/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc +++ b/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc @@ -6128,6 +6128,18 @@ Se ha recibido el número arriba indicado de bultos/contenedores/remolques/autot + + + + + + - 22.49898cm + 22.81648cm 1.5cm 0cm 3.90544cm @@ -6377,7 +6405,7 @@ Se ha recibido el número arriba indicado de bultos/contenedores/remolques/autot - 22.49898cm + 22.81648cm 9.94339cm 0cm 3.90544cm @@ -6389,7 +6417,7 @@ Se ha recibido el número arriba indicado de bultos/contenedores/remolques/autot - 22.49898cm + 22.81648cm 14.71743cm 0cm 3.90544cm @@ -6418,7 +6446,7 @@ Se ha recibido el número arriba indicado de bultos/contenedores/remolques/autot Textbox120 - 22.67201cm + 22.98951cm 1.36431cm 0.45969cm 10.17692cm @@ -6511,7 +6539,7 @@ Se ha recibido el número arriba indicado de bultos/contenedores/remolques/autot true 23.161cm 0.03979cm - 23.1317cm + 23.4492cm 19.53633cm 29 @@ -7562,7 +7590,8 @@ Se ha recibido el número arriba indicado de bultos/contenedores/remolques/autot true - 47.03985cm + 46.78659cm + 0.04317cm 5.54925cm 19.53633cm 31 @@ -8121,6 +8150,12 @@ Se ha recibido el número arriba indicado de bultos/contenedores/remolques/autot true ReportParameter1 + + String + true + true + ReportParameter1 + Function PageNumber() As String Return Me.Report.Globals!OverallPageNumber diff --git a/Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc b/Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc index fe395548e..030db69cb 100644 --- a/Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc +++ b/Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc @@ -17,6 +17,14 @@ /* Local Query */ + + Gpo + System.String + + + CveCompra + System.Int32 + Proveedor System.String @@ -77,10 +85,10 @@ 1.79565cm - 2.02289cm + 2.90517cm - 2.54059cm + 1.65831cm 2.29435cm @@ -440,6 +448,10 @@ =Fields!SerieFolio.Value @@ -453,7 +465,10 @@ - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + =IIF(LEN(Fields!Gpo.Value) = 0 + , "#9cacc1" + , IIF(LEN(Fields!Gpo.Value) > 0 AndAlso Fields!CveCompra.Value = 0, "#cccccc", "No color") + ) 2pt 2pt 2pt @@ -474,6 +489,10 @@ =Fields!Proveedor.Value @@ -487,7 +506,10 @@ - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + =IIF(LEN(Fields!Gpo.Value) = 0 + , "#9cacc1" + , IIF(LEN(Fields!Gpo.Value) > 0 AndAlso Fields!CveCompra.Value = 0, "#cccccc", "No color") + ) 2pt 2pt 2pt @@ -509,6 +531,10 @@ @@ -522,7 +548,10 @@ - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + =IIF(LEN(Fields!Gpo.Value) = 0 + , "#9cacc1" + , IIF(LEN(Fields!Gpo.Value) > 0 AndAlso Fields!CveCompra.Value = 0, "#cccccc", "No color") + ) 2pt 2pt 2pt @@ -544,6 +573,10 @@ @@ -557,7 +590,10 @@ - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + =IIF(LEN(Fields!Gpo.Value) = 0 + , "#9cacc1" + , IIF(LEN(Fields!Gpo.Value) > 0 AndAlso Fields!CveCompra.Value = 0, "#cccccc", "No color") + ) 2pt 2pt 2pt @@ -579,6 +615,10 @@ @@ -592,7 +632,10 @@ - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + =IIF(LEN(Fields!Gpo.Value) = 0 + , "#9cacc1" + , IIF(LEN(Fields!Gpo.Value) > 0 AndAlso Fields!CveCompra.Value = 0, "#cccccc", "No color") + ) 2pt 2pt 2pt @@ -614,6 +657,10 @@ @@ -627,7 +674,10 @@ - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + =IIF(LEN(Fields!Gpo.Value) = 0 + , "#9cacc1" + , IIF(LEN(Fields!Gpo.Value) > 0 AndAlso Fields!CveCompra.Value = 0, "#cccccc", "No color") + ) 2pt 2pt 2pt @@ -649,6 +699,10 @@ @@ -662,7 +716,10 @@ - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + =IIF(LEN(Fields!Gpo.Value) = 0 + , "#9cacc1" + , IIF(LEN(Fields!Gpo.Value) > 0 AndAlso Fields!CveCompra.Value = 0, "#cccccc", "No color") + ) 2pt 2pt 2pt @@ -684,6 +741,10 @@ @@ -697,7 +758,10 @@ - =IIF(Fields!SerieFolio.Value = "TOTAL", "#67809F", "No color") + =IIF(LEN(Fields!Gpo.Value) = 0 + , "#9cacc1" + , IIF(LEN(Fields!Gpo.Value) > 0 AndAlso Fields!CveCompra.Value = 0, "#cccccc", "No color") + ) 2pt 2pt 2pt diff --git a/Inventarios/EntradasSalidas.aspx b/Inventarios/EntradasSalidas.aspx index be49d534e..42612ffdd 100644 --- a/Inventarios/EntradasSalidas.aspx +++ b/Inventarios/EntradasSalidas.aspx @@ -432,6 +432,14 @@
    +
    + +
    + +
    +
    diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index f71e68d1d..e160dd5c8 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -921,6 +921,11 @@ Partial Class Inventarios_EntradasSalidas HplOS.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveOS={DtMov.Rows(0)("CveOS")}" End If + If DtMov.Rows(0)("CveOP").ToString.ToEntero() > 0 Then + divOP.Visible = True + HplOP.Text = "1" 'DtMov.Rows(0)("OSFolio").ToString + HplOP.NavigateUrl = $"/OP/OP.aspx?CveOP={DtMov.Rows(0)("CveOP")}" + End If If (DdlAlmacen.Items.FindByValue(Mov.CveAlmacen.ToString()) Is Nothing) Then Dim dr As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveEstatus:=-1).FiltroPrimero(String.Format("CveAlmacen = {0}", Mov.CveAlmacen)) @@ -4069,49 +4074,56 @@ Partial Class Inventarios_EntradasSalidas ErrorMovInv = True End If Else - If ObjInventario.Modulo.Contiene("TA/G1", "Recons", "API-PT/C1") Then - Contabilizable = False + If ObjInventario.Modulo.Contiene("API-Traspaso-PT-Pallet") Then + Contabilizable = True If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, DtCostos.SUMD("Total").RoundSQL, 68, Concepto, Concepto, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, Contabilizable:=Contabilizable) Then ErrorMovInv = True End If Else - If ObjInventario.Modulo.Contiene("Consig") Then + If ObjInventario.Modulo.Contiene("TA/G1", "Recons", "API-PT/C1", "API-Traspaso-PT-Pallet") Then Contabilizable = False - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, DtCostos.SUMD("Total").RoundSQL, 95, Concepto, Concepto, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, Contabilizable:=Contabilizable) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, DtCostos.SUMD("Total").RoundSQL, 68, Concepto, Concepto, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, Contabilizable:=Contabilizable) Then ErrorMovInv = True End If Else - If ObjInventario.Modulo.Contiene("ASA/G1", "Vta/E4", "ARMPAQ1", "RE/GSC3") Then + If ObjInventario.Modulo.Contiene("Consig") Then Contabilizable = False - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, DtCostos.SUMD("Total").RoundSQL, 68, Concepto, Concepto, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, Contabilizable:=Contabilizable) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, DtCostos.SUMD("Total").RoundSQL, 95, Concepto, Concepto, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, Contabilizable:=Contabilizable) Then ErrorMovInv = True End If Else - If DdlConcepto.SelectedValue.Contiene("1", "6", "22", "23", "7", "16", "21", "24", "32") Then - 'genero las prepolizas manuales - Dim tCveConcepto As Integer = 95 - Dim CveCuenta As Integer - If UsuarioActual.CveEmpresa = 119 Then CveCuenta = 55519 - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total"), DtCostos.SUMD("Total"), tCveConcepto, Concepto, Concepto, CveVenta:=CveVenta, CveClasificacion:=-1, CveMovimientoAlmacen:=CveMovimiento, CveSubProyecto:=-1, Contabilizable:=Contabilizable) Then + If ObjInventario.Modulo.Contiene("ASA/G1", "Vta/E4", "ARMPAQ1", "RE/GSC3") Then + Contabilizable = False + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, DtCostos.SUMD("Total").RoundSQL, 68, Concepto, Concepto, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, Contabilizable:=Contabilizable) Then ErrorMovInv = True End If Else - - Dim tCveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero - Dim tCveConcepto As Integer = 69 - If ObjInventario.CveConcepto = 37 Then - tCveConcepto = 181 - End If - - For Each RowInv As DataRow In tmpCostos.Rows - ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, ValorInventario, tCveConcepto, Concepto, Concepto, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, CveSubProyecto:=tCveSubProyecto, Contabilizable:=Contabilizable) Then + If DdlConcepto.SelectedValue.Contiene("1", "6", "22", "23", "7", "16", "21", "24", "32") Then + 'genero las prepolizas manuales + Dim tCveConcepto As Integer = 95 + Dim CveCuenta As Integer + If UsuarioActual.CveEmpresa = 119 Then CveCuenta = 55519 + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total"), DtCostos.SUMD("Total"), tCveConcepto, Concepto, Concepto, CveVenta:=CveVenta, CveClasificacion:=-1, CveMovimientoAlmacen:=CveMovimiento, CveSubProyecto:=-1, Contabilizable:=Contabilizable) Then ErrorMovInv = True - Exit For + End If + Else + + Dim tCveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero + Dim tCveConcepto As Integer = 69 + If ObjInventario.CveConcepto = 37 Then + tCveConcepto = 181 End If - Next + For Each RowInv As DataRow In tmpCostos.Rows + ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, ValorInventario, tCveConcepto, Concepto, Concepto, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, CveSubProyecto:=tCveSubProyecto, Contabilizable:=Contabilizable) Then + ErrorMovInv = True + Exit For + End If + + Next + End If End If End If End If diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index 320c35caf..97a0b5725 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -1901,9 +1901,9 @@
    - - - + + +
    diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 66f54796e..d29106f29 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -1765,8 +1765,6 @@ Partial Class Clientes If array(4) = "1" Then ChkRevViernes.Checked = True If array(5) = "1" Then ChkRevSabado.Checked = True End If - - ChkInformacionCompleta.Checked = Boolean.Parse(ObjClientes.DtResultados(0)("InformacionCompleta").ToString()) 'Horario @@ -2578,7 +2576,6 @@ Partial Class Clientes Alert("El uso del cfdi debe ser 'S01 - Sin efectos fiscales' cuando se utiliza el RFC genérico.", TipoMensaje.MsgAdvertencia) Exit Sub - End If Dim InformacionCompleta As Boolean = True @@ -2599,13 +2596,13 @@ Partial Class Clientes End If Next If tPagare = 0 Then InformacionCompleta = False + If GvClentesPersonalEntrega.Rows.Count = 0 Then InformacionCompleta = False End If - If TxtTelefono.Text.Trim() = "" Then InformacionCompleta = False If TxtEmail.Text.Trim() = "" Then InformacionCompleta = False - 'SOLO VALIDA EN CLIENTES FRENCUENTE + 'SOLO VALIDA EN CLIENTES FRECUENTE If DdlTipoCliente.SelectedValue = "1" Then If TxtContacto.Text.Trim() = "" Then InformacionCompleta = False If TxtRepresentanteLegal.Text.Trim() = "" Then InformacionCompleta = False @@ -2622,10 +2619,6 @@ Partial Class Clientes Next If tPagare = 0 Then InformacionCompleta = False End If - - 'If DivInfoCompleta.Visible Then - ' InformacionCompleta = ChkInformacionCompleta.Checked - 'End If End If 'CargaSucursal() diff --git a/Ventas/PVCobranza.aspx b/Ventas/PVCobranza.aspx index 74235e10c..eea7c457a 100644 --- a/Ventas/PVCobranza.aspx +++ b/Ventas/PVCobranza.aspx @@ -342,7 +342,7 @@
    -
    +
    @@ -371,16 +371,16 @@ DataKeyNames="CveVenta,CveCliente,TipoDocto,Saldo,AtencionA,CveFormaPago33,SerieFolio,CondicionesPago,PlazoCobranza"> <%----%> - +
    - - - - + + + +
    -
    +
    @@ -685,13 +685,13 @@
    $ - +
    -
    +
    $ @@ -700,7 +700,7 @@
    -
    +
      diff --git a/Ventas/RepVentasResumen.aspx.vb b/Ventas/RepVentasResumen.aspx.vb index 84a2b1c2f..292b771a5 100644 --- a/Ventas/RepVentasResumen.aspx.vb +++ b/Ventas/RepVentasResumen.aspx.vb @@ -103,7 +103,7 @@ Partial Class Ventas_RepVentasResumen VxC = Nothing End If - If ObjMovtos.GetRepRecuperacion(TxtFechaI.Text.ToDate, TxtFechaF.Text.ToDate, MinFecha, MaxFecha, -1, DdlSubProyecto.SelectedValue.ToEntero, -1, -1, -1, "-1", UsuarioActual.CveEmpresa, 5, -1, "-1", CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then + If ObjMovtos.GetRepRecuperacion(TxtFechaI.Text.ToDate, TxtFechaF.Text.ToDate, MinFecha, MaxFecha, -1, DdlSubProyecto.SelectedValue.ToEntero, "-1", -1, "-1", "-1", UsuarioActual.CveEmpresa, 5, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then Datos = ObjVentas.DtResultados GvPxC.DataSource = Datos Else diff --git a/asmx/WSSIGApp.asmx b/asmx/WSSIGApp.asmx index c357054be..8976da08c 100644 --- a/asmx/WSSIGApp.asmx +++ b/asmx/WSSIGApp.asmx @@ -1745,7 +1745,7 @@ Public Class WSSIGApp Public Function GetRepRecuperacion(CveEmpresa As Integer, FechaI As String, FechaF As String, Gpo As Integer, CveUsuarioConsulta As Integer, CveSubProyecto As Integer, CveCliente As Integer) As String Dim retorno = "[]" Using ObjVentas As New ClsMovimientos - If ObjVentas.GetRepRecuperacion(FechaI.ToDateTime(), FechaF.ToDateTime(), CveCliente, CveSubProyecto, -1, -1, -1, "-1", CveEmpresa, Gpo, -1, CveUsuarioConsulta:=CveUsuarioConsulta) Then + If ObjVentas.GetRepRecuperacion(FechaI.ToDateTime(), FechaF.ToDateTime(), MinFecha, MaxFecha, CveCliente, CveSubProyecto, -1, -1, -1, "-1", CveEmpresa, Gpo, -1, CveUsuarioConsulta:=CveUsuarioConsulta) Then retorno = ObjVentas.DtResultados.ToJson() End If End Using