diff --git a/App_Code/ClsFinanzas.vb b/App_Code/ClsFinanzas.vb
index 238079690..2ac55ef1b 100644
--- a/App_Code/ClsFinanzas.vb
+++ b/App_Code/ClsFinanzas.vb
@@ -259,6 +259,35 @@ Public Class ClsFinanzas
End Function
+
+
+ Public Function GetRazonesFinancierasBalanceGeneralRep(FechaI As Date, FechaF As Date, CveProyecto As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, CveUsuario As Integer, Tipo As Integer, Periodo As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Finan_RF_BalanceGeneralRepGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@FechaI", SqlDbType.Date).Value = FechaI
+ .Add("@FechaF", SqlDbType.Date).Value = FechaF
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@CveProyecto", SqlDbType.Int).Value = CveProyecto
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@Tipo", SqlDbType.Int).Value = Tipo
+ .Add("@Periodo", SqlDbType.Int).Value = Periodo
+
+
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al consultar el Reporte Balance General.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
+
+
+
Public Function GetRazonesFinancierasEstadoResultadosRep(FechaI As Date, FechaF As Date, CveProyecto As Integer, CveSubProyecto As Integer, CveEmpresa As Integer, CveUsuario As Integer, Tipo As Integer, Periodo As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Finan_RF_EstadoResultadosRepGet")
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index e285a7287..215aada2b 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -7729,14 +7729,14 @@ Public Class ClsPaginas
If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaIVA
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
- If CompraActual.IVADeducible > 0 Then
+ If Not ErrorMovtos AndAlso CompraActual.IVADeducible > 0 Then
ImporteMovimiento = (PorcentajePago * CompraActual.IVADeducible).RoundSQL
ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento.RoundSQL * Pago.TCPago).RoundSQL
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
End If
- If CompraActual.IVANoDeducible > 0 Then
+ If Not ErrorMovtos AndAlso CompraActual.IVANoDeducible > 0 Then
ImporteMovimiento = (PorcentajePago * CompraActual.IVANoDeducible).RoundSQL
ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL
If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento
@@ -7752,7 +7752,9 @@ Public Class ClsPaginas
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ If Not ErrorMovtos Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ End If
End If
'si tiene Ret ISR y su proporcion
If Not ErrorMovtos AndAlso CompraActual.RetISR > 0 Then
@@ -7767,7 +7769,9 @@ Public Class ClsPaginas
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ If Not ErrorMovtos Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ End If
End If
'si tiene IEPS y su proporcion
If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then
@@ -7782,7 +7786,9 @@ Public Class ClsPaginas
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe
If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ If Not ErrorMovtos Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ End If
End If
End If
@@ -7866,7 +7872,7 @@ Public Class ClsPaginas
Diferencia = Diferencia.Abs.RoundSQL
End If
If Diferencia <> 0 Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Diferencia, Diferencia, ConceptoContable, Concepto, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Diferencia, Diferencia, ConceptoContable, Pago.Referencia, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then
ErrorMovtos = True
End If
End If
@@ -8051,7 +8057,7 @@ Public Class ClsPaginas
Retorno.CveConcepto = If(CveTipoProveedor = 1, 21, 56)
Case 2 'dólares
Retorno.CveConcepto = If(CveTipoProveedor = 1, 339, 346)
- Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 266, 340)
+ Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 340, 347)
End Select
Case 15 ' notas de crédito
Select Case CveMoneda
@@ -8086,7 +8092,7 @@ Public Class ClsPaginas
Retorno.CveConcepto = If(CveTipoProveedor = 1, 10, 48)
Case 2 'dólares
Retorno.CveConcepto = If(CveTipoProveedor = 1, 338, 345)
- Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 266, 340)
+ Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 340, 347)
End Select
Case 15 ' notas de crédito
Select Case CveMoneda
diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb
index 9e161e4eb..a5f621127 100644
--- a/Bancos/PopIECompras.aspx.vb
+++ b/Bancos/PopIECompras.aspx.vb
@@ -1625,7 +1625,7 @@ Partial Class Bancos_PopIECompras
Dim StrMsg As New StringBuilder
StrMsg.Append("El Documento se guardó correctamente. ")
If TipoTransaccion = "Egs" AndAlso CveIE > 0 Then GeneraChequePDF(CveIE, UsuarioActual.Empresa)
- If IdPoliza > 0 Then StrMsg.AppendFormat(" Ver Póliza", IdPoliza)
+ If IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then StrMsg.AppendFormat(" Ver Póliza", IdPoliza)
If RBLContado.SelectedValue.ToEntero = 6 And ChkEmitirComplementoPago.Checked Then GeneraTimbre(CvePrePoliza) Else Alert(StrMsg.ToString, TipoMensaje.MsgInformacion, "self.parent.tb_remove();self.parent.location.reload();")
diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index 5facc8424..17f32de8d 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -4845,7 +4845,7 @@
+ DataKeyNames="CveCompra,TipoCambio,CveTipoConcepto,UUID,Saldo,SerieFolio,Fecha,CveMoneda,Total,CveProveedor" runat="server" AutoGenerateColumns="false" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD">
@@ -5880,46 +5880,34 @@
}
- function chkAnt(t, txt, importe, TotalSaldo, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal) {
+ function chkAnt(t, txt, importe, TotalSaldoCompra, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, TCCompra) {
var Total = ToDouble($get('TxtTotal').value);
- //TotalSaldo = Total;
+ debugger;
var txtvalue = ToDouble(txt.value);
+ var ImportePago, ImporteCompra;
+
+ var TCC = TCCompra / TCAnticipo;
var importevalue = ToDouble(importe);
- if (CveMonedaAnticipo = 1 && CveMonedaOriginal == 2) {
- txtvalue = ToDouble(txtvalue / TCAnticipo);
- importevalue = ToDouble(importevalue / TCAnticipo);
- } else if (CveMonedaAnticipo = 2 && CveMonedaOriginal == 1) {
- txtvalue = ToDouble(txtvalue * TCAnticipo);
- importevalue = ToDouble(importevalue * TCAnticipo);
- }
- //var SaldoCompra = parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2));
- var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + txtvalue).toFixed(2); // le agrego lo del valor actual para validarlo
-
-
-
- if (t.checked) {
-
- if (SaldoCompra > 0) {
- if (SaldoCompra > importevalue) {
- txt.value = ToDouble(importevalue).toFixed(2);
- //SaldoCompra = SaldoCompra - importe;
- //$get('HdnCompraSaldo').value = SaldoCompra;
-
- } else {
- txt.value = ToDouble(SaldoCompra).toFixed(2);
- //SaldoCompra = 0.00;
- //$get('HdnCompraSaldo').value = SaldoCompra;
- }
-
- } else {
- t.checked = false;
- txt.value = "";
- //SaldoCompra = SaldoCompra - importe;
+ if (CveMonedaAnticipo != CveMonedaOriginal) {
+ if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
+ txtvalue = ToDouble(txtvalue / TCAnticipo);
+ importevalue = ToDouble(importevalue / TCAnticipo);
+ } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
+ txtvalue = ToDouble(txtvalue * TCAnticipo);
+ importevalue = ToDouble(importevalue * TCAnticipo);
}
+ }
+ var DifSaldo = (TotalSaldoCompra - FnSumaValoresAnt()).toFixed(2); // le agrego lo del valor actual para validarlo
- } else {
- //$get('HdnCompraSaldo').value = parseFloat(SaldoCompra) + parseFloat(txt.value);
+ if (t.checked)
+ {
+ if (DifSaldo > importevalue) {
+ txt.value = ToDouble(importevalue*TCC).toFixed(2);
+ } else {
+ txt.value = ToDouble(DifSaldo*TCC).toFixed(2);
+ }
+ } else {
txt.value = "";
}
@@ -5935,6 +5923,7 @@
var Total = ToDouble($get('TxtTotal').value);
let txtComisionImporte = 0;
+ debugger;
if (txtComision != null) {
if (!isNaN(txtComision.value)) {
@@ -5952,8 +5941,7 @@
}
return;
}
-
- debugger;
+
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
@@ -5961,7 +5949,7 @@
}
var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txtvalue)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2));
- alert(txtvalue);
+
if (SaldoCompra < 0) txt.value = SaldoCompra - txtvalue;
//minimo entre saldocompra y el saldoanticipo
if (SaldoCompra < saldo) saldo = SaldoCompra;
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 841911cad..18d4f15da 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -7,11 +7,8 @@ Imports System.Diagnostics
Imports System.Globalization
Imports System.IO
Imports System.Threading.Tasks
-Imports Newtonsoft.Jsonf
+Imports Newtonsoft.Json
Imports Extensiones
-Imports System.Activities.Expressions
-Imports iText.Barcodes.Dmcode
-Imports Microsoft.Reporting.WebForms
Imports MoreLinq
Partial Class Compras_Compras
@@ -490,14 +487,6 @@ Partial Class Compras_Compras
ViewState("CompraSaldo") = value
End Set
End Property
- Private Property Saldo As Double
- Get
- Return ViewState("Saldo").ToString.ToDouble
- End Get
- Set(value As Double)
- ViewState("Saldo") = value
- End Set
- End Property
Private Property CveMoneda As Integer
Get
@@ -1234,7 +1223,7 @@ Partial Class Compras_Compras
CierrePeriodo = False
NCDevolucion = False
CompraCargada = False
- Saldo = 0
+ CompraSaldo = 0
SubTotalOriginal = 0
CveConceptoContableAlmacen = 0
EsNoDeducible = False
@@ -1418,8 +1407,6 @@ Partial Class Compras_Compras
InicializaAplicaNCFact()
End If
-
-
If UsuarioActual.Empresa.UsaAC Then
CambiaEjercicioAC()
End If
@@ -1509,7 +1496,7 @@ 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, CompraSaldo.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
@@ -2425,12 +2412,6 @@ Partial Class Compras_Compras
End If
End If
- Dim MostrarRetIva6 As Boolean = False
-
-
-
-
-
TxtSubTotal.Text = SubtotalTemp.FormatoNumero
TxtDescuento.Text = DescuentosTemp.FormatoNumero
TxtSubTotal2.Text = Subtotal2Temp.FormatoNumero
@@ -2476,23 +2457,6 @@ Partial Class Compras_Compras
'ASIGNA VALORES ORIGINALES PARA GUARDAR
AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total)
- 'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then
-
-
- ' If RetencionIVA = 0 And IVAOriginal > 0 Then
- ' For Each dRow As DataRow In TmpDT.Rows
- ' If dRow("CveTipoPS").ToString.ToEntero = 1 Then
-
- ' 'comentado para reubicar el boton
- ' 'tdIVA6.Visible = True
-
-
- ' Exit For
- ' End If
- ' Next
- ' End If
-
- 'End If
End Sub
@@ -2592,7 +2556,7 @@ Partial Class Compras_Compras
'CargaProveedor
Dim dr As DataRow = ObjCompra.DtResultados.Rows(0)
- Saldo = dr("Saldo").ToString.ToDecimal
+ CompraSaldo = dr("Saldo").ToString.ToDecimal
RBLPago.Visible = False
Dim CveProveedor As Integer = dr("CveProveedor").ToString.ToEntero
@@ -2689,7 +2653,6 @@ Partial Class Compras_Compras
TxtTotal.Text = dr("Total").ToString.FormatoNumero(2)
HfTotalCompra.Value = TxtTotal.Text
- CompraSaldo = TxtTotal.Text.ToDouble
TipoCambio = dr("TipoCambio").ToString.ToDecimal
Dim TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDouble
@@ -2797,29 +2760,7 @@ Partial Class Compras_Compras
'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250,-250); $('#DivEventoBitacora').show(1000); ")
ImgAddObs.Visible = True
ChkAplicaNotaCredito.Checked = CBool(dr("AplicaNotaCredito").ToString)
- 'RBLPago.Enabled = False
- 'If dr("CveIE").ToString.ToEntero > 0 Then
- ' RBLPago.SelectedValue = "2"
- ' 'cargo los datos del pago
- ' 'PnlPago.Visible = True
- ' 'PnlChkFuncionariosEmpleados.Visible = True
- ' Dim ObjIE As New ClsBancos()
-
- ' If ObjIE.GetBancosIE(dr("CveIE").ToString.ToEntero, UsuarioActual.CveEmpresa) Then
- ' If ObjIE.DtResultados.Rows.Count > 0 Then
-
- ' DdlTipoTransaccion.SelectedValue = ObjIE.CveTipoTransaccion.ToString
- ' DdlCuenta.SelectedValue = ObjIE.CveCuenta.ToString
- ' TxtDocumentoFolio.Text = ObjIE.Folio
- ' TxtDocumentoImporte.Text = ObjIE.Importe.FormatoNumero
- ' TxtDocumentoObservaciones.Text = ObjIE.Observaciones
-
- ' End If
- ' End If
-
- ' ObjIE.Dispose()
- 'End If
CompraSaldo = TotalGeneral - LblAmortizacion.Text.ToDouble
If EmpresaPrueba Then
CompraSaldo = dr("Saldo").ToString.ToDouble
@@ -7208,19 +7149,27 @@ Partial Class Compras_Compras
Pago.TipoPago = "NC"
Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
+ Dim CompraPago As New Compra
'datos de la compra tipodocto:Fac, para sobreescribirlos
- CompraActual.CveCompra = Gvr.DataKey("CveCompra").ToEntero
- CompraActual.SerieFolio = Gvr.DataKey("SerieFolio")
- CompraActual.TC = Gvr.DataKey("TipoCambio").ToDecimal
- CompraActual.Fecha = Gvr.DataKey("Fecha").ToDate
- CompraActual.CveMoneda = Gvr.DataKey("CveMoneda").ToEntero
-
- ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
+ CompraPago.CveCompra = Gvr.DataKey("CveCompra").ToEntero
+ CompraPago.CveProveedor = Gvr.DataKey("CveProveedor").ToEntero
+ CompraPago.SerieFolio = Gvr.DataKey("SerieFolio")
+ CompraPago.TC = Gvr.DataKey("TipoCambio").ToDecimal
+ CompraPago.Fecha = Gvr.DataKey("Fecha").ToDate
+ CompraPago.CveMoneda = Gvr.DataKey("CveMoneda").ToEntero
+ CompraPago.Total = Gvr.DataKey("Total").ToDecimal
+ CompraPago.CveTipoConceptoProveedor = Gvr.DataKey("CveTipoConcepto").ToEntero
+ CompraPago.CveSubProyecto = CompraActual.CveSubProyecto
+ ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta)
+ If ErrorPrepoliza Then
+ Exit For
+ End If
End If
Next
If ErrorPrepoliza Then
+ ErrorMovtosCxP = True
Exit Select
End If
@@ -7549,6 +7498,8 @@ Partial Class Compras_Compras
'5, 305, 306, 311
If importeMovimiento <> 0 Or (CveConceptoOriginal = 5 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Fac", "Ant")) Or (ConceptoContable.Contiene(18) AndAlso DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") AndAlso Not GuardoConcepto18) Then
'Conta ContPAQ
+
+
If IdCtaContable = 0 Then
CuentasContablesInvalidas.Append(" " & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
idCuentaContabilizacion = 0
@@ -8089,6 +8040,14 @@ Partial Class Compras_Compras
Dim Msg As New StringBuilder
Msg.Append("La compra se registró correctamente")
+ If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then
+ If ObjConta.ValorPolizaDescuadre > 0 Then
+ GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ ErrorPrepolizaDescuadre = True
+ End If
+ End If
+
+
'ACTUALIZA CVEFACTURA
If Request("CveFactura") IsNot Nothing Then
@@ -8142,8 +8101,6 @@ Partial Class Compras_Compras
Dim TempParametros = Encripta(String.Format("OP=PREPO&CvePrePoliza={0}", CvePrePoliza))
Msg.Append($" Imprimir ")
-
-
End If
If CveMovimientoInventario > 0 Then
@@ -8170,7 +8127,6 @@ Partial Class Compras_Compras
End If
End If
-
If Not TieneError Then
ObjCompras.Commit()
If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
@@ -8621,6 +8577,7 @@ Partial Class Compras_Compras
Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal
Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal
+
Dim Pago As New CompraPago
Pago.TipoPago = gvr.DataKey("TipoDocto")
Pago.ImportePago = ImporteAnt
@@ -8629,6 +8586,10 @@ Partial Class Compras_Compras
Pago.TCPago = TipoCambioAnt
Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
+ If CompraActual.CveMoneda = 1 AndAlso Pago.CveMonedaPago = 2 Then
+ CompraActual.TC = Pago.TCPago
+ End If
+
Select Case gvr.DataKey("TipoDocto")
Case "NC", "DEV"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 60, 60)
@@ -8638,8 +8599,8 @@ Partial Class Compras_Compras
CveIE = -1
Pago.AplicaAcreditable = False
Case "Egsc"
- CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21)
- CveConceptoCompraComplementaria = 266
+ 'CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21)
+ 'CveConceptoCompraComplementaria = 266
IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera)
IdCtaContableComp = CtaProveedorAnticiposComplementaria
@@ -9791,68 +9752,6 @@ Partial Class Compras_Compras
importeMovimiento = 0
IdCtaContable = 0
- ' Case 5 'Proveedores
- ' Dim TieneConceptoProveedorAcreedor As Boolean = False
- ' Dim CveIE As Integer = -1
-
- ' 'If Not ObjConta.GetPrePolizasDetalleCompra(CveCompra, UsuarioActual.CveEmpresa) Then
- ' ' ErrorPrepoliza = True
- ' 'Else
- ' ' If ObjConta.DtResultados.FiltraParametros("CveConceptoContable IN (5,305)").Rows.Count > 0 Then
- ' ' TieneConceptoProveedorAcreedor = True
- ' ' CveIE = ObjConta.DtResultados.FiltraParametros("CveConceptoContable = 6 OR CveConceptoContable = 68 OR CveConceptoContable = 49 OR CveConceptoContable = 205 OR CveConceptoContable = 176").Rows(0)("CveIE").ToString.ToEntero
- ' ' End If
- ' 'End If
-
- ' If TieneConceptoProveedorAcreedor Then
- ' If CveTipoConcepto = 2 Then ConceptoContable = 305 'cuando es acreedor
- ' Dim UsaComplementaria As Boolean = True
- ' If tipoCambioActual <> 1 Then
- ' Select Case ConceptoContable
- ' Case 5
- ' ConceptoContable = 311
- ' Case 305
- ' ConceptoContable = 306
- ' Case Else
- ' End Select
- ' End If
-
- ' Dim importeProv As Decimal = 0
- ' importeProv = TxtTotal.Text.ToDecimal
-
- ' If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
-
- ' importeMovimiento = importeProv
- ' importeMN = importeMovimiento * tipoCambioActual * Multiplicador
-
- ' If tipoCambioActual > 1 Then Referencia += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
- ' Dim CveConceptoContableComplementaria As Integer = 201
- ' If CveTipoConcepto = 2 Then CveConceptoContableComplementaria = 307
-
-
-
- ' If tipoCambioActual = 1 Then
- ' IdCtaContable = If(CveTipoConcepto = 2, CtaProveedorAcreedores, CtaProveedor)
- ' Dim Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}"
-
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveSubProyecto:=-1, CveProveedor:=CveProveedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=-1, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual) Then
- ' ErrorPrepoliza = True
- ' Exit For
- ' End If
-
- ' Else
- ' IdCtaContable = CtaProveedorComplementaria
- ' If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsaComplementaria) Then 'Cuando tiene complementaria lo dividimos en dos Then
- ' importeMN = importeMovimiento
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Referencia, CveConceptoContableComplementaria, Referencia, FechaMovimiento, IdCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=importeMovimiento * tipoCambioActual - importeMovimiento, ImporteME:=importeMovimiento, TipoCambio:=tipoCambioActual) Then
- ' ErrorPrepoliza = True
- ' End If
- ' End If
- ' IdCtaContable = CtaProveedorExtranjera
- ' End If
- ' End If
- ' End If
-
End Select
Next
End If
@@ -10154,17 +10053,25 @@ Partial Class Compras_Compras
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 = ""
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, 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
-
-
Dim tTCFecha As Double = If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble)
+
+ e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2},{3},{4},{5},{6});",
+ e.Row.FCTextBox("TxtAnticipo").ClientID,
+ e.Row.DBCampo("Saldo"),
+ If(CveCompra > 0, CompraSaldo, ImporteAmortizacion),
+ e.Row.DBCampo("CveMoneda"),
+ tTCFecha,
+ DdlMoneda.SelectedValue,
+ IIf(DdlMoneda.SelectedValue = "1", 1, TxtTC.Text))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
+
+
+
If UsuarioActual.Empresa.CveEmpresa.Contiene(13, 83) Then
e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5},{6});",
e.Row.FCCheckBox("Chk").ClientID,
e.Row.DBCampo("Saldo"),
- If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero,
+ If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero,
tTCFecha,
DdlMoneda.SelectedValue.ToEntero,
e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
@@ -10172,7 +10079,7 @@ Partial Class Compras_Compras
e.Row.FCTextBox("TxtComision").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},{6},{1},{2},{3},{4},{5},this);",
e.Row.FCCheckBox("Chk").ClientID,
e.Row.DBCampo("Saldo"),
- If(CveCompra > 0, Saldo, ImporteAmortizacion),
+ If(CveCompra > 0, CompraSaldo, ImporteAmortizacion),
e.Row.DBCampo("CveMoneda").ToEntero,
tTCFecha,
DdlMoneda.SelectedValue.ToEntero,
@@ -10181,7 +10088,7 @@ Partial Class Compras_Compras
e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5});",
e.Row.FCCheckBox("Chk").ClientID,
e.Row.DBCampo("Saldo"),
- If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero,
+ If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero,
tTCFecha,
DdlMoneda.SelectedValue.ToEntero,
e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
@@ -10189,7 +10096,7 @@ Partial Class Compras_Compras
e.Row.FCTextBox("TxtComision").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},{6},{1},{2},{3},{4},{5},this);",
e.Row.FCCheckBox("Chk").ClientID,
e.Row.DBCampo("Saldo"),
- If(CveCompra > 0, Saldo, ImporteAmortizacion),
+ If(CveCompra > 0, CompraSaldo, ImporteAmortizacion),
e.Row.DBCampo("CveMoneda").ToEntero,
tTCFecha,
DdlMoneda.SelectedValue.ToEntero,
@@ -20424,7 +20331,7 @@ Partial Class Compras_Compras
Dim MensajeProducto As String = ""
Dim MensajeCantidad As String = ""
Dim MensajeImporte As String = ""
- If objContratos.ValidaPSContrato(TempPS) Then
+ If TempPS <> "" AndAlso objContratos.ValidaPSContrato(TempPS) Then
If objContratos.DtResultados.Rows.Count > 0 Then
MensajeProducto = "Los siguientes productos no pertenece al contrato seleccionado: "
MensajeCantidad = "Los siguientes productos sobrepasan la cantidad faltante del contrato seleccionado: "
@@ -20461,7 +20368,7 @@ Partial Class Compras_Compras
If DtPS.MAX("CveSubProyecto", "CveSubProyecto IS NOT NULL").ToEntero > 0 AndAlso DtPS.MAX("CvePS", "CvePS IS NOT NULL").ToEntero > 0 Then
Dim TempPS As String = JsonConvert.SerializeObject(DtPS).ToString
- If ObjContratos.GetPSContratoDetalle(CveContrato, TempPS) Then
+ If TempPS <> "" AndAlso ObjContratos.GetPSContratoDetalle(CveContrato, TempPS) Then
DtpsTemp = ObjContratos.DtResultados
End If
ObjContratos.Dispose()
diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx
index 188dfb37c..855f4c6e4 100644
--- a/Compras/ReembolsosComprobaciones.aspx
+++ b/Compras/ReembolsosComprobaciones.aspx
@@ -45,26 +45,26 @@
-
-
+
+
-
+
-
+
-
+
@@ -74,7 +74,7 @@
-
+
<%----%>
@@ -117,6 +117,7 @@
+
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index b578e2ee8..ce8b4b94f 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -122,20 +122,17 @@ Partial Class Compras_ReembolsosComprobaciones
DdlCajaChica.DataSource = dt
DdlCajaChica.DataBind()
- Dim ObjPersonal As New ClsRH
- ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa)
-
If UsuarioActual.CveEmpresa.Contiene(119, 158) Then
- DdlPersonal.DataSource = ObjPersonal.DtResultados
+ DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
Else
- DdlPersonal.DataSource = ObjPersonal.DtResultados.FiltraParametros("CveEstatusPersonal = 1")
+ DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("CveEstatusPersonal = 1")
End If
-
-
- ObjPersonal.Dispose()
DdlPersonal.DataBind()
CargaTipoTransaccion()
+ If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then 'acumuladores
+ ChkMesSiguiente.Visible = True
+ End If
If UsuarioActual.Empresa.Funcionalidad(506) = "1" Then
CbPermitirExcedente.Visible = True
@@ -143,19 +140,10 @@ Partial Class Compras_ReembolsosComprobaciones
CbPermitirExcedente.Visible = False
End If
- ' If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then
- 'rowComisiones.Visible = True
- ' End If
-
- If UsuarioActual.CveEmpresa = 119 Then
- ChkReembolsarSinBancos.Visible = True
- End If
+ If UsuarioActual.CveEmpresa = 119 Then ChkReembolsarSinBancos.Visible = True
TxtFechaPrePoliza.Text = Date.Now.ToShortDateString
- 'CargaCuentasDiferencia()
-
- 'TableDiferencia.Visible = False
End If
End Sub
@@ -176,7 +164,7 @@ Partial Class Compras_ReembolsosComprobaciones
DdlPersonal.Visible = True
DdlPersonal.SelectedValue = "-2"
If UsuarioActual.CveRol = 1 Then ChkAplicaViatico.Visible = True
- LtTituloPago.Text = "Viaticos - Personal:"
+ LtTituloPago.Text = "Viáticos:"
'Valida Proceso 120 para ROL Administrador de obra - para FyE solo puede ver los del UsuarioActual
If UsuarioActual.TienePermisoProceso(120) Then
@@ -413,49 +401,38 @@ Partial Class Compras_ReembolsosComprobaciones
#Region " BTN GUARDAR "
Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
-
Dim ValFechaDocumento As Boolean = False
Dim FoliosFechasValFechaDocumento As New StringBuilder
-
FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha de mes superior al mes del pago: ")
For Each gvRowVal As GridViewRow In GvCxP.Rows
If gvRowVal.FCCheckBox("Chk").Checked Then
-
Dim FechaFactura As Date = gvRowVal.DataKey("FechaCompra").ToDate
-
-
Dim FechaDocumento As Date
-
-
If DDlCheques.SelectedValue.ToEntero = -1 Then
FechaDocumento = TxtFechaDocumento.Text.ToDate
Else
FechaDocumento = TxtFechaPrePoliza.Text.ToDate
End If
-
Dim AnioFactura As Integer = FechaFactura.Year
Dim MesFactura As Integer = FechaFactura.Month
Dim AnioDocumento As Integer = FechaDocumento.Year
Dim MesDocumento As Integer = FechaDocumento.Month
If AnioFactura > AnioDocumento Then
-
FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") } ")
ValFechaDocumento = True
ElseIf AnioFactura = AnioDocumento And MesFactura > MesDocumento Then
FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") } ")
ValFechaDocumento = True
End If
-
End If
-
Next
'rmf. codigo temporal
- If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
+ If UsuarioActual.CveEmpresa.Contiene(13, 83) OrElse ChkMesSiguiente.Checked Then
ValFechaDocumento = False
End If
@@ -535,8 +512,7 @@ Partial Class Compras_ReembolsosComprobaciones
If HdnCheque.Value.ToEntero > 0 AndAlso Not ChkReembolsarSinBancos.Checked Then
CveIERegistrado = DDlCheques.SelectedValue.ToEntero
-
- If UsuarioActual.CveEmpresa.Contiene(119, 158) Then
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) OrElse ChkMesSiguiente.Checked Then
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
@@ -592,8 +568,6 @@ Partial Class Compras_ReembolsosComprobaciones
End If
End If
-
-
End If
ElseIf Not ChkReembolsarSinBancos.Checked Then
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)
@@ -747,8 +721,8 @@ Partial Class Compras_ReembolsosComprobaciones
CvePrePolizaPago = CvePrePolizaIERegistrado
- 'SE USARA PARA PODER ELIMINAR UNA COMPROBACION
- 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)
+ ''SE USARA PARA PODER ELIMINAR UNA COMPROBACION
+ CvePrePolizaPagoOriginal = -1 '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
If CveCajaChica > 0 Then
@@ -779,7 +753,7 @@ Partial Class Compras_ReembolsosComprobaciones
MsgError = "Detalle"
End If
- If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then
+ If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso Not ChkMesSiguiente.Checked) Then
'Si es caja chica metemos el concepto 30, si es funcionario metemos 29
ImporteMovto += Pago.OtroGastoIngreso ' si ajuste, sedebe de aplicar en su contraparte
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
@@ -1178,16 +1152,16 @@ Partial Class Compras_ReembolsosComprobaciones
End If
If e.Row.RowIndex = 1 Then
e.Row.Cells(0).Width = Unit.Pixel(20)
- e.Row.Cells(1).Width = Unit.Pixel(70)
- e.Row.Cells(2).Width = Unit.Pixel(250)
- e.Row.Cells(3).Width = Unit.Pixel(70)
- e.Row.Cells(4).Width = Unit.Pixel(80)
- e.Row.Cells(5).Width = Unit.Pixel(40)
- e.Row.Cells(6).Width = Unit.Pixel(80)
- e.Row.Cells(7).Width = Unit.Pixel(70)
- e.Row.Cells(8).Width = Unit.Pixel(70)
- e.Row.Cells(9).Width = Unit.Pixel(80)
- e.Row.Cells(15).Width = Unit.Pixel(80)
+ 'e.Row.Cells(1).Width = Unit.Pixel(70)
+ 'e.Row.Cells(2).Width = Unit.Pixel(250)
+ 'e.Row.Cells(3).Width = Unit.Pixel(70)
+ 'e.Row.Cells(4).Width = Unit.Pixel(80)
+ 'e.Row.Cells(5).Width = Unit.Pixel(40)
+ 'e.Row.Cells(6).Width = Unit.Pixel(80)
+ 'e.Row.Cells(7).Width = Unit.Pixel(70)
+ 'e.Row.Cells(8).Width = Unit.Pixel(70)
+ 'e.Row.Cells(9).Width = Unit.Pixel(80)
+ 'e.Row.Cells(15).Width = Unit.Pixel(80)
End If
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right
diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx b/Contabilidad/PlantillasPolizasDetalle.aspx
index 691215228..7688b9272 100644
--- a/Contabilidad/PlantillasPolizasDetalle.aspx
+++ b/Contabilidad/PlantillasPolizasDetalle.aspx
@@ -176,7 +176,7 @@
- >
+ >
diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx.vb b/Contabilidad/PlantillasPolizasDetalle.aspx.vb
index 9ecb78a66..f87298a0c 100644
--- a/Contabilidad/PlantillasPolizasDetalle.aspx.vb
+++ b/Contabilidad/PlantillasPolizasDetalle.aspx.vb
@@ -244,8 +244,8 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
Public Sub updatatos()
Dim ObjPlantillaPolizaDetalle As New ClsContabilidad
- If ObjPlantillaPolizaDetalle.GetConta_PlantillasPolizasDetalle(-1, UsuarioActual.CveEmpresa) Then
- ViewState("DTPlantillaPolizaDetalle") = ObjPlantillaPolizaDetalle.DtResultados.FiltraParametros(String.Format(" CvePlantillaPoliza={0} AND CveEmpresa = {1}", CvePlantillaPoliza, UsuarioActual.CveEmpresa))
+ If ObjPlantillaPolizaDetalle.GetConta_PlantillasPolizasDetalle(CvePlantillaPoliza, UsuarioActual.CveEmpresa) Then
+ ViewState("DTPlantillaPolizaDetalle") = ObjPlantillaPolizaDetalle.DtResultados
' GlobalDTContaPlantillasPolizasDetalle(UsuarioActual.CveEmpresa, CvePlantillaPoliza) = ObjPlantillaPolizaDetalle.DtResultados
End If
ObjPlantillaPolizaDetalle.Dispose()
diff --git a/Contabilidad/RegPrePolizaS.aspx b/Contabilidad/RegPrePolizaS.aspx
index 55e1b78b0..214930c38 100644
--- a/Contabilidad/RegPrePolizaS.aspx
+++ b/Contabilidad/RegPrePolizaS.aspx
@@ -325,24 +325,7 @@
-
-
-
-
-
- <%--TODO: Esto se puede meter en el stored procedured, pero me da cosa moverle :S--%>
-
-
- <%--TODO: Esto puede tronar si el valor es DBNull --%>
- <%# If(Convert.ToDecimal(Eval("Cantidad")) = 0, 0.ToString("C"), (Convert.ToDecimal(Eval("SubTotal")) / Convert.ToInt32(Eval("Cantidad"))).ToString("C")) %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Ventas por Productos - Gráfica
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Compras Productores
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <%--TODO: Esto se puede meter en el stored procedured, pero me da cosa moverle :S--%>
-
-
- <%--TODO: Esto puede tronar si el valor es DBNull --%>
- <%# If(Convert.ToDecimal(Eval("Cantidad")) = 0, 0.ToString("C"), (Convert.ToDecimal(Eval("SubTotal")) / Convert.ToInt32(Eval("Cantidad"))).ToString("C")) %>
-
-
- <%----%>
-
-
-
-
-
-
-
-
-
-
-
-
-
- Compras Productores - Gráfica por Cantidad(Kg)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Gastos
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Compras por clasificación - Gráfica
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cuentas por cobrar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cuentas por cobrar - Gráfica Saldo VS Recuperado
-
+
+
+
+
+
+ <%--TODO: Esto se puede meter en el stored procedured, pero me da cosa moverle :S--%>
+
+
+ <%--TODO: Esto puede tronar si el valor es DBNull --%>
+ <%# If(Convert.ToDecimal(Eval("Cantidad")) = 0, 0.ToString("C"), (Convert.ToDecimal(Eval("SubTotal")) / Convert.ToInt32(Eval("Cantidad"))).ToString("C")) %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Ventas por Productos - Gráfica
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compras Productores
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%--TODO: Esto se puede meter en el stored procedured, pero me da cosa moverle :S--%>
+
+
+ <%--TODO: Esto puede tronar si el valor es DBNull --%>
+ <%# If(Convert.ToDecimal(Eval("Cantidad")) = 0, 0.ToString("C"), (Convert.ToDecimal(Eval("SubTotal")) / Convert.ToInt32(Eval("Cantidad"))).ToString("C")) %>
+
+
+ <%----%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compras Productores - Gráfica por Cantidad(Kg)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gastos
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compras por clasificación - Gráfica
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cuentas por cobrar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cuentas por cobrar - Gráfica Saldo VS Recuperado
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cuentas por Pagar productores
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cuentas por Pagar productores - Gráfica
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cuentas por Pagar no productores
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cuentas por Pagar no productores - Gráfica
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Saldo acumulado general (CxC - CxP)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Saldo acumulado de Cuentas por Pagar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<%--
- --%>
- <%----%>
-
+ --%>
+ <%----%>
+
-
-
+
+
+
diff --git a/General/RepIndicadorResumen.aspx.vb b/General/RepIndicadorResumen.aspx.vb
index d76f7677e..aeae30958 100644
--- a/General/RepIndicadorResumen.aspx.vb
+++ b/General/RepIndicadorResumen.aspx.vb
@@ -74,7 +74,8 @@ Partial Class General_RepIndicadorResumen
GvCxC.HeaderRow.Cells(2).Text = "Recuperado"
End If
- Dim SaldoConjCxP = 0
+ Dim SaldoConjCxP As Decimal = 0D
+ Dim SaldoCxC As Decimal = 0D
'Mostrar gráficos y totales en portlets solo si hay datos en su respectiva tabla
If GvVxP.Rows.Count > 0 Then
@@ -101,8 +102,10 @@ Partial Class General_RepIndicadorResumen
End If
If GvCxC.Rows.Count > 0 Then
UPGraficaCxC.Visible = True
- PLCxCTot.InnerHtml = "" + "Saldo: " + "" + String.Format("{0:c} MXN", CType(GvCxC.DataSource, DataTable).SUM("SaldoMN", "CveCliente IS NOT NULL"))
- Dim Recuper As Double = CType(GvCxC.DataSource, DataTable).SUM("RecuperadoMN", "CveCliente IS NOT NULL")
+ SaldoCxC = CType(GvCxC.DataSource, DataTable).SUMD("SaldoMN", "CveCliente IS NOT NULL")
+
+ PLCxCTot.InnerHtml = "" + "Saldo: " + "" + String.Format("{0:c} MXN", SaldoCxC)
+ Dim Recuper As Double = CType(GvCxC.DataSource, DataTable).SUMD("RecuperadoMN", "CveCliente IS NOT NULL")
If (Recuper > 0) Then PLCxCTot.InnerHtml += "" + "Rec: " + "" + String.Format("{0:c} MXN", Recuper)
Else
UPGraficaCxC.Visible = False
@@ -110,7 +113,7 @@ Partial Class General_RepIndicadorResumen
End If
If GvCxP192.Rows.Count > 0 Then
UPGraficaCxP192.Visible = True
- Dim SaldoCxP192 = CType(GvCxP192.DataSource, DataTable).SUM("SaldoMN", "CveProveedor IS NOT NULL")
+ Dim SaldoCxP192 = CType(GvCxP192.DataSource, DataTable).SUMD("SaldoMN", "CveProveedor IS NOT NULL")
SaldoConjCxP += SaldoCxP192
PLCxP192Tot.InnerHtml = "" + "Saldo: " + "" + String.Format("{0:c} MXN", SaldoCxP192)
Else
@@ -119,7 +122,7 @@ Partial Class General_RepIndicadorResumen
End If
If GvCxP.Rows.Count > 0 Then
UPGraficaCxP.Visible = True
- Dim SaldoCxP = CType(GvCxP.DataSource, DataTable).SUM("SaldoMN", "CveProveedor IS NOT NULL")
+ Dim SaldoCxP = CType(GvCxP.DataSource, DataTable).SUMD("SaldoMN", "CveProveedor IS NOT NULL")
SaldoConjCxP += SaldoCxP
PLCxPTot.InnerHtml = "" + "Saldo: " + "" + String.Format("{0:c} MXN", SaldoCxP)
Else
@@ -135,7 +138,9 @@ Partial Class General_RepIndicadorResumen
PLSaldoCxPTot.InnerHtml = Nothing
End If
- 'Si no había datos en ninguna tabla no cargar función de gráficos
+ LblSaldoTotal.InnerHtml = String.Format("{0:C} MXN", (SaldoCxC - SaldoConjCxP))
+
+ 'Si no había datos en ninguna tabla no cargar función de gráficos
If GvVxP.Rows.Count = 0 _
AndAlso GvCompProductores.Rows.Count = 0 _
AndAlso GvCompAcreed.Rows.Count = 0 _
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb
index a223f1f8c..34f6146c0 100644
--- a/RH/Personal.aspx.vb
+++ b/RH/Personal.aspx.vb
@@ -7702,6 +7702,14 @@ Partial Class RH_Personal
End If
+ If Padre.Trim.Length = 0 Then
+ Padre = TxtNombrePadre.Text.Trim
+ End If
+
+ If Madre.Trim.Length = 0 Then
+ Madre = TxtNombreMadre.Text.Trim
+ End If
+
Dim TimpoMovimiento As String = ""
Select Case eTipoMovimientoRH
@@ -7718,7 +7726,7 @@ Partial Class RH_Personal
objRH.Dispose()
Cuerpo.AppendLine("
")
diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx.cs b/Ventas/RepCancelacionesPorRespuesta.aspx.cs
index 4ef92fb44..ec5b6bcd4 100644
--- a/Ventas/RepCancelacionesPorRespuesta.aspx.cs
+++ b/Ventas/RepCancelacionesPorRespuesta.aspx.cs
@@ -437,10 +437,17 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{
//ASIGNAMOS ESTATUS EMITIDA
CveEstatus = 3;
+ string Estatus = "Emitida";
+ //SI ES REFACTURACION, DEBE QUEDAR COMO CANCELACION PENDIENTE PARA ENVIAR LA CANCELACION DE NUEVO
+ if (EsRefacturacion)
+ {
+ CveEstatus = 23;
+ Estatus = "Cancelación pendiente";
+ }
var ObjVentas = new ClsVentas();
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
{
- sb.Append("El estatus de la factura fue cambiado a 'Emitida'.");
+ sb.Append($"El estatus de la factura fue cambiado a '{Estatus}'.");
}
else
{
@@ -452,10 +459,17 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{
//ASIGNAMOS ESTATUS EMITIDA
CveEstatus = 3;
+ string Estatus = "Emitida";
+ //SI ES REFACTURACION, DEBE QUEDAR COMO CANCELACION PENDIENTE PARA ENVIAR LA CANCELACION DE NUEVO
+ if (EsRefacturacion)
+ {
+ CveEstatus = 23;
+ Estatus = "Cancelación pendiente";
+ }
var ObjVentas = new ClsVentas();
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
{
- sb.Append("El estatus de la factura fue cambiado a 'Emitida'.");
+ sb.Append($"El estatus de la factura fue cambiado a '{Estatus}'.");
}
else
{
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index caebcc4a0..de144aa72 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -11239,8 +11239,15 @@ Partial Class Ventas
Dim tTipoAmortizacion As Integer = If(DdlTipoAmortizacionAnticipo.SelectedValue = "2", 1, 2)
+ Dim ForzarAjuste As Boolean = False
- DtImpuestos = CargaDtImpuestosNC(gvrt.DataKey("CveVenta").ToString().ToEntero(), gvrt.FCTextBox(String.Format("TxtAnticipo{0}", gvrt.RowIndex)).Text.ToDecimal, AplicaImpuestosLocales:=True, NCDescuento:=False, NivelTotal:=tTipoAmortizacion)
+ 'EL IMPORTE DE NC NO PUEDE SER MAYOR AL DE LA FACTURA
+ If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso (tTipoAmortizacion = 1) Then
+ ForzarAjuste = True
+ End If
+
+ 'SI LA APLICACION DE ANTICIPO SE HACE A NIVEL TOTAL, FORZAR EL AJUSTE POR REDONDEO
+ DtImpuestos = CargaDtImpuestosNC(gvrt.DataKey("CveVenta").ToString().ToEntero(), gvrt.FCTextBox(String.Format("TxtAnticipo{0}", gvrt.RowIndex)).Text.ToDecimal, AplicaImpuestosLocales:=True, NCDescuento:=False, NivelTotal:=tTipoAmortizacion, ForzarAjuste:=ForzarAjuste)
Dim query = From ddr In DtImpuestos
Group By PorcentajeIVA = ddr("PorcentajeIVA").ToString().ToDecimal,
@@ -11251,9 +11258,9 @@ Partial Class Ventas
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
- ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
- ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
- ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
+ ImporteRetIVA = x.Sum(Function(s) s("ImporteRetIVA").ToString().ToDecimal()).RoundSQL(2),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
+ ImporteRetISR = x.Sum(Function(s) s("ImporteRetISR").ToString().ToDecimal()).RoundSQL(2),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
+ ImporteIEPS = x.Sum(Function(s) s("ImporteIEPS").ToString().ToDecimal()).RoundSQL(2), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
PorcentajeIVA = PorcentajeIVA,
PorcentajeRetIVA = PorcentajeRetIVA,
PorcentajeRetISR = PorcentajeRetISR,
@@ -11303,13 +11310,13 @@ Partial Class Ventas
'**** IMPUESTOS LOCALES
factura.DtDetalle = tmpcon
- Dim TotalSubTotal As Decimal = tmpcon.SUM("TotalImporte").ToDecimal
- Dim TotalDescuentos As Decimal = tmpcon.SUM("Descuento").ToDecimal
+ Dim TotalSubTotal As Decimal = tmpcon.SUMD("TotalImporte").RoundSQL(2)
+ Dim TotalDescuentos As Decimal = tmpcon.SUMD("Descuento")
- Dim TotalIVA As Decimal = tmpcon.SUM("ImporteIVA").ToDecimal
- Dim TotalIEPS As Decimal = tmpcon.SUM("ImporteIEPS").ToDecimal
- Dim TotalRetIVA As Decimal = tmpcon.SUM("ImporteRetIVA").ToDecimal
- Dim TotalRetISR As Decimal = tmpcon.SUM("ImporteRetISR").ToDecimal
+ Dim TotalIVA As Decimal = tmpcon.SUMD("ImporteIVA")
+ Dim TotalIEPS As Decimal = tmpcon.SUMD("ImporteIEPS")
+ Dim TotalRetIVA As Decimal = tmpcon.SUMD("ImporteRetIVA")
+ Dim TotalRetISR As Decimal = tmpcon.SUMD("ImporteRetISR")
Dim Total As Decimal = 0
Dim TotalImpuestosLocales As Decimal = factura.TotalImpuestoLocal.ToString().ToDecimal
Total = (TotalSubTotal - TotalDescuentos + TotalIVA + TotalIEPS - TotalRetIVA - TotalRetISR - TotalImpuestosLocales)
@@ -11343,6 +11350,9 @@ Partial Class Ventas
Else
ErrorList.Add("No se encontró un producto para generar la nota de crédito")
+ If DtVentasNC IsNot Nothing AndAlso DtVentasNC.Rows.Count > 0 Then
+ DtVentasNC.Rows.Clear()
+ End If
End If
End If
@@ -15324,8 +15334,12 @@ Partial Class Ventas
If (importeMovimiento <> 0 OrElse (importeMovimiento = 0 AndAlso ObjFactura.Total = 0 AndAlso ConceptoContable = 1)) And Not ErrorPrepoliza Then
+
+
If IdCtaContable <= 0 Then
- CuentasContablesInvalidas.Append(" " & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString())
+ If Not (UsuarioActual.CveEmpresa.Contiene(7, 11, 12, 122, 145) And ConceptoContable.Contiene(8, 13, 14, 15, 19, 22, 61, 185, 186, 327, 328)) Then
+ CuentasContablesInvalidas.Append(" " & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString())
+ End If
idCuentaContabilizacion = 0
End If
@@ -23659,8 +23673,9 @@ Partial Class Ventas
End If
End Using
+ 'SI TIENE UN ANTICIPO RELACIONADO O VIENE DE UNA REFACTURACION
If RowVentas IsNot Nothing Then
- If RowVentas("TipoDocto").ToString().Contiene("Ing") AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then
+ If RowVentas("TipoDocto").ToString().Contiene("Ing", "Ant") AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then
CargaInventario(Me.CveVenta)
End If
End If
@@ -29997,7 +30012,7 @@ Partial Class Ventas
Next
End Sub
- Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1, Optional AplicaNCUsado As Boolean = False) As DataTable
+ Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1, Optional AplicaNCUsado As Boolean = False, Optional ForzarAjuste As Boolean = False) As DataTable
Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0
Dim TmpDT As DataTable = Nothing
@@ -30115,6 +30130,24 @@ Partial Class Ventas
End If
End If
+ 'SI LA DIFERENCIA ES MENOR O IGUAL A 1 CENTAVO, AJUSTAR EL TOTAL
+ If ForzarAjuste Then
+ 'ASUSTO LA DIFERENCIA EN LOS IMPUESTOS
+ Dim difTmp As Decimal = Importe - importeNC
+ If Math.Abs(difTmp) > 0.00D AndAlso Math.Abs(difTmp) <= 0.01D Then
+ 'SI TIENE IVA, AJUSTAR AQUI
+ If DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteIVA").ToString().ToDecimal() > 0 Then
+ Dim ImporteIVAAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteIVA").ToString().ToDecimal + difTmp
+ DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteIVA") = ImporteIVAAjustado
+ Else
+ Dim ImporteAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal").ToString().ToDecimal + difTmp
+ DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal") = ImporteAjustado
+ DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImportePU") = ImporteAjustado
+ End If
+
+ End If
+ End If
+
If Not NCDescuento Then
Me.TmpDT = TmpDT
End If