Aplicar NC en anticipos
This commit is contained in:
@@ -499,6 +499,15 @@ Namespace Modelos
|
|||||||
If ObjVentas.GetVentasAntNC(-1, CveVenta, AplicaAmortizacion:=EsNCAmortizacion) Then
|
If ObjVentas.GetVentasAntNC(-1, CveVenta, AplicaAmortizacion:=EsNCAmortizacion) Then
|
||||||
Me.DtAnticipos = ObjVentas.DtResultados.Copy()
|
Me.DtAnticipos = ObjVentas.DtResultados.Copy()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If (DtAnticipos Is Nothing OrElse DtAnticipos.Rows.Count = 0) Then
|
||||||
|
'SI ES EGRESO Y TIENE ANTICIPOS VINCULADOS
|
||||||
|
If TipoDocto.Contiene("Egs") AndAlso EsNCAmortizacion AndAlso EsCancelacion Then
|
||||||
|
If ObjVentas.GetVentasAntNC(CveVenta, -1, AplicaAmortizacion:=EsNCAmortizacion) Then
|
||||||
|
Me.DtAnticipos = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
@@ -2484,6 +2493,12 @@ Namespace Modelos
|
|||||||
CveVentaAmortizacion = ObjFactura.CveVenta
|
CveVentaAmortizacion = ObjFactura.CveVenta
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'SI ES EGRESO Y TIENE ANTICIPOS VINCULADOS
|
||||||
|
If (ObjFactura.TipoDocto.Contiene("Egs") AndAlso row2("TipoDocto").ToString() = "Ant" AndAlso EsNCAmortizacion) Then
|
||||||
|
CveVenta = row2("CveVenta").ToString().ToEntero
|
||||||
|
CveVentaAmortizacion = ObjFactura.CveVenta
|
||||||
|
End If
|
||||||
|
|
||||||
If importeMovimiento <> 0 Then
|
If importeMovimiento <> 0 Then
|
||||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1,
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1,
|
||||||
CveVenta:=CveVenta, CveVentaAmortizacion:=CveVentaAmortizacion, CveCliente:=ObjFactura.CveCliente,
|
CveVenta:=CveVenta, CveVentaAmortizacion:=CveVentaAmortizacion, CveCliente:=ObjFactura.CveCliente,
|
||||||
@@ -2505,9 +2520,9 @@ Namespace Modelos
|
|||||||
' cuando es amortización de nota de crédito, y es la nc
|
' cuando es amortización de nota de crédito, y es la nc
|
||||||
' cuando es amortización por descuento, y es el ingreso
|
' cuando es amortización por descuento, y es el ingreso
|
||||||
' cuando es amortización en cero
|
' cuando es amortización en cero
|
||||||
If ObjFactura.CveTipoAmortizacionAnticipo = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") OrElse
|
If (ObjFactura.CveTipoAmortizacionAnticipo = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") OrElse
|
||||||
ObjFactura.CveTipoAmortizacionAnticipo = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse
|
ObjFactura.CveTipoAmortizacionAnticipo = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse
|
||||||
ObjFactura.CveTipoAmortizacionAnticipo = 3 Then
|
ObjFactura.CveTipoAmortizacionAnticipo = 3) Then
|
||||||
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
|
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
|
||||||
If row2("CveConceptoContable").ToString().ToEntero = 11 Then
|
If row2("CveConceptoContable").ToString().ToEntero = 11 Then
|
||||||
CveIEAnticipo = -1
|
CveIEAnticipo = -1
|
||||||
@@ -5316,6 +5331,7 @@ Namespace Modelos
|
|||||||
Public Property DtContratosSerieDetalle As Data.DataTable
|
Public Property DtContratosSerieDetalle As Data.DataTable
|
||||||
Public Property DtOtrosConceptos As Data.DataTable
|
Public Property DtOtrosConceptos As Data.DataTable
|
||||||
Public Property DtInventario As Data.DataTable
|
Public Property DtInventario As Data.DataTable
|
||||||
|
'Public Property DtAnticipoAmortizacion As Data.DataTable
|
||||||
Public Property DtRemConceptosSurtidos As Data.DataTable
|
Public Property DtRemConceptosSurtidos As Data.DataTable
|
||||||
Public Property UsadosBonificacion As List(Of Integer)
|
Public Property UsadosBonificacion As List(Of Integer)
|
||||||
Public Property TipoBonificacion As Integer = 0
|
Public Property TipoBonificacion As Integer = 0
|
||||||
|
|||||||
@@ -1184,6 +1184,22 @@ Partial Class Ventas
|
|||||||
ViewState("PermiteCredito") = value
|
ViewState("PermiteCredito") = value
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
Private Property DtAnticipoAmortizacion As DataTable
|
||||||
|
Get
|
||||||
|
Return CType(ViewState("DtAnticipoAmortizacion"), DataTable)
|
||||||
|
End Get
|
||||||
|
Set(value As DataTable)
|
||||||
|
ViewState("DtAnticipoAmortizacion") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Private Property SaldoAnticipo As Decimal
|
||||||
|
Get
|
||||||
|
Return If(IsNothing(ViewState("SaldoAnticipo")), 0, ViewState("SaldoAnticipo").ToString().ToDecimal())
|
||||||
|
End Get
|
||||||
|
Set(value As Decimal)
|
||||||
|
ViewState("SaldoAnticipo") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
@@ -3699,7 +3715,14 @@ Partial Class Ventas
|
|||||||
LblNCSaldoAnticipo.Visible = True
|
LblNCSaldoAnticipo.Visible = True
|
||||||
ChkAplicaNCAnticipo.Visible = True
|
ChkAplicaNCAnticipo.Visible = True
|
||||||
ChkAplicaNCAnticipo.Checked = True
|
ChkAplicaNCAnticipo.Checked = True
|
||||||
If DbRowVenta("SaldoAnticipo").ToString.ToDouble <= 0 Then ChkAplicaNCAnticipo.Checked = False : ChkAplicaNCAnticipo.Enabled = False
|
Me.SaldoAnticipo = DbRowVenta("SaldoAnticipo").ToString.ToDecimal
|
||||||
|
If SaldoAnticipo > 0 Then
|
||||||
|
InicializaDTAnticiposAmortizacion()
|
||||||
|
ChkAplicaNCAnticipo.Enabled = False
|
||||||
|
Else
|
||||||
|
ChkAplicaNCAnticipo.Checked = False
|
||||||
|
End If
|
||||||
|
'If DbRowVenta("SaldoAnticipo").ToString.ToDouble <= 0 Then ChkAplicaNCAnticipo.Checked = False : ChkAplicaNCAnticipo.Enabled = False
|
||||||
LblNCSaldoAnticipo.Text = String.Format("Saldo Anticipo: $ {0}", DbRowVenta("SaldoAnticipo").ToString.ToDouble.FormatoNumero)
|
LblNCSaldoAnticipo.Text = String.Format("Saldo Anticipo: $ {0}", DbRowVenta("SaldoAnticipo").ToString.ToDouble.FormatoNumero)
|
||||||
Case "Dev"
|
Case "Dev"
|
||||||
DdlTipoComprobante.Items.Insert(0, New ListItem("Devolucion", "Dev"))
|
DdlTipoComprobante.Items.Insert(0, New ListItem("Devolucion", "Dev"))
|
||||||
@@ -6581,7 +6604,7 @@ Partial Class Ventas
|
|||||||
EsValidoPU = False ' SI NO TIENE PROMOCION NO SE PUEDE VENDER A 0
|
EsValidoPU = False ' SI NO TIENE PROMOCION NO SE PUEDE VENDER A 0
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
EsValido = True
|
||||||
'NO DEJA REGISTRAR CON VALIDACION DE COSTO ALMACEN O PROMOCION
|
'NO DEJA REGISTRAR CON VALIDACION DE COSTO ALMACEN O PROMOCION
|
||||||
Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201)
|
Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201)
|
||||||
If Not EsValido Then
|
If Not EsValido Then
|
||||||
@@ -9320,7 +9343,7 @@ Partial Class Ventas
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim CveTipoRetencion As Integer = -1
|
Dim CveTipoRetencion As Integer = 0
|
||||||
If UsuarioActual.Empresa.Funcionalidad(579) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(579) = "1" Then
|
||||||
CveTipoRetencion = DdlTipoRetencion.SelectedValue.ToEntero()
|
CveTipoRetencion = DdlTipoRetencion.SelectedValue.ToEntero()
|
||||||
End If
|
End If
|
||||||
@@ -10193,6 +10216,31 @@ Partial Class Ventas
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'CUANDO APLICAN UNA NOTA DE CREDITO SOBRE UN ANTICIPO
|
||||||
|
If ObjFactura.TipoDocto = "Egs" AndAlso EsNCAmortizacion Then
|
||||||
|
If DtAnticipoAmortizacion IsNot Nothing AndAlso DtAnticipoAmortizacion.Rows.Count > 0 Then
|
||||||
|
For Each RowAnticipo As DataRow In DtAnticipoAmortizacion.Rows
|
||||||
|
Dim CveVentaAnticipo As Integer = RowAnticipo("CveVenta").ToString().ToEntero
|
||||||
|
importeMovimiento = RowAnticipo("SaldoAnticipo").ToString().ToDecimal
|
||||||
|
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
||||||
|
|
||||||
|
IdCtaContable = IdCtaContAnticipos
|
||||||
|
CveCuenta = CveCuentaAnticipos
|
||||||
|
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||||
|
|
||||||
|
If importeMovimiento <> 0 Then
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVentaAnticipo, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
Exit For
|
||||||
|
Else
|
||||||
|
ViewState("SeGuardoPrePoliza") = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
'cuando es anticipo
|
'cuando es anticipo
|
||||||
' cuando es amortización de nota de crédito, y es la nc
|
' cuando es amortización de nota de crédito, y es la nc
|
||||||
' cuando es amortización por descuento, y es el ingreso
|
' cuando es amortización por descuento, y es el ingreso
|
||||||
@@ -21440,12 +21488,12 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
DdlTipoComprobante.SelectedValue = "Egs"
|
DdlTipoComprobante.SelectedValue = "Egs"
|
||||||
|
|
||||||
AplicarNC(DdlNCPS.SelectedValue.ToEntero)
|
AplicarNC(DdlNCPS.SelectedValue.ToEntero, EsNCAmortizacion:=ChkAplicaNCAnticipo.Checked)
|
||||||
|
|
||||||
RegistraScript("$('#ModalAplicarNC').modal('hide');", "EscondeModalNC")
|
RegistraScript("$('#ModalAplicarNC').modal('hide');", "EscondeModalNC")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub AplicarNC(CvePS As Integer, Optional NCDescuento As Boolean = False)
|
Private Sub AplicarNC(CvePS As Integer, Optional NCDescuento As Boolean = False, Optional EsNCAmortizacion As Boolean = False)
|
||||||
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
||||||
If DrPS Is Nothing Then
|
If DrPS Is Nothing Then
|
||||||
Alert("Ocurrió un error al cargar la información del producto. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
Alert("Ocurrió un error al cargar la información del producto. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
|
||||||
@@ -21461,6 +21509,7 @@ Partial Class Ventas
|
|||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
|
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
|
||||||
InicializaDTVentasNC()
|
InicializaDTVentasNC()
|
||||||
|
|
||||||
@@ -21497,6 +21546,21 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal)
|
DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal)
|
||||||
|
|
||||||
|
If EsNCAmortizacion Then
|
||||||
|
If DtAnticipoAmortizacion Is Nothing Then
|
||||||
|
InicializaDTAnticiposAmortizacion()
|
||||||
|
End If
|
||||||
|
Dim PorcentajeAplicado As Decimal = (TxtNCPorcentaje.Text.ToDecimal / 100D)
|
||||||
|
|
||||||
|
Dim RowAnticipo As DataRow = DtAnticipoAmortizacion.NewRow
|
||||||
|
RowAnticipo("CveVenta") = Me.CveVenta
|
||||||
|
RowAnticipo("Importe") = TxtNCImporte.Text.Trim.ToDecimal
|
||||||
|
RowAnticipo("SaldoAnticipo") = SaldoAnticipo * PorcentajeAplicado
|
||||||
|
|
||||||
|
DtAnticipoAmortizacion.Rows.Add(RowAnticipo)
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim query = From dr In DtImpuestos
|
Dim query = From dr In DtImpuestos
|
||||||
@@ -21834,7 +21898,12 @@ Partial Class Ventas
|
|||||||
|
|
||||||
BloqueaCondiconesPago()
|
BloqueaCondiconesPago()
|
||||||
End Sub
|
End Sub
|
||||||
|
Private Sub InicializaDTAnticiposAmortizacion()
|
||||||
|
Me.DtAnticipoAmortizacion = New DataTable
|
||||||
|
Me.DtAnticipoAmortizacion.Columns.Add("CveVenta", GetType(Integer))
|
||||||
|
Me.DtAnticipoAmortizacion.Columns.Add("Importe", GetType(Decimal))
|
||||||
|
Me.DtAnticipoAmortizacion.Columns.Add("SaldoAnticipo", GetType(Decimal))
|
||||||
|
End Sub
|
||||||
Private Sub InicializaDTVentasNC()
|
Private Sub InicializaDTVentasNC()
|
||||||
DtVentasNC = New DataTable
|
DtVentasNC = New DataTable
|
||||||
DtVentasNC.Columns.Add("CveVenta", GetType(Integer))
|
DtVentasNC.Columns.Add("CveVenta", GetType(Integer))
|
||||||
|
|||||||
Reference in New Issue
Block a user