Correcion en aplicacion masiva de NC

This commit is contained in:
2021-08-23 12:39:43 -07:00
parent 1a835e29a6
commit 0e03f786e7
2 changed files with 144 additions and 50 deletions

View File

@@ -6437,6 +6437,9 @@
DataKeyNames="CveVenta,CveMetodoPago33,CveFormaPago33" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn" GridLines="None"> DataKeyNames="CveVenta,CveMetodoPago33,CveFormaPago33" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn" GridLines="None">
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="ChkAllCxC" CssClass="gvcxcAllChe" onclick="chkSeleccionarNC();" runat="server" />
</HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:CheckBox ID="ChkCxC" CssClass="gvcxcChe" runat="server" /> <asp:CheckBox ID="ChkCxC" CssClass="gvcxcChe" runat="server" />
</ItemTemplate> </ItemTemplate>
@@ -7654,6 +7657,12 @@
<script src="/Metronic/assets/global/scripts/jquery-sortable.js"></script> <script src="/Metronic/assets/global/scripts/jquery-sortable.js"></script>
<script type="text/javascript"> <script type="text/javascript">
//$('body').on('click', '.gvcxcAllChe input', function () { });
function chkSeleccionarNC() {
$(".gvcxcChe input").not(this).click();
}
//FUNCIONES PARA COMERCIO EXTERIOR //FUNCIONES PARA COMERCIO EXTERIOR
function CalculaTotalUSD(TotalUSD, ValorUnitario, TxtCantidad) { function CalculaTotalUSD(TotalUSD, ValorUnitario, TxtCantidad) {
TotalUSD.innerText = FormatoNumero(ToDouble(ValorUnitario.value) * ToDouble(TxtCantidad.value), 2); TotalUSD.innerText = FormatoNumero(ToDouble(ValorUnitario.value) * ToDouble(TxtCantidad.value), 2);
@@ -8211,21 +8220,56 @@
Importe = Saldo; Importe = Saldo;
} }
Importe = Porcentaje * Importe / 100; Importe = Porcentaje * Importe / 100;
if (Chk.checked) {
TxtTotalGv.value = FormatoNumero(ToDouble(TxtTotalGv.value) + ImporteSinPorcentaje, 2);
TxtImporte.value = FormatoNumero(Importe, 2);
$get('TxtNCImporte').value = FormatoNumero(ToDouble($get('TxtNCImporte').value) + Importe, 2);
} else {
TxtTotalGv.value = FormatoNumero(ToDouble(TxtTotalGv.value) - ImporteSinPorcentaje, 2);
$get('TxtNCImporte').value = FormatoNumero(ToDouble($get('TxtNCImporte').value) - ToDouble(TxtImporte.value), 2);
TxtImporte.value = "";
}
if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') { if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') {
if (Chk.checked) {
//SI HAY RNC SELECCIONADAS
if (ToDouble($get('TxtImportesRemisionesNC').value) > 0) {
let ImporteRestante = ToDouble($get('TxtImportesRemisionesNC').value) - ToDouble($get('TxtNCImporte').value)
if (ImporteRestante < 0) {
ImporteRestante = 0;
}
if ((ToDouble(TxtTotalGv.value) + ImporteSinPorcentaje) > ImporteRestante) {
TxtTotalGv.value = FormatoNumero(ToDouble(TxtTotalGv.value) + ImporteRestante, 2);
}
if (Importe > ImporteRestante) {
TxtImporte.value = FormatoNumero(ImporteRestante, 2);
$get('TxtNCImporte').value = FormatoNumero(ToDouble($get('TxtNCImporte').value) + ToDouble(TxtImporte.value), 2);
}else {
$get('TxtNCImporte').value = FormatoNumero(ToDouble($get('TxtNCImporte').value) + Importe, 2);
}
if (ToDouble(TxtImporte.value) <= 0) {
Chk.checked = false;
}
}else {
TxtTotalGv.value = FormatoNumero(ToDouble(TxtTotalGv.value) + ImporteSinPorcentaje, 2);
TxtImporte.value = FormatoNumero(Importe, 2);
$get('TxtNCImporte').value = FormatoNumero(ToDouble($get('TxtNCImporte').value) + Importe, 2);
}
} else {
TxtTotalGv.value = FormatoNumero(ToDouble(TxtTotalGv.value) - ImporteSinPorcentaje, 2);
$get('TxtNCImporte').value = FormatoNumero(ToDouble($get('TxtNCImporte').value) - ToDouble(TxtImporte.value), 2);
TxtImporte.value = "";
}
CompararNC(); CompararNC();
}else {
if (Chk.checked) {
TxtTotalGv.value = FormatoNumero(ToDouble(TxtTotalGv.value) + ImporteSinPorcentaje, 2);
TxtImporte.value = FormatoNumero(Importe, 2);
$get('TxtNCImporte').value = FormatoNumero(ToDouble($get('TxtNCImporte').value) + Importe, 2);
} else {
TxtTotalGv.value = FormatoNumero(ToDouble(TxtTotalGv.value) - ImporteSinPorcentaje, 2);
$get('TxtNCImporte').value = FormatoNumero(ToDouble($get('TxtNCImporte').value) - ToDouble(TxtImporte.value), 2);
TxtImporte.value = "";
}
} }
} }
@@ -8270,6 +8314,18 @@
Entro = 1; Entro = 1;
} }
<%-- if ('<%= UsuarioActual.Empresa.Funcionalidad(344) %>' == '1') {
let ImporteRestante = ToDouble($get('TxtImportesRemisionesNC').value) - ToDouble($get('TxtNCImporte').value)
if (ImporteRestante > 0) {
if (ImporteRestante < ImporteNuevo) {
ImporteNuevo = ImporteRestante;
}
Entro = 1;
}else {
ImporteNuevo = 0;
}
}--%>
if (ImporteNuevo > Saldo) { if (ImporteNuevo > Saldo) {
ImporteNuevo = Saldo; ImporteNuevo = Saldo;
Entro = 1; Entro = 1;

View File

@@ -18716,6 +18716,14 @@ Partial Class Ventas
TieneMovimientosContrato = DtMovimientosDetalles.COUNT("CveTipoAlmacen", "CveTipoAlmacen IN (11)") > 0 TieneMovimientosContrato = DtMovimientosDetalles.COUNT("CveTipoAlmacen", "CveTipoAlmacen IN (11)") > 0
For Each dr As DataRow In DtMovimientos.Rows For Each dr As DataRow In DtMovimientos.Rows
'VERIFICA SI YA SE GENERARON LAS SALIDAS DE ALMACEN NECESARIAS
If DtRemConceptosSurtidos IsNot Nothing Then
If DtRemConceptosSurtidos.SUMD("Surtido") = DtRemConceptosSurtidos.SUMD("Cantidad") Then
Exit For
End If
End If
'Obtenemos los Movimientos de salida 'Obtenemos los Movimientos de salida
If ObjInventario.GetMovimientos(dr("CveMovimiento").ToString().ToEntero(), ConceptoMovimiento, -1, UsuarioActual.CveEmpresa) Then If ObjInventario.GetMovimientos(dr("CveMovimiento").ToString().ToEntero(), ConceptoMovimiento, -1, UsuarioActual.CveEmpresa) Then
@@ -24455,7 +24463,7 @@ Partial Class Ventas
End If End If
'al gasto,Subtotal 'al gasto,Subtotal
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, SubtotalMovto, SubTotal, SerieFolio, CveConceptoDeduccion, ConceptoPartida, FechaPago, IdCuentaContableNoDeducible, -1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=SubTotal, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, SubtotalMovto, SubTotal, SerieFolio, CveConceptoDeduccion, ConceptoPartida, FechaPago, IdCuentaContableNoDeducible, -1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=SubTotal, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero()) Then
MsgError = "Ocurrio un error al saldar el movimiento" MsgError = "Ocurrio un error al saldar el movimiento"
End If End If
@@ -25793,6 +25801,7 @@ Partial Class Ventas
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveVentaDetalleRNC").ToEntero() = 0 Then If e.Row.DBCampo("CveVentaDetalleRNC").ToEntero() = 0 Then
e.Row.FCLiteral("TtlTotal").Text = DirectCast(GvRemisionesNCBonDetalle.DataSource, DataTable).SUMD("Total", $"CveVenta = {e.Row.DBCampo("CveVenta")}").FormatoNumero(2)
e.Row.CssClass = "Totales" e.Row.CssClass = "Totales"
e.Row.FCCheckBox("ChkAplicar").Visible = False e.Row.FCCheckBox("ChkAplicar").Visible = False
e.Row.FCTextBox("TxtCantidadRNC").Visible = False e.Row.FCTextBox("TxtCantidadRNC").Visible = False
@@ -25834,6 +25843,7 @@ Partial Class Ventas
Protected Sub GvRemisionesNCDetalle_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvRemisionesNCDetalle.RowDataBound Protected Sub GvRemisionesNCDetalle_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvRemisionesNCDetalle.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveVentaDetalleRNC").ToEntero() = 0 Then If e.Row.DBCampo("CveVentaDetalleRNC").ToEntero() = 0 Then
e.Row.FCLiteral("TtlTotal").Text = DirectCast(GvRemisionesNCDetalle.DataSource, DataTable).SUMD("Total", $"CveVenta = {e.Row.DBCampo("CveVenta")}").FormatoNumero(2)
e.Row.CssClass = "Totales" e.Row.CssClass = "Totales"
e.Row.FCCheckBox("ChkAplicar").Visible = False e.Row.FCCheckBox("ChkAplicar").Visible = False
e.Row.FCTextBox("TxtCantidadRNC").Visible = False e.Row.FCTextBox("TxtCantidadRNC").Visible = False
@@ -25861,16 +25871,6 @@ Partial Class Ventas
End Sub End Sub
Protected Sub BtnAplicarNC_Click(sender As Object, e As EventArgs) Protected Sub BtnAplicarNC_Click(sender As Object, e As EventArgs)
If UsuarioActual.Empresa.Funcionalidad(344) = "1" Then
If ListaRemisionesNC IsNot Nothing AndAlso ListaRemisionesNC.Count > 0 Then
If TxtImportesRemisionesNC.Text.ToDecimal() <> TxtNCImporte.Text.ToDecimal() Then
Alert($"Los importes no coinciden", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
End If
'SOLO APLICA SI NO HAY DOCUMENTOS QUE SELECCIONAR 'SOLO APLICA SI NO HAY DOCUMENTOS QUE SELECCIONAR
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
If GvCxC.Rows.Count = 0 OrElse GvCxC.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("ChkCxC").Checked) = 0 Then If GvCxC.Rows.Count = 0 OrElse GvCxC.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("ChkCxC").Checked) = 0 Then
@@ -25894,6 +25894,20 @@ Partial Class Ventas
End Sub End Sub
Private Sub AplicarNotaCreditoDesdeVenta(Optional AplicaNuevoDocumento As Boolean = False) Private Sub AplicarNotaCreditoDesdeVenta(Optional AplicaNuevoDocumento As Boolean = False)
If UsuarioActual.Empresa.Funcionalidad(344) = "1" Then
If AplicaNuevoDocumento AndAlso TxtImportesRemisionesNC.Text.ToDecimal() > 0 Then
TxtNCImporte.Text = TxtImportesRemisionesNC.Text
End If
If ListaRemisionesNC IsNot Nothing AndAlso ListaRemisionesNC.Count > 0 Then
If TxtImportesRemisionesNC.Text.ToDecimal() <> TxtNCImporte.Text.ToDecimal() Then
Alert($"Los importes no coinciden", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
End If
RegistraScript("$('#ModalAplicarNC').modal('hide');", "EscondeModalNC") RegistraScript("$('#ModalAplicarNC').modal('hide');", "EscondeModalNC")
CveVentaUsadoDevolucionEfectivo = -1 CveVentaUsadoDevolucionEfectivo = -1
@@ -26063,11 +26077,11 @@ Partial Class Ventas
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
Into x = Group Into x = Group
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal), Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal), ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal).RoundSQL(2),
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA, 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, ImporteRetIVA = x.Sum(Function(s) (s("ImporteRetIVA").ToString().ToDecimal)).RoundSQL(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, ImporteRetISR = x.Sum(Function(s) (s("ImporteRetISR").ToString().ToDecimal)).RoundSQL(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, ImporteIEPS = x.Sum(Function(s) (s("ImporteIEPS").ToString().ToDecimal)).RoundSQL(2), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
PorcentajeIVA = PorcentajeIVA, PorcentajeIVA = PorcentajeIVA,
PorcentajeRetIVA = PorcentajeRetIVA, PorcentajeRetIVA = PorcentajeRetIVA,
PorcentajeRetISR = PorcentajeRetISR, PorcentajeRetISR = PorcentajeRetISR,
@@ -26081,11 +26095,11 @@ ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDec
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
Into x = Group Into x = Group
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal), Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal), ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal).RoundSQL(2),
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA, 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, ImporteRetIVA = x.Sum(Function(s) (s("ImporteRetIVA").ToString().ToDecimal)).RoundSQL(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, ImporteRetISR = x.Sum(Function(s) (s("ImporteRetISR").ToString().ToDecimal)).RoundSQL(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, ImporteIEPS = x.Sum(Function(s) (s("ImporteIEPS").ToString().ToDecimal)).RoundSQL(2), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
PorcentajeIVA = PorcentajeIVA, PorcentajeIVA = PorcentajeIVA,
PorcentajeRetIVA = PorcentajeRetIVA, PorcentajeRetIVA = PorcentajeRetIVA,
PorcentajeRetISR = PorcentajeRetISR, PorcentajeRetISR = PorcentajeRetISR,
@@ -26102,6 +26116,19 @@ ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDec
DtImpuestos = query.QueryToDataTable(False) DtImpuestos = query.QueryToDataTable(False)
DtImpuestosBonificacion = queryBonificacion.QueryToDataTable(False) DtImpuestosBonificacion = queryBonificacion.QueryToDataTable(False)
'ASUSTO LA DIFERENCIA EN EL ÚLTIMO CONCEPTO
If TipoDoctoNC = "Egs" AndAlso (Not AplicaNuevoDocumento) AndAlso AplicaNCMasiva AndAlso (Not NCDescuento) AndAlso AcumuladoNC > 0 Then
'CODIGO PARA AJUSTE DE CENTAVO, SI EL IMPORTE TOTAL NO CUADRA CON LOS TOTALES
Dim ImporteNC As Decimal = DtImpuestos.SUMD("ImporteTotal") + DtImpuestos.SUMD("ImporteIVA") + DtImpuestos.SUMD("ImporteIEPS") - DtImpuestos.SUMD("ImporteRetIVA") - DtImpuestos.SUMD("ImporteRetISR")
Dim difTmp As Decimal = AcumuladoNC - ImporteNC
If Math.Abs(difTmp) > 0.00D Then
Dim ImporteAjustado As Decimal = DtImpuestos.Rows(DtImpuestos.Rows.Count - 1)("ImporteTotal").ToString().ToDecimal + difTmp
DtImpuestos.Rows(DtImpuestos.Rows.Count - 1)("ImporteTotal") = ImporteAjustado
DtImpuestos.Rows(DtImpuestos.Rows.Count - 1)("ImportePU") = ImporteAjustado
End If
End If
If Not NCDescuento Then If Not NCDescuento Then
LimpiaDocumentoNC() LimpiaDocumentoNC()
End If End If
@@ -26831,7 +26858,7 @@ ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDec
Dim ImporteReferencia As Decimal = If(NivelTotal = 1, Total, SubTotal) Dim ImporteReferencia As Decimal = If(NivelTotal = 1, Total, SubTotal)
Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100 Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100
Dim FiltroStr As String = "" Dim FiltroStr As String = ""
Dim importePuTemp As Decimal = 0
Dim TotalImpuestosLocalesVentaOriginal As Decimal = 0 Dim TotalImpuestosLocalesVentaOriginal As Decimal = 0
Dim TotalImpuestosLocalesRecalculado As Decimal = 0 Dim TotalImpuestosLocalesRecalculado As Decimal = 0
@@ -26841,34 +26868,44 @@ ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDec
TotalImpuestosLocalesRecalculado = TotalImpuestosLocalesVentaOriginal * Porcentaje TotalImpuestosLocalesRecalculado = TotalImpuestosLocalesVentaOriginal * Porcentaje
End If End If
Dim AplicaRedondeo As Boolean = True
If AplicaNCMasiva AndAlso Not NCDescuento Then
AplicaRedondeo = False
End If
For Each Dr As DataRow In DtImpuestosLocal.Rows For Each Dr As DataRow In DtImpuestosLocal.Rows
FiltroStr = String.Format("ISNULL(PorcentajeIVA,0) = {0} AND ISNULL(PorcentajeRetIVA,0) = {1} AND ISNULL(PorcentajeRetISR,0) = {2} AND ISNULL(PorcentajeIEPS,0) = {3} AND ISNULL(CveSubProyecto,0) = {4} ", Dr("PorcentajeIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("CveSubProyecto")) FiltroStr = String.Format("ISNULL(PorcentajeIVA,0) = {0} AND ISNULL(PorcentajeRetIVA,0) = {1} AND ISNULL(PorcentajeRetISR,0) = {2} AND ISNULL(PorcentajeIEPS,0) = {3} AND ISNULL(CveSubProyecto,0) = {4} ", Dr("PorcentajeIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("CveSubProyecto"))
importePuTemp = (Porcentaje * (TmpDT.SUM("TotalImporte", FiltroStr).ToDecimal() - TmpDT.SUM("Descuento", FiltroStr).ToDecimal())) Dim importePuTemp As Decimal = (Porcentaje * (TmpDT.SUMD("Total", FiltroStr) - TmpDT.SUMD("Descuento", FiltroStr)))
If Not AplicaImpuestosLocales Then If Not AplicaImpuestosLocales Then
importePuTemp = importePuTemp - TotalImpuestosLocalesVentaOriginal importePuTemp = importePuTemp - TotalImpuestosLocalesVentaOriginal
End If End If
Dr("ImporteTotal") = importePuTemp.RoundSQL(2) Dr("ImporteTotal") = importePuTemp.RoundSQL(2)
Dr("ImporteIEPS") = (importePuTemp * Dr("PorcentajeIEPS").ToString().ToDecimal()).RoundSQL(2) Dr("ImporteIEPS") = (importePuTemp * Dr("PorcentajeIEPS").ToString().ToDecimal())
'A PARTIR DEL 2020 SE CAMBIO EL CALCULO PARA EL IVA CONSIDERANDO EL IEPS 'A PARTIR DEL 2020 SE CAMBIO EL CALCULO PARA EL IVA CONSIDERANDO EL IEPS
If FechaFactura.Year <= 2019 Then If FechaFactura.Year <= 2019 Then
Dr("ImporteIVA") = (importePuTemp * Dr("PorcentajeIVA").ToString().ToDecimal()).RoundSQL(2) Dr("ImporteIVA") = (importePuTemp * Dr("PorcentajeIVA").ToString().ToDecimal())
Else Else
Dim TotalCalculableImpuestosIVA As Decimal = importePuTemp * (1 + Dr("PorcentajeIEPS").ToString().ToDecimal) Dim TotalCalculableImpuestosIVA As Decimal = importePuTemp * (1 + Dr("PorcentajeIEPS").ToString().ToDecimal)
Dr("ImporteIVA") = ((TotalCalculableImpuestosIVA) * Dr("PorcentajeIVA").ToString().ToDecimal) Dr("ImporteIVA") = ((TotalCalculableImpuestosIVA) * Dr("PorcentajeIVA").ToString().ToDecimal)
End If End If
Dr("ImporteRetIVA") = (importePuTemp * Dr("PorcentajeRetIVA").ToString().ToDecimal()).RoundSQL(2) Dr("ImporteRetIVA") = (importePuTemp * Dr("PorcentajeRetIVA").ToString().ToDecimal())
Dr("ImporteRetISR") = (importePuTemp * Dr("PorcentajeRetISR").ToString().ToDecimal()).RoundSQL(2) Dr("ImporteRetISR") = (importePuTemp * Dr("PorcentajeRetISR").ToString().ToDecimal())
Dr("ImportePU") = importePuTemp
If AplicaRedondeo Then
Dr("ImporteIEPS") = Dr("ImporteIEPS").ToString().ToDecimal().RoundSQL(2)
Dr("ImporteIVA") = Dr("ImporteIVA").ToString().ToDecimal().RoundSQL(2)
Dr("ImporteRetIVA") = Dr("ImporteRetIVA").ToString().ToDecimal().RoundSQL(2)
Dr("ImporteRetISR") = Dr("ImporteRetISR").ToString().ToDecimal().RoundSQL(2)
Dr("ImportePU") = Dr("ImportePU").ToString().ToDecimal().RoundSQL(6)
End If
'Dr("ImporteIVA") = (Porcentaje * TmpDT.SUM("ImporteIVA", FiltroStr)).RoundSQL(2)
'Dr("ImporteRetIVA") = Math.Round(Porcentaje * TmpDT.SUM("ImporteRetIVA", FiltroStr), 2)
'Dr("ImporteRetISR") = Math.Round(Porcentaje * TmpDT.SUM("ImporteRetISR", FiltroStr), 2)
'Dr("ImporteIEPS") = Math.Round(Porcentaje * TmpDT.SUM("ImporteIEPS", FiltroStr), 2)
Dr("ImportePU") = importePuTemp.RoundSQL(6) 'Dr("ImporteTotal").ToString().ToDecimal.RoundSQL(2) '(Dr("ImporteTotal").ToString().ToDecimal - Dr("ImporteIVA").ToString().ToDecimal - Dr("ImporteRetIVA").ToString().ToDecimal - Dr("ImporteRetISR").ToString().ToDecimal - Dr("ImporteIEPS").ToString().ToDecimal)
Next Next
Dim importeNC = (DtImpuestosLocal.SUMD("ImporteTotal") + DtImpuestosLocal.SUMD("ImporteIVA") + DtImpuestosLocal.SUMD("ImporteIEPS") - DtImpuestosLocal.SUMD("ImporteRetIVA") - DtImpuestosLocal.SUMD("ImporteRetISR")) Dim importeNC = (DtImpuestosLocal.SUMD("ImporteTotal") + DtImpuestosLocal.SUMD("ImporteIVA") + DtImpuestosLocal.SUMD("ImporteIEPS") - DtImpuestosLocal.SUMD("ImporteRetIVA") - DtImpuestosLocal.SUMD("ImporteRetISR"))
@@ -26877,14 +26914,15 @@ ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDec
Importe = Importe + TotalImpuestosLocalesRecalculado Importe = Importe + TotalImpuestosLocalesRecalculado
End If End If
'codigo para ajuste de centavo, si el importe total no cuadra con los totales If AplicaRedondeo Then
Dim difTmp As Decimal = Importe - importeNC 'ASUSTO LA DIFERENCIA EN EL ÚLTIMO CONCEPTO
'CODIGO PARA AJUSTE DE CENTAVO, SI EL IMPORTE TOTAL NO CUADRA CON LOS TOTALES
If Math.Abs(difTmp) > 0.00D Then Dim difTmp As Decimal = Importe - importeNC
'asusto la diferencia en el último concepto If Math.Abs(difTmp) > 0.00D Then
Dim ImporteAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal").ToString().ToDecimal + difTmp 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)("ImporteTotal") = ImporteAjustado
DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImportePU") = ImporteAjustado DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImportePU") = ImporteAjustado
End If
End If End If
If Not NCDescuento Then If Not NCDescuento Then
@@ -30455,7 +30493,7 @@ ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDec
TxtImportesRemisionesNC.Text = TotalRemNCAplicado.FormatoNumero TxtImportesRemisionesNC.Text = TotalRemNCAplicado.FormatoNumero
TxtNCImporte.Text = TotalRemNCAplicado.FormatoNumero 'TxtNCImporte.Text = TotalRemNCAplicado.FormatoNumero
UpModalRemisionesNC.Update() UpModalRemisionesNC.Update()
UpAplicarNC.Update() UpAplicarNC.Update()