diff --git a/Acumuladores/CatGarantiasMeses.aspx.vb b/Acumuladores/CatGarantiasMeses.aspx.vb
index 190f4dd6c..1faba2cbf 100644
--- a/Acumuladores/CatGarantiasMeses.aspx.vb
+++ b/Acumuladores/CatGarantiasMeses.aspx.vb
@@ -76,6 +76,8 @@ Partial Class Acumuladores_CatFoliosGarantia
DdlMarca.DataBind()
DdlMarca.Items.Insert(0, New ListItem("Todos", "-1"))
DdlMarca.SelectedValue = "-1"
+ DdlMarcaM.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa)
+ DdlMarcaM.DataBind()
DdlTipoUso.DataSource = GlobalDTAcumTiposUso(UsuarioActual.CveEmpresa)
DdlTipoUso.DataBind()
diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index d187b5980..a72b6a8ea 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -2293,6 +2293,23 @@ Public Class ClsNominas
End Function
#End Region
+ Public Function ValidaFechaFinPersonal(CvePersonal As Integer, CveEmpresa As Integer, FechaFin As String)
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Nom_ValidaFechaFinPersonal")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@FechaFin", SqlDbType.DateTime).Value = FechaFin
+ '.Add("@Limpiar", SqlDbType.Int).Value = Limpiar
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al validar el finiquito.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
Public Function GetFiniquitosPersonal(CvePersonal As Integer, CveEmpresa As Integer, Optional Limpiar As Integer = 0, Optional diasindemnizacion As Integer = 90) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Nom_FiniquitosGET")
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index dc48e03e1..9569d71cc 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -7651,10 +7651,10 @@ Public Class ClsPaginas
ImportePagoMN = (Pago.ImportePago * TCValuacionCompra).RoundSQL
End If
'movimiento de pago proveedor
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImportePagoMN, ConPreP.CveConcepto, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, ImportePagoMN, ConPreP.CveConcepto, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto, CveVenta:=Pago.CveVentaRelacionada) Then ErrorMovtos = True
'movimiento de pago proveedor Complementaria
If Not ErrorMovtos AndAlso CompraActual.CveMoneda > 1 AndAlso UsaComplementaria Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacionCompra - ImporteME).RoundSQL, ConPreP.CveConceptoComplementario, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Pago.ImportePago, (ImporteME * TCValuacionCompra - ImporteME).RoundSQL, ConPreP.CveConceptoComplementario, CompraActual.SerieFolio, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, CveCompraAmortizacion:=Pago.CveCompraAmortizacion, TipoCambio:=TCValuacionCompra, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto, CveVenta:=Pago.CveVentaRelacionada) Then ErrorMovtos = True
End If
If Pago.AplicaAcreditable Then
'si tiene iva y su proporcion
@@ -7739,12 +7739,12 @@ Public Class ClsPaginas
Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(11, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
If Pago.CveMonedaPago > 1 Then
'Agregamos la Extranjera
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProvComplementaria, CveCompra:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
Else
'Agregamos Nacional
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago) Then ErrorMovtos = True
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambioPago:=Pago.TCPago) Then ErrorMovtos = True
End If
End If
If Pago.TipoPago.Contiene("NC", "DEV") AndAlso Not ErrorMovtos Then ' N O T A D E C R E D I T O
@@ -7760,22 +7760,21 @@ Public Class ClsPaginas
End If
End If
If Pago.TipoPago = "DD" AndAlso Not ErrorMovtos Then ' D E U D O R D I V E R S O
- 'Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
- 'Dim Ret As New ConceptosRetenciones
- 'If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- ' If ObjConta.GetRetCuenta(66, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContableAcreditable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero
- ' If Pago.CveMonedaPago > 1 AndAlso ObjConta.GetRetCuenta(207, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then Ret.IdCtaContablexAcreditar = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
- 'End If
+ Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(17, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
If Pago.CveMonedaPago > 1 Then
'Agregamos la Extranjera
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 92, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, 207, Pago.Referencia, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=Pago.CveCompraAmortizacion, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CompraActual.IdCtaContableProvComplementaria, CveCompra:=Pago.CveCompraAmortizacion, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
Else
'Agregamos Nacional
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 92, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveVenta:=Pago.CveCompraAmortizacion, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveVenta:=Pago.CveCompraAmortizacion, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True
End If
End If
+ If Pago.TipoPago = "Venta" AndAlso Not ErrorMovtos Then ' V E N T A
+ TCValuacionPago = TCValuacionCompra
+ tImportePago = tImporteCompra
+ End If
If Not ErrorMovtos AndAlso TCValuacionCompra <> TCValuacionPago Then
Dim ConceptoContable, IdCtaContable As Integer
@@ -7820,7 +7819,9 @@ Public Class ClsPaginas
Public Property CveCompraAmortizacion As Integer = 0
Public Property OtroGastoIngreso As Decimal = 0
Public Property CveConceptoPago As Integer = -1 'no definido de inicio
+ Public Property CveProveedor As Integer = -1
Public Property CveCreditoDetalle As Integer = -1
+ Public Property CveVentaRelacionada As Integer = -1
Public Property Referencia As String = ""
Public Property AplicaAcreditable As Boolean = True
End Class
@@ -7994,6 +7995,14 @@ Public Class ClsPaginas
Retorno.CveConcepto = If(CveTipoProveedor = 1, 342, 344)
Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 235, 235)
End Select
+ Case 17 ' deudores
+ Select Case CveMoneda
+ Case 1 'pesos
+ Retorno.CveConcepto = If(CveTipoProveedor = 1, 37, 37)
+ Case 2 'dólares
+ Retorno.CveConcepto = If(CveTipoProveedor = 1, 37, 37)
+ Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 256, 256)
+ End Select
End Select
Else 'cuando es la provisión
Select Case CveTipoSaldo
@@ -8021,6 +8030,14 @@ Public Class ClsPaginas
Retorno.CveConcepto = If(CveTipoProveedor = 1, 341, 343)
Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 234, 234)
End Select
+ Case 17 ' deudores
+ Select Case CveMoneda
+ Case 1 'pesos
+ Retorno.CveConcepto = If(CveTipoProveedor = 1, 43, 43)
+ Case 2 'dólares
+ Retorno.CveConcepto = If(CveTipoProveedor = 1, 43, 43)
+ Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 256, 256)
+ End Select
End Select
End If
@@ -8246,6 +8263,7 @@ Public Class ClsPaginas
Public Property OtroGastoIngreso As Decimal = 0
Public Property CveConceptoPago As Integer = -1 'no definido de inicio
Public Property CveCreditoDetalle As Integer = -1
+ Public Property CveCompraRelacionada As Integer = -1
Public Property AplicaTraslado As Boolean = True
Public Property Referencia As String
Public Property ImporteFluctuacionAdicional As Decimal = 0
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 5065ed3e2..5e970d841 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -161,7 +161,7 @@ Public Class ClsVentas
Return Retorno
End Function
- Public Function GetVenta(CveVenta As Integer, CveEmpresa As Integer, Optional VerificaAlmacen As Boolean = True) As Boolean
+ Public Function GetVenta(CveVenta As Integer, CveEmpresa As Integer, Optional VerificaAlmacen As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_VentasGet")
diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb
index ea0fb4252..52c328df4 100644
--- a/Bancos/IE.aspx.vb
+++ b/Bancos/IE.aspx.vb
@@ -1472,38 +1472,9 @@ Partial Class Bancos_IE
e.Row.Cells(4).Width = Unit.Pixel(100)
End If
- 'If e.Row.DBCampo("TipoDocto") = "Egsc" AndAlso e.Row.DBCampo("SerieFolio") = "" Then
- ' e.Row.CssClass = "Totales TextCenter"
- ' e.Row.Cells(1).Text = "Egreso Por Comprobar"
- 'End If
-
- 'If e.Row.DBCampo("TipoDocto") = "Ant" AndAlso e.Row.DBCampo("SerieFolio") = "" Then
- ' e.Row.CssClass = "Totales TextCenter"
- ' e.Row.Cells(1).Text = "Anticipos"
- 'End If
-
If e.Row.DBCampo("TipoDocto") = "NC" AndAlso e.Row.DataKey("CveCompra").ToString.ToEntero > 0 Then
e.Row.FCCheckBox("Chk").InputAttributes.Add("data-saldo", e.Row.DataKey("Saldo"))
End If
-
- 'If e.Row.DBCampo("TipoDocto") = "DEV" AndAlso e.Row.DBCampo("SerieFolio") = "" Then
- ' e.Row.CssClass = "Totales TextCenter"
- ' e.Row.Cells(0).Text = "Devolución"
- 'End If
-
- 'If e.Row.DBCampo("CveProveedor") = "" Then
- ' e.Row.BackColor = Drawing.Color.LightGray
- 'End If
-
- 'If UsuarioActual.TienePermisoProceso(273) Then
- ' If CType(sender, GridView).ID = "GvA" And e.Row.DBCampo("CveCompra").ToEntero > 0 And e.Row.DBCampo("TipoDocto") = "NC" Then
- ' Dim Parametros = Encripta($"CveCompra={e.Row.DBCampo("CveCompra").ToEntero}&SerieFolio={e.Row.DBCampo("SerieFolio")}&CveMoneda={e.Row.DBCampo("CveMoneda")}&CveProveedor={CveProveedor}&Saldo={e.Row.DBCampo("Saldo")}&Original={e.Row.DBCampo("Original")}&CvePrePoliza={e.Row.DBCampo("CvePrePoliza")}&FechaCompra={e.Row.DBCampo("Fecha")}")
- ' e.Row.FCHyperLink("HLDevolverDinero").Visible = True
- ' e.Row.FCHyperLink("HLDevolverDinero").NavigateUrl = $"/Bancos/IE.aspx?Opcion=DevDinC&P={Parametros}"
- ' End If
- 'End If
-
-
End If
End Sub
@@ -1562,15 +1533,18 @@ Partial Class Bancos_IE
#Region " CARGA PERSONAL "
Protected Sub CargaDDLPersonal()
- Dim ObjPersonal As New ClsRH
- If ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa) Then
- If ObjPersonal.DtResultados.Rows.Count > 0 Then
- DdlPersonal.DataSource = ObjPersonal.DtResultados
- DdlPersonal.DataBind()
- DdlPersonal.Items.Insert(0, New ListItem("Seleccione Personal", "-1"))
- End If
- End If
- ObjPersonal.Dispose()
+ DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
+ DdlPersonal.DataBind()
+ DdlPersonal.Items.Insert(0, New ListItem("Seleccione Personal", "-1"))
+ 'Dim ObjPersonal As New ClsRH
+ 'If ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa) Then
+ ' If ObjPersonal.DtResultados.Rows.Count > 0 Then
+ ' DdlPersonal.DataSource = ObjPersonal.DtResultados
+ ' DdlPersonal.DataBind()
+ ' DdlPersonal.Items.Insert(0, New ListItem("Seleccione Personal", "-1"))
+ ' End If
+ 'End If
+ 'ObjPersonal.Dispose()
End Sub
Protected Sub DdlPersonal_SelectedIndexChanged(sender As Object, e As EventArgs)
diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs
index 958844dd5..a486cae6a 100644
--- a/Bancos/PagoAcreedor.aspx.cs
+++ b/Bancos/PagoAcreedor.aspx.cs
@@ -306,7 +306,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
{
decimal ImporteBanco = TxtImporte.Text.ToDecimal();
decimal ImporteMNBanco = ImporteBanco;
- decimal ImporteComplementaria = 0;
+ decimal ImporteComplementaria = 0;
decimal TCPago = TxtTCPago.Text.ToDecimal();
string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
string Ref = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
@@ -328,6 +328,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
decimal ImporteComision;
decimal ImporteComisionMN;
decimal AcumImporteMN = 0;
+ decimal ImportePago, ImporteAcreedor;
bool TipoMovtoComision = false;
int IdCtaContableOtrosGastos = 0;
int CveConceptoDiferenciaCambiaria = 0;
@@ -338,8 +339,9 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
Importe = gvr.FCTextBox("TxtAbonar").Text.ToDecimal();
ImporteComision = gvr.FCTextBox("TxtComision").Text.ToDecimal();
ImporteMN = Importe;
+ ImporteAcreedor = Importe; ImportePago = Importe;
ImporteComisionMN = ImporteComision;
- ImporteComplementaria = 0;
+ ImporteComplementaria = 0;
if (gvr.FCTextBox("TxtComision").Text.ToDecimal() < 0)
{
@@ -352,7 +354,6 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
{
TipoMovtoComision = false;
IdCtaContableOtrosGastos = UsuarioActual.Empresa.Funcionalidad(266).ToEntero();
-
}
Decimal TC = gvr.DataKey("TipoCambio").ToDecimal();
@@ -364,24 +365,26 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
if (gvr.FCCheckBox("Chk").Checked)
{
- int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero();
+ int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero();
if (CveMonedaPago == 1 && tCveMoneda == 1)
{
ImporteMN = Importe;
ImporteComisionMN = ImporteComision;
+ ImportePago = Importe;
}
else if (CveMonedaPago == 1 && tCveMoneda == 2)
{
ImporteComisionMN = ImporteComision;
+ ImportePago = (Importe * TCPago).RoundSQL();
if (UsaComplementaria)
{
ImporteMN = Importe;
- ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
+ ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
}
else
{
ImporteMN = Importe * TC;
- ImporteComplementaria = 0;
+ ImporteComplementaria = 0;
}
}
else if (CveMonedaPago == 2 && tCveMoneda == 1)
@@ -389,6 +392,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
ImporteMN = Importe;
ImporteComisionMN = ImporteComision;
+ ImporteComplementaria = 0;
}
else if (CveMonedaPago == 2 && tCveMoneda == 2)
{
@@ -422,37 +426,37 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
break;
}
- if (UsaComplementaria)
+ if (UsaComplementaria && tCveMoneda > 1 && MsgError == "")
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, Importe, Ref, CveConceptoContablePrestamoComplementario, Conc, DateTime.Now, IDCtaContableAcreedorComplementaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero()))
MsgError = "No se pudo insertar concepto de acreedor complementaria";
}
- if (TCPago != TC)
- {
- bool TipoMovto = false;
- int IdCtaContableDiferenciaCambiaria = 0;
- if (TCPago > TC)
- {
- CveConceptoDiferenciaCambiaria = 65;
- IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria;
- TipoMovto = false;
- Importe = (Importe * TCPago) - (Importe * TC);
- }
- else if (TCPago < TC)
- {
- CveConceptoDiferenciaCambiaria = 64;
- IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaGananciaCambiaria;
- TipoMovto = true;
- Importe = (Importe * TC) - (Importe * TCPago);
- }
- ImporteMN = Importe;
-
- if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Ref, CveConceptoDiferenciaCambiaria, Conc, DateTime.Now, IdCtaContableDiferenciaCambiaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero()))
- MsgError = "No se pudo insertar concepto de diferencia cambiaria";
+ if (ImportePago != ImporteAcreedor && MsgError == "")
+ {
+ bool TipoMovto = false;
+ int IdCtaContableDiferenciaCambiaria = 0;
+ if (TCPago > TC)
+ {
+ CveConceptoDiferenciaCambiaria = 65;
+ IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria;
+ TipoMovto = false;
+ Importe = (Importe * TCPago) - (Importe * TC);
}
+ else if (TCPago < TC)
+ {
+ CveConceptoDiferenciaCambiaria = 64;
+ IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaGananciaCambiaria;
+ TipoMovto = true;
+ Importe = (Importe * TC) - (Importe * TCPago);
+ }
+ ImporteMN = Importe;
+
+ if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Ref, CveConceptoDiferenciaCambiaria, Conc, DateTime.Now, IdCtaContableDiferenciaCambiaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero()))
+ MsgError = "No se pudo insertar concepto de diferencia cambiaria";
+ }
- if (ImporteComisionMN > 0)
+ if (ImporteComisionMN > 0 && MsgError == "")
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoComision, ImporteComision, Ref, 255, Conc, DateTime.Now, IdCtaContableOtrosGastos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComisionMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero()))
{
@@ -477,10 +481,10 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
}
}
- if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 30, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMNBanco, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos";
+ if (MsgError == "" && !ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 30, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMNBanco, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos";
//movimiento de ajuste por sino se aplicó en el proceso anterior
- if (CveMonedaPago != 1 && UsaComplementaria )
+ if (MsgError == "" && CveMonedaPago != 1 && UsaComplementaria )
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 204, Conc, DateTime.Now, IDCtaContableBancosComplementario, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos complementaria";
@@ -499,7 +503,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
tCveConceptoOtIngresos = 64; TipoMovtoOt = true;
}
- if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOt, Dif.Abs(), Ref, tCveConceptoOtIngresos, Conc, DateTime.Now, 0, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: Dif.Abs(), ImporteME: Dif.Abs(), TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero()))
+ if (MsgError == "" && !ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOt, Dif.Abs(), Ref, tCveConceptoOtIngresos, Conc, DateTime.Now, 0, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: Dif.Abs(), ImporteME: Dif.Abs(), TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de ajuste en redondeo";
}
@@ -517,7 +521,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
}
//VALIDA QUE CUADRE LA PREPOLIZA
- if (ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5))
+ if (MsgError == "" && ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5))
{
if (ObjMov.ValorPolizaDescuadre > 0)
{
diff --git a/Bancos/PopIECompras.aspx b/Bancos/PopIECompras.aspx
index 571213489..68b5d172c 100644
--- a/Bancos/PopIECompras.aspx
+++ b/Bancos/PopIECompras.aspx
@@ -237,7 +237,7 @@
-
@@ -308,7 +308,7 @@
-
@@ -379,7 +379,7 @@
-
diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb
index b9eaf92c1..565f5c4bf 100644
--- a/Bancos/PopIECompras.aspx.vb
+++ b/Bancos/PopIECompras.aspx.vb
@@ -2,8 +2,7 @@
Option Strict On
Imports System.Data
-Imports Extensiones
-
+Imports Extensiones
Partial Class Bancos_PopIECompras
Inherits ClsPaginas
#Region "Propiedades"
@@ -129,13 +128,8 @@ Partial Class Bancos_PopIECompras
Get
Return ViewState("IdCtaProveedorExtranjera").ToString.ToEntero
End Get
- End Property
-
- Private ReadOnly Property CveCuentaProveedorExtranjera As Integer
- Get
- Return ViewState("CveCuentaProveedorExtranjera").ToString.ToEntero
- End Get
- End Property
+ End Property
+
Private ReadOnly Property IdCtaContRetIVA As Integer
Get
Return ViewState("IdCtaContRetIVA").ToString.ToEntero
@@ -145,12 +139,8 @@ Partial Class Bancos_PopIECompras
Get
Return ViewState("IdCtaContRetISR").ToString.ToEntero
End Get
- End Property
- Private ReadOnly Property IdCtaAnticipo As Integer
- Get
- Return ViewState("IdCtaAnticipo").ToString.ToEntero
- End Get
- End Property
+ End Property
+
Private ReadOnly Property IdCtaContRetIVAAcreditable As Integer
Get
Return ViewState("IdCtaContRetIVAAcreditable").ToString.ToEntero
@@ -160,14 +150,6 @@ Partial Class Bancos_PopIECompras
Get
Return ViewState("IdCtaContRetISRAcreditable").ToString.ToEntero
End Get
- End Property
- Private Property CveCuentaBancaria As Integer
- Get
- Return ViewState("CveCuentaBancaria").ToString.ToEntero
- End Get
- Set(value As Integer)
- ViewState("CveCuentaBancaria") = value
- End Set
End Property
Private Property CveMoneda As Integer
@@ -202,6 +184,15 @@ Partial Class Bancos_PopIECompras
ViewState("MovimientoPagar") = value
End Set
End Property
+
+ Private Property CompraActual As Compra
+ Get
+ Return CType(ViewState("CompraActual"), Compra)
+ End Get
+ Set(value As Compra)
+ ViewState("CompraActual") = value
+ End Set
+ End Property
Private Property ArrIE As ArrayList
Get
Return CType(ViewState("ArrIE"), ArrayList)
@@ -217,15 +208,8 @@ Partial Class Bancos_PopIECompras
Set(value As ArrayList)
ViewState("ArrIEFuncionariosEmpleados") = value
End Set
- End Property
- Private Property DTFuenteRecaudacion As DataTable
- Get
- Return CType(ViewState("DTFuenteRecaudacion"), DataTable)
- End Get
- Set(value As DataTable)
- ViewState("DTFuenteRecaudacion") = value
- End Set
- End Property
+ End Property
+
Private Property DTFuncionarioEmpleado As DataTable
Get
Return CType(ViewState("DTFuncionarioEmpleado"), DataTable)
@@ -233,15 +217,8 @@ Partial Class Bancos_PopIECompras
Set(value As DataTable)
ViewState("DTFuncionarioEmpleado") = value
End Set
- End Property
- Private Property EmpresaPrueba As Boolean
- Get
- Return CBool(ViewState("EmpresaPrueba"))
- End Get
- Set(value As Boolean)
- ViewState("EmpresaPrueba") = value
- End Set
- End Property
+ End Property
+
Private Property NombreProveedor As String
Get
Return ViewState("NombreProveedor").ToString
@@ -325,12 +302,8 @@ Partial Class Bancos_PopIECompras
Get
Return ViewState("IdCtaContRetIVACliente").ToString.ToEntero
End Get
- End Property
- Private ReadOnly Property IdCtaContRetISRCliente As Integer
- Get
- Return ViewState("IdCtaContRetISRCliente").ToString.ToEntero
- End Get
- End Property
+ End Property
+
Private ReadOnly Property IdCtaContComplementariaCliente As Integer
Get
Return ViewState("IdCtaContComplementariaCliente").ToString.ToEntero
@@ -340,47 +313,6 @@ Partial Class Bancos_PopIECompras
Get
Return ViewState("IdCtaContMonedaExtranjeraCliente").ToString.ToEntero
End Get
- End Property
-
- Private Property CveCuentaCliente As Integer
- Get
- If ViewState("CveCuentaCliente") Is Nothing Then
- Return -1
- Else
- Return ViewState("CveCuentaCliente").ToString.ToEntero
- End If
- End Get
- Set(value As Integer)
- ViewState("CveCuentaCliente") = value
- End Set
- End Property
- Private Property OriReferenciaCIE As String
- Get
- If ViewState("OriReferenciaCIE") Is Nothing Then
- Return ""
- Else
- Return ViewState("OriReferenciaCIE").ToString
- End If
-
-
- End Get
- Set(value As String)
- ViewState("OriReferenciaCIE") = value
- End Set
- End Property
-
- Private Property OriConceptoCIE As String
- Get
- If ViewState("OriConceptoCIE") Is Nothing Then
- Return ""
- Else
- Return ViewState("OriConceptoCIE").ToString
- End If
-
- End Get
- Set(value As String)
- ViewState("OriConceptoCIE") = value
- End Set
End Property
Private Property NotificarA As String
@@ -449,8 +381,8 @@ Partial Class Bancos_PopIECompras
Private Sub Bancos_PopIECompras_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
- If Not UsuarioActual.Empresa.UsaAC Then
- EmpresaPrueba = True
+ If Not UsuarioActual.Empresa.UsaAC Then
+
ViewState("IdCtaContMonedaExtranjera") = 0
ViewState("IdCtaContComplementaria") = 0
ViewState("IdCtaContRetIVA") = 0
@@ -675,6 +607,31 @@ Partial Class Bancos_PopIECompras
MovimientoPagar.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal
MovimientoPagar.IVAPorPagar = dr("IVAPorPagar").ToString.ToDecimal
+ CompraActual = New Compra
+ CompraActual.CveCompra = CveCompra
+ CompraActual.CveTipoConceptoProveedor = dr("CveTipoConcepto").ToString.ToEntero
+ CompraActual.CveProveedor = dr("CveProveedor").ToString.ToEntero
+ CompraActual.CveMoneda = dr("CveMoneda").ToString.ToEntero
+ CompraActual.Fecha = dr("Fecha").ToString.ToDate
+ CompraActual.SerieFolio = dr("SerieFolio").ToString
+ CompraActual.ProveedorNombre = TxtPagueseA.Text
+ CompraActual.TC = dr("TipoCambio").ToString.ToDecimal
+ CompraActual.Total = dr("Total").ToString.ToDecimal
+ CompraActual.IVA = dr("IVA").ToString.ToDecimal
+ CompraActual.IVADeducible = dr("IVADeducible").ToString.ToDecimal.RoundSQL
+ CompraActual.IVANoDeducible = dr("IVANoDeducible").ToString.ToDecimal.RoundSQL
+ CompraActual.IEPS = dr("IEPS").ToString.ToDecimal
+ CompraActual.RetIVA = dr("RetIVA").ToString.ToDecimal
+ CompraActual.RetISR = dr("RetISR").ToString.ToDecimal
+ CompraActual.CveConceptoRetISR = dr("CveRetIVAConcepto").ToString.ToEntero
+ CompraActual.CveConceptoRetIVA = dr("CveRetISRConcepto").ToString.ToEntero
+ CompraActual.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal
+ CompraActual.UsuarioActual = UsuarioActual
+ CompraActual.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero
+ CompraActual.IdCtaContableProv = CtaProveedor
+ CompraActual.IdCtaContableProvComplementaria = IdCtaProveedorExtranjera
+ CompraActual.EsImportacion = CBool(dr("EsImportacion"))
+
If Validada Then
TxtFolio.Enabled = True
TxtFechaDocumento.Enabled = True
@@ -847,33 +804,26 @@ Partial Class Bancos_PopIECompras
Protected Sub CargaVentas(Optional CveMoneda As Integer = 1)
- Dim ObjCliente As New ClsClientes
Dim ObjMovtos As New ClsMovimientos
- Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", String.Format("RFC = '{0}'", RFCProveedor)).ToEntero
+ Dim dtc As DataTable = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("RFC = '{0}'", RFCProveedor))
+ If dtc IsNot Nothing AndAlso dtc.Rows.Count = 1 Then
+ Dim CveCliente As Integer = dtc.Rows(0)("CveCliente").ToString.ToEntero
+ ViewState("IdCuentaCliente") = dtc.Rows(0)("IdCtaContClientes")
+ ViewState("IdCtaContRetIVACliente") = dtc.Rows(0)("IdCtaContRetIVA")
+ ViewState("IdCtaContRetISRCliente") = dtc.Rows(0)("IdCtaContRetISR")
+ ViewState("IdCtaContComplementariaCliente") = dtc.Rows(0)("IdCtaContComplementaria")
+ ViewState("IdCtaContMonedaExtranjeraCliente") = dtc.Rows(0)("IdCtaContMonedaExtranjera")
- If ObjMovtos.GetCxCClienteDetalle(CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, -1) Then
+ If ObjMovtos.GetCxCClienteDetalle(CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, -1) Then
- GvVentas.DataSource = ObjMovtos.DtResultados.FiltraParametros($" Saldo > 0 AND CveVenta > 0 AND CveMoneda = {CveMoneda}")
+ GvVentas.DataSource = ObjMovtos.DtResultados.FiltraParametros($" Saldo > 0 AND CveVenta > 0 AND CveMoneda = {CveMoneda}")
+ End If
End If
+
ObjMovtos.Dispose()
GvVentas.DataBind()
-
- If CveCliente > 0 Then
- If ObjCliente.GetClientes(CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
- ViewState("IdCuentaCliente") = ObjCliente.IdCtaContClientes
- ViewState("IdCtaContRetIVACliente") = ObjCliente.IdCtaContRetIVA
- ViewState("IdCtaContRetISRCliente") = ObjCliente.IdCtaContRetISR
- ViewState("IdCtaContComplementariaCliente") = ObjCliente.IdCtaContComplementaria
- ViewState("IdCtaContMonedaExtranjeraCliente") = ObjCliente.IdCtaContMonedaExtranjera
-
- End If
- End If
-
-
-
- ObjCliente.Dispose()
UpDatos.Update()
End Sub
@@ -953,15 +903,15 @@ Partial Class Bancos_PopIECompras
If DdlTipoTransaccion.SelectedValue.Contiene("2", "9", "17") Then ' transferencias y layout
trCuentaDeposito.Visible = False
-
- Dim Dep As New ClsGenerales
- If Dep.GetCuentasDepositos(CveProveedor:=CveProveedor) Then
+ Dim dtc As DataTable = GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor)
+
+ If dtc IsNot Nothing Then
If DdlTipoTransaccion.SelectedValue = "9" Then
- DdlCuentaDeposito.DataSource = Dep.DtResultados.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'")
+ DdlCuentaDeposito.DataSource = dtc.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'")
- If Dep.DtResultados.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'").Rows.Count > 0 Then
+ If dtc.FiltraParametros("EstatusPagoElectronico = 'True' AND Estatus ='True'").Rows.Count > 0 Then
trCuentaDeposito.Visible = True
DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1"))
Else
@@ -971,9 +921,8 @@ Partial Class Bancos_PopIECompras
DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1"))
ElseIf DdlTipoTransaccion.SelectedValue = "17" Then
-
- If Dep.DtResultados.Rows.Count > 0 Then
- DdlCuentaDeposito.DataSource = Dep.DtResultados
+ If dtc.Rows.Count > 0 Then
+ DdlCuentaDeposito.DataSource = dtc
trCuentaDeposito.Visible = True
BtnGuardar.ToolTip = ""
Else
@@ -983,13 +932,12 @@ Partial Class Bancos_PopIECompras
End If
-
UpGuardar.Update()
DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1"))
Else
- DdlCuentaDeposito.DataSource = Dep.DtResultados.FiltraParametros("Estatus ='True'")
- If Dep.DtResultados.Rows.Count > 0 Then
+ DdlCuentaDeposito.DataSource = dtc.FiltraParametros("Estatus ='True'")
+ If dtc.Rows.Count > 0 Then
trCuentaDeposito.Visible = True
DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione una cuenta", "-1"))
End If
@@ -1008,17 +956,16 @@ Partial Class Bancos_PopIECompras
UpGuardar.Update()
- End If
- Dep.Dispose()
-
+ End If
+
DdlCuentaDeposito.DataBind()
Else
trCuentaDeposito.Visible = False
DdlCuentaDeposito.Items.Clear()
'TrReferenciaCIE.Visible = False
- End If
- 'RecargaGlobalCuentasBancarias()
+ End If
+
UpCuentaDeposito.Update()
End Sub
@@ -1037,8 +984,6 @@ Partial Class Bancos_PopIECompras
LblPagueseA.Text = "Beneficiario"
End Select
-
-
CargaCuentas()
CargaCuentasDepositos()
UpDatos.Update()
@@ -1375,9 +1320,6 @@ Partial Class Bancos_PopIECompras
#Region "G U A R D A R"
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
-
-
-
Dim FechaFactura As Date = FechaCompra
Dim FechaDocumentoPago As Date = TxtFechaDocumento.Text.ToDate
@@ -1395,111 +1337,30 @@ Partial Class Bancos_PopIECompras
Exit Sub
End If
-
-
'VALIDACION PARA LOS IMPORTES CUANDO SE QUIERE PAGAR EN DIFERENTE MONEDA
If Not Page.IsValid Then
Exit Sub
End If
- Dim Dep As New ClsGenerales
- If Dep.GetCuentasDepositos(CveProveedor:=CveProveedor) Then
- Dim Row = Dep.DtResultados.FiltroPrimero(String.Format("CveCuentaDeposito = {0}", DdlCuentaDeposito.SelectedValue.ToEntero))
+ Dim dtc As DataTable = GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero)
+
+ If dtc IsNot Nothing Then
+ Dim Row = dtc.FiltroPrimero("")
If Row IsNot Nothing AndAlso Row("Estatus").ToString = "False" Then
- Alert("La cuenta depósito del proveedor esta inactiva.", TipoMensaje.MsgAdvertencia)
- Dep.Dispose()
+ Alert("La cuenta depósito del proveedor esta inactiva.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
- End If
- Dep.Dispose()
-
- Dim MsgError As String = ""
- Dim CveConcepto As Integer = -1
- Dim CveConcepto2 As Integer = -1
- Dim CvePersonal As Integer = -1
- Dim Inserta As Boolean = True
- Dim ImportePagado As Decimal = 0
- Dim TipoMovimiento As Boolean = False
- Dim PorcentajePago As Decimal = 0
- Dim CveProveedor2 As Integer = CveProveedor
- Dim Fecha As Date = TxtFechaDocumento.Text.Trim.ToDate
- Dim CompraSaldo As Decimal = 0
- If Not EmpresaPrueba Then CveIE = -1
-
- Select Case RBLContado.SelectedValue
- Case "1" ' Bancos
- ImportePagado = TxtImporte.Text.Trim.ToDecimal
- Fecha = TxtFechaDocumento.Text.Trim.ToDate
- TipoMovimiento = True
- Case "2" 'FyE
+ End If
- ImportePagado = TxtImporte.Text.Trim.ToDecimal
- Fecha = TxtFechaDocumento.Text.Trim.ToDate
- CveConcepto = 29
- CveIE = DDlCheques.SelectedValue.ToEntero
-
- If Not CveIE > 0 Then
- Alert("No se encontro movimientos bancarios de perosonal", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- Dim saldo As Double = DtCheques.Rows(DDlCheques.SelectedIndex)("Saldo").ToString.ToDecimal
-
- If TxtImporte.Text.ToDecimal > saldo Then
- Alert("El importe no debe de superar el saldo del cheque seleccionado.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- TipoMovimiento = True
- Dim stringPersonal As String = DdlFuncionarioEmpleado.SelectedItem.ToString
- CvePersonal = DdlFuncionarioEmpleado.SelectedValue.ToEntero
- Case "3" 'Ingresos X Comprobar
- ImportePagado = TxtImporte.Text.Trim.ToDecimal
- Case "4" 'Deudores Diversos
- ImportePagado = TxtImporte.Text.Trim.ToDecimal
- CveConcepto = 17
- CveConcepto2 = 37
- CveIE = -1
- CveProveedor2 = DdlDeudor.SelectedValue.ToEntero
- Case "5" 'Acreedores Diversos
- ImportePagado = TxtImporte.Text.Trim.ToDecimal
- CveConcepto = 17
- CveConcepto2 = 56
- CveProveedor2 = DdlAcreedor.SelectedValue.ToEntero
- CveIE = -1
- 'verifica que se halla selccionado algun acreedor
- If DdlAcreedor.SelectedValue.ToEntero <= 0 Then
- Inserta = False
- Alert("Debe especificar el Acreedor.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
- Case "6" 'Ventas
- ImportePagado = TxtImporte.Text.Trim.ToDecimal
- CveProveedor2 = CveProveedor
- CveIE = -1
- Case Else
- ImportePagado = 0
- End Select
-
- If ImportePagado <= 0 Then
- Inserta = False
+ Dim ImportePagado As Decimal = TxtImporte.Text.ToDecimal
+ If ImportePagado <= 0 Then
Alert("Debe ingresar un importe.", TipoMensaje.MsgAdvertencia)
Exit Sub
- End If
-
- If CveCompra > 0 Then
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
-
- Dim ObjCompra As New ClsCompras()
-
- If ObjCompra.GetComprasSaldos(CveCompra) Then
- CompraSaldo = ObjCompra.DtResultados(0)("Saldo").ToString.ToDecimal
- End If
- ObjCompra.Dispose()
-
- End If
- End If
-
+ End If
+
+ Dim MsgError As String = ""
+ Dim CveProveedor2 As Integer = CveProveedor
+ Dim Fecha As Date = TxtFechaDocumento.Text.Trim.ToDate
Dim ObjIE As New ClsBancos()
Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
Dim CvePlantillaPoliza As Integer = 2
@@ -1527,1708 +1388,177 @@ Partial Class Bancos_PopIECompras
Dim CvePrePoliza As Integer = ObjMov.AddPrePolizas("Bancos/PopIECompras", CvePlantillaPoliza, ImportePagado, ImportePagado, CveMoneda, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=CveTipoPoliza)
+ Dim Pago As New CompraPago
+ Pago.Fecha = TxtFechaDocumento.Text.ToDate
+ Pago.CveMonedaPago = CveMoneda
+ ImportePagado = TxtImporte.Text.Trim.ToDecimal
+ 'Tipos de cambio
+ If Pago.CveMonedaPago = 1 AndAlso CompraActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos
+ Pago.TCPago = TxtTipoCambio.Text.ToDecimal
+ ElseIf Pago.CveMonedaPago = 2 AndAlso CompraActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES
+ Pago.TCPago = TxtTipoCambio.Text.ToDecimal
+ ElseIf Pago.CveMonedaPago = 2 AndAlso CompraActual.CveMoneda = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
+ Pago.TCPago = TxtTipoCambio.Text.ToDecimal
+ End If
- If Inserta Then
- If CvePrePoliza > 0 Then
- 'SE AGREGA DETALLE DE UNA COMPRA
- If CveCompra > 0 Then
- If EmpresaPrueba Then
- PorcentajePago = 100
- 'SE AGREGA DETALLE CUANDO ES UNA COMPRA
-
- If MovimientoPagar IsNot Nothing Then
- Dim tipoCambioPago As Decimal = 1
- Dim tipoCambioCompra As Decimal = 1
- Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:
"
- Dim idCuentaContabilizacion As Long = 1
- Dim CuentasContablesInvalidas As New StringBuilder
- Dim CveCuentaContabilizacion As Long = 1
- Dim CuentasContablesInvalidasSIG As New StringBuilder
-
- Dim FechaPago As Date = TxtFechaDocumento.Text.ToDate()
- 'VERIFICA SI SE ESTA PAGANDO EN EL MISMO MES DE LA FACTURA
- Dim PagoMismoMes As Boolean = True
- If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso (FechaDocumento < FechaPago) AndAlso ((FechaDocumento.Month < FechaPago.Month AndAlso FechaDocumento.Year = FechaPago.Year) OrElse (FechaDocumento.Year < FechaPago.Year)) Then
- PagoMismoMes = False
- End If
- Dim TCUltimaFluctuacion As Decimal = 1
-
- 'Tipos de cambio segun metodo de pago
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then 'Si la venta viene en Pesos y se va a pagar en Pesos
- tipoCambioPago = 1
- tipoCambioCompra = 1
- PorcentajePago = ImportePagado.ToString.ToDecimal / MovimientoPagar.Total
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos
- tipoCambioPago = TxtTipoCambio.Text.ToDecimal
- tipoCambioCompra = TipoCambioOriginal
- PorcentajePago = (ImportePagado.ToString.ToDecimal / tipoCambioPago) / MovimientoPagar.Total
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES
- tipoCambioPago = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToString.ToDecimal
- tipoCambioCompra = TipoCambioOriginal
- PorcentajePago = ImportePagado.ToString.ToDecimal / MovimientoPagar.Total
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
- tipoCambioPago = TxtTipoCambio.Text.ToDecimal
- tipoCambioCompra = 1
- PorcentajePago = ImportePagado.ToString.ToDecimal / MovimientoPagar.Total
- End If
+ If TxtComision.Text.ToDecimal <> 0 Then Pago.OtroGastoIngreso = TxtComision.Text.ToDecimal Else Pago.OtroGastoIngreso = 0
- Dim UltimaFluctuacion = GlobalTipoCambioUltimaFluctuacion(TxtFechaDocumento.Text.ToDate)
- If UltimaFluctuacion IsNot Nothing Then
- If UltimaFluctuacion.FechaFluctuacion < TxtFechaDocumento.Text.ToDate Then
- TCUltimaFluctuacion = UltimaFluctuacion.TCFluctuacion
- End If
- End If
-
- Select Case RBLContado.SelectedValue
- Case "1" ' Banco
- CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, TxtFolio.Text.Trim, TxtPagueseA.Text.Trim, ImportePagado, CveMoneda, tipoCambioPago, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), CveCuentaDeposito:=CveCuentaDeposito, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), ConceptoCIE:=If(TxtConceptoCIE.Text.Trim.Length > 0, TxtConceptoCIE.Text, "-1"))
- If CveIE > 0 Then
- CveConcepto = 17
- Else
- MsgError = "Ocurrio un Error al registrarse el movimiento bancario."
- Inserta = False
- End If
- Case "2" ' F Y E
-
- Case Else
+ Select Case RBLContado.SelectedValue
+ Case "1" ' Bancos
+ CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, TxtFolio.Text.Trim, TxtPagueseA.Text.Trim, ImportePagado, CveMoneda, 15.55, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), CveCuentaDeposito:=CveCuentaDeposito, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), ConceptoCIE:=If(TxtConceptoCIE.Text.Trim.Length > 0, TxtConceptoCIE.Text, "-1"))
+ If Not CveIE > 0 Then
+ MsgError = "Ocurrio un Error al registrarse el movimiento bancario."
+ End If
+ 'Importe de pago
+ Pago.ImportePago = ImportePagado
+ Pago.CveIE = CveIE
- CveIE = -1
-
- End Select
-
- If DdlOtrosPagos.SelectedValue = "2" AndAlso TxtComision.Text.ToDecimal > 0 Then
- 'Agrego el movimiento a Comisiones
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, TxtComision.Text.ToDecimal, TxtObservaciones.Text, 78, TxtObservaciones.Text, Fecha, 0, -1, CveIE, CveCompra, -1, -1, If(ViewState("CveCliente") IsNot Nothing, ViewState("CveCliente").ToString.ToEntero, -1)) Then
- MsgError = "Detalle"
- End If
- End If
-
- 'inserto las compras que voy a pagar
- If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then
- For Each Row As DataRow In ObjMov.DtResultados.Rows
-
-
- Dim CveSubProyectoInsertar As Integer = -1
- Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero
- If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
- If ConceptoContable.Contiene(14, 19) AndAlso CveCompra > 0 Then
- If EsImportacion Then
- If ConceptoContable = 14 Then
- ConceptoContable = 287
- Else
- ConceptoContable = 288
- End If
+ 'If DivTarjeta.Visible AndAlso DdlTarjeta.SelectedValue.ToEntero > 0 Then
+ ' Dim ObjCreditos As New ClsBancos
+ ' ObjCreditos.GetTarjetasCreditos(DdlCuenta.SelectedValue.ToEntero, DdlTarjeta.SelectedValue.ToEntero)
+ ' If ObjCreditos.DtResultados.Rows.Count > 0 AndAlso (ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero > 0 Or ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjetaSIG").ToString.ToEntero > 0) Then
+ ' IdCtaContable = ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero
+ ' Else
+ ' IdCtaContable = CtaProveedor
+ ' End If
+ ' ObjCreditos.Dispose()
+ ' Else
+ ' IdCtaContable = IdCuentaBancaria
+ ' End If
- End If
- End If
- End If
- TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
- Dim ImporteMovimiento As Decimal = 0
- Dim ImporteMX As Decimal = 0
- Dim ImporteMovimientoNoDeducible As Decimal = 0
- Dim ImporteMXNoDeducible As Decimal = 0
- Dim IdCtaContable As Integer = 0
- Dim ConceptoMovimiento = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, NombreProveedor, TxtObservaciones.Text, TxtFolio.Text.Trim)
- Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
- Dim TimpocambioGeneral As Decimal = 1
- Dim PorcentajeImpuesto As Decimal = 0
-
- Select Case ConceptoContable
-
- Case 17 'Pago Proveedores
-
- If CveTipoConcepto = 2 Then ConceptoContable = 308 'cuando es acreedor
- If CveMoneda <> 1 Then
- Select Case ConceptoContable
- Case 17
- ConceptoContable = 312
- Case 308
- ConceptoContable = 309
- Case Else
- End Select
- End If
-
- Dim CveConceptoContableComplementaria As Integer = 206
- If CveTipoConcepto = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor
-
- If RBLContado.SelectedValue.Contiene("3", "4", "5", "6") Then
- For Each rw As GridViewRow In GvIngresos.Rows
- If rw.FCCheckBox("Chk").Checked Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / tipoCambioPago
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal * tipoCambioPago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
-
- CveIE = rw.DataKey("CveIE").ToString.ToEntero
- If CveMonedaCompra <> 1 Then
- 'si la factura es en dólares y trae complementaria, el importemn debe ser igual al importe
- If IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119 Then
- ImporteMX = ImporteMovimiento
- End If
- IdCtaContable = IdCtaProveedorExtranjera
- Else
- IdCtaContable = CtaProveedor
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioCompra) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- If CveMonedaCompra <> 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then
- IdCtaContable = IdCtaContComplementaria
- If ImporteMovimiento <> 0 Then
- Dim ImporteMN As Decimal = (ImporteMovimiento * tipoCambioCompra - ImporteMovimiento).RoundSQL
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMN, ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioCompra) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- ImporteMX = ImporteMovimiento
- IdCtaContable = IdCtaProveedorExtranjera
- End If
- End If
- Next
-
- For Each rw As GridViewRow In GvDeudores.Rows
- If rw.FCCheckBox("Chk").Checked Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / tipoCambioPago
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal * tipoCambioPago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
-
- CveIE = rw.DataKey("CveIE").ToString.ToEntero
- If CveMonedaCompra <> 1 Then
- 'si la factura es en dólares y trae complementaria, el importemn debe ser igual al importe
- If IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119 Then
- ImporteMX = ImporteMovimiento
- End If
- IdCtaContable = IdCtaProveedorExtranjera
- Else
- IdCtaContable = CtaProveedor
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- If CveMonedaCompra <> 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then
- IdCtaContable = IdCtaContComplementaria
- If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- ImporteMX = ImporteMovimiento
- IdCtaContable = IdCtaProveedorExtranjera
- End If
- End If
- Next
-
- For Each rw As GridViewRow In GvAcreedores.Rows
- If rw.FCCheckBox("Chk").Checked Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / tipoCambioPago
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal * tipoCambioPago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- CveIE = rw.DataKey("CveIE").ToString.ToEntero
- If CveMonedaCompra <> 1 Then
- 'si la factura es en dólares y trae complementaria, el importemn debe ser igual al importe
- If IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119 Then
- ImporteMX = ImporteMovimiento
- End If
- IdCtaContable = IdCtaProveedorExtranjera
- Else
- IdCtaContable = CtaProveedor
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- '123456789
- If CveMonedaCompra <> 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then
- IdCtaContable = IdCtaContComplementaria
- If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- ImporteMX = ImporteMovimiento
- IdCtaContable = IdCtaProveedorExtranjera
- End If
- End If
- Next
-
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / tipoCambioPago
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal * tipoCambioPago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- If CveMonedaCompra <> 1 Then
- 'si la factura es en dólares y trae complementaria, el importemn debe ser igual al importe
- If IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119 Then
- ImporteMX = ImporteMovimiento
- End If
- IdCtaContable = IdCtaProveedorExtranjera
- Else
- IdCtaContable = CtaProveedor
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, 275, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, rw.DataKey("CveVenta").ToEntero, CveCompra, -1, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- If CveMonedaCompra = 2 Then
- IdCtaContable = IdCtaContComplementaria
- If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, rw.DataKey("CveVenta").ToEntero, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- ImporteMX = ImporteMovimiento
- IdCtaContable = IdCtaProveedorExtranjera
- End If
- End If
- Next
-
- ImporteMovimiento = 0
- Else
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal / tipoCambioPago
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal * tipoCambioPago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- End If
-
- If CveMonedaCompra = 1 Then
- IdCtaContable = CtaProveedor
- Else
- IdCtaContable = IdCtaContComplementaria
- If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion) - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- ImporteMX = ImporteMovimiento
- IdCtaContable = IdCtaProveedorExtranjera
- End If
- End If
- Case 15 'Ret IVA X Acreditar Honorarios/Serv. Prof.
-
- If MovimientoPagar.ConceptoRetIVA > 0 Then
- Dim Funcionalidad As Integer = 0
- If MovimientoPagar.ConceptoRetIVA = 1 Then
- Funcionalidad = 307
- ConceptoContable = 15
- ElseIf MovimientoPagar.ConceptoRetIVA = 2 Then
- Funcionalidad = 309
- ConceptoContable = 183
- ElseIf MovimientoPagar.ConceptoRetIVA = 3 Then
- Funcionalidad = 311
- ConceptoContable = 185
- ElseIf MovimientoPagar.ConceptoRetIVA = 4 Then
- Funcionalidad = 313
- ConceptoContable = 248
- ElseIf MovimientoPagar.ConceptoRetIVA = 5 Then
- Funcionalidad = 577
- ConceptoContable = 285
- End If
-
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = tipoCambioCompra
-
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
-
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If IdCtaContRetIVA > 0 Then
- IdCtaContable = IdCtaContRetIVA
- ElseIf UsuarioActual.Empresa.Funcionalidad(307).ToEntero > 0 Then
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(307).ToEntero
- Else
- If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
-
- End If
- Case 22 'Ret IVA Acreditable Honorarios/Serv. Prof.
- If MovimientoPagar.ConceptoRetIVA > 0 Then
- Dim Funcionalidad As Integer = 0
- If MovimientoPagar.ConceptoRetIVA = 1 Then
- Funcionalidad = 308
- ConceptoContable = 22
- ElseIf MovimientoPagar.ConceptoRetIVA = 2 Then
- Funcionalidad = 310
- ConceptoContable = 184
- ElseIf MovimientoPagar.ConceptoRetIVA = 3 Then
- Funcionalidad = 312
- ConceptoContable = 186
- ElseIf MovimientoPagar.ConceptoRetIVA = 4 Then
- Funcionalidad = 314
- ConceptoContable = 249
- ElseIf MovimientoPagar.ConceptoRetIVA = 5 Then
- Funcionalidad = 578
- ConceptoContable = 286
- End If
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.RetIVA * PorcentajePago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
-
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetIVAAcreditable > 0 Then
- IdCtaContable = IdCtaContRetIVAAcreditable
- ElseIf UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero > 0 Then
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(Funcionalidad).ToEntero
- Else
- If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- End If
-
- Case 16 'Ret ISR X Acreditar
- If MovimientoPagar.ConceptoRetISR > 0 Then
- Dim funcionalidad As Integer = 0
- If MovimientoPagar.ConceptoRetISR = 1 Then
- funcionalidad = 315
- ConceptoContable = 16
- ElseIf MovimientoPagar.ConceptoRetISR = 2 Then
- funcionalidad = 317
- ConceptoContable = 243
- ElseIf MovimientoPagar.ConceptoRetISR = 3 Then
- funcionalidad = 348
- ConceptoContable = 327
- End If
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = tipoCambioCompra
-
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetISR > 0 Then
- IdCtaContable = IdCtaContRetISR
- ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero
- Else
- If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- End If
-
- Case 23 'Ret ISR Acreditable
- If MovimientoPagar.ConceptoRetISR > 0 Then
- Dim funcionalidad As Integer = 0
- If MovimientoPagar.ConceptoRetISR = 1 Then
- funcionalidad = 316
- ConceptoContable = 23
- ElseIf MovimientoPagar.ConceptoRetISR = 2 Then
- funcionalidad = 318
- ConceptoContable = 244
- ElseIf MovimientoPagar.ConceptoRetISR = 3 Then
- funcionalidad = 348
- ConceptoContable = 328
- End If
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetISRAcreditable > 0 Then
- IdCtaContable = IdCtaContRetISRAcreditable
- ElseIf UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero > 0 Then
- IdCtaContable = UsuarioActual.Empresa.Funcionalidad(funcionalidad).ToEntero
- Else
- If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
-
- End If
-
- Case 14 'Iva por Acreditar
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- 'funcionalidad que toma el 100% del pago para acreditamiento de iva
- Dim TotalImporte As Decimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- End If
-
- If TotalImporte = CompraSaldo Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IVA
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = MovimientoPagar.IVA
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IVA
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = MovimientoPagar.IVA
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = tipoCambioCompra
-
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
- Else
- ImporteMovimiento = 0
- ImporteMX = 0
- End If
- Else
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- 'ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago
- ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
- End If
-
- PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA
- Dim IdCtaIVAXAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
-
- IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0)
-
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero
- End If
- End If
- End If
-
-
-
- Case 19 'Iva Acreditable
-
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- 'funcionalidad que toma el 100% del pago para acreditamiento de iva
- Dim TotalImporte As Decimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- End If
-
- If TotalImporte = CompraSaldo Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IVADeducible
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
- Else
- ImporteMovimiento = 0
- ImporteMX = 0
- End If
-
- Else
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago).RoundSQL
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
- End If
-
- If MovimientoPagar.IVANoDeducible.ToString.ToDecimal > 0 Then
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- 'funcionalidad que toma el 100% del pago para acreditamiento de iva
- Dim TotalImporte As Decimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- End If
-
- If TotalImporte = CompraSaldo Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimientoNoDeducible = ImporteMovimientoNoDeducible.RoundSQL
- ImporteMXNoDeducible = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}"
- Else
- ImporteMovimientoNoDeducible = 0
- ImporteMXNoDeducible = 0
- End If
-
- Else
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible * PorcentajePago
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimientoNoDeducible = ImporteMovimientoNoDeducible.RoundSQL
- ImporteMXNoDeducible = ImporteMXNoDeducible.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}"
- End If
- End If
-
- PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA
- Dim IdCtaIVAXAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
- Dim IdCtaContableNoIVA As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- IdCtaContableNoIVA = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero
- End If
-
- IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0)
-
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
- End If
- End If
-
- If MovimientoPagar.IVANoDeducible > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto, CveSubProyecto:=CveSubProyecto) Then
- MsgError = "No se pudo insertar la póliza"
- Else
- ImporteMovimiento = 0
- ImporteMX = 0
- End If
- End If
-
- Case 287 'Iva por Acreditar
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- 'funcionalidad que toma el 100% del pago para acreditamiento de iva
- Dim TotalImporte As Decimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- End If
-
- If TotalImporte = CompraSaldo Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IVA
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = MovimientoPagar.IVA
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IVA
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = MovimientoPagar.IVA
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = tipoCambioCompra
-
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
- Else
- ImporteMovimiento = 0
- ImporteMX = 0
- End If
- Else
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IVA * PorcentajePago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
- End If
-
- PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA
- Dim IdCtaIVAXAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- End If
-
- IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0)
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero
- End If
- End If
-
- Case 288 'Iva Acreditable
-
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- 'funcionalidad que toma el 100% del pago para acreditamiento de iva
- Dim TotalImporte As Decimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- End If
-
- If TotalImporte = CompraSaldo Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IVADeducible
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
- Else
- ImporteMovimiento = 0
- ImporteMX = 0
- End If
-
- Else
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago).RoundSQL
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
- End If
-
- If MovimientoPagar.IVANoDeducible.ToString.ToDecimal > 0 Then
- If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
- 'funcionalidad que toma el 100% del pago para acreditamiento de iva
- Dim TotalImporte As Decimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- TotalImporte = ImportePagado.ToString.ToDecimal
- End If
-
- If TotalImporte = CompraSaldo Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimientoNoDeducible = ImporteMovimientoNoDeducible.RoundSQL
- ImporteMXNoDeducible = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}"
- Else
- ImporteMovimientoNoDeducible = 0
- ImporteMXNoDeducible = 0
- End If
-
- Else
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimientoNoDeducible = MovimientoPagar.IVANoDeducible * PorcentajePago
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimientoNoDeducible = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ImporteMXNoDeducible = ImporteMovimientoNoDeducible * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimientoNoDeducible = ImporteMovimientoNoDeducible.RoundSQL
- ImporteMXNoDeducible = ImporteMXNoDeducible.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimientoNoDeducible.FormatoNumero(2)}"
- End If
- End If
-
- PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA
- Dim IdCtaIVAXAcreditar As Integer = 0
- Dim IdCtaIVAAcreditable As Integer = 0
- Dim IdCtaContableNoIVA As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero
- IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
- IdCtaContableNoIVA = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVANoAcreditable").ToString.ToEntero
- End If
-
- IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0)
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
- End If
- End If
-
- If MovimientoPagar.IVANoDeducible > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then
- MsgError = "No se pudo insertar la póliza"
-
- End If
- End If
-
- Case 25 'IEPS por Acreditar
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IEPS * PorcentajePago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = tipoCambioCompra
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero
- End If
- End If
- Case 26 'IEPS Acreditable
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = MovimientoPagar.IEPS * PorcentajePago
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago)
- ImporteMX = ImporteMovimiento * tipoCambioCompra
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = (MovimientoPagar.IEPS * PorcentajePago)
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditable").ToString.ToEntero
- End If
- End If
- Case 64 'Ganancia
-
- CveSubProyectoInsertar = CveSubProyecto
-
- If CveSubProyectoInsertar <= 0 Then
- MsgError = "No se pudo obtener el sub proyecto o centro de costo"
- End If
-
-
- If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then
- IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
- Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- TimpocambioGeneral = TCImpuestos
- Dim tipoCambioCompraValuacion As Decimal = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- '' si tiene funcionalidad de flucturación con ivas, tomar tipocambioCompra
- If tipoCambioPago < tipoCambioCompra AndAlso CveMonedaCompra = 2 Or (CveMonedaCompra = 2 AndAlso UsuarioActual.CveEmpresa = 119 AndAlso PagoMismoMes = False AndAlso tipoCambioPago < TCUltimaFluctuacion) Then
- ImporteMovimiento = ((MovimientoPagar.Total * PorcentajePago) * tipoCambioPago) - ((MovimientoPagar.Total * PorcentajePago) * tipoCambioCompraValuacion) 'Añadimos la diferencia de ganancia en la venta
- ImporteMovimiento -= ((MovimientoPagar.IVA * PorcentajePago) * TCImpuestos) - ((MovimientoPagar.IVA * PorcentajePago) * tipoCambioCompra) 'Añadimos la diferencia de ganancia en el IVA
- ImporteMovimiento += ((MovimientoPagar.RetIVA * PorcentajePago) * TCImpuestos) - ((MovimientoPagar.RetIVA * PorcentajePago) * tipoCambioCompra) 'Añadimos la diferencia de ganancia en el RetIVA
- ImporteMovimiento += ((MovimientoPagar.RetISR * PorcentajePago) * TCImpuestos) - ((MovimientoPagar.RetISR * PorcentajePago) * tipoCambioCompra) 'Añadimos la diferencia de ganancia en el RetISR
- ImporteMovimiento -= ((MovimientoPagar.IEPS * PorcentajePago) * TCImpuestos) - ((MovimientoPagar.IEPS * PorcentajePago) * tipoCambioCompra) 'Añadimos la diferencia de ganancia en el IEPS
- ImporteMovimiento = Math.Abs(ImporteMovimiento.RoundSQL)
- ImporteMX = ImporteMovimiento
- End If
- Else
- ImporteMovimiento = 0
- End If
- Case 65 'Perdida
-
- CveSubProyectoInsertar = CveSubProyecto
-
- If CveSubProyectoInsertar <= 0 Then
- MsgError = "No se pudo obtener el sub proyecto o centro de costo"
- End If
-
- If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then
- IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
- Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- Dim tipoCambioCompraValuacion As Decimal = If(PagoMismoMes, tipoCambioCompra, TCUltimaFluctuacion)
- '' si tiene funcionalidad de flucturación con ivas, tomar tipocambioCompra
-
- If tipoCambioPago > tipoCambioCompra AndAlso CveMonedaCompra = 2 Or (CveMonedaCompra = 2 AndAlso UsuarioActual.CveEmpresa = 119 AndAlso PagoMismoMes = False AndAlso tipoCambioPago > TCUltimaFluctuacion) Then
- ImporteMovimiento = ((MovimientoPagar.Total * PorcentajePago) * tipoCambioCompraValuacion) - ((MovimientoPagar.Total * PorcentajePago) * tipoCambioPago) 'Añadimos la diferencia de perdida en la venta
- ImporteMovimiento -= ((MovimientoPagar.IVA * PorcentajePago) * tipoCambioCompra) - ((MovimientoPagar.IVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IVA
- ImporteMovimiento += ((MovimientoPagar.RetIVA * PorcentajePago) * tipoCambioCompra) - ((MovimientoPagar.RetIVA * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetIVA
- ImporteMovimiento += ((MovimientoPagar.RetISR * PorcentajePago) * tipoCambioCompra) - ((MovimientoPagar.RetISR * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el RetISR
- ImporteMovimiento -= ((MovimientoPagar.IEPS * PorcentajePago) * tipoCambioCompra) - ((MovimientoPagar.IEPS * PorcentajePago) * TCImpuestos) 'Añadimos la diferencia de ganancia en el IEPS
- ImporteMovimiento = Math.Abs(ImporteMovimiento.RoundSQL)
- ImporteMX = ImporteMovimiento
- End If
- Else
- ImporteMovimiento = 0
- End If
- Case 30 'Bancos
- If RBLContado.SelectedValue = "1" Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = tipoCambioPago
-
- If CveMoneda = 1 Then
- If DivTarjeta.Visible AndAlso DdlTarjeta.SelectedValue.ToEntero > 0 Then
- Dim ObjCreditos As New ClsBancos
- ObjCreditos.GetTarjetasCreditos(DdlCuenta.SelectedValue.ToEntero, DdlTarjeta.SelectedValue.ToEntero)
- If ObjCreditos.DtResultados.Rows.Count > 0 AndAlso (ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero > 0 Or ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjetaSIG").ToString.ToEntero > 0) Then
- IdCtaContable = ObjCreditos.DtResultados.Rows(0)("IdCtaContableTarjeta").ToString.ToEntero
- Else
- IdCtaContable = CtaProveedor
- End If
- ObjCreditos.Dispose()
- Else
- IdCtaContable = IdCuentaBancaria
- End If
- Else
- IdCtaContable = IdCuentaBancariaComplementaria
- If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, 204, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, -1, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * tipoCambioPago - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- ImporteMX = ImporteMovimiento
- IdCtaContable = IdCuentaBancaria
- End If
- End If
-
-
- End If
- Case 92 'Ingresos X Comprobar
- If RBLContado.SelectedValue = "3" Then
- For Each rw As GridViewRow In GvIngresos.Rows
- If rw.FCCheckBox("Chk").Checked Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- CveIE = rw.DataKey("CveIE").ToString.ToEntero
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, CveCliente:=rw.DataKey("CveProveedor").ToString.ToEntero, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- Next
- End If
- ImporteMovimiento = 0
- Case 41 'Acreedores
- If RBLContado.SelectedValue = "5" Then
- For Each rw As GridViewRow In GvAcreedores.Rows
- If rw.FCCheckBox("Chk").Checked Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- CveIE = rw.DataKey("CveIE").ToString.ToEntero
-
- ConceptoContable = If(CveMoneda <> 1, 346, 56)
-
- IdCtaContable = CtaProveedorAcreedores
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- Next
- End If
- ImporteMovimiento = 0
- Case 29 'Funcionario y Empleados
- If RBLContado.SelectedValue = "2" Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = ImportePagado.ToString.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
- TimpocambioGeneral = tipoCambioPago
- IdCtaContable = GlobalDTRHPersonal(UsuarioActual.CveEmpresa, CvePersonal:=CvePersonal).FiltroPrimeroValor("IdCtaContPersonal", "").ToEntero
-
- Else
- ImporteMovimiento = 0
- End If
- Case 37 'Deudores
- If RBLContado.SelectedValue = "4" Then
- For Each rw As GridViewRow In GvDeudores.Rows
- If rw.FCCheckBox("Chk").Checked Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- CveIE = rw.DataKey("CveIE").ToString.ToEntero
- IdCtaContable = CtaProveedorDeudores
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- Next
- End If
- ImporteMovimiento = 0
- Case 2 'Pago Cliente
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- If rw.DataKey("CveMoneda").ToEntero = 1 Then
- IdCtaContable = IdCuentaCliente
- Else
- ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
- IdCtaContable = IdCtaContComplementariaCliente
- If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then
- ImporteMX = ImporteMovimiento
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, 207, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, rw.DataKey("CveVenta").ToString.ToEntero, CveCompra, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, ImporteMX:=(ImporteMovimiento * tipoCambioPago - ImporteMovimiento).RoundSQL, ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- IdCtaContable = IdCtaContMonedaExtranjeraCliente
- End If
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=tipoCambioPago) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- Next
- End If
- ImporteMovimiento = 0
- Case 8 'Ret IVA VENTA
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetIVACliente <> 0 Then
- IdCtaContable = IdCtaContRetIVACliente
- Else
- If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
- If ImporteMovimiento > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
- Next
- ImporteMovimiento = 0
- End If
- Case 9 'Ret ISR VENTA
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetISR <> 0 Then
- IdCtaContable = IdCtaContRetISR
- Else
- If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
-
- If ImporteMovimiento > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
- Next
- ImporteMovimiento = 0
- End If
- Case 13 'IVA VENTA
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- PorcentajeImpuesto = rw.DataKey("PorcentajeIVA").ToDecimal
- Dim IdCtaIVAXTrasladar As Integer = 0
- Dim IdCtaIVATrasladado As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXTrasladar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXTrasladar").ToString.ToEntero
- IdCtaIVATrasladado = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVATrasladado").ToString.ToEntero
- End If
-
- IdCtaContable = If(IdCtaIVAXTrasladar > 0, IdCtaIVAXTrasladar, UsuarioActual.Empresa.IdCuentaIVAxTrasladar)
-
- If ImporteMovimiento > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal, PorcentajeImpuesto:=PorcentajeImpuesto) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
- Next
- ImporteMovimiento = 0
- End If
- Case 61 'Iva Trasladado VENTA
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, rw.DataKey("TipoCambio").ToString.ToDecimal)
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("IVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, rw.DataKey("TipoCambio").ToString.ToDecimal)
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- PorcentajeImpuesto = rw.DataKey("PorcentajeIVA").ToDecimal
-
- Dim IdCtaIVAXTrasladar As Integer = 0
- Dim IdCtaIVATrasladado As Integer = 0
-
- If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
- IdCtaIVAXTrasladar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXTrasladar").ToString.ToEntero
- IdCtaIVATrasladado = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVATrasladado").ToString.ToEntero
- End If
-
- IdCtaContable = If(IdCtaIVATrasladado > 0, IdCtaIVATrasladado, UsuarioActual.Empresa.IdCuentaIVATrasladado)
-
- If ImporteMovimiento > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, rw.DataKey("TipoCambio").ToString.ToDecimal), PorcentajeImpuesto:=PorcentajeImpuesto) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
- Next
- ImporteMovimiento = 0
- End If
- Case 38 'IEPS por trasladar VENTA
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * rw.DataKey("TipoCambio").ToString.ToDecimal
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- IdCtaContable = UsuarioActual.Empresa.IdCuentaIEPSxTrasladar
-
- If ImporteMovimiento > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
- Next
- ImporteMovimiento = 0
- End If
- Case 39 'IEPS Trasladado VENTA
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("IEPS").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- IdCtaContable = UsuarioActual.Empresa.IdCuentaIEPSTrasladado
-
- If ImporteMovimiento > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
- Next
- ImporteMovimiento = 0
- End If
- Case 62 'Ret IVA Trasladado VENTA
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("RetIVA").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetIVA <> 0 Then
- IdCtaContable = IdCtaContRetIVA
- Else
- If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetIVACirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
-
-
- If ImporteMovimiento > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
- Next
- ImporteMovimiento = 0
- End If
- Case 63 'Ret ISR Trasladado VENTA
- If RBLContado.SelectedValue = "6" Then
- For Each rw As GridViewRow In GvVentas.Rows
- If rw.FCCheckBox("Chk").Checked Then
- Dim PorcentajePagoVenta = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal / rw.DataKey("Total").ToString.ToDecimal
-
- If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * tipoCambioPago
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento
- ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ImporteMovimiento = rw.DataKey("RetISR").ToString.ToDecimal * PorcentajePagoVenta
- ImporteMX = ImporteMovimiento * tipoCambioPago
- End If
- ImporteMovimiento = ImporteMovimiento.RoundSQL
- ImporteMX = ImporteMX.RoundSQL
-
- If UsuarioActual.Empresa.TipoContabilidad = 2 Then
- 'Conta ContPAQ
- If IdCtaContRetISR <> 0 Then
- IdCtaContable = IdCtaContRetISR
- Else
- If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- If ObjMov.DtResultados.Rows.Count > 0 Then
- IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero
- End If
- End If
- End If
- End If
-
-
- If ImporteMovimiento > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, TxtObservaciones.Text, ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, -1, CveCompra:=CveCompra, CveVenta:=rw.DataKey("CveVenta").ToString.ToEntero, CveCliente:=rw.DataKey("CveCliente").ToString.ToEntero, CvePersonal:=CvePersonal, ImporteMX:=ImporteMX, TipoCambio:=rw.DataKey("TipoCambio").ToString.ToDecimal) Then
- MsgError = "No se pudo insertar la póliza"
- End If
- End If
- End If
- Next
- ImporteMovimiento = 0
- End If
- Case Else
- ImporteMovimiento = 0
- End Select
-
- If ImporteMovimiento <> 0 AndAlso MsgError = "" Then
- 'Conta ContPAQ
- If IdCtaContable = 0 Then
- CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
- idCuentaContabilizacion = 0
- End If
-
- ''Conta SIG
- 'If CveCuenta = 0 Then
- ' CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
- ' CveCuentaContabilizacion = 0
- 'End If
-
-
-
-
-
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, CveSubProyecto:=CveSubProyectoInsertar, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then
- MsgError = "No se pudo insertar la póliza"
- End If
-
- End If
- Next
-
-
- If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then
- If ObjMov.ValorPolizaDescuadre > 0 Then
- MsgError = ObjMov.MensajePolizaDescuadre
- GuardaLogAD($"Bancos/PopIECompras | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- End If
- End If
-
- 'Conta ContPAQ
- If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso MsgError = "" Then
- If idCuentaContabilizacion > 0 Then
- If ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
- IdPoliza = ObjMov.ContaIdPoliza
- Else
- Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico")
- End If
- Else
- Alert(String.Format("No se puede contabilizar la Prepoliza debido a que las siguientes cuentas son invalidas: {0}", CuentasContablesInvalidas))
- End If
- End If
- End If
- End If
- End If
+ If MsgError = "" AndAlso AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then
+ MsgError = "No se pudo insertar la póliza"
End If
- Else
- MsgError = "No se pudo insertar la póliza"
- End If
- Else
- MsgError = "No se insertó el encabezado"
- End If
+ Case "2" 'FyE
+
+ CveIE = DDlCheques.SelectedValue.ToEntero
+
+ If Not CveIE > 0 Then
+ Alert("No se encontro movimientos bancarios de personal", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+
+ Dim saldo As Decimal = DtCheques.Rows(DDlCheques.SelectedIndex)("Saldo").ToString.ToDecimal
+
+ If TxtImporte.Text.ToDecimal > saldo Then
+ Alert("El importe no debe de superar el saldo del cheque seleccionado.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+ Pago.ImportePago = ImportePagado
+ Pago.CveIE = CveIE
+ Pago.TipoPago = "Per"
+ Pago.CvePersonal = DdlFuncionarioEmpleado.SelectedValue.ToEntero
+
+ If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+ 'AGREGO PREPOLIZA FyE
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, TxtObservaciones.Text, 29, TxtObservaciones.Text, TxtFechaDocumento.Text.ToDate, -1, -1, CvePersonal:=Pago.CvePersonal, CveIE:=CveIE, ImporteMX:=Pago.ImportePago) Then
+ MsgError = "Error al registrar detalle de concepto bancario"
+ End If
+
+ Case "3" 'Ingresos X Comprobar
+ ImportePagado = TxtImporte.Text.Trim.ToDecimal
+ Pago.ImportePago = ImportePagado
+ For Each rw As GridViewRow In GvIngresos.Rows
+ If rw.FCCheckBox("Chk").Checked Then
+ CveIE = rw.DataKey("CveIE").ToEntero
+ Pago.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero
+ Pago.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
+ Pago.TCPago = rw.DataKey("TipoCambio").ToDecimal
+
+ If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+ End If
+ Next
+
+ Case "4" 'Deudores Diversos
+ 'verifica que se halla selccionado algun acreedor
+ If DdlDeudor.SelectedValue.ToEntero <= 0 Then
+ Alert("Debe especificar el deudor.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ For Each rw As GridViewRow In GvDeudores.Rows
+ If rw.FCCheckBox("Chk").Checked AndAlso rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal <> 0 Then
+ Pago.CveIE = rw.DataKey("CveIE").ToEntero
+ Pago.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero
+ Pago.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
+ Pago.TCPago = rw.DataKey("TipoCambio").ToDecimal
+ Pago.CveProveedor = DdlDeudor.SelectedValue.ToEntero
+ Pago.TipoPago = "DD"
+ If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+ End If
+ Next
+
+ Case "5" 'Acreedores Diversos
+ 'verifica que se halla selccionado algun acreedor
+ If DdlAcreedor.SelectedValue.ToEntero <= 0 Then
+ Alert("Debe especificar el Acreedor.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ For Each rw As GridViewRow In GvDeudores.Rows
+ If rw.FCCheckBox("Chk").Checked AndAlso rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal <> 0 Then
+ Pago.CveIE = rw.DataKey("CveIE").ToEntero
+ Pago.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero
+ Pago.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
+ Pago.TCPago = rw.DataKey("TipoCambio").ToDecimal
+ Pago.CveProveedor = DdlDeudor.SelectedValue.ToEntero
+ Pago.TipoPago = "DD"
+ If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+ End If
+ Next
+
+ Case "6" 'Ventas
+
+ For Each rw As GridViewRow In GvVentas.Rows
+ If rw.FCCheckBox("Chk").Checked AndAlso rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal <> 0 Then
+
+ Pago.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero
+ Pago.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
+ Pago.TCPago = rw.DataKey("TipoCambio").ToDecimal
+ Pago.CveProveedor = DdlAcreedor.SelectedValue.ToEntero
+ Pago.CveVentaRelacionada = rw.DataKey("CveVenta").ToEntero
+ Pago.TipoPago = "Venta"
+ If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+
+ If MsgError = "" Then
+ Dim VentaActual As New Venta With {.CveVenta = rw.DataKey("CveVenta").ToEntero, .CveCliente = rw.DataKey("CveCliente").ToEntero, .IVA = rw.DataKey("IVA").ToDecimal, .IEPS = rw.DataKey("IEPS").ToDecimal, .RetIVA = rw.DataKey("RetIVA").ToDecimal, .RetISR = rw.DataKey("RetISR").ToDecimal, .Total = rw.DataKey("Total").ToDecimal, .PorcentajeIVA = rw.DataKey("PorcentajeIVA").ToDecimal}
+ Dim PagoVenta As New VentaPago
+
+ PagoVenta.CveMonedaPago = rw.DataKey("CveMoneda").ToEntero
+ PagoVenta.ImportePago = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
+ PagoVenta.TCPago = rw.DataKey("TipoCambio").ToDecimal
+ PagoVenta.CveCompraRelacionada = CompraActual.CveCompra
+ PagoVenta.TipoPago = "XX"
+ If AplicaPrePolizaPagoVenta(VentaActual, PagoVenta, CvePrePoliza, ObjMov) Then
+ MsgError = "No se pudo insertar la póliza"
+ End If
+ End If
+ End If
+ Next
+
+ Case Else
+ ImportePagado = 0
+ End Select
+
+ If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then
+ If ObjMov.ValorPolizaDescuadre > 0 Then
+ MsgError = ObjMov.MensajePolizaDescuadre
+ GuardaLogAD($"Bancos/PopIECompras | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ End If
+ End If
+
If MsgError = "" Then
ObjIE.Commit()
Dim StrMsg As New StringBuilder
@@ -3389,45 +1719,28 @@ Partial Class Bancos_PopIECompras
Protected Sub DdlCuentaDeposito_SelectedIndexChanged(sender As Object, e As EventArgs)
- Dim Dep As New ClsGenerales
-
- If Dep.GetCuentasDepositos(CveProveedor:=CveProveedor, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero) AndAlso Dep.DtResultados.Rows.Count = 1 Then
-
- If Dep.DtResultados.Rows.Count > 0 Then
-
- If Dep.DtResultados.Rows(0)("TieneCIE").ToString.ToEntero = 1 Then
-
- TrReferenciaCIE.Visible = True
-
- TxtReferenciaCIE.Text = Dep.DtResultados.Rows(0)("Referencia").ToString
- TxtConceptoCIE.Text = Dep.DtResultados.Rows(0)("ConceptoCIE").ToString
-
- OriReferenciaCIE = Dep.DtResultados.Rows(0)("Referencia").ToString
- OriConceptoCIE = Dep.DtResultados.Rows(0)("ConceptoCIE").ToString
-
- Else
- TrReferenciaCIE.Visible = False
- End If
-
-
- If Boolean.Parse(Dep.DtResultados.Rows(0)("EstatusPagoElectronicoGrupos").ToString) = True AndAlso Dep.DtResultados.Rows(0)("CveSATBanco").ToString.ToEntero <= 0 Then
-
- Alert("Es necesario establecer el banco de la cuenta deposito", TipoMensaje.MsgAdvertencia)
- BtnGuardar.Enabled = False
-
- Else
- BtnGuardar.Enabled = True
- End If
+ Dim dtc As DataTable = GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, CveProveedor:=CveProveedor, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero)
+ If dtc IsNot Nothing AndAlso dtc.Rows.Count = 1 Then
+ If dtc.Rows(0)("TieneCIE").ToString.ToEntero = 1 Then
+ TrReferenciaCIE.Visible = True
+ TxtReferenciaCIE.Text = dtc.Rows(0)("Referencia").ToString
+ TxtConceptoCIE.Text = dtc.Rows(0)("ConceptoCIE").ToString
+ 'OriReferenciaCIE = dtc.Rows(0)("Referencia").ToString
+ 'OriConceptoCIE = dtc.Rows(0)("ConceptoCIE").ToString
Else
TrReferenciaCIE.Visible = False
End If
+ If Boolean.Parse(dtc.Rows(0)("EstatusPagoElectronicoGrupos").ToString) = True AndAlso dtc.Rows(0)("CveSATBanco").ToString.ToEntero <= 0 Then
+ Alert("Es necesario establecer el banco de la cuenta deposito", TipoMensaje.MsgAdvertencia)
+ BtnGuardar.Enabled = False
+ Else
+ BtnGuardar.Enabled = True
+ End If
Else
TrReferenciaCIE.Visible = False
End If
-
- Dep.Dispose()
UpCuentaDeposito.Update()
UpGuardar.Update()
End Sub
diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index d3d5c0112..61cb8d5fe 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -2864,7 +2864,7 @@
-
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index dd5ed58af..7612ad07c 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -8736,6 +8736,7 @@ Partial Class Compras_Compras
Pago.OtroGastoIngreso = ImporComisionAnticipo
Pago.CveMonedaPago = CveMonedaAnticipo
Pago.TCPago = TipoCambioAnt
+ Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
Select Case gvr.DataKey("TipoDocto")
Case "NC", "DEV"
@@ -8750,6 +8751,7 @@ Partial Class Compras_Compras
CveConceptoCompraComplementaria = 266
IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera)
IdCtaContableComp = CtaProveedorAnticiposComplementaria
+
'vinculo la compra actual, y no la compra como si fuera nota de credito
CveCompraNC = -1
CveIE = gvr.DataKey("CveIE").ToEntero
diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb
index 2c538f4b3..18e714c79 100644
--- a/Inventarios/EntradasSalidas.aspx.vb
+++ b/Inventarios/EntradasSalidas.aspx.vb
@@ -3941,12 +3941,12 @@ Partial Class Inventarios_EntradasSalidas
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
End If
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto) Then
- ErrorMovInv = True
- Exit For
- End If
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto, Contabilizable:=Contabilizable) Then
+ ErrorMovInv = True
+ Exit For
+ End If
- Next
+ Next
End If
End If
End If
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb
index b1237c243..e9ddbbfe0 100644
--- a/Inventarios/RecepcionAlmacen.aspx.vb
+++ b/Inventarios/RecepcionAlmacen.aspx.vb
@@ -1478,7 +1478,7 @@ Partial Class Inventarios_RecepcionAlmacen
e.Row.FCCheckBox("cbInv").Enabled = True
If UsuarioActual.TienePermisoProceso(345) Then 'carga la cantidad con el rol AD
- e.Row.FCTextBox("TbCantidadF").Text = e.Row.DBCampo("CantidadF").FormatoNumero
+ e.Row.FCTextBox("TbCantidadF").Text = e.Row.DBCampo("CantidadF").ToDecimal().ToString("{#,###.##}")
End If
End If
End If
diff --git a/Nomina/Finiquito.aspx.cs b/Nomina/Finiquito.aspx.cs
index 9c54bca1d..7e940ecd9 100644
--- a/Nomina/Finiquito.aspx.cs
+++ b/Nomina/Finiquito.aspx.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Linq;
+using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
@@ -1105,18 +1106,32 @@ public partial class Nomina_Finiquito : ClsPaginas
}
else
{
- bool continuar = false;
+ bool continuar = true;
using (ClsRH ObjPersonal = new ClsRH())
using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL()))
{
- if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, UsuarioActual.CveUsuario, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), DdlTipoPeriodo.SelectedValue.ToEntero(), DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked, TxtObservaciones.Text) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
+ onom.ValidaFechaFinPersonal(CvePersonal, UsuarioActual.CveEmpresa, TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"));
+ if (onom.DtResultados.Rows.Count > 0)
+ {
+ continuar = false;
+ StringBuilder strbuild = new StringBuilder();
+ strbuild.Append("No es posible guardar el finiquito ya que existen asistencias posteriores a la fecha fin con nominas autorizadas, es necesario desautorizar la siguientes nominas para reintentar el proceso.");
+ foreach (DataRow drow in onom.DtResultados.Rows)
+ {
+ strbuild.AppendFormat("
{0}", drow["PeriodoTexto"]);
+ }
+ Alert(strbuild.ToString(), TipoMensaje.MsgAdvertencia);
+ }
+
+ if (continuar && ObjPersonal.UpPersonalAltas(CvePersonal, UsuarioActual.CveUsuario, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), DdlTipoPeriodo.SelectedValue.ToEntero(), DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked, TxtObservaciones.Text) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
{
DataRow da = ObjPersonal.DtResultados.Rows[0];
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero();
// Alert(string.Format("{0}: {1}", CvePeriodoIndemnizacion, CvePeriodoFiniquito));
}
+ else { continuar = false; }
if (continuar)
{
continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa, diasindemnizacion: Txtdiasindemnizacion.Text.ToEntero());
@@ -1160,7 +1175,7 @@ public partial class Nomina_Finiquito : ClsPaginas
dtempleadosConceptos = null;
dtempleados = null;
LnkAutorizar.Visible = true;
- if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal,Neto:1) && objnom.DTSetResultados.Tables.Count > 1)
+ if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal, Neto: 1) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
LnkAutorizar.Visible = (dtempleados.COUNT("CvePersonal", "NomAutorizado =0") > 0);
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb
index 5e406b45c..e42e70e54 100644
--- a/RH/Personal.aspx.vb
+++ b/RH/Personal.aspx.vb
@@ -5783,7 +5783,7 @@ Partial Class RH_Personal
ViewState("FilesMoveimgNew") = filemove
End If
End If
- ViewState("Archivo") = String.Format("{0}.{1}", CvePersonal.ToString(), FileExtension)
+ ViewState("Archivo") = String.Format("{0}.{1}", CvePersonal.ToString(), FileExtension)
Next
If File.Exists(UsuarioActual.Empresa.Ruta & "RH\Personal\" & CvePersonal & "." & FileExtension) Then
Dim LogoRutaFisica As String = String.Format("Empresas\{0}\RH\Personal\{1}.{2}", UsuarioActual.CveEmpresa, CvePersonal, FileExtension)
@@ -7480,9 +7480,28 @@ Partial Class RH_Personal
End If
End If
+ If continuar Then
+
+ Using onom As ClsNominas = New ClsNominas()
+ onom.ValidaFechaFinPersonal(CvePersonal, UsuarioActual.CveEmpresa, fecha.ToString("yyyy/MM/dd"))
+
+ If onom.DtResultados.Rows.Count > 0 Then
+
+ continuar = False
+ Dim strbuild As StringBuilder = New StringBuilder()
+ strbuild.Append("No es posible desactivar con esta fecha ya que existen asistencias posteriores a la fecha fin con nominas autorizadas, es necesario desautorizar la siguientes nominas para reintentar el proceso.")
+
+ For Each drow As DataRow In onom.DtResultados.Rows
+ strbuild.AppendFormat("
{0}", drow("PeriodoTexto"))
+ Next
+ Alert(strbuild.ToString(), TipoMensaje.MsgAdvertencia)
+ End If
+
+ End Using
+ End If
If continuar Then
Using objrh As New ClsRH
- continuar = objrh.estatusPersonalUp(fecha, CvePersonal, estatus, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, DdlMotivoBaja.SelectedValue.ToEntero(),)
+ continuar = objrh.estatusPersonalUp(fecha, CvePersonal, estatus, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, DdlMotivoBaja.SelectedValue.ToEntero(), Txobservacionesbaja.Text)
End Using
End If
diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx
index 4bed83d04..006d047fa 100644
--- a/Ventas/Clientes.aspx
+++ b/Ventas/Clientes.aspx
@@ -3356,8 +3356,9 @@
+
-
+ <%----%>
diff --git a/Ventas/RepLineasAdicionales.aspx b/Ventas/RepLineasAdicionales.aspx
index 8a2cad2c4..54db3adcd 100644
--- a/Ventas/RepLineasAdicionales.aspx
+++ b/Ventas/RepLineasAdicionales.aspx
@@ -122,13 +122,13 @@
-
+
@@ -151,12 +151,12 @@
CssClass="btn btn-circle btn-sm yellow" Text="" OnClick="LnkDescargaComprobante_Click"
ToolTip="Descargar Comprobante" />
-
+
+ ToolTip="Cambiar estatus a Enviado" />
diff --git a/Ventas/RepLineasAdicionales.aspx.cs b/Ventas/RepLineasAdicionales.aspx.cs
index b8328d80a..9f3eedff3 100644
--- a/Ventas/RepLineasAdicionales.aspx.cs
+++ b/Ventas/RepLineasAdicionales.aspx.cs
@@ -244,7 +244,6 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas
FileExtension = System.IO.Path.GetExtension(string.Format(@"{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "");
filemove = fileItem.filename;
RutaArchivoTemp = $@"{AppDomain.CurrentDomain.BaseDirectory}\Temp\{fileItem.filename}";
-
break;
}
@@ -266,8 +265,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas
catch
{
errorCargaComprobante = true;
- }
-
+ }
if (!errorCargaComprobante)
{
ClsVentas objVentas = new ClsVentas();
@@ -295,28 +293,22 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas
{
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
int CveLineaAdicionalActualzarEstatus = GvRow.DataKey("CveLineaAdicional").ToEntero();
- int CveVenta = GvRow.DataKey("CveVenta").ToEntero();
-
+ int CveVenta = GvRow.DataKey("CveVenta").ToEntero();
bool errorCambioEstatus = false;
-
ClsVentas objVentas = new ClsVentas();
-
- if (!objVentas.UpdateVentaLineaAdicional(CveLineaAdicional, CveVenta, "",2,UsuarioActual.CveEmpresa))
+ if (!objVentas.UpdateVentaLineaAdicional(CveLineaAdicional, CveVenta, "", 2, UsuarioActual.CveEmpresa))
{
errorCambioEstatus = true;
}
-
if (!errorCambioEstatus)
{
CargaDatos();
}
objVentas.Dispose();
- }
-
+ }
protected void LnkDescargaExcel_Click(object sender, EventArgs e)
- {
-
+ {
if(TipoLinea == 1)
{
GridView gvTemp = GvLineasAdicionales;
@@ -329,8 +321,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas
gvTemp.Columns[12].Visible = false;
//gvTemp.ExportToExcelX("ReportePO" + DateTime.Now.ToShortDateString());
gvTemp.ExportToExcelGembox( "ReportePO", UsuarioActual, "Reporte PO ", AnchoImagen:150);
- }
-
+ }
}
protected void GvLAPO_RowDataBound(object sender, GridViewRowEventArgs e)
@@ -346,7 +337,11 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas
{
if (e.Row.DataKey("CveLineaAdicional") == "" && e.Row.DataKey("CveCliente") == "")
{
- e.Row.CssClass = "SubTotales2";
+ e.Row.CssClass = "SubTotales2";
+ if (e.Row.DataKey("CveLineaAdicional") == "" && e.Row.DataKey("CveCliente") == "" && e.Row.DataKey("CveProveedor") != "")
+ {
+ e.Row.Cells[0].Text = ""+ e.Row.DBCampo("Proveedor") +"";
+ }
}
else
{
@@ -374,8 +369,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas
LnkDescargaComprobante.Visible = true;
ScriptManager.GetCurrent(this).RegisterPostBackControl(LnkDescargaComprobante);
}
- }
-
+ }
}
}
}
@@ -410,8 +404,7 @@ public partial class Ventas_RepLineasAdicionales : ClsPaginas
//int cveestatus = e.CommandArgument.ToEntero() + 2; //pasar al siguiente estatus
ClsVentas objVentas = new ClsVentas();
-
- if (!objVentas.UpdateLineasAdicionales(CveLineaAdicionalActualizarEstatus, "-1", -1, -1, -1, -1, -1, MinFecha, UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, CveVenta: CveVenta, CveLineaAdicionalEstatus: 2))
+ if (!objVentas.UpdateVentaLineaAdicional(CveLineaAdicional, CveVenta,"", 2, UsuarioActual.CveEmpresa))
{
errorCambioEstatus = true;
}
diff --git a/Ventas/RepVentas.aspx.vb b/Ventas/RepVentas.aspx.vb
index afec7c32d..5fd05be8a 100644
--- a/Ventas/RepVentas.aspx.vb
+++ b/Ventas/RepVentas.aspx.vb
@@ -135,7 +135,7 @@ Partial Class Ventas_RepVentas
DdlGrupo.Items.Insert(2, New ListItem("Año/Mes", "3"))
DdlGrupo.Items.Insert(3, New ListItem("Fecha", "4"))
DdlGrupo.Items.Insert(4, New ListItem("Cliente", "5"))
- DdlGrupo.Items.Insert(4, New ListItem("SubProyecto", "6"))
+ DdlGrupo.Items.Insert(4, New ListItem(LblSubProyecto.Text, "6"))
DdlGrupo.Items.Insert(5, New ListItem("Corte", "16"))
DdlGrupo.Items.Insert(6, New ListItem("Vendedor", "7"))
DdlGrupo.Items.Insert(7, New ListItem("Usuario", "8"))
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx
index 9df8b7f41..d17da5c8e 100644
--- a/Ventas/Ventas.aspx
+++ b/Ventas/Ventas.aspx
@@ -242,8 +242,8 @@
OnClick="LnkAplicarRNCDevolucion_Click" />
-
+
<%--TERMINA: CANCELAR - NC - DEVOLUCION [NEW]--%>
@@ -1675,7 +1675,12 @@
-
+
+
+
+ Almacen
+
+
<%--
@@ -1719,6 +1724,7 @@
+
@@ -9402,6 +9408,7 @@
$('#C_LblDiferenciaCajaBloqueo').val(FormatoNumero(total));
}
+
function CalculaTotalPagoContado() {
var totalEfectivo = ToDouble($get("TxtImporteEfectivo").value);
@@ -9822,6 +9829,10 @@
$('#BtnAplicaNuevaNC').click();
}
+ function CargaMovimientosInventario() {
+ $('#BtnCargarInventario').click();
+ }
+
$('.DdlPS').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); });
$('.DdlPSPyME').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); });
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 456043f51..4e6534939 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -600,7 +600,7 @@ Partial Class Ventas
Return IfNull(ViewState("MailCC"), "").ToString()
End Get
End Property
- Private ReadOnly Property CveVenta As Integer
+ Public ReadOnly Property CveVenta As Integer
Get
Return ViewState("CveVenta").ToString().ToEntero()
End Get
@@ -2078,22 +2078,6 @@ Partial Class Ventas
ViewState("DiasVencidosCliente") = value
End Set
End Property
- Private Property VentaSaldoAlmacen As Decimal
- Get
- Return ViewState("VentaSaldoAlmacen").ToString().ToDecimal
- End Get
- Set(value As Decimal)
- ViewState("VentaSaldoAlmacen") = value
- End Set
- End Property
- Private Property VentaSaldoAlmacenNC As Decimal
- Get
- Return IfNull(ViewState("VentaSaldoAlmacenNC"), 0, ViewState("VentaSaldoAlmacenNC").ToString().ToDecimal()).ToString().ToDecimal()
- End Get
- Set(value As Decimal)
- ViewState("VentaSaldoAlmacenNC") = value
- End Set
- End Property
Private Property SeCancelaRemisionProceso As Boolean
Get
Return CBool(ViewState("SeCancelaRemisionProceso").ToString())
@@ -2816,14 +2800,6 @@ Partial Class Ventas
'End If
'CargaDetalle de Almacen
- If Not LblAlertRefacInv.Visible Then
- If CveVentaPadre > 0 Then
- InventarioMov(CveVentaPadre)
- Else
- InventarioMov()
- End If
- End If
-
'PERMISO PARA CANCELAR PEDIDO
If GvInv.Rows.Count = 0 Then
If DdlTipoComprobante.SelectedValue.Contiene("Ped") And Not CveEstatus = 14 Then
@@ -2867,6 +2843,15 @@ Partial Class Ventas
ViewState("CveOS") = Request("CveOS")
CargaOS(CveOS)
Else
+
+ 'SI ES VENTA NUEVA, NO RECARGAR TAB DE ALMACEN
+ If CveVenta <= 0 Then
+ 'REMOVER EVENTO PARA RECARGAR ALMACEN
+ spanAlmacen.Attributes.Remove("onclick")
+ Tab.ActiveTabIndex = 1
+ Updatetabs.Update()
+ End If
+
'Modalidad Devoluciones y Refacturacion
If Request("CveDevolucion") IsNot Nothing AndAlso IsNumeric(Request("CveDevolucion")) AndAlso Request("CveDevolucion").ToEntero() > 0 Then
ViewState("CveDevolucion") = Request("CveDevolucion")
@@ -3113,7 +3098,7 @@ Partial Class Ventas
'End If
'CargaDetalle de Almacen
- InventarioMov()
+ 'InventarioMov()
If ViewState("CveCotizacion").ToString().ToEntero() > 0 Then
@@ -4594,7 +4579,7 @@ Partial Class Ventas
'CARGA DTs DE VENTAS
If CveVenta > 0 Then
Using ObjVentas As New ClsVentas()
- If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
+ If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then
If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
DbRowVenta = ObjVentas.DtResultados.Copy().Rows(0)
Else
@@ -4772,15 +4757,6 @@ Partial Class Ventas
ViewState("SaldoVenta") = DbRowVenta("Saldo").ToString()
AplicaCancelarRemision = CBool(DbRowVenta("AplicaCancelarRemision").ToString())
If AplicaCancelarRemision AndAlso CveEstatus.Contiene(2, 3) AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then DivCanRem.Visible = True
- VentaSaldoAlmacen = DbRowVenta("SaldoAlmacen").ToString().ToDecimal
-
- If DbRowVenta("TipoDocto").ToString().Contiene("Rem", "Dev") AndAlso VentaSaldoAlmacen <> 0 Then
- ChkDevAlm.Checked = True
- LiDevolucionAlmacen.Visible = True
- If DbRowVenta("TipoDocto").ToString() = "Dev" Then
- LblDevAlm.Text = "Salida de almacen"
- End If
- End If
If CveEstatus = 5 Then LbCancelarDocumento.Enabled = False
@@ -5673,21 +5649,7 @@ Partial Class Ventas
ObjUsados.Dispose()
- Dim SaldoAlmacenExA As Decimal = 0
- 'Dim SaldoAlmacenUsados As Decimal = 0
-
- Using ObjInventarios As New ClsInventarios
- 'VERIFICA SI HACE FALTA DEVOLVER PRODUCTOS Y USADOS EN ESPECIFICO
- If ObjInventarios.GetSaldoVentaDetalleAlmacen(CveVenta, UsuarioActual.CveEmpresa) Then
- SaldoAlmacenExA = ObjInventarios.DtResultados.SUMD("SaldoAlmacen", $"CveTipoAlmacen = 10")
- 'SaldoAlmacenUsados = ObjInventarios.DtResultados.SUMD("SaldoAlmacen", $"CveTipoAlmacen = 22")
- End If
- End Using
-
- 'Si ya se surtió y recibió
- If SaldoAlmacenExA > 0 OrElse TmpDT.MAX("CveTipoPS") = "1" Then
- BtnsFacturar.Visible = True
- End If
+ BtnsFacturar.Visible = True
'VERIFICA SI YA SE FACTURO COMPLETAMENTE
If TmpDT.SUM("CantidadFacturadaRem") = TmpDT.SUM("Cantidad") Then
@@ -7767,7 +7729,6 @@ Partial Class Ventas
If DTFacNC IsNot Nothing AndAlso DTFacNC.Rows.Count > 0 Then
Me.CveEstatusRefacturacion = DTFacNC.Rows(0)("CveEstatusRefacturacion").ToString().ToEntero()
Me.DevolucionAlmacenNC = DTFacNC.Rows(0)("EsDevolucionVenta").ToString().ToEntero()
- Me.VentaSaldoAlmacenNC = DTFacNC.Rows(0)("SaldoAlmacen").ToString().ToDecimal
HdnRFCVenta.Value = DTFacNC.Rows(0)("ClienteRFC").ToString()
End If
Else
@@ -21767,6 +21728,23 @@ Partial Class Ventas
If RefacturarCancelada Then
Response.Redirect($"Ventas.aspx?CveDevolucion={CveVenta}&NuevaFactura=1")
Else
+ 'si es la empresa 119, Candado, no permite refacturar, si no se ha surtido y que no sea refacturación, para que cancele la factura mejor.
+ If UsuarioActual.CveEmpresa = 119 AndAlso LkRefacturacion.Visible AndAlso CveVentaPadre <= 0 Then
+ Dim PermiteRefacturarar As Boolean = True
+ Using ObjInv As New ClsInventarios
+ If ObjInv.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
+ If ObjInv.DtResultados.Rows.Count > 0 Then
+ PermiteRefacturarar = False
+ End If
+ End If
+ End Using
+
+ If Not PermiteRefacturarar Then
+ Alert("La factura no se puede refacturar si no ha sido surtida previamente", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+ End If
+
Dim script As String = ""
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Dev", "Egs") Then
Dim sb As New StringBuilder()
@@ -23541,22 +23519,22 @@ Partial Class Ventas
#Region " INVENTARIO POR ENTREGA"
Private Sub InventarioMov(Optional CveVentaPadre As Integer = -1)
If CveVentaPadre > 0 Then
- Dim ObjVentas As New ClsVentas()
- If ObjVentas.GetVenta(CveVentaPadre, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then
- If ObjVentas.DtResultados.Rows.Count > 0 AndAlso ObjVentas.DtResultados.Rows(0)("TipoDocto").ToString() = "Ing" AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then
- ' Dim CveEstatusRefacturacion As Integer = ObjVentas.DtResultados.Rows(0)("CveEstatusRefacturacion").ToString().ToEntero()
+ Dim RowVentas As DataRow = Nothing
+ Using ObjVentas As New ClsVentas
+ If ObjVentas.GetVenta(CveVentaPadre, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then
+ RowVentas = ObjVentas.DtResultados.Copy().Rows(0)
+ End If
+ End Using
- ' If CveEstatusRefacturacion = 2 Then
- CargaInventario(Me.CveVenta)
- 'End If
-
- Else
+ If RowVentas IsNot Nothing Then
+ If RowVentas("TipoDocto").ToString().Contiene("Ing") AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then
CargaInventario(Me.CveVenta)
End If
End If
- ObjVentas.Dispose()
Else
- CargaInventario(Me.CveVenta)
+ If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Dev") Then
+ CargaInventario(Me.CveVenta)
+ End If
End If
End Sub
Private Sub CargaInventario(CveVenta As Integer)
@@ -23572,14 +23550,6 @@ Partial Class Ventas
End If
ObjInv.Dispose()
- 'si es la empresa 119, Candado, no permite refacturar, si no se ha surtido y que no sea refacturación, para que cancele la factura mejor.
- If UsuarioActual.CveEmpresa = 119 AndAlso LkRefacturacion.Visible AndAlso VentaSaldoAlmacen = 0 And CveVentaPadre <= 0 Then
- LkRefacturacion.Visible = False
- End If
- If UsuarioActual.CveEmpresa = 119 AndAlso CveVenta = 620098 Then
- LkRefacturacion.Visible = True
- End If
-
End Sub
Private Sub CargaGVInv(DtTemporal As DataTable)
@@ -23645,9 +23615,9 @@ Partial Class Ventas
#Region " DEVOLUCION ALMACEN "
Private Sub InicializaDevolucionAlmacen()
- If Not GvInv.Rows.Count > 0 Then
- Exit Sub
- End If
+ 'If Not GvInv.Rows.Count > 0 Then
+ ' Exit Sub
+ 'End If
If CveVenta > 0 AndAlso (SaldoVenta = TxtTotal.Text.ToDecimal OrElse DdlTipoComprobante.SelectedValue = "Dev" OrElse (DdlTipoComprobante.SelectedValue = "Ped" AndAlso TmpDT IsNot Nothing AndAlso TmpDT.COUNT("CveContratoDetalle", "CveContratoDetalle > 0") > 0)) Then 'And (DdlTipoComprobante.SelectedValue.Contiene({"Rem", "Ped"}) Or (DdlTipoComprobante.SelectedValue.Contiene({"Ing"}) And TxtFecha.Text.ToDate.Month = Now.Month And TxtFecha.Text.ToDate.Year = Now.Year)) Then
@@ -23667,17 +23637,17 @@ Partial Class Ventas
LBDevolucionAlmacen.ToolTip = "¿Está seguro de Solicitar la Devolución de Almacén?"
End If
- If VentaSaldoAlmacen < 0 Then
- If DevolucionAlmacen = 0 Then
- LBAplicaDevolucion.Visible = True
- ElseIf DevolucionAlmacen.Contiene(1, 2) Then
- LBAplicaDevolucion.Visible = False
- End If
- ElseIf VentaSaldoAlmacen >= 0 Then
- LBAplicaDevolucion.Visible = False
- End If
+ 'If VentaSaldoAlmacen < 0 Then
+ ' If DevolucionAlmacen = 0 Then
+ ' LBAplicaDevolucion.Visible = True
+ ' ElseIf DevolucionAlmacen.Contiene(1, 2) Then
+ ' LBAplicaDevolucion.Visible = False
+ ' End If
+ 'ElseIf VentaSaldoAlmacen >= 0 Then
+ ' LBAplicaDevolucion.Visible = False
+ 'End If
- If DdlTipoComprobante.SelectedValue = "Dev" AndAlso VentaSaldoAlmacen <> 0 Then
+ If DdlTipoComprobante.SelectedValue = "Dev" Then
LiDevolucionAlmacen.Visible = False
End If
@@ -23687,14 +23657,22 @@ Partial Class Ventas
'UpInvDev.Update()
End Sub
Protected Sub LBDevolucionAlmacen_Click(sender As Object, e As EventArgs)
+ Dim SaldoAlmacen As Decimal = 0
+
Dim ObjVentas As New ClsVentas
- If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then
+ If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=True) Then
If ObjVentas.DtResultados.Rows.Count > 0 Then
Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Rows(0)
Me.DevolucionAlmacen = DbRowVenta("EsDevolucionVenta").ToString().ToEntero()
+ SaldoAlmacen = DbRowVenta("SaldoAlmacen").ToString().ToDecimal()
End If
End If
+ If SaldoAlmacen >= 0 Then
+ Alert("El movimiento ya fue devuelto.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
If Me.DevolucionAlmacen.Contiene(2) Then
InicializaDevolucionAlmacen()
UpnTools.Update()
@@ -24677,10 +24655,10 @@ Partial Class Ventas
End Sub
- Private Sub MostrarCondicionesCancelacion(Optional Extra As String = "")
+ Private Sub MostrarCondicionesCancelacion(Optional Extra As String = "", Optional SaldoAlmacen As Decimal = 0)
Dim SbCondiciones As New StringBuilder()
- If VentaSaldoAlmacen < 0 AndAlso ChkDevAlm.Checked Then
+ If SaldoAlmacen < 0 AndAlso ChkDevAlm.Checked Then
SbCondiciones.Append("*Se realizará una devolución en automatico al realizar la cancelación.")
End If
@@ -24705,11 +24683,9 @@ Partial Class Ventas
Dim sb As New StringBuilder()
Dim sbExtra As New StringBuilder()
- sb.Append("La factura se encuentra en el siguiente estatus del SAT:
")
-
+ sb.Append("La factura se encuentra en el siguiente estatus del SAT:
")
Dim TotalT As Decimal = TxtTotal.Text.ToDecimal
-
Dim RFCReceptor As String = ""
If String.IsNullOrEmpty(Me.RFCReceptorVenta) Then
@@ -24723,6 +24699,36 @@ Partial Class Ventas
RFCReceptor = Me.RFCReceptorVenta
End If
+ Dim SaldoAlmacen As Decimal = 0
+
+ Dim PermiteCancelar As Boolean = True
+ Using ObjVentas As New ClsVentas
+ If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=True) Then
+ If ObjVentas.DtResultados.Rows.Count > 0 Then
+ Dim RowVenta As DataRow = ObjVentas.DtResultados.Rows(0)
+
+ SaldoAlmacen = RowVenta("SaldoAlmacen").ToString().ToDecimal()
+
+ If DdlTipoComprobante.SelectedValue.Contiene("Rem", "Dev") AndAlso SaldoAlmacen <> 0 Then
+ ChkDevAlm.Checked = True
+ LiDevolucionAlmacen.Visible = True
+ If DdlTipoComprobante.SelectedValue = "Dev" Then
+ LblDevAlm.Text = "Salida de almacen"
+ End If
+ End If
+ Else
+ PermiteCancelar = False
+ End If
+ Else
+ PermiteCancelar = False
+ End If
+ End Using
+
+ If Not PermiteCancelar Then
+ Alert("La venta no se puede cancelar si no ha sido surtida previamente", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
Dim SWatch As New Stopwatch
SWatch.Start()
@@ -24827,7 +24833,7 @@ Partial Class Ventas
End If
LblCancelarDocumento.Text = sb.ToString()
- MostrarCondicionesCancelacion(sbExtra.ToString())
+ MostrarCondicionesCancelacion(sbExtra.ToString(), SaldoAlmacen)
RegistraScript("$('#ModalCancelarDocumento').modal();")
UpCancelarDocumento.Update()
@@ -30142,12 +30148,14 @@ Partial Class Ventas
Exit Sub
End If
+ LBAplicaDevolucion.Visible = True
+
'SOLO APLICA DEVOLUCION SI TIENE MOVIMIENTOS DE ALMACEN
- If VentaSaldoAlmacen < 0 Then
- LBAplicaDevolucion.Visible = True
- ElseIf VentaSaldoAlmacen >= 0 Then
- LBAplicaDevolucion.Visible = False
- End If
+ 'If VentaSaldoAlmacen < 0 Then
+ ' LBAplicaDevolucion.Visible = True
+ 'ElseIf VentaSaldoAlmacen >= 0 Then
+ ' LBAplicaDevolucion.Visible = False
+ 'End If
Dim SeEsconde As Boolean = False
@@ -30197,7 +30205,7 @@ Partial Class Ventas
End Sub
Protected Sub BtnAplicaDevolucion_Click(sender As Object, e As EventArgs)
- 'VALIDACIONES
+
Dim Selecciono As Boolean = False
For Each Gv As GridViewRow In GvAplicaDevolucion.Rows
If Gv.FCCheckBox("Chk").Checked And Gv.FCTextBox("TxtCantidadAplicaDevolucion").Text.ToDouble > 0 Then
@@ -32813,6 +32821,11 @@ Partial Class Ventas
DivAdjuntar.Visible = True
End If
+ 'REMOVER EVENTO PARA RECARGAR ALMACEN
+ spanAlmacen.Attributes.Remove("onclick")
+ Tab.ActiveTabIndex = 1
+ Updatetabs.Update()
+
UpnTools.Update()
UpCliente.Update()
@@ -32919,6 +32932,30 @@ Partial Class Ventas
Exit Sub
End If
+ Dim TieneSoloServicios As Boolean = TmpDT.MAX("CveTipoPS") = "1"
+ 'SI ES REMISION Y TIENE PRODUCTOS, DEBE VERIFICAR EL ALMACEN
+ If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso Not TieneSoloServicios AndAlso DdlTipoComprobante.SelectedValue = "Rem" AndAlso TipoDoctoNuevo = "Ing" AndAlso Not TmpDT.MAX("CveTipoPS") = "1" Then
+ Dim SaldoAlmacenExA As Decimal = 0
+ 'Dim SaldoAlmacenUsados As Decimal = 0
+
+ Using ObjInventarios As New ClsInventarios
+ 'VERIFICA SI HACE FALTA DEVOLVER PRODUCTOS Y USADOS EN ESPECIFICO
+ If ObjInventarios.GetSaldoVentaDetalleAlmacen(CveVenta, UsuarioActual.CveEmpresa) Then
+ SaldoAlmacenExA = ObjInventarios.DtResultados.SUMD("SaldoAlmacen", $"CveTipoAlmacen = 10")
+ 'SaldoAlmacenUsados = ObjInventarios.DtResultados.SUMD("SaldoAlmacen", $"CveTipoAlmacen = 22")
+ End If
+ End Using
+
+ 'Si ya se surtió y recibió
+ If SaldoAlmacenExA <= 0 Then
+ BtnsFacturar.Visible = False
+ Alert("No se puede facturar hasta que se haya surtido la remisión", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ End If
+
+
If GvPagos.Rows.Count = 0 And UsuarioActual.Empresa.Funcionalidad(558).ToEntero() = 1 And RBLPago.SelectedValue.ToEntero() = 2 Then
Alert("No se puede facturar hasta que se haya especificado detalladamente la forma de pago", TipoMensaje.MsgAdvertencia)
Else
@@ -36467,8 +36504,8 @@ Partial Class Ventas
End If
Using ObjVentas As New ClsVentas
- If ObjVentas.UpdateVentaLineaAdicional(DdlLineaAdicional.SelectedValue.ToEntero(), Me.CveVenta, UsuarioActual.CveEmpresa) Then
- Alert("Se actualizo la linea adicional de crédito de la venta")
+ If ObjVentas.UpdateVentaLineaAdicional(DdlLineaAdicional.SelectedValue.ToEntero(), CveVenta, "", -1, UsuarioActual.CveEmpresa) Then
+ Alert("Se actualizó la linea adicional de crédito de la venta")
End If
End Using
End Sub
@@ -36488,5 +36525,50 @@ Partial Class Ventas
UpComercioExterior.Update()
End Sub
+ Protected Sub BtnCargarInventario_Click(sender As Object, e As EventArgs)
+ If Not LblAlertRefacInv.Visible Then
+ If CveVentaPadre > 0 Then
+ InventarioMov(CveVentaPadre)
+ Else
+ InventarioMov()
+ End If
+ End If
+
+ 'REMOVER EVENTO PARA RECARGAR ALMACEN
+ spanAlmacen.Attributes.Remove("onclick")
+ Tab.ActiveTabIndex = 1
+ Updatetabs.Update()
+ End Sub
+ Protected Sub LBAplicaDevolucion_Click(sender As Object, e As EventArgs)
+
+ Dim SaldoAlmacen As Decimal = 0
+
+ Dim PermiteCancelar As Boolean = True
+ Using ObjVentas As New ClsVentas
+ If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=True) Then
+ If ObjVentas.DtResultados.Rows.Count > 0 Then
+ Dim RowVenta As DataRow = ObjVentas.DtResultados.Rows(0)
+ SaldoAlmacen = RowVenta("SaldoAlmacen").ToString().ToDecimal()
+ End If
+ End If
+ End Using
+
+ Dim PuedeAplicarDevolucion As Boolean = False
+
+ If SaldoAlmacen < 0 Then
+ If DevolucionAlmacen = 0 Then
+ PuedeAplicarDevolucion = True
+ ElseIf DevolucionAlmacen.Contiene(1, 2) Then
+ Alert("No se puede aplicar una devolución sobre el documento actual", TipoMensaje.MsgAdvertencia)
+ End If
+ ElseIf SaldoAlmacen >= 0 Then
+ Alert("No se puede aplicar una devolución sobre el documento actual", TipoMensaje.MsgAdvertencia)
+ End If
+
+ If PuedeAplicarDevolucion Then
+ RegistraScript("$('#DivAplicaDevolucion').modal('show');")
+ End If
+
+ End Sub
End Class