Amortizacion con NC,agregar bandera de EsAmortizacion
This commit is contained in:
@@ -317,7 +317,7 @@ Public Class ClsVentas
|
|||||||
Optional ObservacionesAlmacen As String = "", Optional CveSubProyecto As Integer = -1, Optional CveSubProyectoEjecucion As Integer = -1, Optional CveSubProyectoCobranza As Integer = -1,
|
Optional ObservacionesAlmacen As String = "", Optional CveSubProyecto As Integer = -1, Optional CveSubProyectoEjecucion As Integer = -1, Optional CveSubProyectoCobranza As Integer = -1,
|
||||||
Optional CveFormaPago33 As Integer = -1, Optional CveMetodoPago33 As Integer = -1, Optional CveUsoCFDI As Integer = -1, Optional OrdenCompra As String = "-1", Optional CveCuentaTerminal As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ImpuestoLocal As Double = 0,
|
Optional CveFormaPago33 As Integer = -1, Optional CveMetodoPago33 As Integer = -1, Optional CveUsoCFDI As Integer = -1, Optional OrdenCompra As String = "-1", Optional CveCuentaTerminal As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ImpuestoLocal As Double = 0,
|
||||||
Optional CveTipoAmortizacionAnticipo As Integer = -1, Optional CveVentaRelacion As Integer = -1, Optional ImporteRelacion As Decimal = -1, Optional CveEmpresaCRM As Integer = -1, Optional EsInterno As Integer = -1, Optional CveAcercamientoCRM As Integer = -1,
|
Optional CveTipoAmortizacionAnticipo As Integer = -1, Optional CveVentaRelacion As Integer = -1, Optional ImporteRelacion As Decimal = -1, Optional CveEmpresaCRM As Integer = -1, Optional EsInterno As Integer = -1, Optional CveAcercamientoCRM As Integer = -1,
|
||||||
Optional DiasCredito As Integer = 0, Optional EsDiasCreditoFijo As Boolean = False, Optional AnticipoEspecial As Boolean = False, Optional Kilometraje As Double = 0) As Boolean
|
Optional DiasCredito As Integer = 0, Optional EsDiasCreditoFijo As Boolean = False, Optional AnticipoEspecial As Boolean = False, Optional Kilometraje As Double = 0, Optional EsAmortizacion As Boolean = False) As Boolean
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
DataAdapter("PA_VentasAdd")
|
DataAdapter("PA_VentasAdd")
|
||||||
@@ -404,6 +404,7 @@ Public Class ClsVentas
|
|||||||
.Add("@EsDiasCreditoFijo", SqlDbType.Bit).Value = EsDiasCreditoFijo
|
.Add("@EsDiasCreditoFijo", SqlDbType.Bit).Value = EsDiasCreditoFijo
|
||||||
.Add("@AnticipoEspecial", SqlDbType.Bit).Value = AnticipoEspecial
|
.Add("@AnticipoEspecial", SqlDbType.Bit).Value = AnticipoEspecial
|
||||||
.Add("@Kilometraje", SqlDbType.Float).Value = Kilometraje
|
.Add("@Kilometraje", SqlDbType.Float).Value = Kilometraje
|
||||||
|
.Add("@EsAmortizacion", SqlDbType.Bit).Value = EsAmortizacion
|
||||||
|
|
||||||
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
|
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
|
||||||
End With
|
End With
|
||||||
|
|||||||
@@ -3541,7 +3541,7 @@
|
|||||||
<div style="max-height: 300px; overflow-y: auto;">
|
<div style="max-height: 300px; overflow-y: auto;">
|
||||||
<asp:GridView ID="GVAnticipos" runat="server" AutoGenerateColumns="False" ClientIDMode="Static" EmptyDataText="No se encontraron Anticipos del Cliente"
|
<asp:GridView ID="GVAnticipos" runat="server" AutoGenerateColumns="False" ClientIDMode="Static" EmptyDataText="No se encontraron Anticipos del Cliente"
|
||||||
ToolTip="Listado de Anticipos" CssClass="GVAnticipos table table-striped table-hover Widthall" data-height="300" Style="text-align: center;" GridLines="None"
|
ToolTip="Listado de Anticipos" CssClass="GVAnticipos table table-striped table-hover Widthall" data-height="300" Style="text-align: center;" GridLines="None"
|
||||||
DataKeyNames="ISTotal,Saldo,CveIE,Folio,Tipo,CveVenta,CveConceptoContable,CveConceptoContableAmor, TotalAnticipo, SubTotalAnticipo, IVAAnticipo, ImpuestosLocalesAnticipo, SubTotalAmortizacion, SubTotal, Original, IVA, RetIVA, RetISR, IdCtaContableNC,FolioFiscal, CveClasificacionNC, IdCtaContableNCSIG, TipoCambio, CveMoneda,Fecha,SaldoSubTotal">
|
DataKeyNames="ISTotal,Saldo,CveIE,Folio,Tipo,CveVenta,CveConceptoContable,CveConceptoContableAmor, TotalAnticipo, SubTotalAnticipo, IVAAnticipo, ImpuestosLocalesAnticipo, SubTotalAmortizacion, SubTotal, Original, IVA, RetIVA, RetISR, IdCtaContableNC,FolioFiscal, CveClasificacionNC, IdCtaContableNCSIG, TipoCambio,TipoCambioPago, CveMoneda,Fecha,SaldoSubTotal">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
|
|||||||
@@ -9298,7 +9298,7 @@ Partial Class Ventas
|
|||||||
CveVentaRelacion:=(If(factura.CveVentaRelacion.ToEntero > 0, factura.CveVentaRelacion, -1)), ImporteRelacion:=(If(factura.ImporteRelacion <> Nothing, factura.ImporteRelacion, -1)),
|
CveVentaRelacion:=(If(factura.CveVentaRelacion.ToEntero > 0, factura.CveVentaRelacion, -1)), ImporteRelacion:=(If(factura.ImporteRelacion <> Nothing, factura.ImporteRelacion, -1)),
|
||||||
CveTipoAmortizacionAnticipo:=factura.CveTipoAmortizacionAnticipo, CveEmpresaCRM:=CveEmpresaCRM, EsInterno:=EsInterno, CveAcercamientoCRM:=CveAcercamientoCRM,
|
CveTipoAmortizacionAnticipo:=factura.CveTipoAmortizacionAnticipo, CveEmpresaCRM:=CveEmpresaCRM, EsInterno:=EsInterno, CveAcercamientoCRM:=CveAcercamientoCRM,
|
||||||
DiasCredito:=factura.DiasCredito, EsDiasCreditoFijo:=factura.EsDiasCreditoFijo, AnticipoEspecial:=If(TrAntEspecial.Visible, ChkAntEspecial.Checked, False),
|
DiasCredito:=factura.DiasCredito, EsDiasCreditoFijo:=factura.EsDiasCreditoFijo, AnticipoEspecial:=If(TrAntEspecial.Visible, ChkAntEspecial.Checked, False),
|
||||||
Kilometraje:=TxtKilometraje.Text.ToDouble) Then
|
Kilometraje:=TxtKilometraje.Text.ToDouble, EsAmortizacion:=EsNCAmortizacion) Then
|
||||||
ErrorList.Add("Ocurrió un error al Generar la Venta.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
ErrorList.Add("Ocurrió un error al Generar la Venta.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
|
||||||
Else
|
Else
|
||||||
If factura.TipoDocto.Contiene("Dev") Or DtVentasNC IsNot Nothing Then
|
If factura.TipoDocto.Contiene("Dev") Or DtVentasNC IsNot Nothing Then
|
||||||
@@ -11808,122 +11808,160 @@ Partial Class Ventas
|
|||||||
'If FechaMaxima < "01/01/2018".ToDate And UsuarioActual.CveEmpresa = 119 Then
|
'If FechaMaxima < "01/01/2018".ToDate And UsuarioActual.CveEmpresa = 119 Then
|
||||||
' FechaMaxima = "01/01/2018".ToDate
|
' FechaMaxima = "01/01/2018".ToDate
|
||||||
'End If
|
'End If
|
||||||
|
'Dim Now As DateTime = New DateTime(2020, 2, 19)
|
||||||
|
Try
|
||||||
|
CvePrepoliza = ObjConta.AddPrePolizas("Ventas/Anticipos", CvePlantillaPoliza, TxtTotal.Text.ToDecimal, TxtTotal.Text.ToDecimal, DdlMoneda.SelectedValue.ToEntero, TxtFechaAnticipoCliente.Text.ToDate, String.Format("{0} {1} {2}-{3}", If(EsAnticipo2017Jam, "Aplicación Anticipo 2017", ""), NombreCliente, Serie, TxtFolio.Text), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
|
|
||||||
|
If CvePrepoliza > 0 Then
|
||||||
|
Dim tipoCambioPago As Decimal = 1
|
||||||
|
Dim tipoCambioVenta As Decimal = 1
|
||||||
|
Dim tipoCambioVentaValuacion As Decimal = 1
|
||||||
|
Dim PorcentajePago As Decimal = 100
|
||||||
|
Dim dtConceptos As DataTable = Nothing
|
||||||
|
Dim CveMonedaVenta = DdlMoneda.SelectedValue.ToEntero
|
||||||
|
If ObjConta.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
|
||||||
|
dtConceptos = ObjConta.DtResultados
|
||||||
|
End If
|
||||||
|
Dim PorcentajeImpuestoAmortizacion As Decimal = TmpDT.MAX("PorcentajeIVA").ToDecimal
|
||||||
|
Dim IdCtaIVAXTrasladar As Integer = 0
|
||||||
|
Dim IdCtaIVATrasladado As Integer = 0
|
||||||
|
Dim CveCuentaIVAXTrasladar As Integer = 0
|
||||||
|
Dim CveCuentaIVATrasladado As Integer = 0
|
||||||
|
|
||||||
|
Dim Importe91 As Decimal = 0
|
||||||
|
|
||||||
|
If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("PorcentajeIVA").ToDouble).Rows.Count > 0 Then
|
||||||
|
Dim Dr As DataRow = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("PorcentajeIVA").ToDouble).FiltroPrimero("")
|
||||||
|
IdCtaIVAXTrasladar = Dr("IdCtaIVAXTrasladar").ToString.ToEntero
|
||||||
|
IdCtaIVATrasladado = Dr("IdCtaIVATrasladado").ToString.ToEntero
|
||||||
|
CveCuentaIVAXTrasladar = Dr("CveCuentaIVAXTrasladar").ToString.ToEntero
|
||||||
|
CveCuentaIVATrasladado = Dr("CveCuentaIVATrasladado").ToString.ToEntero
|
||||||
|
End If
|
||||||
|
|
||||||
|
For Each gvr As GridViewRow In GVAnticipos.Rows
|
||||||
|
If gvr.FCCheckBox("Chk" & gvr.RowIndex).Checked Then
|
||||||
|
|
||||||
|
|
||||||
|
Dim FechaUltimaFluctuacion As Date = MinFecha
|
||||||
|
Dim TipoCambioFluctuacion As Decimal = 1
|
||||||
|
If ObjIE.GetFluctuacionesBitacora(UsuarioActual.CveEmpresa) Then
|
||||||
|
If ObjIE.DtResultados.Rows.Count > 0 Then
|
||||||
|
Dim tFecha As Date = Now 'gvr.DataKey("Fecha").ToDate
|
||||||
|
Dim Fecha As String = String.Format("{0}/{1}/{2}", tFecha.Year, tFecha.Month, tFecha.Day)
|
||||||
|
Dim drr As DataRow = ObjIE.DtResultados.FiltroPrimero("Fecha < #" & Fecha & "#", "Fecha DESC")
|
||||||
|
|
||||||
|
If drr IsNot Nothing Then
|
||||||
|
FechaUltimaFluctuacion = drr("Fecha").ToString.ToDate
|
||||||
|
TipoCambioFluctuacion = drr("TipoCambio").ToString.ToDecimal
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
CvePrepoliza = ObjConta.AddPrePolizas("Ventas/Anticipos", CvePlantillaPoliza, TxtTotal.Text.ToDecimal, TxtTotal.Text.ToDecimal, DdlMoneda.SelectedValue.ToEntero, TxtFechaAnticipoCliente.Text.ToDate, String.Format("{0} {1} {2}-{3}", If(EsAnticipo2017Jam, "Aplicación Anticipo 2017", ""), NombreCliente, Serie, TxtFolio.Text), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
||||||
|
|
||||||
If CvePrepoliza > 0 Then
|
|
||||||
Dim tipoCambioPago As Decimal = 1
|
|
||||||
Dim tipoCambioVenta As Decimal = 1
|
|
||||||
Dim tipoCambioVentaValuacion As Decimal = 1
|
|
||||||
Dim PorcentajePago As Decimal = 100
|
|
||||||
Dim dtConceptos As DataTable = Nothing
|
|
||||||
Dim CveMonedaVenta = DdlMoneda.SelectedValue.ToEntero
|
|
||||||
If ObjConta.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
|
|
||||||
dtConceptos = ObjConta.DtResultados
|
|
||||||
End If
|
|
||||||
Dim PorcentajeImpuestoAmortizacion As Decimal = TmpDT.MAX("PorcentajeIVA").ToDecimal
|
|
||||||
Dim IdCtaIVAXTrasladar As Integer = 0
|
|
||||||
Dim IdCtaIVATrasladado As Integer = 0
|
|
||||||
Dim CveCuentaIVAXTrasladar As Integer = 0
|
|
||||||
Dim CveCuentaIVATrasladado As Integer = 0
|
|
||||||
|
|
||||||
If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("PorcentajeIVA").ToDouble).Rows.Count > 0 Then
|
|
||||||
Dim Dr As DataRow = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=TmpDT.MAX("PorcentajeIVA").ToDouble).FiltroPrimero("")
|
|
||||||
IdCtaIVAXTrasladar = Dr("IdCtaIVAXTrasladar").ToString.ToEntero
|
|
||||||
IdCtaIVATrasladado = Dr("IdCtaIVATrasladado").ToString.ToEntero
|
|
||||||
CveCuentaIVAXTrasladar = Dr("CveCuentaIVAXTrasladar").ToString.ToEntero
|
|
||||||
CveCuentaIVATrasladado = Dr("CveCuentaIVATrasladado").ToString.ToEntero
|
|
||||||
End If
|
|
||||||
|
|
||||||
For Each gvr As GridViewRow In GVAnticipos.Rows
|
|
||||||
If gvr.FCCheckBox("Chk" & gvr.RowIndex).Checked Then
|
|
||||||
|
|
||||||
|
|
||||||
Dim FechaUltimaFluctuacion As Date = MinFecha
|
|
||||||
Dim TipoCambioFluctuacion As Decimal = 1
|
|
||||||
If ObjIE.GetFluctuacionesBitacora(UsuarioActual.CveEmpresa) Then
|
|
||||||
If ObjIE.DtResultados.Rows.Count > 0 Then
|
|
||||||
Dim tFecha As Date = gvr.DataKey("Fecha").ToDate
|
|
||||||
Dim Fecha As String = String.Format("{0}/{1}/{2}", tFecha.Year, tFecha.Month, tFecha.Day)
|
|
||||||
Dim drr As DataRow = ObjIE.DtResultados.FiltroPrimero("Fecha < #" & Fecha & "#", "Fecha DESC")
|
|
||||||
|
|
||||||
If drr IsNot Nothing Then
|
|
||||||
FechaUltimaFluctuacion = drr("Fecha").ToString.ToDate
|
|
||||||
TipoCambioFluctuacion = drr("TipoCambio").ToString.ToDecimal
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If DdlMoneda.SelectedValue.ToEntero = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'Si la venta viene en Pesos y se va a pagar en Pesos
|
If DdlMoneda.SelectedValue.ToEntero = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'SI LA VENTA VIENE EN PESOS Y SE VA A PAGAR EN PESOS
|
||||||
tipoCambioPago = 1
|
tipoCambioPago = 1
|
||||||
tipoCambioVenta = 1
|
tipoCambioVenta = 1
|
||||||
tipoCambioVentaValuacion = 1
|
tipoCambioVentaValuacion = 1
|
||||||
PorcentajePago = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("Original").ToDecimal
|
PorcentajePago = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("Original").ToDecimal
|
||||||
ElseIf DdlMoneda.SelectedValue.ToEntero = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'Si la venta viene en Dolares y se va a pagar en Pesos
|
ElseIf DdlMoneda.SelectedValue.ToEntero = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'SI LA VENTA VIENE EN DOLARES Y SE VA A PAGAR EN PESOS
|
||||||
tipoCambioPago = gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
tipoCambioPago = gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
||||||
tipoCambioVenta = TxtTipoCambio.Text.ToDecimal
|
tipoCambioVenta = TxtTipoCambio.Text.ToDecimal
|
||||||
tipoCambioVentaValuacion = If(TxtFecha.Text.ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, TxtTipoCambio.Text.ToDecimal)
|
tipoCambioVentaValuacion = If(TxtFecha.Text.ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, TxtTipoCambio.Text.ToDecimal)
|
||||||
PorcentajePago = (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal) / gvr.DataKey("Original").ToDecimal
|
PorcentajePago = (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal) / gvr.DataKey("Original").ToDecimal
|
||||||
ElseIf DdlMoneda.SelectedValue.ToEntero = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES
|
ElseIf DdlMoneda.SelectedValue.ToEntero = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then 'SI LA VENTA VIENE EN DOLARES Y SE VA A PAGAR EN DOLARES
|
||||||
tipoCambioPago = gvr.DataKey("TipoCambio").ToString.ToDecimal
|
tipoCambioPago = gvr.DataKey("TipoCambio").ToString.ToDecimal
|
||||||
tipoCambioVenta = TxtTipoCambio.Text.ToDecimal
|
tipoCambioVenta = TxtTipoCambio.Text.ToDecimal
|
||||||
tipoCambioVentaValuacion = If(TxtFecha.Text.ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, TxtTipoCambio.Text.ToDecimal)
|
tipoCambioVentaValuacion = If(TxtFecha.Text.ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, TxtTipoCambio.Text.ToDecimal)
|
||||||
PorcentajePago = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("Original").ToDecimal
|
PorcentajePago = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("Original").ToDecimal
|
||||||
ElseIf DdlMoneda.SelectedValue.ToEntero = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
|
ElseIf DdlMoneda.SelectedValue.ToEntero = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then 'SI LA VENTA VIENE EN PESOS Y SE VA A PAGAR EN DOLARES
|
||||||
tipoCambioPago = gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
tipoCambioPago = gvr.DataKey("TipoCambio").ToDecimal() ' gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
||||||
tipoCambioVenta = 1
|
tipoCambioVenta = 1
|
||||||
tipoCambioVentaValuacion = 1
|
tipoCambioVentaValuacion = If(TxtFecha.Text.ToDate < FechaUltimaFluctuacion, TipoCambioFluctuacion, TxtTipoCambio.Text.ToDecimal)
|
||||||
PorcentajePago = (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal) / gvr.DataKey("Original").ToDecimal
|
PorcentajePago = (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal) / gvr.DataKey("Original").ToDecimal
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If dtConceptos IsNot Nothing Then
|
If dtConceptos IsNot Nothing Then
|
||||||
For Each Row As DataRow In dtConceptos.Rows
|
For Each Row As DataRow In dtConceptos.Rows
|
||||||
|
|
||||||
Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero
|
Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero
|
||||||
Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False)
|
Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False)
|
||||||
Dim importeMovimiento As Decimal = 0
|
Dim importeMovimiento As Decimal = 0
|
||||||
Dim importeMX As Decimal = 0
|
Dim importeMX As Decimal = 0
|
||||||
Dim IdCtaContable As Integer = 0
|
Dim IdCtaContable As Integer = 0
|
||||||
Dim CveCuenta As Integer = 0
|
Dim CveCuenta As Integer = 0
|
||||||
Dim FechaMovimiento As Date = Now
|
Dim FechaMovimiento As Date = Now
|
||||||
Dim Concepto As String = ViewState("VentaFolio").ToString
|
Dim Concepto As String = ViewState("VentaFolio").ToString
|
||||||
Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
|
Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
|
||||||
Dim TipoCambioGeneral As Decimal = 1
|
Dim TipoCambioGeneral As Decimal = 1
|
||||||
Dim PorcentajeImpuesto As Decimal = 0
|
Dim PorcentajeImpuesto As Decimal = 0
|
||||||
|
|
||||||
Select Case ConceptoContable
|
Select Case ConceptoContable
|
||||||
Case 2 'Cliente
|
Case 2 'Cliente
|
||||||
'If CveMonedaVenta > 1 Then ConceptoContable = 292
|
'If CveMonedaVenta > 1 Then ConceptoContable = 292
|
||||||
If Not (gvr.DataKey("CveIE").ToString.ToEntero > 0 AndAlso gvr.DataKey("CveConceptoContable").ToString().ToEntero = 66) Then
|
If Not (gvr.DataKey("CveIE").ToString.ToEntero > 0 AndAlso gvr.DataKey("CveConceptoContable").ToString().ToEntero = 66) Then
|
||||||
If DdlMoneda.SelectedValue.ToEntero = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
|
If DdlMoneda.SelectedValue.ToEntero = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
||||||
importeMX = importeMovimiento
|
importeMX = importeMovimiento
|
||||||
ElseIf DdlMoneda.SelectedValue.ToEntero = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
|
ElseIf DdlMoneda.SelectedValue.ToEntero = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
||||||
importeMX = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * tipoCambioVentaValuacion
|
importeMX = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * tipoCambioVentaValuacion
|
||||||
ElseIf DdlMoneda.SelectedValue.ToEntero = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
ElseIf DdlMoneda.SelectedValue.ToEntero = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
||||||
importeMX = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * tipoCambioVentaValuacion
|
importeMX = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * tipoCambioVentaValuacion
|
||||||
ElseIf DdlMoneda.SelectedValue.ToEntero = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
ElseIf DdlMoneda.SelectedValue.ToEntero = 1 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
||||||
importeMX = importeMovimiento
|
importeMX = importeMovimiento
|
||||||
|
End If
|
||||||
|
importeMovimiento = Math.Round(importeMovimiento, 2)
|
||||||
|
importeMX = Math.Round(importeMX, 2)
|
||||||
|
TipoCambioGeneral = tipoCambioVentaValuacion
|
||||||
|
|
||||||
|
If CveMonedaVenta = 1 Then
|
||||||
|
IdCtaContable = IdCtaContClientes
|
||||||
|
CveCuenta = CveCuentaClientes
|
||||||
|
Else
|
||||||
|
IdCtaContable = IdCtaContComplementaria
|
||||||
|
CveCuenta = 0 'If(ObjFactura.Cliente IsNot Nothing AndAlso ObjFactura.Cliente.CveCuentaComplementaria > 0, ObjFactura.Cliente.CveCuentaComplementaria, -1)
|
||||||
|
If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsaComplementariaClientes) Then
|
||||||
|
'Conta ContPAQ
|
||||||
|
If IdCtaContable <= 0 Then
|
||||||
|
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||||
|
idCuentaContabilizacion = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
'Conta SIG
|
||||||
|
If CveCuenta <= 0 Then
|
||||||
|
CuentasContablesInvalidasSIG.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||||
|
CveCuentaContabilizacion = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, 0, Concepto, 207, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Math.Round(importeMovimiento * tipoCambioVenta - importeMovimiento, 2, MidpointRounding.AwayFromZero), ImporteME:=importeMovimiento, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioVentaValuacion) Then
|
||||||
|
ErrorConta = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
importeMX = importeMovimiento
|
||||||
|
IdCtaContable = IdCtaContMonedaExtranjera
|
||||||
|
CveCuenta = 0
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
ConceptoContable = 251 ' cambia para dejar el concepto 2, solamente para pago en banco
|
||||||
End If
|
End If
|
||||||
importeMovimiento = Math.Round(importeMovimiento, 2)
|
Case 11 'Anticipo
|
||||||
importeMX = Math.Round(importeMX, 2)
|
If gvr.DataKey("CveConceptoContable").ToString().ToEntero = 3 Then
|
||||||
TipoCambioGeneral = tipoCambioVentaValuacion
|
CveIEAnticipo = gvr.DataKey("CveIE").ToString.ToEntero
|
||||||
|
|
||||||
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo").ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)
|
||||||
|
'Mantenemos la integridad de la suma para el pagocliente
|
||||||
|
'SumaAnticipos += row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal
|
||||||
|
'sumaAmorticaciones += row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal
|
||||||
|
TipoCambioGeneral = tipoCambioPago
|
||||||
|
IdCtaContable = IdCtaContAnticipos
|
||||||
|
CveCuenta = CveCuentaAnticipos
|
||||||
|
|
||||||
|
If importeMovimiento <> 0 Then
|
||||||
|
|
||||||
If CveMonedaVenta = 1 Then
|
|
||||||
IdCtaContable = IdCtaContClientes
|
|
||||||
CveCuenta = CveCuentaClientes
|
|
||||||
Else
|
|
||||||
IdCtaContable = IdCtaContComplementaria
|
|
||||||
CveCuenta = 0 'If(ObjFactura.Cliente IsNot Nothing AndAlso ObjFactura.Cliente.CveCuentaComplementaria > 0, ObjFactura.Cliente.CveCuentaComplementaria, -1)
|
|
||||||
If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsaComplementariaClientes) Then
|
|
||||||
'Conta ContPAQ
|
'Conta ContPAQ
|
||||||
If IdCtaContable <= 0 Then
|
If IdCtaContable <= 0 Then
|
||||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||||
@@ -11936,320 +11974,320 @@ Partial Class Ventas
|
|||||||
CveCuentaContabilizacion = 0
|
CveCuentaContabilizacion = 0
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, 0, Concepto, 207, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=Math.Round(importeMovimiento * tipoCambioVenta - importeMovimiento, 2, MidpointRounding.AwayFromZero), ImporteME:=importeMovimiento, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioVentaValuacion) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveVentaAmortizacion:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambioPago, ImporteME:=If(tipoCambioPago = 1, 0, importeMovimiento), CveCuenta:=CveCuenta) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
importeMX = importeMovimiento
|
|
||||||
IdCtaContable = IdCtaContMonedaExtranjera
|
|
||||||
CveCuenta = 0
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
' PorcentajeAmortizacion = SumaAnticipos / TxtTotal.Text.ToDecimal
|
||||||
ConceptoContable = 251 ' cambia para dejar el concepto 2, solamente para pago en banco
|
'Los Anticipos solo ocupan los ivas por trasladar
|
||||||
End If
|
If PorcentajePago > 0 Then
|
||||||
Case 11 'Anticipo
|
Dim Importe13 = gvr.DataKey("IVA").ToDecimal
|
||||||
If gvr.DataKey("CveConceptoContable").ToString().ToEntero = 3 Then
|
Dim Importe8 = gvr.DataKey("RetIVA").ToDecimal
|
||||||
CveIEAnticipo = gvr.DataKey("CveIE").ToString.ToEntero
|
Dim Importe9 = gvr.DataKey("RetISR").ToDecimal
|
||||||
|
If Not AgregarPrePolizasXTrasladar(ObjConta, CvePrepoliza, PorcentajePago, tipoCambioPago, CuentasContablesInvalidas, idCuentaContabilizacion, CuentasContablesInvalidasSIG, CveCuentaContabilizacion, Importe13, Importe8, Importe9) Then
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo").ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)
|
|
||||||
'Mantenemos la integridad de la suma para el pagocliente
|
|
||||||
'SumaAnticipos += row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal
|
|
||||||
'sumaAmorticaciones += row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal
|
|
||||||
TipoCambioGeneral = tipoCambioPago
|
|
||||||
IdCtaContable = IdCtaContAnticipos
|
|
||||||
CveCuenta = CveCuentaAnticipos
|
|
||||||
|
|
||||||
If importeMovimiento <> 0 Then
|
|
||||||
|
|
||||||
'Conta ContPAQ
|
|
||||||
If IdCtaContable <= 0 Then
|
|
||||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
|
||||||
idCuentaContabilizacion = 0
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Conta SIG
|
|
||||||
If CveCuenta <= 0 Then
|
|
||||||
CuentasContablesInvalidasSIG.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
|
||||||
CveCuentaContabilizacion = 0
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveVentaAmortizacion:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambioPago, ImporteME:=If(tipoCambioPago = 1, 0, importeMovimiento), CveCuenta:=CveCuenta) Then
|
|
||||||
ErrorConta = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
' PorcentajeAmortizacion = SumaAnticipos / TxtTotal.Text.ToDecimal
|
|
||||||
'Los Anticipos solo ocupan los ivas por trasladar
|
|
||||||
If PorcentajePago > 0 Then
|
|
||||||
Dim Importe13 = gvr.DataKey("IVA").ToDecimal
|
|
||||||
Dim Importe8 = gvr.DataKey("RetIVA").ToDecimal
|
|
||||||
Dim Importe9 = gvr.DataKey("RetISR").ToDecimal
|
|
||||||
If Not AgregarPrePolizasXTrasladar(ObjConta, CvePrepoliza, PorcentajePago, tipoCambioPago, CuentasContablesInvalidas, idCuentaContabilizacion, CuentasContablesInvalidasSIG, CveCuentaContabilizacion, Importe13, Importe8, Importe9) Then
|
|
||||||
ErrorConta = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
importeMovimiento = 0
|
|
||||||
Case 91 'Amortizacion Nota de Credito
|
|
||||||
If gvr.DataKey("CveConceptoContable").ToString().ToEntero = 12 Then
|
|
||||||
If CveMonedaVenta = 1 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 1 Then
|
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
|
||||||
importeMX = importeMovimiento
|
|
||||||
ElseIf CveMonedaVenta = 2 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 2 Then
|
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
|
||||||
importeMX = importeMovimiento * gvr.DataKey("TipoCambio").ToString.ToDecimal
|
|
||||||
ElseIf CveMonedaVenta = 1 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 2 Then
|
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
|
||||||
importeMX = importeMovimiento * gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
|
||||||
ElseIf CveMonedaVenta = 2 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 1 Then
|
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
|
||||||
importeMX = importeMovimiento
|
|
||||||
End If
|
|
||||||
importeMovimiento = Math.Round(importeMovimiento, 2)
|
|
||||||
importeMX = Math.Round(importeMX, 2)
|
|
||||||
|
|
||||||
If ObjConta.GetRetCuenta(ConceptoContable, CveCliente) Then
|
|
||||||
If ObjConta.DtResultados.Rows.Count > 0 Then
|
|
||||||
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero
|
|
||||||
CveCuenta = ObjConta.DtResultados.Rows(0)("IdCtaContableSIG").ToString.ToEntero
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If importeMovimiento <> 0 Then
|
|
||||||
'Conta ContPAQ
|
|
||||||
If IdCtaContable <= 0 Then
|
|
||||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
|
||||||
idCuentaContabilizacion = 0
|
|
||||||
End If
|
|
||||||
|
|
||||||
If CveCuenta <= 0 Then
|
|
||||||
CuentasContablesInvalidasSIG.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
|
||||||
CveCuentaContabilizacion = 0
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim ImporteComplementaria As Decimal = 0
|
|
||||||
If UsaComplementariaClientes = True AndAlso gvr.DataKey("CveMoneda").ToString.ToDecimal > 1 Then
|
|
||||||
IdCtaContable = IdCtaContComplementaria
|
|
||||||
CveCuenta = 0
|
|
||||||
importeMX = importeMovimiento
|
|
||||||
ImporteComplementaria = ((importeMovimiento * gvr.DataKey("TipoCambio").ToString.ToDecimal) - importeMovimiento).RoundSQL
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, False, importeMovimiento, Concepto, 203, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=gvr.DataKey("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, ImporteMX:=ImporteComplementaria, ImporteME:=If(gvr.DataKey("TipoCambio").ToString.ToDecimal = 1, 0, importeMovimiento), TipoCambio:=gvr.DataKey("TipoCambio").ToString.ToDecimal) Then
|
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
Exit For
|
|
||||||
End If
|
End If
|
||||||
IdCtaContable = IdCtaContMonedaExtranjera
|
End If
|
||||||
CveCuenta = 0
|
End If
|
||||||
|
importeMovimiento = 0
|
||||||
|
Case 91 'Amortizacion Nota de Credito
|
||||||
|
Dim TC As Decimal = 1
|
||||||
|
If gvr.DataKey("CveConceptoContable").ToString().ToEntero = 12 Then
|
||||||
|
If CveMonedaVenta = 1 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 1 Then
|
||||||
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
||||||
|
importeMX = importeMovimiento
|
||||||
|
TC = gvr.DataKey("TipoCambio").ToString.ToDecimal
|
||||||
|
ElseIf CveMonedaVenta = 2 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 2 Then
|
||||||
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
||||||
|
importeMX = importeMovimiento * gvr.DataKey("TipoCambio").ToString.ToDecimal
|
||||||
|
TC = gvr.DataKey("TipoCambio").ToString.ToDecimal
|
||||||
|
ElseIf CveMonedaVenta = 1 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 2 Then
|
||||||
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
||||||
|
importeMX = importeMovimiento * gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
||||||
|
TC = TipoCambioFluctuacion
|
||||||
|
ElseIf CveMonedaVenta = 2 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 1 Then
|
||||||
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * gvr.FCTextBox("TxtTC" & gvr.RowIndex).Text.ToDecimal
|
||||||
|
importeMX = importeMovimiento
|
||||||
|
TC = gvr.DataKey("TipoCambio").ToString.ToDecimal
|
||||||
|
End If
|
||||||
|
importeMovimiento = Math.Round(importeMovimiento, 2)
|
||||||
|
importeMX = Math.Round(importeMX, 2)
|
||||||
|
|
||||||
|
If ObjConta.GetRetCuenta(ConceptoContable, CveCliente) Then
|
||||||
|
If ObjConta.DtResultados.Rows.Count > 0 Then
|
||||||
|
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero
|
||||||
|
CveCuenta = ObjConta.DtResultados.Rows(0)("IdCtaContableSIG").ToString.ToEntero
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If CveMonedaVenta > 1 AndAlso IdCtaContMonedaExtranjera > 0 Then
|
If importeMovimiento <> 0 Then
|
||||||
IdCtaContable = IdCtaContMonedaExtranjera
|
'Conta ContPAQ
|
||||||
CveCuenta = 0
|
If IdCtaContable <= 0 Then
|
||||||
End If
|
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||||
|
idCuentaContabilizacion = 0
|
||||||
|
End If
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=gvr.DataKey("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=gvr.DataKey("TipoCambio").ToString.ToDecimal) Then
|
If CveCuenta <= 0 Then
|
||||||
ErrorConta = True
|
CuentasContablesInvalidasSIG.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||||
Exit For
|
CveCuentaContabilizacion = 0
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'AMORTIZA NC CONTRA ANTICIPO A CLIENTES
|
Dim ImporteComplementaria As Decimal = 0
|
||||||
If Not ErrorConta And DdlTipoComprobante.SelectedValue = "Ant" Then
|
If UsaComplementariaClientes = True AndAlso gvr.DataKey("CveMoneda").ToString.ToDecimal > 1 Then
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("Original").ToDecimal) * gvr.DataKey("IVA").ToDecimal)
|
IdCtaContable = IdCtaContComplementaria
|
||||||
If ObjConta.AddPrePolizasDetalle(CvePrepoliza, False, importeMovimiento, Concepto, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveVentaAmortizacion:=gvr.DataKey("CveVenta").ToString.ToEntero, ImporteMX:=importeMovimiento * gvr.DataKey("TipoCambio").ToString.ToDecimal, CveCuenta:=CveCuenta) Then
|
CveCuenta = 0
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, True, importeMovimiento, Concepto, 4, Concepto, FechaMovimiento, gvr.DataKey("IdCtaContableNC").ToEntero, -1, CveClasificacion:=gvr.DataKey("CveClasificacionNC").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, ImporteMX:=importeMovimiento * gvr.DataKey("TipoCambio").ToString.ToDecimal, CveCuenta:=gvr.DataKey("IdCtaContableNCSIG").ToEntero) Then
|
importeMX = importeMovimiento
|
||||||
|
ImporteComplementaria = ((importeMovimiento * TC) - importeMovimiento).RoundSQL
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, False, importeMovimiento, Concepto, 203, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=gvr.DataKey("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, ImporteMX:=ImporteComplementaria, ImporteME:=If(gvr.DataKey("TipoCambio").ToString.ToDecimal = 1, 0, importeMovimiento), TipoCambio:=TC) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Else
|
IdCtaContable = IdCtaContMonedaExtranjera
|
||||||
|
CveCuenta = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveMonedaVenta > 1 AndAlso IdCtaContMonedaExtranjera > 0 Then
|
||||||
|
IdCtaContable = IdCtaContMonedaExtranjera
|
||||||
|
CveCuenta = 0
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=gvr.DataKey("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=TC) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'AMORTIZA NC CONTRA ANTICIPO A CLIENTES
|
||||||
|
If Not ErrorConta And DdlTipoComprobante.SelectedValue = "Ant" Then
|
||||||
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("Original").ToDecimal) * gvr.DataKey("IVA").ToDecimal)
|
||||||
|
If ObjConta.AddPrePolizasDetalle(CvePrepoliza, False, importeMovimiento, Concepto, 11, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveVentaAmortizacion:=gvr.DataKey("CveVenta").ToString.ToEntero, ImporteMX:=importeMovimiento * TC, CveCuenta:=CveCuenta) Then
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, True, importeMovimiento, Concepto, 4, Concepto, FechaMovimiento, gvr.DataKey("IdCtaContableNC").ToEntero, -1, CveClasificacion:=gvr.DataKey("CveClasificacionNC").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToString.ToEntero, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, ImporteMX:=importeMovimiento * TC, CveCuenta:=gvr.DataKey("IdCtaContableNCSIG").ToEntero) Then
|
||||||
|
ErrorConta = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
ErrorConta = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
Importe91 = importeMovimiento
|
||||||
importeMovimiento = 0
|
importeMovimiento = 0
|
||||||
Case 92 'Amortizacion Ingreso X Comprobar
|
Case 92 'Amortizacion Ingreso X Comprobar
|
||||||
If gvr.DataKey("CveIE").ToString.ToEntero > 0 AndAlso gvr.DataKey("CveConceptoContable").ToString().ToEntero = 66 Then
|
If gvr.DataKey("CveIE").ToString.ToEntero > 0 AndAlso gvr.DataKey("CveConceptoContable").ToString().ToEntero = 66 Then
|
||||||
CveIEAnticipo = gvr.DataKey("CveIE").ToString.ToEntero
|
CveIEAnticipo = gvr.DataKey("CveIE").ToString.ToEntero
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal
|
||||||
IdCtaContable = IdCtaContClientes
|
IdCtaContable = IdCtaContClientes
|
||||||
CveCuenta = CveCuentaClientes
|
CveCuenta = CveCuentaClientes
|
||||||
|
|
||||||
If importeMovimiento <> 0 Then
|
If importeMovimiento <> 0 Then
|
||||||
' Agregamos el 2
|
' Agregamos el 2
|
||||||
If tipoCambioPago = 1 Then
|
If tipoCambioPago = 1 Then
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 2, Concepto, FechaMovimiento, IdCtaContClientes, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 2, Concepto, FechaMovimiento, IdCtaContClientes, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
End If
|
End If
|
||||||
Else 'Cuando son dolares
|
Else 'Cuando son dolares
|
||||||
If importeMovimiento <> 0 Then
|
If importeMovimiento <> 0 Then
|
||||||
If IdCtaContComplementaria > 0 Or 0 > 0 Then
|
If IdCtaContComplementaria > 0 Or 0 > 0 Then
|
||||||
'Agregamos la Complementaria
|
'Agregamos la Complementaria
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, 0, Concepto, 207, Concepto, FechaMovimiento, IdCtaContComplementaria, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=Math.Round(importeMovimiento * tipoCambioVenta - importeMovimiento, 2, MidpointRounding.AwayFromZero), ImporteME:=importeMovimiento, CveCuenta:=0, TipoCambio:=tipoCambioVenta) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, 0, Concepto, 207, Concepto, FechaMovimiento, IdCtaContComplementaria, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=Math.Round(importeMovimiento * tipoCambioVenta - importeMovimiento, 2, MidpointRounding.AwayFromZero), ImporteME:=importeMovimiento, CveCuenta:=0, TipoCambio:=tipoCambioVenta) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
End If
|
End If
|
||||||
'Agregamos la Extranjera
|
'Agregamos la Extranjera
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 2, Concepto, FechaMovimiento, IdCtaContMonedaExtranjera, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento, ImporteME:=importeMovimiento, CveCuenta:=0, TipoCambio:=tipoCambioVenta) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 2, Concepto, FechaMovimiento, IdCtaContMonedaExtranjera, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento, ImporteME:=importeMovimiento, CveCuenta:=0, TipoCambio:=tipoCambioVenta) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
'Agregamos la Extranjera
|
'Agregamos la Extranjera
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 2, Concepto, FechaMovimiento, IdCtaContMonedaExtranjera, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=Math.Round(importeMovimiento * tipoCambioVenta, 2, MidpointRounding.AwayFromZero), ImporteME:=importeMovimiento, CveCuenta:=0, TipoCambio:=tipoCambioVenta) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 2, Concepto, FechaMovimiento, IdCtaContMonedaExtranjera, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=Math.Round(importeMovimiento * tipoCambioVenta, 2, MidpointRounding.AwayFromZero), ImporteME:=importeMovimiento, CveCuenta:=0, TipoCambio:=tipoCambioVenta) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
importeMovimiento = ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / TxtTotal.Text.ToDecimal) * TxtIVA.Text.ToDecimal)
|
importeMovimiento = ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / TxtTotal.Text.ToDecimal) * TxtIVA.Text.ToDecimal)
|
||||||
importeMX = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero)
|
importeMX = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero)
|
||||||
|
|
||||||
If importeMX <> 0 Then
|
If importeMX <> 0 Then
|
||||||
|
|
||||||
|
|
||||||
'Agregamos el 13
|
'Agregamos el 13
|
||||||
|
|
||||||
IdCtaContable = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar)
|
IdCtaContable = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar)
|
||||||
CveCuenta = If(CveCuentaIVAXTrasladar > 0, CveCuentaIVAXTrasladar, UsuarioActual.Empresa.CveCuentaIVAxTrasladar)
|
CveCuenta = If(CveCuentaIVAXTrasladar > 0, CveCuentaIVAXTrasladar, UsuarioActual.Empresa.CveCuentaIVAxTrasladar)
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, 13, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuestoAmortizacion) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, 13, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuestoAmortizacion) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'Agregamos el 61
|
'Agregamos el 61
|
||||||
|
|
||||||
IdCtaContable = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado)
|
IdCtaContable = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado)
|
||||||
CveCuenta = If(CveCuentaIVATrasladado > 0, CveCuentaIVATrasladado, UsuarioActual.Empresa.CveCuentaIVATrasladado)
|
CveCuenta = If(CveCuentaIVATrasladado > 0, CveCuentaIVATrasladado, UsuarioActual.Empresa.CveCuentaIVATrasladado)
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 61, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuestoAmortizacion) Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 61, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuestoAmortizacion) Then
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'IEPS
|
|
||||||
importeMovimiento = ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / TxtTotal.Text.ToDecimal) * TxtIEPS.Text.ToDecimal)
|
|
||||||
importeMX = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero)
|
|
||||||
|
|
||||||
If importeMX <> 0 Then
|
|
||||||
|
|
||||||
'Agregamos el 38
|
|
||||||
|
|
||||||
IdCtaContable = UsuarioActual.Empresa.IdCuentaIEPSxTrasladar
|
|
||||||
CveCuenta = UsuarioActual.Empresa.CveCuentaIEPSxTrasladar
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, 38, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuestoAmortizacion) Then
|
|
||||||
ErrorConta = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Agregamos el 39
|
|
||||||
|
|
||||||
IdCtaContable = UsuarioActual.Empresa.IdCuentaIEPSTrasladado
|
|
||||||
CveCuenta = UsuarioActual.Empresa.CveCuentaIEPSTrasladado
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 61, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuestoAmortizacion) Then
|
|
||||||
ErrorConta = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
'Agregamos el 92
|
|
||||||
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal 'gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo" & gvr.RowIndex).ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)
|
|
||||||
importeMX = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero)
|
|
||||||
IdCtaContable = IdCtaContAnticipos
|
|
||||||
CveCuenta = CveCuentaAnticipos
|
|
||||||
|
|
||||||
If ObjCliente.GetClientes(gvr.DataKey("CveCliente").ToEntero, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
|
|
||||||
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
|
||||||
If Not tipoCambioPago = 1 Then
|
|
||||||
IdCtaContable = ObjCliente.IdCtaMonedaExtranjeraAnticipos
|
|
||||||
Else
|
|
||||||
IdCtaContable = ObjCliente.IdCtaContAnticipos
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
If UsuarioActual.CveEmpresa.Contiene(119) Then
|
'IEPS
|
||||||
If gvr.DataKey("Fecha").ToDate.Year <= 2017 AndAlso TxtFechaAnticipoCliente.Text.ToDate.Year >= 2018 Then
|
importeMovimiento = ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / TxtTotal.Text.ToDecimal) * TxtIEPS.Text.ToDecimal)
|
||||||
|
importeMX = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero)
|
||||||
|
|
||||||
|
If importeMX <> 0 Then
|
||||||
|
|
||||||
|
'Agregamos el 38
|
||||||
|
|
||||||
|
IdCtaContable = UsuarioActual.Empresa.IdCuentaIEPSxTrasladar
|
||||||
|
CveCuenta = UsuarioActual.Empresa.CveCuentaIEPSxTrasladar
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, 38, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuestoAmortizacion) Then
|
||||||
|
ErrorConta = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
'Agregamos el 39
|
||||||
|
|
||||||
|
IdCtaContable = UsuarioActual.Empresa.IdCuentaIEPSTrasladado
|
||||||
|
CveCuenta = UsuarioActual.Empresa.CveCuentaIEPSTrasladado
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, Not TipoMovimiento, importeMovimiento, Concepto, 61, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuestoAmortizacion) Then
|
||||||
|
ErrorConta = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
'Agregamos el 92
|
||||||
|
importeMovimiento = gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal 'gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo" & gvr.RowIndex).ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)
|
||||||
|
importeMX = Math.Round(importeMovimiento * tipoCambioPago, 2, MidpointRounding.AwayFromZero)
|
||||||
|
IdCtaContable = IdCtaContAnticipos
|
||||||
|
CveCuenta = CveCuentaAnticipos
|
||||||
|
|
||||||
|
If ObjCliente.GetClientes(gvr.DataKey("CveCliente").ToEntero, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
|
||||||
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||||
If Not tipoCambioPago = 1 Then
|
If Not tipoCambioPago = 1 Then
|
||||||
IdCtaContable = ObjCliente.IdCtaContMonedaExtranjera
|
IdCtaContable = ObjCliente.IdCtaMonedaExtranjeraAnticipos
|
||||||
Else
|
Else
|
||||||
IdCtaContable = ObjCliente.IdCtaContClientes
|
IdCtaContable = ObjCliente.IdCtaContAnticipos
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If UsuarioActual.CveEmpresa.Contiene(119) Then
|
||||||
|
If gvr.DataKey("Fecha").ToDate.Year <= 2017 AndAlso TxtFechaAnticipoCliente.Text.ToDate.Year >= 2018 Then
|
||||||
|
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||||
|
If Not tipoCambioPago = 1 Then
|
||||||
|
IdCtaContable = ObjCliente.IdCtaContMonedaExtranjera
|
||||||
|
Else
|
||||||
|
IdCtaContable = ObjCliente.IdCtaContClientes
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=-1, TipoCambio:=tipoCambioPago) Then
|
||||||
|
ErrorConta = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
importeMovimiento = 0
|
||||||
|
Case 64 'Ganancia
|
||||||
|
If CveMonedaVenta <> 1 OrElse gvr.DataKey("CveMoneda").ToEntero <> 1 Then
|
||||||
|
IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
|
||||||
|
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
|
||||||
|
|
||||||
|
If CveMonedaVenta = 1 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 2 Then
|
||||||
|
|
||||||
|
If tipoCambioVentaValuacion > tipoCambioPago AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
||||||
|
importeMovimiento = Importe91 * (tipoCambioVentaValuacion - tipoCambioPago) 'Añadimos la diferencia de ganancia en la venta
|
||||||
|
importeMovimiento = Math.Abs(Math.Round(importeMovimiento, 2))
|
||||||
|
importeMX = importeMovimiento
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioVentaValuacion, tipoCambioPago)
|
||||||
|
TipoCambioGeneral = TCImpuestos
|
||||||
|
Else
|
||||||
|
Dim TipoCambioGanancia As Decimal = If(Not (gvr.DataKey("CveIE").ToString.ToEntero > 0 AndAlso gvr.DataKey("CveConceptoContable").ToString().ToEntero = 66), tipoCambioVentaValuacion, tipoCambioVenta)
|
||||||
|
|
||||||
|
If tipoCambioPago > TipoCambioGanancia AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
||||||
|
importeMovimiento = (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * tipoCambioPago) - (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * TipoCambioGanancia) 'Añadimos la diferencia de ganancia en la venta
|
||||||
|
importeMovimiento = Math.Abs(Math.Round(importeMovimiento, 2))
|
||||||
|
importeMX = importeMovimiento
|
||||||
|
End If
|
||||||
|
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, TipoCambioGanancia, tipoCambioPago)
|
||||||
|
TipoCambioGeneral = TCImpuestos
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMX, CveCuenta:=-1, TipoCambio:=tipoCambioPago) Then
|
Else
|
||||||
ErrorConta = True
|
importeMovimiento = 0
|
||||||
|
End If
|
||||||
|
Case 65 'Perdida
|
||||||
|
If CveMonedaVenta <> 1 OrElse gvr.DataKey("CveMoneda").ToEntero <> 1 Then
|
||||||
|
IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
|
||||||
|
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
|
||||||
|
|
||||||
|
If CveMonedaVenta = 1 And gvr.DataKey("CveMoneda").ToString.ToDecimal = 2 Then
|
||||||
|
If tipoCambioVentaValuacion < tipoCambioPago AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
||||||
|
importeMovimiento = Importe91 * Math.Abs(tipoCambioVentaValuacion - tipoCambioPago) 'Añadimos la diferencia de ganancia en la venta
|
||||||
|
importeMovimiento = Math.Abs(Math.Round(importeMovimiento, 2))
|
||||||
|
importeMX = importeMovimiento
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioVentaValuacion, tipoCambioPago)
|
||||||
|
TipoCambioGeneral = TCImpuestos
|
||||||
|
Else
|
||||||
|
Dim TipoCambioPerdida As Decimal = If(Not (gvr.DataKey("CveIE").ToString.ToEntero > 0 AndAlso gvr.DataKey("CveConceptoContable").ToString().ToEntero = 66), tipoCambioVentaValuacion, tipoCambioVenta)
|
||||||
|
|
||||||
|
If tipoCambioPago < TipoCambioPerdida AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
||||||
|
importeMovimiento = (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * TipoCambioPerdida) - (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * tipoCambioPago) 'Añadimos la diferencia de perdida en la venta
|
||||||
|
importeMovimiento = Math.Abs(Math.Round(importeMovimiento, 2))
|
||||||
|
importeMX = importeMovimiento
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, TipoCambioPerdida, tipoCambioPago)
|
||||||
|
TipoCambioGeneral = TCImpuestos
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
importeMovimiento = 0
|
||||||
End If
|
End If
|
||||||
End If
|
Case Else
|
||||||
importeMovimiento = 0
|
|
||||||
Case 64 'Ganancia
|
|
||||||
If CveMonedaVenta <> 1 OrElse gvr.DataKey("CveMoneda").ToEntero <> 1 Then
|
|
||||||
IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
|
|
||||||
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
|
|
||||||
Dim TipoCambioGanancia As Decimal = If(Not (gvr.DataKey("CveIE").ToString.ToEntero > 0 AndAlso gvr.DataKey("CveConceptoContable").ToString().ToEntero = 66), tipoCambioVentaValuacion, tipoCambioVenta)
|
|
||||||
|
|
||||||
If tipoCambioPago > TipoCambioGanancia AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
|
||||||
importeMovimiento = (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * tipoCambioPago) - (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * TipoCambioGanancia) 'Añadimos la diferencia de ganancia en la venta
|
|
||||||
importeMovimiento = Math.Abs(Math.Round(importeMovimiento, 2))
|
|
||||||
importeMX = importeMovimiento
|
|
||||||
End If
|
|
||||||
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, TipoCambioGanancia, tipoCambioPago)
|
|
||||||
TipoCambioGeneral = TCImpuestos
|
|
||||||
Else
|
|
||||||
importeMovimiento = 0
|
importeMovimiento = 0
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If importeMovimiento <> 0 Then
|
||||||
|
If IdCtaContable <= 0 Then
|
||||||
|
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||||
|
idCuentaContabilizacion = 0
|
||||||
End If
|
End If
|
||||||
Case 65 'Perdida
|
|
||||||
If CveMonedaVenta <> 1 OrElse gvr.DataKey("CveMoneda").ToEntero <> 1 Then
|
|
||||||
IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
|
|
||||||
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
|
|
||||||
Dim TipoCambioPerdida As Decimal = If(Not (gvr.DataKey("CveIE").ToString.ToEntero > 0 AndAlso gvr.DataKey("CveConceptoContable").ToString().ToEntero = 66), tipoCambioVentaValuacion, tipoCambioVenta)
|
|
||||||
|
|
||||||
If tipoCambioPago < TipoCambioPerdida AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
|
If CveCuenta <= 0 Then
|
||||||
importeMovimiento = (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * TipoCambioPerdida) - (gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal * tipoCambioPago) 'Añadimos la diferencia de perdida en la venta
|
CuentasContablesInvalidasSIG.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
||||||
importeMovimiento = Math.Abs(Math.Round(importeMovimiento, 2))
|
CveCuentaContabilizacion = 0
|
||||||
importeMX = importeMovimiento
|
|
||||||
End If
|
|
||||||
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, TipoCambioPerdida, tipoCambioPago)
|
|
||||||
TipoCambioGeneral = TCImpuestos
|
|
||||||
Else
|
|
||||||
importeMovimiento = 0
|
|
||||||
End If
|
End If
|
||||||
Case Else
|
|
||||||
importeMovimiento = 0
|
|
||||||
End Select
|
|
||||||
|
|
||||||
If importeMovimiento <> 0 Then
|
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=TipoCambioGeneral) Then
|
||||||
If IdCtaContable <= 0 Then
|
ErrorConta = True
|
||||||
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
End If
|
||||||
idCuentaContabilizacion = 0
|
|
||||||
End If
|
End If
|
||||||
|
Next
|
||||||
If CveCuenta <= 0 Then
|
End If
|
||||||
CuentasContablesInvalidasSIG.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
|
|
||||||
CveCuentaContabilizacion = 0
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrepoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=TipoCambioGeneral) Then
|
|
||||||
ErrorConta = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
End If
|
End If
|
||||||
End If
|
Next
|
||||||
Next
|
Else
|
||||||
Else
|
|
||||||
ErrorConta = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ObjConta.ValidacionPrePolizaCuadre(CvePrepoliza, 3) Then
|
|
||||||
If ObjConta.ValorPolizaDescuadre > 0 Then
|
|
||||||
GuardaLogAD($"Ventas/Ventas-Anticipos | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrepoliza}", "LogPrePolizas")
|
|
||||||
ErrorConta = True
|
ErrorConta = True
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
If ObjConta.ValidacionPrePolizaCuadre(CvePrepoliza, 3) Then
|
||||||
|
If ObjConta.ValorPolizaDescuadre > 0 Then
|
||||||
|
GuardaLogAD($"Ventas/Ventas-Anticipos | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrepoliza}", "LogPrePolizas")
|
||||||
|
ErrorConta = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
ErrorConta = True
|
||||||
|
OnError("Ocurrió un error al guardar el anticipo", ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
If ErrorConta Then
|
If ErrorConta Then
|
||||||
Alert("Ocurrió un error al amortizar el documento. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError)
|
Alert("Ocurrió un error al amortizar el documento. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError)
|
||||||
@@ -13578,6 +13616,7 @@ Partial Class Ventas
|
|||||||
End Sub
|
End Sub
|
||||||
Protected Sub DdlSucursalCliente_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSucursalCliente.SelectedIndexChanged
|
Protected Sub DdlSucursalCliente_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSucursalCliente.SelectedIndexChanged
|
||||||
CargaClienteSucursal(DdlSucursalCliente.SelectedValue.ToEntero)
|
CargaClienteSucursal(DdlSucursalCliente.SelectedValue.ToEntero)
|
||||||
|
CargaRestriccionesCreditoCliente(Alertas:=True)
|
||||||
End Sub
|
End Sub
|
||||||
Protected Sub DdlCCEdit_SelectedIndexChanged(sender As Object, e As System.EventArgs)
|
Protected Sub DdlCCEdit_SelectedIndexChanged(sender As Object, e As System.EventArgs)
|
||||||
Dim gvr As GridViewRow = DirectCast(DirectCast(sender, DropDownList).BindingContainer, GridViewRow)
|
Dim gvr As GridViewRow = DirectCast(DirectCast(sender, DropDownList).BindingContainer, GridViewRow)
|
||||||
@@ -21722,11 +21761,11 @@ Partial Class Ventas
|
|||||||
|
|
||||||
#Region " APLICA DEVOLUCION "
|
#Region " APLICA DEVOLUCION "
|
||||||
Private Sub InicializaAplicaDevolucion()
|
Private Sub InicializaAplicaDevolucion()
|
||||||
If Not UsuarioActual.CveUsuario = 100 Then
|
'If Not UsuarioActual.CveUsuario = 100 Then
|
||||||
If Not UsuarioActual.CveEmpresa.Contiene(72, 80, 119, 140, 141, 146) Then
|
' If Not UsuarioActual.CveEmpresa.Contiene(72, 80, 119, 140, 141, 146) Then
|
||||||
Exit Sub
|
' Exit Sub
|
||||||
End If
|
' End If
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
'sino tiene el permiso no puede generar Devolucion
|
'sino tiene el permiso no puede generar Devolucion
|
||||||
If Not UsuarioActual.TienePermisoProceso(264) Then
|
If Not UsuarioActual.TienePermisoProceso(264) Then
|
||||||
|
|||||||
Reference in New Issue
Block a user