diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index e124244e4..c8384b872 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -3786,6 +3786,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Prospectos/PopUpBuscarProspectos.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/PopUpCambiaUsuario.aspx".ToUpper(), -1)
+ PaginaDict.Add("/Sistemas/PopUpCambiaUsuarioEmpresa.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/CatDistribuidores.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/CatPlataformas.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/PopUpAddUsuario.aspx".ToUpper(), -1)
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 0ca3ae809..a654c7650 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -1620,7 +1620,7 @@ Public Class ClsVentas
Public Function GetRepPSEcono(CveSubProyecto As Integer, CvePS As Integer, FechaI As Date, FechaF As Date, CveEmpresa As Integer, Optional CveUsuarioConsulta As Integer = -1, Optional GPO As Integer = -1,
Optional CveMoneda As Integer = -1, Optional TipoCambio As Integer = -1, Optional TCEspecifico As Double = 0,
- Optional Clasificacion As String = "-1", Optional Linea As String = "-1", Optional Marca As String = "-1") As Boolean
+ Optional Clasificacion As String = "-1", Optional Linea As String = "-1", Optional Marca As String = "-1", Optional orden As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_RepPSEconoGet")
@@ -1638,6 +1638,7 @@ Public Class ClsVentas
.Add("@Clasificacion", SqlDbType.VarChar).Value = Clasificacion
.Add("@Linea", SqlDbType.VarChar).Value = Linea
.Add("@Marca", SqlDbType.VarChar).Value = Marca
+ .Add("@Orden", SqlDbType.VarChar).Value = orden
End With
Try
diff --git a/App_Code/Usuario.vb b/App_Code/Usuario.vb
index 76c8a15e6..3a6066805 100644
--- a/App_Code/Usuario.vb
+++ b/App_Code/Usuario.vb
@@ -71,6 +71,16 @@ Public Class Usuario
End If
End Get
End Property
+ Private _modoSimulacionXEmpresa As Boolean = False
+ Public Property ModoSimulacionXEmpresa As Boolean
+ Get
+ Return Not ModoSimulacion AndAlso (_modoSimulacionXEmpresa OrElse TienePermisoProceso(308))
+ End Get
+ Set(value As Boolean)
+
+ _modoSimulacionXEmpresa = value
+ End Set
+ End Property
Public Property Sesion(Campo As String) As String
Get
diff --git a/Bancos/FluctuacionCambiaria.aspx b/Bancos/FluctuacionCambiaria.aspx
index 47d0375be..c74d540a3 100644
--- a/Bancos/FluctuacionCambiaria.aspx
+++ b/Bancos/FluctuacionCambiaria.aspx
@@ -145,9 +145,18 @@
diff --git a/Bancos/FluctuacionCambiaria.aspx.vb b/Bancos/FluctuacionCambiaria.aspx.vb
index 00b3f2881..3a522c442 100644
--- a/Bancos/FluctuacionCambiaria.aspx.vb
+++ b/Bancos/FluctuacionCambiaria.aspx.vb
@@ -19,6 +19,7 @@ Partial Class Bancos_FluctuacionCambiaria
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
+ CargarCentrosDeCosto(Nothing, DdlSubproyecto, Nothing, LblSubProyecto)
CargaUltimaFluctuacion()
End If
End Sub
@@ -218,13 +219,19 @@ Partial Class Bancos_FluctuacionCambiaria
End If
ObjBancos.Dispose()
GvFiliales.DataBind()
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region "FLUCTUACION COMPRAS"
-
+
Protected Sub BtnGeneraCompras_Click(sender As Object, e As EventArgs)
+
+ If DdlSubproyecto.SelectedValue.ToEntero < 0 Then
+ Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
Dim Total As Decimal = 0
Dim Conta As New ClsContabilidad
Conta.IniciaTransacSQL()
@@ -245,7 +252,6 @@ Partial Class Bancos_FluctuacionCambiaria
IdCtaGanancia = UsuarioActual.Empresa.IdCuentaGananciaCambiaria '1230
Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias
-
Total = LblTotal.ToDecimal
If Total > 0 Then
CveConceptoContable = 64
@@ -257,8 +263,11 @@ Partial Class Bancos_FluctuacionCambiaria
CveCuenta = CveCuentaPerdida
idCta = idCtaPerdida
TipoMovto = False
- End If
- If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then
+ End If
+
+
+
+ If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then
ErrorRegistrar = True
End If
@@ -284,13 +293,20 @@ Partial Class Bancos_FluctuacionCambiaria
Conta.RollBack()
End If
Conta.Dispose()
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region "FLUCTUACION VENTAS"
-
+
Protected Sub BtnGeneraVentas_Click(sender As Object, e As EventArgs)
+
+ If DdlSubproyecto.SelectedValue.ToEntero < 0 Then
+ Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+
Dim Total As Decimal = 0
Dim Conta As New ClsContabilidad
Conta.IniciaTransacSQL()
@@ -323,7 +339,7 @@ Partial Class Bancos_FluctuacionCambiaria
idCta = idCtaPerdida
TipoMovto = False
End If
- If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then
+ If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then
ErrorRegistrar = True
End If
@@ -354,13 +370,20 @@ Partial Class Bancos_FluctuacionCambiaria
Conta.RollBack()
End If
Conta.Dispose()
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region "FLUCTUACION BANCOS"
+
+ Protected Sub BtnGeneraBancos_Click(sender As Object, e As EventArgs)
+
+
+ If DdlSubproyecto.SelectedValue.ToEntero < 0 Then
+ Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
- Protected Sub BtnGeneraBancos_Click(sender As Object, e As EventArgs)
Dim Total As Decimal = 0
Dim Conta As New ClsContabilidad
Conta.IniciaTransacSQL()
@@ -417,7 +440,7 @@ Partial Class Bancos_FluctuacionCambiaria
Exit For
End If
- If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then
+ If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then
ErrorRegistrar = True
End If
End If
@@ -446,13 +469,20 @@ Partial Class Bancos_FluctuacionCambiaria
ObjContPaq.Dispose()
End If
Conta.Dispose()
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region "FLUCTUACION DEUDOR"
+
+ Protected Sub BtnGeneraDedudores_Click(sender As Object, e As EventArgs)
+
+
+ If DdlSubproyecto.SelectedValue.ToEntero < 0 Then
+ Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
- Protected Sub BtnGeneraDedudores_Click(sender As Object, e As EventArgs)
Dim Total As Decimal = 0
Dim Conta As New ClsContabilidad
Dim Banco As New ClsBancos(Conta.IniciaTransacSQL())
@@ -493,7 +523,7 @@ Partial Class Bancos_FluctuacionCambiaria
idCta = idCtaPerdida
TipoMovto = False
End If
- If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then
+ If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then
ErrorRegistrar = True
End If
@@ -519,13 +549,18 @@ Partial Class Bancos_FluctuacionCambiaria
End If
Conta.Dispose()
Banco.Dispose()
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region "FLUCTUACION FILIALES"
-
- Protected Sub BtnGeneraFiliales_Click(sender As Object, e As EventArgs)
+
+ Protected Sub BtnGeneraFiliales_Click(sender As Object, e As EventArgs)
+
+ If DdlSubproyecto.SelectedValue.ToEntero < 0 Then
+ Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
Dim Total As Decimal = 0
Dim Conta As New ClsContabilidad
@@ -571,7 +606,7 @@ Partial Class Bancos_FluctuacionCambiaria
idCta = idCtaPerdida
TipoMovto = False
End If
- If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then
+ If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then
ErrorRegistrar = True
End If
@@ -614,13 +649,19 @@ Partial Class Bancos_FluctuacionCambiaria
Conta.Dispose()
Banco.Dispose()
ObjContPaq.Dispose()
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region "FLUCTUACION ACREEDORES"
-
- Protected Sub BtnGeneraAcreedores_Click(sender As Object, e As EventArgs)
+
+ Protected Sub BtnGeneraAcreedores_Click(sender As Object, e As EventArgs)
+
+
+ If DdlSubproyecto.SelectedValue.ToEntero < 0 Then
+ Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
Dim Total As Decimal = 0
Dim Conta As New ClsContabilidad
@@ -655,7 +696,7 @@ Partial Class Bancos_FluctuacionCambiaria
idCta = idCtaPerdida
TipoMovto = False
End If
- If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then
+ If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then
ErrorRegistrar = True
End If
@@ -680,162 +721,162 @@ Partial Class Bancos_FluctuacionCambiaria
Conta.RollBack()
End If
Conta.Dispose()
- End Sub
-
+ End Sub
+
#End Region
-
+
#Region "FLUCTUACION GENERAL"
-
- ' Protected Sub BtnGenerar_Click(sender As Object, e As EventArgs)
- ' Dim AcumuladoGananciaCompras = 0.0, AcumuladoPerdidaCompras = 0.0, AcumuladoGananciaBancos = 0.0, AcumuladoPerdidaBancos = 0.0
- ' Dim IDPoliza = -1
-
- ' 'Valida datos de Compras
- ' For Each gvr As GridViewRow In GvCompras.Rows
- ' If gvr.DataKey("SinTipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
- ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Compras")
- ' 'Exit Sub
- ' Else
- ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
- ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then
- ' AcumuladoGananciaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble
- ' Else
- ' AcumuladoPerdidaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1
- ' End If
- ' End If
-
- ' End If
- ' Next
-
- ' 'Valida datos de Bancos
- ' For Each gvr As GridViewRow In GvCuentas.Rows
- ' If Not gvr.DataKey("TipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
- ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Cuentas Bancarias")
- ' 'Exit Sub
- ' Else
- ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
- ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then
- ' AcumuladoGananciaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble
- ' Else
- ' AcumuladoPerdidaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1
- ' End If
- ' End If
-
- ' End If
- ' Next
-
- ' Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa)
- ' ObjConta.IniciaTransacSQL()
- ' Dim ObjBancos As New ClsBancos
- ' ObjBancos.IniciaTransacSQL()
- ' Dim ErrorGenerar = False
- ' Dim Fecha As Date = TxtFecha.Text.ToDate
-
- ' IDPoliza = ObjConta.AddPoliza(3, "Fluctuación Cambiaria", (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, UsuarioActual.CveUsuario, Fecha)
-
- ' If IDPoliza > 0 Then
-
- ' 'COMIENZA: AGREGA CUENTAS BANCARIAS
- ' If AcumuladoGananciaBancos > 0 Or AcumuladoPerdidaBancos > 0 Then
- ' 'Agrega movimientos
- ' Dim Fluc As Double
- ' For Each gvr As GridViewRow In GvCuentas.Rows
- ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble
- ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
- ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Cuentas Bancarias", If(Fluc > 0, "Ganancia", "Perdida")), 0, Fecha, "") Then
- ' ErrorGenerar = True
- ' Exit For
- ' End If
- ' End If
- ' Next
-
- ' 'Agrega acumulados
- ' If Not ErrorGenerar AndAlso AcumuladoGananciaBancos > 0 Then
- ' If Not ObjConta.AddMovimiento(IDPoliza, 2195, AcumuladoGananciaBancos > 0, AcumuladoGananciaBancos, "", "Acumulado Ganancia Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then
- ' ErrorGenerar = True
- ' End If
- ' End If
- ' If Not ErrorGenerar AndAlso AcumuladoPerdidaBancos > 0 Then
- ' If Not ObjConta.AddMovimiento(IDPoliza, 4695, AcumuladoPerdidaBancos > 0, AcumuladoPerdidaBancos, "", "Acumulado Pérdida Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then
- ' ErrorGenerar = True
- ' End If
- ' End If
- ' Else
- ' ErrorGenerar = True
- ' End If
- ' 'TERMINA: AGREGA CUENTAS BANCARIAS
-
-
- ' 'COMIENZA: AGREGA COMPRAS
- ' If AcumuladoGananciaCompras > 0 Or AcumuladoPerdidaCompras > 0 Then
- ' 'Agrega movimientos
- ' Dim Fluc As Double
- ' For Each gvr As GridViewRow In GvCompras.Rows
- ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble
- ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
- ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Compras", If(Fluc > 0, "Ganancia", "Pérdida")), 0, Fecha, "") Then
- ' ErrorGenerar = True
- ' Exit For
- ' End If
- ' End If
- ' Next
-
- ' 'Agrega acumulados
- ' If Not ErrorGenerar AndAlso AcumuladoGananciaCompras > 0 Then
- ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, Not AcumuladoGananciaCompras > 0, AcumuladoGananciaCompras, "", "Acumulado Ganancia Cambiaria de Compras", 0, Fecha, "") Then
- ' ErrorGenerar = True
- ' End If
- ' End If
- ' If Not ErrorGenerar AndAlso AcumuladoPerdidaCompras > 0 Then
- ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, Not AcumuladoPerdidaCompras > 0, AcumuladoPerdidaCompras, "", "Acumulado Pérdida Cambiaria de Compras", 0, Fecha, "") Then
- ' ErrorGenerar = True
- ' End If
- ' End If
- ' Else
- ' ErrorGenerar = True
- ' End If
- ' 'TERMINA: AGREGA COMPRAS
-
-
- ' Else
- ' ErrorGenerar = True
- ' End If
-
-
- ' 'Agrega en Bitacoras
- ' If Not ErrorGenerar Then
- ' If ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
- ' If Not ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
- ' ErrorGenerar = True
- ' End If
- ' Else
- ' ErrorGenerar = True
- ' End If
- ' End If
-
-
- ' If Not ErrorGenerar Then
-
- ' ObjConta.AjustaPoliza(IDPoliza)
-
- ' ObjConta.Commit()
- ' ObjBancos.Commit()
- ' Alert(String.Format("Fluctuación realizada con exito.
Ver Póliza", IDPoliza))
- ' Else
- ' ObjConta.RollBack()
- ' ObjBancos.RollBack()
- ' Alert("Ocurrio un error al generar la poliza", TipoMensaje.MsgAdvertencia)
- ' End If
-
- ' ObjConta.Dispose()
- ' ObjBancos.Dispose()
- ' End Sub
-
-
+
+ ' Protected Sub BtnGenerar_Click(sender As Object, e As EventArgs)
+ ' Dim AcumuladoGananciaCompras = 0.0, AcumuladoPerdidaCompras = 0.0, AcumuladoGananciaBancos = 0.0, AcumuladoPerdidaBancos = 0.0
+ ' Dim IDPoliza = -1
+
+ ' 'Valida datos de Compras
+ ' For Each gvr As GridViewRow In GvCompras.Rows
+ ' If gvr.DataKey("SinTipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
+ ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Compras")
+ ' 'Exit Sub
+ ' Else
+ ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
+ ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then
+ ' AcumuladoGananciaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble
+ ' Else
+ ' AcumuladoPerdidaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1
+ ' End If
+ ' End If
+
+ ' End If
+ ' Next
+
+ ' 'Valida datos de Bancos
+ ' For Each gvr As GridViewRow In GvCuentas.Rows
+ ' If Not gvr.DataKey("TipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
+ ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Cuentas Bancarias")
+ ' 'Exit Sub
+ ' Else
+ ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
+ ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then
+ ' AcumuladoGananciaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble
+ ' Else
+ ' AcumuladoPerdidaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1
+ ' End If
+ ' End If
+
+ ' End If
+ ' Next
+
+ ' Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa)
+ ' ObjConta.IniciaTransacSQL()
+ ' Dim ObjBancos As New ClsBancos
+ ' ObjBancos.IniciaTransacSQL()
+ ' Dim ErrorGenerar = False
+ ' Dim Fecha As Date = TxtFecha.Text.ToDate
+
+ ' IDPoliza = ObjConta.AddPoliza(3, "Fluctuación Cambiaria", (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, UsuarioActual.CveUsuario, Fecha)
+
+ ' If IDPoliza > 0 Then
+
+ ' 'COMIENZA: AGREGA CUENTAS BANCARIAS
+ ' If AcumuladoGananciaBancos > 0 Or AcumuladoPerdidaBancos > 0 Then
+ ' 'Agrega movimientos
+ ' Dim Fluc As Double
+ ' For Each gvr As GridViewRow In GvCuentas.Rows
+ ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble
+ ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
+ ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Cuentas Bancarias", If(Fluc > 0, "Ganancia", "Perdida")), 0, Fecha, "") Then
+ ' ErrorGenerar = True
+ ' Exit For
+ ' End If
+ ' End If
+ ' Next
+
+ ' 'Agrega acumulados
+ ' If Not ErrorGenerar AndAlso AcumuladoGananciaBancos > 0 Then
+ ' If Not ObjConta.AddMovimiento(IDPoliza, 2195, AcumuladoGananciaBancos > 0, AcumuladoGananciaBancos, "", "Acumulado Ganancia Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then
+ ' ErrorGenerar = True
+ ' End If
+ ' End If
+ ' If Not ErrorGenerar AndAlso AcumuladoPerdidaBancos > 0 Then
+ ' If Not ObjConta.AddMovimiento(IDPoliza, 4695, AcumuladoPerdidaBancos > 0, AcumuladoPerdidaBancos, "", "Acumulado Pérdida Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then
+ ' ErrorGenerar = True
+ ' End If
+ ' End If
+ ' Else
+ ' ErrorGenerar = True
+ ' End If
+ ' 'TERMINA: AGREGA CUENTAS BANCARIAS
+
+
+ ' 'COMIENZA: AGREGA COMPRAS
+ ' If AcumuladoGananciaCompras > 0 Or AcumuladoPerdidaCompras > 0 Then
+ ' 'Agrega movimientos
+ ' Dim Fluc As Double
+ ' For Each gvr As GridViewRow In GvCompras.Rows
+ ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble
+ ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then
+ ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Compras", If(Fluc > 0, "Ganancia", "Pérdida")), 0, Fecha, "") Then
+ ' ErrorGenerar = True
+ ' Exit For
+ ' End If
+ ' End If
+ ' Next
+
+ ' 'Agrega acumulados
+ ' If Not ErrorGenerar AndAlso AcumuladoGananciaCompras > 0 Then
+ ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, Not AcumuladoGananciaCompras > 0, AcumuladoGananciaCompras, "", "Acumulado Ganancia Cambiaria de Compras", 0, Fecha, "") Then
+ ' ErrorGenerar = True
+ ' End If
+ ' End If
+ ' If Not ErrorGenerar AndAlso AcumuladoPerdidaCompras > 0 Then
+ ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, Not AcumuladoPerdidaCompras > 0, AcumuladoPerdidaCompras, "", "Acumulado Pérdida Cambiaria de Compras", 0, Fecha, "") Then
+ ' ErrorGenerar = True
+ ' End If
+ ' End If
+ ' Else
+ ' ErrorGenerar = True
+ ' End If
+ ' 'TERMINA: AGREGA COMPRAS
+
+
+ ' Else
+ ' ErrorGenerar = True
+ ' End If
+
+
+ ' 'Agrega en Bitacoras
+ ' If Not ErrorGenerar Then
+ ' If ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
+ ' If Not ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
+ ' ErrorGenerar = True
+ ' End If
+ ' Else
+ ' ErrorGenerar = True
+ ' End If
+ ' End If
+
+
+ ' If Not ErrorGenerar Then
+
+ ' ObjConta.AjustaPoliza(IDPoliza)
+
+ ' ObjConta.Commit()
+ ' ObjBancos.Commit()
+ ' Alert(String.Format("Fluctuación realizada con exito.
Ver Póliza", IDPoliza))
+ ' Else
+ ' ObjConta.RollBack()
+ ' ObjBancos.RollBack()
+ ' Alert("Ocurrio un error al generar la poliza", TipoMensaje.MsgAdvertencia)
+ ' End If
+
+ ' ObjConta.Dispose()
+ ' ObjBancos.Dispose()
+ ' End Sub
+
+
#End Region
-
+
#Region "GRIDVIEWS"
-
+
Protected Sub GvCompras_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCompras.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
'TipoCambio = e.Row.DBCampo("TipoCambio").ToString.ToDouble
diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb
index a2dc11030..11f73ffd5 100644
--- a/Bancos/PopIECompras.aspx.vb
+++ b/Bancos/PopIECompras.aspx.vb
@@ -451,6 +451,23 @@ Partial Class Bancos_PopIECompras
End Set
End Property
+ Private Property CveSubProyecto As Integer
+ Get
+
+ If ViewState("CveSubProyecto") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("CveSubProyecto").ToString.ToEntero
+ End If
+
+ End Get
+ Set(value As Integer)
+ ViewState("CveSubProyecto") = value
+ End Set
+ End Property
+
+
+
#End Region
@@ -668,6 +685,8 @@ Partial Class Bancos_PopIECompras
TipoCambioOriginal = dr("TipoCambio").ToString.ToDecimal
NombreProveedor = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", String.Format("CveProveedor = {0}", CveProveedor))
+ CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero
+
LtlTitulo.Text = "Cuentas por Pagar"
LtlTipo2.Text = "Folio de la Compra"
LtlTipo3.Text = "Fecha de la Compra"
@@ -1473,8 +1492,9 @@ Partial Class Bancos_PopIECompras
Dim CveTipoPoliza As Integer = ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa)
If RBLContado.SelectedValue = "6" Then CveTipoPoliza = 3
- Dim CvePrePoliza As Integer = ObjMov.AddPrePolizas("Bancos/PopIECompras", CvePlantillaPoliza, ImportePagado, ImportePagado, CveMoneda, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=CveTipoPoliza)
-
+ Dim CvePrePoliza As Integer = ObjMov.AddPrePolizas("Bancos/PopIECompras", CvePlantillaPoliza, ImportePagado, ImportePagado, CveMoneda, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=CveTipoPoliza)
+
+
If Inserta Then
If CvePrePoliza > 0 Then
'SE AGREGA DETALLE DE UNA COMPRA
@@ -1534,6 +1554,9 @@ Partial Class Bancos_PopIECompras
'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
TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False)
Dim ImporteMovimiento As Decimal = 0
@@ -2173,187 +2196,187 @@ Partial Class Bancos_PopIECompras
End If
End If
End If
- End If
- 'Case 16 'Ret ISR X Acreditar
- ' If MovimientoPagar.ConceptoRetISR = 1 Then
- ' 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 = Math.Round(ImporteMovimiento, 2)
- ' ImporteMX = Math.Round(ImporteMX, 2)
- ' TimpocambioGeneral = tipoCambioCompra
-
- ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
-
- ' 'Conta ContPAQ
- ' If IdCtaContRetISR > 0 Then
- ' IdCtaContable = IdCtaContRetISR
- ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then
- ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).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
-
- ' 'Conta SIG
- ' If CveCuentaRetISR <> 0 Then
- ' CveCuenta = CveCuentaRetISR
- ' Else
- ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- ' If ObjMov.DtResultados.Rows.Count > 0 Then
- ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
- ' End If
- ' End If
- ' End If
- ' End If
- 'Case 23 'Ret ISR Acreditable
- ' If MovimientoPagar.ConceptoRetISR = 1 Then
- ' 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 = Math.Round(ImporteMovimiento, 2)
- ' ImporteMX = Math.Round(ImporteMX, 2)
- ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
-
- ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
-
- ' 'Conta ContPAQ
- ' If IdCtaContRetISRAcreditable > 0 Then
- ' IdCtaContable = IdCtaContRetISRAcreditable
- ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then
- ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).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
-
- ' 'Conta SIG
- ' If CveCuentaRetISR <> 0 Then
- ' CveCuenta = CveCuentaRetISR
- ' Else
- ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- ' If ObjMov.DtResultados.Rows.Count > 0 Then
- ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
- ' End If
- ' End If
- ' End If
- ' End If
- 'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento
- ' If MovimientoPagar.ConceptoRetISR = 2 Then
- ' 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 = Math.Round(ImporteMovimiento, 2)
- ' ImporteMX = Math.Round(ImporteMX, 2)
- ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
-
- ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
-
- ' 'Conta ContPAQ
- ' If IdCtaContRetISR > 0 Then
- ' IdCtaContable = IdCtaContRetISR
- ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then
- ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).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
-
- ' 'Conta SIG
- ' If CveCuentaRetISR <> 0 Then
- ' CveCuenta = CveCuentaRetISR
- ' Else
- ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- ' If ObjMov.DtResultados.Rows.Count > 0 Then
- ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
- ' End If
- ' End If
- ' End If
- ' End If
- 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento
- ' If MovimientoPagar.ConceptoRetISR = 2 Then
- ' 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 = Math.Round(ImporteMovimiento, 2)
- ' ImporteMX = Math.Round(ImporteMX, 2)
- ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
-
- ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
-
- ' 'Conta ContPAQ
- ' If IdCtaContRetISRAcreditable > 0 Then
- ' IdCtaContable = IdCtaContRetISRAcreditable
- ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then
- ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).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
-
- ' 'Conta SIG
- ' If CveCuentaRetISR <> 0 Then
- ' CveCuenta = CveCuentaRetISR
- ' Else
- ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
- ' If ObjMov.DtResultados.Rows.Count > 0 Then
- ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
- ' End If
- ' End If
- ' End If
- ' End If
+ End If
+ 'Case 16 'Ret ISR X Acreditar
+ ' If MovimientoPagar.ConceptoRetISR = 1 Then
+ ' 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 = Math.Round(ImporteMovimiento, 2)
+ ' ImporteMX = Math.Round(ImporteMX, 2)
+ ' TimpocambioGeneral = tipoCambioCompra
+
+ ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
+
+ ' 'Conta ContPAQ
+ ' If IdCtaContRetISR > 0 Then
+ ' IdCtaContable = IdCtaContRetISR
+ ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then
+ ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).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
+
+ ' 'Conta SIG
+ ' If CveCuentaRetISR <> 0 Then
+ ' CveCuenta = CveCuentaRetISR
+ ' Else
+ ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
+ ' If ObjMov.DtResultados.Rows.Count > 0 Then
+ ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
+ ' End If
+ ' End If
+ ' End If
+ ' End If
+ 'Case 23 'Ret ISR Acreditable
+ ' If MovimientoPagar.ConceptoRetISR = 1 Then
+ ' 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 = Math.Round(ImporteMovimiento, 2)
+ ' ImporteMX = Math.Round(ImporteMX, 2)
+ ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
+
+ ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
+
+ ' 'Conta ContPAQ
+ ' If IdCtaContRetISRAcreditable > 0 Then
+ ' IdCtaContable = IdCtaContRetISRAcreditable
+ ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then
+ ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).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
+
+ ' 'Conta SIG
+ ' If CveCuentaRetISR <> 0 Then
+ ' CveCuenta = CveCuentaRetISR
+ ' Else
+ ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
+ ' If ObjMov.DtResultados.Rows.Count > 0 Then
+ ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
+ ' End If
+ ' End If
+ ' End If
+ ' End If
+ 'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento
+ ' If MovimientoPagar.ConceptoRetISR = 2 Then
+ ' 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 = Math.Round(ImporteMovimiento, 2)
+ ' ImporteMX = Math.Round(ImporteMX, 2)
+ ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
+
+ ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
+
+ ' 'Conta ContPAQ
+ ' If IdCtaContRetISR > 0 Then
+ ' IdCtaContable = IdCtaContRetISR
+ ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then
+ ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).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
+
+ ' 'Conta SIG
+ ' If CveCuentaRetISR <> 0 Then
+ ' CveCuenta = CveCuentaRetISR
+ ' Else
+ ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
+ ' If ObjMov.DtResultados.Rows.Count > 0 Then
+ ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
+ ' End If
+ ' End If
+ ' End If
+ ' End If
+ 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento
+ ' If MovimientoPagar.ConceptoRetISR = 2 Then
+ ' 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 = Math.Round(ImporteMovimiento, 2)
+ ' ImporteMX = Math.Round(ImporteMX, 2)
+ ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago)
+
+ ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
+
+ ' 'Conta ContPAQ
+ ' If IdCtaContRetISRAcreditable > 0 Then
+ ' IdCtaContable = IdCtaContRetISRAcreditable
+ ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then
+ ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).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
+
+ ' 'Conta SIG
+ ' If CveCuentaRetISR <> 0 Then
+ ' CveCuenta = CveCuentaRetISR
+ ' Else
+ ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
+ ' If ObjMov.DtResultados.Rows.Count > 0 Then
+ ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
+ ' 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
@@ -2577,84 +2600,84 @@ Partial Class Bancos_PopIECompras
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, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then
MsgError = "No se pudo insertar la póliza"
End If
- End If
-
- 'Case 280 'Iva Acreditable No Deducible
- ' 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.IVANoDeducible
- ' ImporteMX = ImporteMovimiento
- ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible)
- ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible)
- ' ImporteMX = ImporteMovimiento * tipoCambioCompra
- ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible)
- ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ' End If
- ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
- ' ImporteMX = Math.Round(ImporteMX, 2)
- ' 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.IVANoDeducible * PorcentajePago
- ' ImporteMX = ImporteMovimiento
- ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
- ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
- ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ' ImporteMX = ImporteMovimiento * tipoCambioCompra
- ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
- ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago)
- ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
- ' End If
- ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
- ' ImporteMX = Math.Round(ImporteMX, 2)
- ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
-
- ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${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(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0)
-
- ' If 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
- ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero
- ' End If
- ' End If
+ End If
+
+ 'Case 280 'Iva Acreditable No Deducible
+ ' 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.IVANoDeducible
+ ' ImporteMX = ImporteMovimiento
+ ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
+ ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible)
+ ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
+ ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
+ ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible)
+ ' ImporteMX = ImporteMovimiento * tipoCambioCompra
+ ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
+ ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible)
+ ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
+ ' End If
+ ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
+ ' ImporteMX = Math.Round(ImporteMX, 2)
+ ' 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.IVANoDeducible * PorcentajePago
+ ' ImporteMX = ImporteMovimiento
+ ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then
+ ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago)
+ ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
+ ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then
+ ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago)
+ ' ImporteMX = ImporteMovimiento * tipoCambioCompra
+ ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then
+ ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago)
+ ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
+ ' End If
+ ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2)
+ ' ImporteMX = Math.Round(ImporteMX, 2)
+ ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
+
+ ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${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(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0)
+
+ ' If 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
+ ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero
+ ' End If
+ ' End If
Case 25 'IEPS por Acreditar
If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
ImporteMovimiento = MovimientoPagar.IEPS * PorcentajePago
@@ -2703,7 +2726,15 @@ Partial Class Bancos_PopIECompras
CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditableSIG").ToString.ToEntero
End If
End If
- Case 64 'Ganancia
+ 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
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
@@ -2723,6 +2754,13 @@ Partial Class Bancos_PopIECompras
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
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
@@ -3323,15 +3361,19 @@ Partial Class Bancos_PopIECompras
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, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then
+ 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, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then
MsgError = "No se pudo insertar la póliza"
End If
diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb
index 0cfc4dcad..284b693e4 100644
--- a/Bancos/ProveedoresAbonar.aspx.vb
+++ b/Bancos/ProveedoresAbonar.aspx.vb
@@ -3146,6 +3146,7 @@ Partial Class Bancos_ProveedoresAbonar
If gr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor
Dim ConceptoPartida As String = String.Format("Saldar compra {0}", gr.DataKey("SerieFolio").ToString)
+
CvePrePoliza = ObjConta.AddPrePolizas("Bancos/ProveedoresAbonar/Saldar", 98, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, TxtFechaIncobrable.Text.ToDate, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveMoneda > 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then
@@ -3223,15 +3224,23 @@ Partial Class Bancos_ProveedoresAbonar
If CveMoneda > 1 Then
Dim ImporteFluctuacion As Decimal = 0
ImporteFluctuacion = Saldo * (TCPago - TCCompra)
+
+ If CveSubProyecto <= 0 Then
+ MsgError = "No se pudo obtener el sub proyecto o centro de costo"
+ End If
+
+
If TCCompra > TCPago Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then
MsgError = "Ocurrio un error al saldar el movimiento"
End If
Else
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then
MsgError = "Ocurrio un error al saldar el movimiento"
End If
End If
+
+
End If
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index bf24dd7e3..3c40bd9b8 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -3896,6 +3896,7 @@ Partial Class Compras_Compras
'------------------INICIA VALIDACIONES------------------
Dim EstatusCredito As Integer = 0
+ Dim CveSubProyecto As Integer = 0
'Credito Multiple
If RBLPago.SelectedValue.ToEntero = 4 Then
@@ -4062,11 +4063,14 @@ Partial Class Compras_Compras
' Dim NotHas117 As Boolean = Not UsuarioActual.TienePermisoProceso(117)
' 'verifica que tenga proyecto y clasificacion
For Each Row As DataRow In TmpDT.Rows
+
If Row("CveSubProyecto").ToString.ToEntero <= 0 Then
Alert("No se ha completado la asignacion de proyectos en la compra. ", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
+ CveSubProyecto = Row("CveSubProyecto").ToString.ToEntero
+
If Row("CveClasificacionActualizar").ToString.ToEntero <= 0 Then 'If NotHas117 AndAlso Row("CveClasificacionActualizar").ToString.ToEntero <= 0 Then
Alert("Hay productos que no tienen clasificación asignada.
Favor de asignarle una y darle guardar.", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -5690,6 +5694,8 @@ Partial Class Compras_Compras
For Each Row As DataRow In DTPlatilla.Rows
+ Dim CveSubProyectoInsertar As Integer = -1
+
Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero
Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False)
Dim importeMovimiento As Decimal = 0
@@ -6291,6 +6297,15 @@ Partial Class Compras_Compras
' End If
' End If
Case 64 'Ganancia
+
+
+ CveSubProyectoInsertar = CveSubProyecto
+ If CveSubProyectoInsertar <= 0 Then
+ ErrorPrepoliza = True
+ Alert("Concepto ganancia cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia)
+ End If
+
+
If TCPago > 0 AndAlso TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then
IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
@@ -6307,6 +6322,12 @@ Partial Class Compras_Compras
Case 65 'Perdida
+ CveSubProyectoInsertar = CveSubProyecto
+ If CveSubProyectoInsertar <= 0 Then
+ ErrorPrepoliza = True
+ Alert("Concepto perdida cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia)
+ End If
+
If TCPago > 0 AndAlso TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then
IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
@@ -6597,11 +6618,17 @@ Partial Class Compras_Compras
'SumatoriaOCINV = -SumatoriaOCINV
Dim CveClasificacionCostoOC = TmpDT.FiltroPrimeroValor("CveClasificacion", "ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And ISNULL(CveTipoPS, 0) = 2").ToEntero
- Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
+ Dim CveSubProyecto69 As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
+
+ If CveSubProyecto69 <= 0 Then
+ Alert("Debe de asignar un sub proyecto o centro de constos", TipoMensaje.MsgAdvertencia)
+ ErrorPrepoliza = True
+ Exit For
+ End If
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacionCostoOC}").ToString.ToEntero
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {CveClasificacionCostoOC}").ToString.ToEntero
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SumatoriaOCINV, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveClasificacion:=CveClasificacionCostoOC, ImporteMX:=SumatoriaOCINV, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SumatoriaOCINV, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveClasificacion:=CveClasificacionCostoOC, ImporteMX:=SumatoriaOCINV, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto69) Then
ErrorPrepoliza = True
Exit For
End If
@@ -6717,10 +6744,10 @@ Partial Class Compras_Compras
Dim IdCtaContableDescCompra As Integer = UsuarioActual.Empresa.Funcionalidad(405).ToEntero
- Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
+ Dim CveSubProyecto259 As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
- If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=-importeMN, ImporteME:=If(tipoCambioActual = 1, 0, -importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then
+ If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=-importeMN, ImporteME:=If(tipoCambioActual = 1, 0, -importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then
ErrorPrepoliza = True
End If
Else
@@ -7528,7 +7555,8 @@ Partial Class Compras_Compras
End If
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then
+
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveSubProyecto:=CveSubProyectoInsertar, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
Exit For
End If
@@ -19658,7 +19686,18 @@ Partial Class Compras_Compras
Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero
+
+
If DiferenciaInvOC.RoundSQL() <> 0 Then
+
+
+
+ If CveSubProyecto <= 0 Then
+ Alert("Debe de asignar un sub proyecto o centro de constos.", TipoMensaje.MsgAdvertencia)
+ Retorno = False
+ End If
+
+
CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, DiferenciaInvOC, DiferenciaInvOC, 1, Fecha, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CvePrePoliza > 0 Then
diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx
index 45e310410..3f432ff33 100644
--- a/Compras/ReembolsosComprobaciones.aspx
+++ b/Compras/ReembolsosComprobaciones.aspx
@@ -291,7 +291,7 @@
-
+
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index dcbdefffc..7b60c10d5 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -637,6 +637,9 @@ Partial Class Compras_ReembolsosComprobaciones
'inserto las compras que voy a pagar
For Each gvr As GridViewRow In GvCxP.Rows
+
+
+
If gvr.FCCheckBox("Chk").Checked Then
ConceptoMovimiento = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}"
Referencia = gvr.DataKey("SerieFolio").ToString
@@ -675,14 +678,19 @@ Partial Class Compras_ReembolsosComprobaciones
CveIEPago = CveIERegistrado
End If
+
+
+
+
+
'Otros Ingresos
If (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor) Then
MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
End If
If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 0 Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor, Contabilizable:=False) Then
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor, Contabilizable:=False) Then
MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos"
End If
End If
diff --git a/Compras/RepNotasCredito.aspx b/Compras/RepNotasCredito.aspx
index 5b30e9711..6bd25e703 100644
--- a/Compras/RepNotasCredito.aspx
+++ b/Compras/RepNotasCredito.aspx
@@ -98,8 +98,7 @@
+ DataKeyNames="CveCompra,Saldo,CveIE,CveProveedor,CvePersonal,CveMoneda,IdCtaContProveedores,IdCtaContExtranjera,IdCtaContComplementaria,TipoCambio,CveSubProyecto">
diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb
index de2e1c43d..c8b67396c 100644
--- a/Compras/RepNotasCredito.aspx.vb
+++ b/Compras/RepNotasCredito.aspx.vb
@@ -145,6 +145,7 @@ Partial Class Compras_RepNotasCredito
CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+
If CveMoneda > 1 Then
IdCtaContable = gr.DataKey("IdCtaContExtranjera").ToEntero
ImporteMN = (gr.DataKey("Saldo").ToDecimal * TCCompra).RoundSQL
@@ -165,7 +166,7 @@ Partial Class Compras_RepNotasCredito
End If
IdCtaContable = UsuarioActual.Empresa.Funcionalidad(266).ToString.ToEntero
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveSubProyecto:=gr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then
MsgError = "Ocurrio un Error al saldar el movimiento"
End If
diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx
index 74f71680a..aef1158b7 100644
--- a/Compras/eFacturas.aspx
+++ b/Compras/eFacturas.aspx
@@ -67,7 +67,7 @@
Bitácora Facturas
- Vinculación Masiva Complementos
+ Vinculación Masiva Complementos
diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb
index 4bcbca048..55009d5a3 100644
--- a/Contabilidad/RegPrePolizaS.aspx.vb
+++ b/Contabilidad/RegPrePolizaS.aspx.vb
@@ -816,13 +816,17 @@ Partial Class ContabilidadC_RegPrePolizaS
TipoMovto = False
End If
- If CveConcepto = 41 Then
- CveIE = gvr.FCDropDownList("DdlSaldos").SelectedValue.ToEntero
- Else
- CveIE = -1
- End If
-
-
+ If CveConcepto <> 30 Then
+
+ If CveConcepto = 41 Then
+ CveIE = gvr.FCDropDownList("DdlSaldos").SelectedValue.ToEntero
+ Else
+ CveIE = -1
+ End If
+
+ End If
+
+
If idCuentaContabilizacion = 1 AndAlso (IdCtaContable = 0) Then
idCuentaContabilizacion = 0
End If
diff --git a/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx.vb b/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx.vb
index 6d168533d..77d5c0459 100644
--- a/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx.vb
+++ b/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx.vb
@@ -130,11 +130,11 @@ Partial Class Conta_RepMovimientosAuxiliaresCatalogo
TxtFechaDel.Text = FechaInicio.ToShortDateString
End If
- 'If Request("CveSubProyecto") IsNot Nothing Then
- ' If IsNumeric(Request("CveSubProyecto")) Then
- ' CveSubProyecto = Request("CveSubProyecto").ToString
- ' End If
- 'End If
+ If Request("CveSubProyecto") IsNot Nothing Then
+ If IsNumeric(Request("CveSubProyecto")) Then
+ DdlSubproyecto.SelectedValueExist(Request("CveSubProyecto").ToString)
+ End If
+ End If
ErrorParametros = False
diff --git a/Contratos/Contrato.aspx.vb b/Contratos/Contrato.aspx.vb
index 4a59ab77a..59f211c7d 100644
--- a/Contratos/Contrato.aspx.vb
+++ b/Contratos/Contrato.aspx.vb
@@ -705,9 +705,12 @@ Partial Class Contratos_Default
End If
TipoContrato = DdlTipoContrato.SelectedValue.ToEntero
- TxtDescripcionTipoContrato.Text = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue)(0)("Descripcion").ToString()
- TxtDescripcionTipoContrato.Visible = True
-
+ If GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue).Rows.Count > 0 Then
+ TxtDescripcionTipoContrato.Text = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue)(0)("Descripcion").ToString()
+ TxtDescripcionTipoContrato.Visible = True
+ End If
+
+
CargaContratoPadre()
UpProyecto.Update()
End Sub
@@ -725,6 +728,15 @@ Partial Class Contratos_Default
TableDatosCabecera.Visible = True
End If
+ If CveTipoContrato = 25 Then
+ DvMax.Visible = False
+ DvMin.Visible = False
+ DvTotal.Visible = False
+
+ DivFianzas.Visible = False
+ DivImpuestosLocales.Visible = False
+ End If
+
ElseIf modalidadDetalleInt = 2 Then
ModalidadDetalle = 2
@@ -735,6 +747,15 @@ Partial Class Contratos_Default
If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then
TableDatosCabecera.Visible = True
+ End If
+
+ If CveTipoContrato = 25 Then
+ DvMax.Visible = False
+ DvMin.Visible = False
+ DvTotal.Visible = False
+
+ DivFianzas.Visible = False
+ DivImpuestosLocales.Visible = False
End If
End If
@@ -755,11 +776,13 @@ Partial Class Contratos_Default
Exit Sub
End If
+ Me.CveTipoContrato = DdlTipoContrato.SelectedValue.ToEntero
+
'Dim TipoMov = GlobalDTContratosTipos.FiltroPrimeroValor("TipoMovimiento", $"CveContratoTipo='{CveTipoContrato}'").ToEntero
- If rpCompra.Checked Then
- Dim CveContratoTipo = DdlTipoContrato.SelectedValue.ToEntero
- Response.Redirect($"/Contratos/Presupuestos.aspx?CveContrato=-1&CveContratoTipo={CveContratoTipo}")
+ If rpCompra.Checked Then
+
+ Response.Redirect($"/Contratos/Presupuestos.aspx?CveContrato=-1&CveContratoTipo={Me.CveTipoContrato}")
'RegistraScript("window.location='/Contratos/Presupuestos.aspx")
Else
diff --git a/Contratos/FacturacionMasiva.aspx b/Contratos/FacturacionMasiva.aspx
index c4366650e..ad378c4fb 100644
--- a/Contratos/FacturacionMasiva.aspx
+++ b/Contratos/FacturacionMasiva.aspx
@@ -93,7 +93,7 @@
-
+
diff --git a/Contratos/FacturacionMasiva.aspx.vb b/Contratos/FacturacionMasiva.aspx.vb
index b005a874d..d43c26fc3 100644
--- a/Contratos/FacturacionMasiva.aspx.vb
+++ b/Contratos/FacturacionMasiva.aspx.vb
@@ -166,350 +166,279 @@ Partial Class Contratos_FacturacionMasiva
End Sub
Protected Sub ImgFacturarTodos_Click(sender As Object, e As EventArgs) Handles BtnFacturar.Click
- Dim FacturadoCorrecto = True
+ EjecutarFacturacion()
+ End Sub
+
+ Private Sub EjecutarFacturacion()
+ Dim FacturadoCorrecto = True
+ Dim sb As New StringBuilder()
+
For Each row As GridViewRow In GvCiclosComerciales.Rows
If row.FCCheckBox("chkDis").Checked Then
- FacturadoCorrecto = EmitirImprimir(row.DataKey("CveCicloComercial").ToString.ToEntero)
+ Dim fecha As DateTime = DateTime.Now ', row.DataKey("FechaVenc").ToString.ToDateTime()
+ Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat
+ Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper()
+
+ Dim Etiqueta As String = String.Format("{0} - {1}", nombreMes, fecha.Year)
+
+ Dim Resp = EmitirImprimir(row.DataKey("CveCicloComercial").ToString.ToEntero, Etiqueta)
+
+ For Each Msg In Resp.Mensajes
+ sb.AppendFormat("{0}", Msg)
+ Next
+
If Not FacturadoCorrecto Then
If Mensaje = "" Then
Alert("Ocurrió un error al facturar masivamente, por favor contacte a soporte técnico", TipoMensaje.MsgAdvertencia)
Else
Alert($"{Mensaje} en el contrato {row.DataKey("NumeroContrato").ToString}", TipoMensaje.MsgAdvertencia)
End If
- Exit For
End If
End If
Next
- If FacturadoCorrecto Then
- Alert("Los periodos se facturaron correctamente")
- TxtObservaciones.Text = ""
- End If
+
+ If sb.ToString().Length > 0 Then
+ Alert($"Se generaron las siguientes facturas: {sb.ToString()}")
+ Else
+ Alert("No se generaron facturas", TipoMensaje.MsgAdvertencia)
+ End If
+
CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero)
RegistraScript("$('#divAgregar').modal('hide')")
- UpBodyEstatus.Update()
+ UpBodyEstatus.Update()
End Sub
- Protected Sub btnFacturarAqui_Click(sender As Object, e As EventArgs)
- CveCicloComercial = CType(sender, LinkButton).CommandArgument.ToEntero
- CreaObjetosVenta()
-
- If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then
- Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError)
- ObjFactura = Nothing
- Exit Sub
- End If
-
-
- If ObjFactura.CveCliente > 0 Then
- If DTDetalle.Rows.Count > 0 Then
-
- Dim ObjVentas As New ClsVentas()
- Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
- Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL())
- Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL())
- Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL())
- Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
- Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL())
- Dim ObjContPaq As ClsContPAQi = Nothing
- 'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
- ErrorList = New List(Of String)
- MensajeAlert = New StringBuilder
-
-
- 'CONTABILIDAD AUTOMATICA Y AC
- If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
- ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa)
- End If
-
-
- 'GUARDA VENTA
- GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS)
-
- If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
- If Not ObjContr.CicloComercialUpdate(CveCicloComercial, True, UsuarioActual.CveEmpresa) Then
- ErrorList.Add("No se pudo actualizar ")
- End If
- End If
-
- If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then
- ObjVentas.Commit()
- If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
- ViewState("CveVenta") = ObjFactura.CveVenta
-
-
- Dim SeTimbro As Boolean = False
- 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO
-
- If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then
- If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
-
- Dim sw As New Diagnostics.Stopwatch
- sw.Start()
-
- 'FACTURA INGRESO/EGRESO
- Dim ObjTimbrado As New Timbrado
-
-
- SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura)
-
- sw.Stop()
- GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC)
- End If
-
-
- 'MENSAJE PRINCIPAL
- MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.
", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
-
-
- If SeTimbro Then
- 'XML
- Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
- If File.Exists(ArchivoXML) Then
- MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto)))
- End If
-
- 'IMPRESION
- GeneraPDFFactura(False)
- Else
- MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.")
- End If
-
- 'MUESTA ALERT OK
- Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";")
- Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion)
-
- ObjFactura = Nothing
- Else
- ObjVentas.RollBack()
- If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
-
- For Each ErrorItem In ErrorList
- Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
- Next
-
- 'MUESTA ALERT ERROR
- Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
- End If
-
- ObjVentas.Dispose()
- ObjConta.Dispose()
- ObjInventario.Dispose()
- ObjContr.Dispose()
- ErrorList = Nothing
- MensajeAlert = Nothing
- If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
- CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero)
- Else
- ObjVentas.RollBack()
- If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
-
- For Each ErrorItem In ErrorList
- Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
- Next
-
- 'MUESTA ALERT ERROR
- Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
- ObjVentas.Dispose()
- ObjConta.Dispose()
- ObjInventario.Dispose()
- ObjContr.Dispose()
- 'ObjFolios.Dispose()
- ErrorList = Nothing
- MensajeAlert = Nothing
- If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
-
- End If
- Else
- Mensaje = "Las facturas del contrato"
- End If
- End If
-
-
+ Protected Sub btnFacturarAqui_Click(sender As Object, e As EventArgs)
+ EjecutarFacturacion()
End Sub
- Private Function EmitirImprimir(pCveCicloComercial As Integer) As Boolean
- Dim retorno As Boolean = False
+ Private Function EmitirImprimir(pCveCicloComercial As Integer, Etiqueta As String) As Modelos.Factura.MMensajeFactura
+ Dim Resp As New Modelos.Factura.MMensajeFactura
ViewState("CveCicloComercial") = pCveCicloComercial
- CreaObjetosVenta()
+ CreaObjetosVenta(Etiqueta)
If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then
Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError)
ObjFactura = Nothing
- Return False
+ Return Resp
End If
If ObjFactura.CveCliente > 0 Then
- If DTDetalle.Rows.Count > 0 Then
+ If DTDetalle.Rows.Count > 0 Then
+
+ Resp = ObjFactura.EmitirFactura()
- Dim ObjVentas As New ClsVentas()
- Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
- Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL())
- Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL())
- Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL())
- Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
- Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL())
- Dim ObjContPaq As ClsContPAQi = Nothing
- 'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
- ErrorList = New List(Of String)
- MensajeAlert = New StringBuilder
+ 'Dim ObjVentas As New ClsVentas()
+ 'Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjContr As New ClsContratos(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL())
+ 'Dim ObjContPaq As ClsContPAQi = Nothing
+ ''Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
+ 'ErrorList = New List(Of String)
+ 'MensajeAlert = New StringBuilder
- 'CONTABILIDAD AUTOMATICA Y AC
- If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
- ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa)
- End If
+ ''CONTABILIDAD AUTOMATICA Y AC
+ 'If UsuarioActual.Empresa.UsaAC OrElse UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
+ ' ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa)
+ 'End If
- 'GUARDA VENTA
- GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS)
+ ''GUARDA VENTA
+ 'GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjFactura, TmpDT, ObjFactura.CveNCaVincular, ObjContPaq, ObjBancos, ObjOS)
- If pCveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
- If Not ObjContr.CicloComercialUpdate(pCveCicloComercial, True, UsuarioActual.CveEmpresa) Then
- ErrorList.Add("No se pudo actualizar ")
- End If
- End If
+ 'If pCveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
+ ' If Not ObjContr.CicloComercialUpdate(pCveCicloComercial, True, UsuarioActual.CveEmpresa) Then
+ ' ErrorList.Add("No se pudo actualizar ")
+ ' End If
+ 'End If
- If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then
- ObjVentas.Commit()
- If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
- ViewState("CveVenta") = ObjFactura.CveVenta
+ 'If ObjFactura.CveVenta > 0 AndAlso ErrorList.Count = 0 AndAlso (SeGuardoPrePoliza Or ObjFactura.TipoDocto.Contiene("Ped", "Cot")) Then
+ ' ObjVentas.Commit()
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
+ ' ViewState("CveVenta") = ObjFactura.CveVenta
- Dim SeTimbro As Boolean = False
- 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO
+ ' Dim SeTimbro As Boolean = False
+ ' 'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO
- If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then
- If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
+ ' If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant") Then
+ ' If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
- Dim sw As New Diagnostics.Stopwatch
- sw.Start()
+ ' Dim sw As New Diagnostics.Stopwatch
+ ' sw.Start()
- 'FACTURA INGRESO/EGRESO
- Dim ObjTimbrado As New Timbrado
+ ' 'FACTURA INGRESO/EGRESO
+ ' Dim ObjTimbrado As New Timbrado
- SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura)
+ ' SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura)
- sw.Stop()
- GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC)
- End If
+ ' sw.Stop()
+ ' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC)
+ ' End If
- 'MENSAJE PRINCIPAL
- MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.
", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
+ ' 'MENSAJE PRINCIPAL
+ ' MensajeAlert.AppendFormat(String.Format("
La {0}: {1} se generó correctamente.
", ObjFactura.TipoDocumento, ObjFactura.SerieFolio))
- If SeTimbro Then
- 'XML
- Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
- If File.Exists(ArchivoXML) Then
- MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto)))
- End If
+ ' If SeTimbro Then
+ ' 'XML
+ ' Dim ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
+ ' If File.Exists(ArchivoXML) Then
+ ' MensajeAlert.AppendFormat("", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", ObjFactura.CveVenta, "XML", ObjFactura.SerieFolio, ObjFactura.TipoDocto)))
+ ' End If
- 'IMPRESION
- GeneraPDFFactura(False)
- Else
- MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.")
- End If
+ ' 'IMPRESION
+ ' GeneraPDFFactura(False)
+ ' Else
+ ' MensajeAlert.AppendFormat("La factura no se pudo timbrar. Por favor intentelo de nuevo a traves del boton Emitir o póngase en contacto con soporte técnico.")
+ ' End If
- 'MUESTA ALERT OK
- Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";")
- retorno = True
- ObjFactura = Nothing
- Else
- ObjVentas.RollBack()
- If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
+ ' 'MUESTA ALERT OK
+ ' Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={ObjFactura.CveCliente}&Opt=3"";")
+ ' retorno = True
+ ' ObjFactura = Nothing
+ ' Else
+ ' ObjVentas.RollBack()
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
- For Each ErrorItem In ErrorList
- Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
- Next
+ ' For Each ErrorItem In ErrorList
+ ' Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
+ ' Next
- 'MUESTA ALERT ERROR
- Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
- End If
+ ' 'MUESTA ALERT ERROR
+ ' Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
+ ' End If
- ObjVentas.Dispose()
- ObjConta.Dispose()
- ObjInventario.Dispose()
- ObjContr.Dispose()
- ErrorList = Nothing
- MensajeAlert = Nothing
- If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
- Else
- ObjVentas.RollBack()
- If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
+ ' ObjVentas.Dispose()
+ ' ObjConta.Dispose()
+ ' ObjInventario.Dispose()
+ ' ObjContr.Dispose()
+ ' ErrorList = Nothing
+ ' MensajeAlert = Nothing
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
+ 'Else
+ ' ObjVentas.RollBack()
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
- For Each ErrorItem In ErrorList
- Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
- Next
+ ' For Each ErrorItem In ErrorList
+ ' Alert(ErrorItem, TipoMensaje.MsgAdvertencia)
+ ' Next
- 'MUESTA ALERT ERROR
- Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
- ObjVentas.Dispose()
- ObjConta.Dispose()
- ObjInventario.Dispose()
- ObjContr.Dispose()
- 'ObjFolios.Dispose()
- ErrorList = Nothing
- MensajeAlert = Nothing
- If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
- End If
+ ' 'MUESTA ALERT ERROR
+ ' Alert("Ocurrió un error al procesar los datos. Por favor rectifique y vuelta a intentar.", TipoMensaje.MsgError)
+ ' ObjVentas.Dispose()
+ ' ObjConta.Dispose()
+ ' ObjInventario.Dispose()
+ ' ObjContr.Dispose()
+ ' 'ObjFolios.Dispose()
+ ' ErrorList = Nothing
+ ' MensajeAlert = Nothing
+ ' If ObjContPaq IsNot Nothing Then ObjContPaq.Dispose()
+ 'End If
Else
Mensaje = "No se pudo completar facturación por que no se encontraron partidas "
End If
End If
TmpDT.Clear()
- Return retorno
+ Return Resp
End Function
- Private Sub CreaDTVentas()
+ Private Sub CreaDTVentas()
TmpDT = New DataTable
- TmpDT.Columns.Add("CveVenta", GetType(Integer))
- TmpDT.Columns.Add("Consec", GetType(Integer))
- TmpDT.Columns.Add("Cantidad", GetType(Double))
- TmpDT.Columns.Add("Codigo", GetType(String))
- TmpDT.Columns.Add("CveUM", GetType(Integer))
- TmpDT.Columns.Add("UM", GetType(String))
- TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
- TmpDT.Columns.Add("Clasificacion", GetType(String))
- TmpDT.Columns.Add("CvePS", GetType(Integer))
- TmpDT.Columns.Add("PS", GetType(String))
- TmpDT.Columns.Add("CodigoPS", GetType(String))
- TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
- TmpDT.Columns.Add("SerieLote", GetType(String))
- TmpDT.Columns.Add("Obs", GetType(String))
- TmpDT.Columns.Add("TiempoEntrega", GetType(String))
- TmpDT.Columns.Add("PU", GetType(Double))
- TmpDT.Columns.Add("IVA", GetType(Double))
- TmpDT.Columns.Add("IEPS", GetType(Double))
- TmpDT.Columns.Add("Descuento", GetType(Double))
- TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
- TmpDT.Columns.Add("Total", GetType(Double))
- TmpDT.Columns.Add("CveProyecto", GetType(Integer))
- TmpDT.Columns.Add("Proyecto", GetType(String))
- TmpDT.Columns.Add("CveSubProyecto", GetType(Integer))
- TmpDT.Columns.Add("SubProyecto", GetType(String))
- TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer))
- TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
- TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer))
- TmpDT.Columns.Add("Observacion", GetType(String))
- TmpDT.Columns.Add("SATClaveUM", GetType(String))
- TmpDT.Columns.Add("SATClaveProdServ", GetType(String))
- TmpDT.Columns.Add("CuentaPredial", GetType(String))
- TmpDT.Columns.Add("NoIdentificacion", GetType(String))
- TmpDT.Columns.Add("TotalImporte", GetType(Double))
- TmpDT.Columns.Add("PorcentajeIVA", GetType(Double))
- TmpDT.Columns.Add("ImporteIVA", GetType(Double))
- TmpDT.Columns.Add("PorcentajeIEPS", GetType(Double))
- TmpDT.Columns.Add("ImporteIEPS", GetType(Double))
- TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Double))
- TmpDT.Columns.Add("ImporteRetIVA", GetType(Double))
- TmpDT.Columns.Add("PorcentajeRetISR", GetType(Double))
- TmpDT.Columns.Add("ImporteRetISR", GetType(Double))
-
+ TmpDT.Columns.Add("CveVenta", GetType(Integer))
+ TmpDT.Columns.Add("Consec", GetType(Integer))
+ TmpDT.Columns.Add("Cantidad", GetType(Decimal))
+ TmpDT.Columns.Add("Codigo", GetType(String))
+ TmpDT.Columns.Add("CveUM", GetType(Integer))
+ TmpDT.Columns.Add("UM", GetType(String))
+ TmpDT.Columns.Add("SATClaveUM", GetType(String))
+ TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
+ TmpDT.Columns.Add("Clasificacion", GetType(String))
+ TmpDT.Columns.Add("CvePS", GetType(Integer))
+ TmpDT.Columns.Add("PS", GetType(String))
+ TmpDT.Columns.Add("CodigoPS", GetType(String))
+ TmpDT.Columns.Add("SATClaveProdServ", GetType(String))
+ TmpDT.Columns.Add("NoIdentificacion", GetType(String))
+ TmpDT.Columns.Add("CveTipoPS", GetType(Integer))
+ TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
+ TmpDT.Columns.Add("Serie", GetType(String))
+ TmpDT.Columns.Add("CuentaPredial", GetType(String))
+ TmpDT.Columns.Add("Obs", GetType(String))
+ TmpDT.Columns.Add("TiempoEntrega", GetType(String))
+ TmpDT.Columns.Add("PU", GetType(Decimal))
+ TmpDT.Columns.Add("IVA", GetType(Decimal))
+ TmpDT.Columns.Add("ImporteIVA", GetType(Decimal))
+ TmpDT.Columns.Add("PorcentajeIVA", GetType(Decimal))
+ TmpDT.Columns.Add("ImporteRetIVA", GetType(Decimal))
+ TmpDT.Columns.Add("ImporteRetISR", GetType(Decimal))
+ TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
+ TmpDT.Columns.Add("PorcentajeRetISR", GetType(Decimal))
+ TmpDT.Columns.Add("ImporteIEPS", GetType(Decimal))
+ TmpDT.Columns.Add("IEPS", GetType(Decimal))
+ TmpDT.Columns.Add("PorcentajeIEPS", GetType(Decimal))
+ TmpDT.Columns.Add("Descuento", GetType(Decimal))
+ TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
+ TmpDT.Columns.Add("TotalImporte", GetType(Decimal))
+ TmpDT.Columns.Add("Total", GetType(Decimal))
+ 'Para uso del módulo contable
+ TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
+ TmpDT.Columns.Add("IdCtaContVentas", GetType(Integer))
+ TmpDT.Columns.Add("AplicaParaConcepto", GetType(Boolean))
+ TmpDT.Columns.Add("CveProyecto", GetType(Integer))
+ TmpDT.Columns.Add("Proyecto", GetType(String))
+ TmpDT.Columns.Add("CveSubProyecto", GetType(Integer))
+ TmpDT.Columns.Add("SubProyecto", GetType(String))
+ TmpDT.Columns.Add("CveVentaDetallePadre", GetType(Integer))
+
+ 'TipoDescuento: 1 = Descuento * PU; 2 = Descuento por Total del concepto
+ TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer))
+ TmpDT.Columns.Add("CveFuenteRecaudacion", GetType(Integer))
+ 'Contratos
+ TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
+ 'Remisiones a Facturas
+ TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer))
+ TmpDT.Columns.Add("CveVentaDetalleRemision", GetType(Integer))
+ TmpDT.Columns.Add("CveVentaDetalleCotizacion", GetType(Integer))
+
+ 'Pedido2 a Facturas
+ TmpDT.Columns.Add("CveVentaDetallePedido2", GetType(Integer))
+
+ TmpDT.Columns.Add("Origen", GetType(Integer))
+ 'Ordenes Servicio
+ TmpDT.Columns.Add("CveOS", GetType(Integer))
+ TmpDT.Columns.Add("CveOSDetalle", GetType(Integer))
+ TmpDT.Columns.Add("SeFacturara", GetType(Integer))
+ TmpDT.Columns.Add("Folio", GetType(Integer))
+ TmpDT.Columns.Add("Estatus", GetType(String))
+ 'Ordenamiento
+ TmpDT.Columns.Add("Orden", GetType(Integer))
+ TmpDT.Columns.Add("TipoDocto", GetType(String))
+ 'OC
+ TmpDT.Columns.Add("CveOrdenCompraDetalle", GetType(Integer))
+ TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
+
+ TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
+ TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal))
+ TmpDT.Columns.Add("CantidadFacturadaCot", GetType(Decimal))
+ TmpDT.Columns.Add("CantidadFacturadaPed2", GetType(Decimal))
+ TmpDT.Columns.Add("CantidadInventario", GetType(Decimal))
+
+ TmpDT.Columns.Add("ClaveSATFraccionArancelaria", GetType(String))
+ TmpDT.Columns.Add("ClaveSATUnidadAduana", GetType(String))
+ TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String))
+ TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String))
+
+ TmpDT.Columns.Add("CveTamaño", GetType(Integer))
+ TmpDT.Columns.Add("EsCargo", GetType(Boolean))
End Sub
- Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False)
+ Private Sub CreaObjetosVenta(Etiqueta As String, Optional VistaPrevia As Boolean = False)
Dim ObjFolios As New ClsGralFolios()
Dim Folio As String = ""
Dim Serie As String = ""
@@ -518,10 +447,9 @@ Partial Class Contratos_FacturacionMasiva
Dim Proyecto As String = ""
Dim SubProyecto As String = ""
-
-
- ObjFactura = New Modelos.Factura
- Dim objContratos As New ClsContratos
+ ObjFactura = New Modelos.Factura(UsuarioActual)
+ ObjFactura.DirectorioServidor = Server.MapPath("/")
+ ObjFactura.CveCicloComercial = CveCicloComercial
Dim DR As DataRow = DTCicloComercial.FiltroPrimero($"CveCicloComercial = {CveCicloComercial}")
ObjFactura.Version = "3.3"
@@ -544,7 +472,7 @@ Partial Class Contratos_FacturacionMasiva
ObjFactura.MetodoPago = "Efectivo"
ObjFactura.FechaPago = DateTime.Today
ObjFactura.MotivoDescuento = ""
- ObjFactura.Observaciones = DR("Observaciones").ToString
+ ObjFactura.Observaciones = Etiqueta + " " + TxtObservaciones.Text + " " + DR("Observaciones").ToString
ObjFactura.FechaEjecucion = DateTime.Today
'ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {1}")
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
@@ -587,15 +515,16 @@ Partial Class Contratos_FacturacionMasiva
End If
DT.Dispose()
End If
- ObjFolios.Dispose()
-
+ ObjFolios.Dispose()
+
+ Dim objContratos As New ClsContratos
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
DTDetalle = objContratos.DtResultados
Else
DTDetalle = Nothing
End If
-
- objContratos.Dispose()
+ objContratos.Dispose()
+
Dim DtR As DataRow
ObjFactura.SubTotal = SUM(DTDetalle, "Total").ToDecimal
ObjFactura.IVA = SUM(DTDetalle, "ImporteIVA").ToDecimal
@@ -607,34 +536,27 @@ Partial Class Contratos_FacturacionMasiva
ObjFactura.Folio = Folio.ToEntero
For Each row As DataRow In DTDetalle.Rows
+ Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("")
+
DtR = TmpDT.NewRow
DtR("CveVenta") = -1
DtR("Codigo") = row("Codigo")
DtR("Consec") = TmpDT.Rows.Count + 1
DtR("Cantidad") = row("CantidadContratada")
DtR("CveUM") = row("CveUM")
- DtR("UM") = row("UM")
+ DtR("UM") = row("UM")
+ DtR("SATClaveUM") = row("SATClaveUM")
DtR("CveClasificacion") = row("CveClasificacion")
DtR("Clasificacion") = row("Clasificacion")
DtR("CvePS") = row("CvePS")
DtR("PS") = row("PS")
- DtR("CodigoPS") = row("CodigoPS")
- DtR("Obs") = ""
- DtR("PU") = row("PU")
- DtR("Descuento") = 0
- DtR("TipoDescuento") = 0
- DtR("CveProyecto") = CveProyecto
- DtR("Proyecto") = Proyecto
- DtR("CveSubProyecto") = CveSubProyecto
- DtR("SubProyecto") = SubProyecto
- DtR("CveVentaDetalle") = 0
- DtR("CveContratoDetalle") = row("CveContratoDetalle")
- DtR("Observacion") = row("Observacion")
- DtR("SATClaveUM") = row("SATClaveUM")
+ DtR("CodigoPS") = row("CodigoPS")
DtR("SATClaveProdServ") = row("SATClaveProdServ")
- DtR("CuentaPredial") = row("CuentaPredial")
- DtR("NoIdentificacion") = row("NoIdentificacion")
- DtR("TotalImporte") = row("Total")
+ DtR("NoIdentificacion") = row("NoIdentificacion")
+ DtR("CveTipoPS") = DrPS("CveTipoPS")
+ DtR("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario")
+ DtR("Obs") = Etiqueta + " " + TxtObservaciones.Text + " " + row("Observacion").ToString
+ DtR("PU") = row("PU")
DtR("IVA") = row("PorcentajeIVA")
DtR("PorcentajeIVA") = row("PorcentajeIVA")
DtR("ImporteIVA") = row("ImporteIVA")
@@ -644,6 +566,17 @@ Partial Class Contratos_FacturacionMasiva
DtR("ImporteRetIVA") = row("ImporteRetIVA")
DtR("PorcentajeRetISR") = row("PorcentajeRetISR")
DtR("ImporteRetISR") = row("ImporteRetISR")
+ DtR("Descuento") = 0
+ DtR("TipoDescuento") = 0
+ DtR("CveProyecto") = CveProyecto
+ DtR("Proyecto") = Proyecto
+ DtR("CveSubProyecto") = CveSubProyecto
+ DtR("SubProyecto") = SubProyecto
+ DtR("CveVentaDetalle") = 0
+ DtR("CveContratoDetalle") = row("CveContratoDetalle")
+ DtR("CuentaPredial") = row("CuentaPredial")
+ DtR("TotalImporte") = row("Total")
+
TmpDT.Rows.Add(DtR)
Next
@@ -952,7 +885,9 @@ Partial Class Contratos_FacturacionMasiva
IdCtaContable = 0
CveCuenta = 0
Multiplicador = (Row("Multiplicador").ToString.ToEntero)
- Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", "")
+ Concepto = ObjConta.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, ObjFactura.Cliente.Nombre, $"{ObjFactura.Serie}-{ObjFactura.Folio}", "")
+
+ Dim PorcentajeImpuesto As Decimal = 0
Select Case ConceptoContable
Case 1 'Cliente
@@ -1077,6 +1012,7 @@ Partial Class Contratos_FacturacionMasiva
FechaMovimiento = ObjFactura.FechaPago
IdCtaContable = UsuarioActual.Empresa.IdCuentaIVAxTrasladar
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
+ PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIVA").ToDecimal
Case 38 'IEPS por Trasladar
If Not ObjFactura.TipoDocto.Contiene("Rem") Then
@@ -1089,7 +1025,8 @@ Partial Class Contratos_FacturacionMasiva
IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladar").ToString.ToEntero
CveCuenta = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxTrasladarSIG").ToString.ToEntero
End If
- End If
+ End If
+ PorcentajeImpuesto = TmpDTDetalle.MAX("PorcentajeIEPS").ToDecimal
End If
End Select
@@ -1101,7 +1038,7 @@ Partial Class Contratos_FacturacionMasiva
idCuentaContabilizacion = 0
End If
- If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento)) Then
+ If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), PorcentajeImpuesto:=PorcentajeImpuesto) Then
ErrorPrepoliza = True
Else
ViewState("SeGuardoPrePoliza") = True
diff --git a/Inventarios/PrestamosdeProveedor.aspx.vb b/Inventarios/PrestamosdeProveedor.aspx.vb
index 70fffb5d2..7db231efd 100644
--- a/Inventarios/PrestamosdeProveedor.aspx.vb
+++ b/Inventarios/PrestamosdeProveedor.aspx.vb
@@ -199,7 +199,10 @@ Partial Class Inventarios_PrestamosdeProveedor
CveSubProyecto = ObjInventario.DtResultados.FiltraParametros($"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero } ").FiltroPrimeroValor("CveSubProyecto").ToString.ToEntero
End If
-
+ If CveSubProyecto <= 0 Then
+ Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia)
+ ErrorMovInv = True
+ End If
Dim CveClasifCosto As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", String.Format("CvePS ={0} ", CvePS))
IdCtaContableOtro = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasifCosto}").ToEntero
diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx
index a4d52dd3d..e0791c45f 100644
--- a/Inventarios/RecepcionAlmacen.aspx
+++ b/Inventarios/RecepcionAlmacen.aspx
@@ -283,7 +283,7 @@
-
+
@@ -360,6 +360,18 @@
+ <%--ADVERTENCIA--%>
+