diff --git a/Acumuladores/CatFoliosGarantia.aspx b/Acumuladores/CatFoliosGarantia.aspx
index 13f18fd12..ac47d269b 100644
--- a/Acumuladores/CatFoliosGarantia.aspx
+++ b/Acumuladores/CatFoliosGarantia.aspx
@@ -449,7 +449,7 @@
-
+
diff --git a/Acumuladores/CatFoliosGarantia.aspx.vb b/Acumuladores/CatFoliosGarantia.aspx.vb
index ad11b7002..8bbe06bd5 100644
--- a/Acumuladores/CatFoliosGarantia.aspx.vb
+++ b/Acumuladores/CatFoliosGarantia.aspx.vb
@@ -133,7 +133,7 @@ Partial Class Acumuladores_CatFoliosGarantia
ObjAcum.Dispose()
Else
'si se marca como enviado, debe de revisar que tenga el movto de traslado
- If HdnCveMovimientoSalida.Value = "" AndAlso DdlEstatusEditar.SelectedValue = "2" Then
+ If HdnCveMovimientoSalida.Value.ToEntero = 0 AndAlso DdlEstatusEditar.SelectedValue = "2" Then
Alert("No se ha realizado la salida del almacen de garantía, al de 'devolución al proveedor'. Favor de aplicar la salida y luego cambiar el estatus a enviado. ", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb
index 312701d11..5e6cc5b5c 100644
--- a/App_Code/ClsOC.vb
+++ b/App_Code/ClsOC.vb
@@ -766,6 +766,7 @@ Public Class ClsOC
.Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output
+ .Add("@vSerieFolio", SqlDbType.VarChar, 25).Direction = ParameterDirection.Output
End With
Try
@@ -773,6 +774,7 @@ Public Class ClsOC
_CveOrdenCompra = SqlAdapter.SelectCommand.Parameters("@vCveOrdenCompra").Value.ToString.ToEntero
_Folio = SqlAdapter.SelectCommand.Parameters("@vFolio").Value.ToString.ToEntero
+ _SerieFolio = SqlAdapter.SelectCommand.Parameters("@vSerieFolio").Value.ToString
'GetOC(_CveOrdenCompra, pCveEmpresa)
Retorno = True
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index b3e65d94f..a0a451539 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -6960,8 +6960,11 @@ Public Class ClsPaginas
End If
params.Add(New ReportParameter("CFDIVersion", Vta.Version))
- If Vta.Cliente.CodigoRegimenFiscal.ToString.Length > 0 Then
- params.Add(New ReportParameter("RegimenFiscalCodigo", $"{Vta.Cliente.CodigoRegimenFiscal}-{Vta.Cliente.RegimenFiscal}"))
+
+ If Vta.Cliente IsNot Nothing Then
+ If Vta.Cliente.CodigoRegimenFiscal.ToString.Length > 0 Then
+ params.Add(New ReportParameter("RegimenFiscalCodigo", $"{Vta.Cliente.CodigoRegimenFiscal}-{Vta.Cliente.RegimenFiscal}"))
+ End If
End If
'CLIENTE
@@ -7808,59 +7811,60 @@ Public Class ClsPaginas
End If
- If Not Archivo.Exists Or (UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso UsuarioActual.CveEmpresa = 197) Then
+ ' If Not Archivo.Exists Or (UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso UsuarioActual.CveEmpresa.Contiene(197, 189)) Then
- Dim SBDomicilioSucursal As New StringBuilder()
- Dim CiudadSucursal As String = ""
- Dim ObjClientes As New ClsClientes
-
- params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
- params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC))
-
- If ObjOC.GetSucursalOC(ObjOC.CveOrdenCompra) AndAlso ObjOC.DtResultados.Rows.Count > 0 Then
-
- params.Add(New ReportParameter("Proyecto", ObjOC.SucSubProyecto.ToString))
- params.Add(New ReportParameter("Telefono", ObjOC.SucTelefono.ToString))
-
- CiudadSucursal = String.Format("{0},{1}", ObjOC.SucMunicipio, ObjOC.SucEstado)
-
- SBDomicilioSucursal.AppendFormat("{0}", ObjOC.SucCalle)
- If ObjOC.SucNoExt.Length > 0 Then SBDomicilioSucursal.AppendFormat(" No.Ext: {0}", ObjOC.SucNoExt)
- If ObjOC.SucNoInt.Length > 0 Then SBDomicilioSucursal.AppendFormat(", No.Int: {0}", ObjOC.SucNoInt)
- If ObjOC.SucColonia.Length > 0 Then SBDomicilioSucursal.AppendFormat(", Col: {0}", ObjOC.SucColonia)
- If ObjOC.SucCP.Length > 0 Then SBDomicilioSucursal.AppendFormat(", CP: {0}", ObjOC.SucCP)
- If CiudadSucursal.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", CiudadSucursal)
- If ObjOC.SucPais.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", ObjOC.SucPais)
-
- DomicilioSucursal = SBDomicilioSucursal.ToString
+ Dim SBDomicilioSucursal As New StringBuilder()
+ Dim CiudadSucursal As String = ""
+ Dim ObjClientes As New ClsClientes
- Dim DirecconSubProyectoEntrega As String = ""
- Dim CveSubProyectoEntrega As Integer = dtOC(0)("CveSubProyectoEntrega").ToString.ToEntero
+ params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
+ params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC))
- If CveSubProyectoEntrega > 0 Then
+ If ObjOC.GetSucursalOC(ObjOC.CveOrdenCompra) AndAlso ObjOC.DtResultados.Rows.Count > 0 Then
- Dim DTSubProyectoEntrega As DataTable = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyectoEntrega)
+ params.Add(New ReportParameter("Proyecto", ObjOC.SucSubProyecto.ToString))
+ params.Add(New ReportParameter("Telefono", ObjOC.SucTelefono.ToString))
- params.Add(New ReportParameter("SubProyectoEntrega", DTSubProyectoEntrega(0)("SubProyecto").ToString))
+ CiudadSucursal = String.Format("{0},{1}", ObjOC.SucMunicipio, ObjOC.SucEstado)
- Dim SubProyectoEntregaDir As String = $"Calle {DTSubProyectoEntrega(0)("Calle").ToString}"
- SubProyectoEntregaDir = $"{SubProyectoEntregaDir} No. {DTSubProyectoEntrega(0)("NoExt").ToString()}"
+ SBDomicilioSucursal.AppendFormat("{0}", ObjOC.SucCalle)
+ If ObjOC.SucNoExt.Length > 0 Then SBDomicilioSucursal.AppendFormat(" No.Ext: {0}", ObjOC.SucNoExt)
+ If ObjOC.SucNoInt.Length > 0 Then SBDomicilioSucursal.AppendFormat(", No.Int: {0}", ObjOC.SucNoInt)
+ If ObjOC.SucColonia.Length > 0 Then SBDomicilioSucursal.AppendFormat(", Col: {0}", ObjOC.SucColonia)
+ If ObjOC.SucCP.Length > 0 Then SBDomicilioSucursal.AppendFormat(", CP: {0}", ObjOC.SucCP)
+ If CiudadSucursal.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", CiudadSucursal)
+ If ObjOC.SucPais.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", ObjOC.SucPais)
- If DTSubProyectoEntrega(0)("NoInt").ToString().Trim.Length > 0 Then
- SubProyectoEntregaDir = $"{SubProyectoEntregaDir} No. int.{DTSubProyectoEntrega(0)("NoInt").ToString()}"
- End If
+ DomicilioSucursal = SBDomicilioSucursal.ToString
- SubProyectoEntregaDir = $"{SubProyectoEntregaDir}{vbCrLf}"
- SubProyectoEntregaDir = $"{SubProyectoEntregaDir}{DTSubProyectoEntrega(0)("Colonia").ToString()} C.P. {DTSubProyectoEntrega(0)("CP").ToString()}{vbCrLf}"
- SubProyectoEntregaDir = $"{SubProyectoEntregaDir}{DTSubProyectoEntrega(0)("Municipio").ToString()},{DTSubProyectoEntrega(0)("Estado").ToString()}{vbCrLf}Tel. { DTSubProyectoEntrega(0)("Telefono").ToString()}"
+ Dim DirecconSubProyectoEntrega As String = ""
+ Dim CveSubProyectoEntrega As Integer = dtOC(0)("CveSubProyectoEntrega").ToString.ToEntero
- params.Add(New ReportParameter("SubProyectoEntregaDir", SubProyectoEntregaDir))
+ If CveSubProyectoEntrega > 0 Then
+ Dim DTSubProyectoEntrega As DataTable = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyectoEntrega)
+
+ params.Add(New ReportParameter("SubProyectoEntrega", DTSubProyectoEntrega(0)("SubProyecto").ToString))
+
+ Dim SubProyectoEntregaDir As String = $"Calle {DTSubProyectoEntrega(0)("Calle").ToString}"
+ SubProyectoEntregaDir = $"{SubProyectoEntregaDir} No. {DTSubProyectoEntrega(0)("NoExt").ToString()}"
+
+ If DTSubProyectoEntrega(0)("NoInt").ToString().Trim.Length > 0 Then
+ SubProyectoEntregaDir = $"{SubProyectoEntregaDir} No. int.{DTSubProyectoEntrega(0)("NoInt").ToString()}"
End If
+
+ SubProyectoEntregaDir = $"{SubProyectoEntregaDir}{vbCrLf}"
+
+ SubProyectoEntregaDir = $"{SubProyectoEntregaDir}{DTSubProyectoEntrega(0)("Colonia").ToString()} C.P. {DTSubProyectoEntrega(0)("CP").ToString()}{vbCrLf}"
+ SubProyectoEntregaDir = $"{SubProyectoEntregaDir}{DTSubProyectoEntrega(0)("Municipio").ToString()},{DTSubProyectoEntrega(0)("Estado").ToString()}{vbCrLf}Tel. { DTSubProyectoEntrega(0)("Telefono").ToString()}"
+
+ params.Add(New ReportParameter("SubProyectoEntregaDir", SubProyectoEntregaDir))
+
End If
End If
+ 'End If
Dim CveUsuarioSol As Integer = dtOC(0)("CveUsuarioSolicito").ToString.ToEntero
Dim CveUsuarioAut As Integer = dtOC(0)("CveUsuarioAutorizo").ToString.ToEntero
@@ -7984,16 +7988,17 @@ Public Class ClsPaginas
params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, ImageToBase64(Drawing.Image.FromFile(FirmaAut.FullName), Drawing.Imaging.ImageFormat.Png), "")))
- If Not Archivo.Exists Or (UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso UsuarioActual.CveEmpresa = 197) Then
+ 'If Not Archivo.Exists Or (UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso UsuarioActual.CveEmpresa = 197) Then
- Dim ObjProveedor As New ClsCompProveedores
+ Dim ObjProveedor As New ClsCompProveedores
If ObjProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, ObjOC.CveProveedor, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, EmpresaActual.CveEmpresa) Then
If ObjProveedor.DtResultados.Rows.Count > 0 Then
params.Add(New ReportParameter("PlazoPago", ObjProveedor.PlazoPago.ToString))
End If
End If
+ ObjProveedor.Dispose()
- End If
+ 'End If
If Archivo.Exists Then
bytes = StreamPDF(String.Format("{0}Formatos\OC.rdlc", EmpresaActual.Ruta), DtDetalle, params, $"OC_{ObjOC.Folio.ToString}", RDSName:="DsOC", MR:=MR)
@@ -8108,7 +8113,7 @@ Public Class ClsPaginas
End If
End If
ObjOC.Dispose()
- DtDetalle.Dispose()
+ 'DtDetalle.Dispose()
Catch ex As Exception
GuardaLog(String.Format("Ocurrio un error al generar el strem de la oc={0}. {1}", tCveOrdenCompra, ex.Message))
End Try
diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb
index 511e9125e..9ea2ab57d 100644
--- a/App_Code/ClsProductosServicios.vb
+++ b/App_Code/ClsProductosServicios.vb
@@ -537,7 +537,21 @@ Public Class ClsProductosServicios
If Ex1.Message.Contains("Número: 2627;") Then
Alert("El Nuevo Producto o Servicio no se guardo debido a que actualmente se encuentra registrado", TipoMensaje.MsgAdvertencia)
ElseIf Ex1.Message.Contains("Número: 2601;") Then
- Alert("El Nuevo Producto o Servicio tiene Codigo duplicado:" & Codigo, TipoMensaje.MsgAdvertencia)
+
+ If Ex1.Message.Contains("UK_ProductosServicios_Codigo_Empresa") Then
+ Alert("El Nuevo Producto o Servicio tiene Codigo duplicado:" & Codigo, TipoMensaje.MsgAdvertencia)
+ ElseIf Ex1.Message.Contains("UK_ProductosServicios_CveEmpresa_CodigoBarras") Then
+ Alert("El Nuevo Producto o Servicio tiene Codigo de barras duplicado:" & CodigoBarras, TipoMensaje.MsgAdvertencia)
+ ElseIf Ex1.Message.Contains("UK_ProductosServicios_CveEmpresa_NumeroParte") Then
+ Alert("El Nuevo Producto o Servicio tiene Numero de Parte duplicado:" & NumeroParte, TipoMensaje.MsgAdvertencia)
+ ElseIf Ex1.Message.Contains("UK_ProductosServicios_EmpresaNumeroParte") Then
+ Alert("El Nuevo Producto o Servicio tiene Numero de Parte duplicado:" & NumeroParte, TipoMensaje.MsgAdvertencia)
+ Else
+ Alert("El Nuevo Producto o Servicio duplicado(ND):" & NumeroParte, TipoMensaje.MsgAdvertencia)
+ End If
+
+
+
Else
Me.OnError("Ocurrió un error al guardar el nuevo Producto o Servicio.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index c926a33b8..224d790b2 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -2886,6 +2886,13 @@ concep.DescripcionesEspecificas.NumeroSerie)
ArchivoLLave = $"{Extensiones.ModExtensiones.DirectorioEmpresas}\1\Certificados\EKU9003173C9.key"
ArchivoCertificado = $"{Extensiones.ModExtensiones.DirectorioEmpresas}\1\Certificados\EKU9003173C9.cer"
+ If Ventas.Timbre.Comprobante.TipoComprobante = "T" Then
+ Ventas.Timbre.Receptor.RFC = "EKU9003173C9"
+ Ventas.Timbre.Receptor.Nombre = "ESCUELA KEMPER URGATE"
+ Ventas.Timbre.Receptor.DomicilioFiscalReceptor = "42501"
+ Ventas.Timbre.Receptor.RegimenFiscalReceptor = "601"
+ End If
+
Clave = "12345678a"
TimbraProduccion = False
UsuarioServicio = "UserTest"
@@ -3124,6 +3131,13 @@ concep.DescripcionesEspecificas.NumeroSerie)
Clave = "12345678a"
TimbraProduccion = False
+ If Ventas.Timbre.Comprobante.TipoComprobante = "T" Then
+ Ventas.Timbre.Receptor.RFC = "EKU9003173C9"
+ Ventas.Timbre.Receptor.Nombre = "ESCUELA KEMPER URGATE"
+ Ventas.Timbre.Receptor.DomicilioFiscalReceptor = "42501"
+ Ventas.Timbre.Receptor.RegimenFiscalReceptor = "601"
+ End If
+
End If
#Region "Valida"
diff --git a/App_Code/Timbres.vb b/App_Code/Timbres.vb
index 10e58f4e2..d634088ea 100644
--- a/App_Code/Timbres.vb
+++ b/App_Code/Timbres.vb
@@ -395,6 +395,10 @@ Public Class Timbres
_MsgError.AppendLine("timbrado son detalle de productos")
End If
+ If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
+ Timbre.Receptor.UsoCFDI = "CP01"
+ End If
+
End If
Else
diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index abf6c7d0f..c0bd4a9d4 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -1329,7 +1329,16 @@
-
+
+
+
+ Unidad
+
+
+
+
+
+ <%----%>
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 77dfe290f..e78190fe8 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1962,10 +1962,12 @@ Partial Class Compras_Compras
Dim BaseIVA As Decimal = 0
Dim TasaIEPS As String = ""
Dim traslados As XmlNodeList = impuestosNode.SelectNodes("cfdi:Traslados/cfdi:Traslado", namespaces)
+ Dim tieneIEPS As Boolean = False
For Each traslado As XmlNode In traslados
' Obtener los valores de los atributos Base e Importe
Dim baseValue As Decimal = Decimal.Parse(ValorXML(traslado, "Base")).RoundSQL(2)
Dim impuesto As String = ValorXML(traslado, "Impuesto")
+ Dim importeImpuesto As Decimal = ValorXML(traslado, "Importe").ToDecimal.RoundSQL(2)
If impuesto = "001" Then
impuesto = "ISR"
@@ -1975,12 +1977,12 @@ Partial Class Compras_Compras
ElseIf impuesto = "003" Then
impuesto = "IEPS"
TasaIEPS = ValorXML(traslado, "TasaOCuota")
- BaseIEPS += baseValue
+ BaseIEPS = baseValue + importeImpuesto
+ tieneIEPS = True
End If
Next
' Validar si Base coincide con Importe
- If BaseIVA <> BaseIEPS AndAlso BaseIEPS > 0 Then
- 'SbValRet.Append($"La base e importe de la retención del impuesto {impuesto} no coinciden para {descripcion}. Base: {baseValue.ToString()}, Importe: {importeValue.ToString()} ")
+ If tieneIEPS AndAlso Math.Abs(BaseIVA - BaseIEPS) > 0.01 Then 'subTotal + IEPS
SbValRet.Append($"Producto: {descripcion} La base del IEPS es no coincide con el subtotal, favor de desglosarlo en una base : {BaseIEPS.ToString()}, Tasa: {TasaIEPS} ")
End If
End If
@@ -2306,6 +2308,7 @@ Partial Class Compras_Compras
GvPS.DataSource = TmpDT
GvPS.DataBind()
UpPS.Update()
+ CargaGvInv()
End If
End If
Else
@@ -2447,11 +2450,12 @@ Partial Class Compras_Compras
Msg &= String.Format("- Los descuentos del detalle no coinciden con el descuento general ")
End If
+
If Math.Abs(Math.Round(IVATemp, 6) - Math.Round(TrasladoIVA, 6)) > 0.01 Then
Msg &= String.Format("- Los IVAS del detalle no coinciden con el IVA general ")
End If
- If Math.Abs(Math.Round(IEPSTemp, 6) - Math.Round(TrasladoIEPS, 6)) > 0.01 Then
+ If Math.Abs(Math.Round(IEPSTemp, 6) - Math.Round(TrasladoIEPS, 6)).RoundAD(2) > 0.01 Then
Msg &= String.Format("- Los IEPS del detalle no coinciden con el IEPS general ")
End If
@@ -4462,11 +4466,14 @@ Partial Class Compras_Compras
End If
If UsuarioActual.TienePermisoProceso(121) And Not (CveImportacion > 0 Or CveFlete > 0) Then 'valida que de salida, pero sino es importación o costoindirecto
+
If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
+
If Not NCDevolucion And Not ChkNCInvNC.Checked Then
Alert("Favor de seleccionar un producto en la pestaña de almacen", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
+ ValidaFechaDeAlamacen()
Else
Dim x As Integer = 0
For Each Dr As GridViewRow In GvInv.Rows
@@ -4480,11 +4487,13 @@ Partial Class Compras_Compras
Exit Sub
End If
End If
+
+
+
End If
- If Not ValidaFechaDeAlamacen() Then
- Exit Sub
- End If
+
+
End If
If UsuarioActual.Empresa.Funcionalidad(538) = "1" Then
@@ -5093,306 +5102,306 @@ Partial Class Compras_Compras
End If
End If
- '-------INICIA U S A A C -------------------------------------------------------------------
- 'If UsuarioActual.Empresa.UsaAC AndAlso Not TieneError Then
+ '-------INICIA U S A A C -------------------------------------------------------------------
+ 'If UsuarioActual.Empresa.UsaAC AndAlso Not TieneError Then
- ' If TotalPorDevengar <= TxtTotal.Text.ToDouble And TotalPorDevengar > 0 Then
- ' ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
- ' ObjContaAC.IniciaTransacSQL()
+ ' If TotalPorDevengar <= TxtTotal.Text.ToDouble And TotalPorDevengar > 0 Then
+ ' ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
+ ' ObjContaAC.IniciaTransacSQL()
- ' ''POLIZA COMPROMETIDO SOLO SI NO SE VINCULA OC
- ' If HdnVCveOC.Value.ToEntero > 0 Then
+ ' ''POLIZA COMPROMETIDO SOLO SI NO SE VINCULA OC
+ ' If HdnVCveOC.Value.ToEntero > 0 Then
- ' IDPolizaComprometido = 1
- ' TotalPorDevengar = TotalPorDevengar * 2
- ' Else
- ' TotalPorDevengar = TotalPorDevengar * 3
- ' End If
+ ' IDPolizaComprometido = 1
+ ' TotalPorDevengar = TotalPorDevengar * 2
+ ' Else
+ ' TotalPorDevengar = TotalPorDevengar * 3
+ ' End If
- ' IdPoliza = ObjContaAC.AddPoliza(3, TxtDescripcion.Text.Trim, TotalPorDevengar, TotalPorDevengar, UsuarioActual.CveUsuario, TxtFecha.Text.ToDate)
+ ' IdPoliza = ObjContaAC.AddPoliza(3, TxtDescripcion.Text.Trim, TotalPorDevengar, TotalPorDevengar, UsuarioActual.CveUsuario, TxtFecha.Text.ToDate)
- ' 'Dim filtro As New StringBuilder
- ' If IdPoliza > 0 Then
- ' PolizaFolio = ObjContaAC.Folio
- ' 'Dim RegistroMatriz As DataRow
- ' 'Dim CuentaCargo As Integer
- ' Dim CuentaAbono As Integer
- ' Dim Importe As Decimal
+ ' 'Dim filtro As New StringBuilder
+ ' If IdPoliza > 0 Then
+ ' PolizaFolio = ObjContaAC.Folio
+ ' 'Dim RegistroMatriz As DataRow
+ ' 'Dim CuentaCargo As Integer
+ ' Dim CuentaAbono As Integer
+ ' Dim Importe As Decimal
- ' 'CUENTA PROVEEDOR
- ' 'If tIdContaProveedor <= 0 Then
- ' ' 'normalmente debe de ser la cuenta 021120000000000000, para el caso de APH, se el cmabio al 2119
- ' ' If ObjContaAC.GetCuentas(-1, "021190000000000000", -1) Then
- ' ' Dim drCuenta As DataRow = ObjContaAC.DtResultados.FiltroPrimero("")
- ' ' If drCuenta IsNot Nothing Then
+ ' 'CUENTA PROVEEDOR
+ ' 'If tIdContaProveedor <= 0 Then
+ ' ' 'normalmente debe de ser la cuenta 021120000000000000, para el caso de APH, se el cmabio al 2119
+ ' ' If ObjContaAC.GetCuentas(-1, "021190000000000000", -1) Then
+ ' ' Dim drCuenta As DataRow = ObjContaAC.DtResultados.FiltroPrimero("")
+ ' ' If drCuenta IsNot Nothing Then
- ' ' CuentaAbono = drCuenta("Id").ToString.ToEntero
- ' ' Dim FolioProveedor = ObjContaAC.GetFolioProveedores("021190000000000000").ToString
- ' ' ViewState("CtaProveedor") = ObjContaAC.AddCuenta(String.Format("02119{0}000000000", FolioProveedor.PadLeft(4, "0"c)), NombreProveedor, "D", 2, 0, 1, 0, "", 1, CuentaAbono)
- ' ' ObjProveedores.UpdateProveedorIdCuentaAC(CveProveedor, CtaProveedor)
+ ' ' CuentaAbono = drCuenta("Id").ToString.ToEntero
+ ' ' Dim FolioProveedor = ObjContaAC.GetFolioProveedores("021190000000000000").ToString
+ ' ' ViewState("CtaProveedor") = ObjContaAC.AddCuenta(String.Format("02119{0}000000000", FolioProveedor.PadLeft(4, "0"c)), NombreProveedor, "D", 2, 0, 1, 0, "", 1, CuentaAbono)
+ ' ' ObjProveedores.UpdateProveedorIdCuentaAC(CveProveedor, CtaProveedor)
- ' ' Else
- ' ' ErrorAC = True
- ' ' ErrorACMEnsaje.Append(" - DrCuenta Nula")
- ' ' End If
- ' ' Else
- ' ' ErrorACMEnsaje.Append(" - Error al consultar cuenta 021190000000000000 ")
- ' ' ErrorAC = True
- ' ' End If
- ' 'End If
+ ' ' Else
+ ' ' ErrorAC = True
+ ' ' ErrorACMEnsaje.Append(" - DrCuenta Nula")
+ ' ' End If
+ ' ' Else
+ ' ' ErrorACMEnsaje.Append(" - Error al consultar cuenta 021190000000000000 ")
+ ' ' ErrorAC = True
+ ' ' End If
+ ' 'End If
- ' Dim ConceptoRenglon As String = ""
- ' If Not ErrorAC Then
+ ' Dim ConceptoRenglon As String = ""
+ ' If Not ErrorAC Then
- ' 'INVENTARIOS EN AC
- ' Dim ContadorInventario As Integer = GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked)
+ ' 'INVENTARIOS EN AC
+ ' Dim ContadorInventario As Integer = GvInv.Rows.Cast(Of GridViewRow)().Count(Function(gvr) gvr.FCCheckBox("cbInv").Checked)
- ' Dim tTotalIVA, tTotalGral, tDiferenciaIVA, tIVA, tRetIVA, tRetISR As Decimal
- ' Dim ipresup As Integer = 0
- ' 'COMIENZA: PRUEBA AGRUPACION CONCEPTOS
- ' Dim Presup = From gvr As DataRow In TmpDT.Rows.Cast(Of DataRow)()
- ' Group gvr By Grp = New With {
- ' Key .CvePresupuestoEgreso = gvr("CvePresupuestoEgreso").ToString.ToEntero,
- ' Key .CveOrdencompraDetalle = If(gvr("CveOrdencompraDetalle").ToString.ToEntero > 0, 1, -1),
- ' Key .CveActivoFijo = If(gvr("TipoAF").ToString.ToEntero = 2, gvr("CveActivoFijo").ToString.ToEntero, -1)
- ' } Into Group
- ' Select Grp.CvePresupuestoEgreso, Grp.CveActivoFijo, Grp.CveOrdencompraDetalle,
- ' TotalImporte = Group.Sum(Function(r) r("Total").ToString.ToDecimal)
- ' Dim Fecha As Date = TxtFecha.Text.ToDate
+ ' Dim tTotalIVA, tTotalGral, tDiferenciaIVA, tIVA, tRetIVA, tRetISR As Decimal
+ ' Dim ipresup As Integer = 0
+ ' 'COMIENZA: PRUEBA AGRUPACION CONCEPTOS
+ ' Dim Presup = From gvr As DataRow In TmpDT.Rows.Cast(Of DataRow)()
+ ' Group gvr By Grp = New With {
+ ' Key .CvePresupuestoEgreso = gvr("CvePresupuestoEgreso").ToString.ToEntero,
+ ' Key .CveOrdencompraDetalle = If(gvr("CveOrdencompraDetalle").ToString.ToEntero > 0, 1, -1),
+ ' Key .CveActivoFijo = If(gvr("TipoAF").ToString.ToEntero = 2, gvr("CveActivoFijo").ToString.ToEntero, -1)
+ ' } Into Group
+ ' Select Grp.CvePresupuestoEgreso, Grp.CveActivoFijo, Grp.CveOrdencompraDetalle,
+ ' TotalImporte = Group.Sum(Function(r) r("Total").ToString.ToDecimal)
+ ' Dim Fecha As Date = TxtFecha.Text.ToDate
- ' 'Dim tTotalIVA, tTotalGral, tDiferenciaIVA, tIVA As Double
- ' tTotalIVA = TxtIVA.Text.ToDecimal
- ' tRetIVA = TxtRetIVA.Text.ToDecimal
- ' tRetISR = TxtRetISR.Text.ToDecimal
+ ' 'Dim tTotalIVA, tTotalGral, tDiferenciaIVA, tIVA As Double
+ ' tTotalIVA = TxtIVA.Text.ToDecimal
+ ' tRetIVA = TxtRetIVA.Text.ToDecimal
+ ' tRetISR = TxtRetISR.Text.ToDecimal
- ' 'tTotalIVA = tTotalIVA - tRetIVA - tRetISR
+ ' 'tTotalIVA = tTotalIVA - tRetIVA - tRetISR
- ' tTotalGral = TxtTotal.Text.ToDecimal + tRetIVA + tRetISR ' EL TOTAL GENERAL DEBE DE SER EL SUBTOTAL + IVA, NO SE DEBEN DE INCLUIR LAS RETENCIONES, POR ESO SE RESTA
- ' tDiferenciaIVA = tTotalIVA
+ ' tTotalGral = TxtTotal.Text.ToDecimal + tRetIVA + tRetISR ' EL TOTAL GENERAL DEBE DE SER EL SUBTOTAL + IVA, NO SE DEBEN DE INCLUIR LAS RETENCIONES, POR ESO SE RESTA
+ ' tDiferenciaIVA = tTotalIVA
- ' ipresup = 0
+ ' ipresup = 0
- ' Dim CuentaMatrizAlmacen As Integer
+ ' Dim CuentaMatrizAlmacen As Integer
- ' 'PresupuestoEgresos
- ' Dim DtPresupuestosTemp As DataTable
- ' Dim IdCuentaComprometido, IdCuentaPorEjercer, IdCuentaDevengado, IdCuentaMatriz As Integer
- ' ' Dim DescuentoConIVA As Decimal
- ' Dim tPorIVA As Decimal = tTotalIVA / (tTotalGral - tTotalIVA)
- ' Dim tAjusteTotal As Decimal
+ ' 'PresupuestoEgresos
+ ' Dim DtPresupuestosTemp As DataTable
+ ' Dim IdCuentaComprometido, IdCuentaPorEjercer, IdCuentaDevengado, IdCuentaMatriz As Integer
+ ' ' Dim DescuentoConIVA As Decimal
+ ' Dim tPorIVA As Decimal = tTotalIVA / (tTotalGral - tTotalIVA)
+ ' Dim tAjusteTotal As Decimal
- ' For Each grp In Presup
- ' Importe = grp.TotalImporte
- ' TotalDetalle += Importe
- ' ipresup += 1
- ' If Importe > 0 Then
- ' 'saco la proporcion de iva que le corresponde
- ' tIVA = Math.Round(Importe * tPorIVA, 2)
- ' tDiferenciaIVA -= tIVA
- ' 'identifico si es el ultimo registro, para ver si es necesario un ajuste
- ' If ipresup = Presup.Count Then
- ' If Math.Round(TotalDetalle - tTotalGral, 2) <= 0.01 AndAlso tDiferenciaIVA > 0 Then
- ' tIVA += tDiferenciaIVA
- ' End If
- ' End If
+ ' For Each grp In Presup
+ ' Importe = grp.TotalImporte
+ ' TotalDetalle += Importe
+ ' ipresup += 1
+ ' If Importe > 0 Then
+ ' 'saco la proporcion de iva que le corresponde
+ ' tIVA = Math.Round(Importe * tPorIVA, 2)
+ ' tDiferenciaIVA -= tIVA
+ ' 'identifico si es el ultimo registro, para ver si es necesario un ajuste
+ ' If ipresup = Presup.Count Then
+ ' If Math.Round(TotalDetalle - tTotalGral, 2) <= 0.01 AndAlso tDiferenciaIVA > 0 Then
+ ' tIVA += tDiferenciaIVA
+ ' End If
+ ' End If
- ' 'le sumo el iva al concepto
- ' Importe += tIVA
+ ' 'le sumo el iva al concepto
+ ' Importe += tIVA
- ' 'codigo Provisional, para cuand tenga descuento, solo tome el subtotal * el iva,RMF
- ' If TxtDescuento.Text.ToDouble > 0 Then
- ' Importe = grp.TotalImporte * 1.16D
- ' End If
+ ' 'codigo Provisional, para cuand tenga descuento, solo tome el subtotal * el iva,RMF
+ ' If TxtDescuento.Text.ToDouble > 0 Then
+ ' Importe = grp.TotalImporte * 1.16D
+ ' End If
- ' tAjusteTotal += Importe
- ' 'valido que la sumas de lo detalles no exceda al totalgeneral
- ' If Math.Round(tAjusteTotal, 2) > tTotalGral Then
- ' 'le resto la diferencia
- ' Importe -= (tAjusteTotal - tTotalGral)
- ' End If
+ ' tAjusteTotal += Importe
+ ' 'valido que la sumas de lo detalles no exceda al totalgeneral
+ ' If Math.Round(tAjusteTotal, 2) > tTotalGral Then
+ ' 'le resto la diferencia
+ ' Importe -= (tAjusteTotal - tTotalGral)
+ ' End If
- ' 'Presupuesto Egresos
- ' DtPresupuestosTemp = DtPresupuestos.FiltraParametros(String.Format("CvePresupuestoEgreso = {0}", grp.CvePresupuestoEgreso))
- ' If DtPresupuestosTemp.Rows.Count <> 1 Then
- ' ErrorAC = True
- ' ErrorACMEnsaje.Append(" - DtPresupuestosTemp.Rows.Count <> 1 ")
- ' Exit For
- ' End If
- ' IdCuentaComprometido = DtPresupuestosTemp.Rows(0)("IdCuentaComprometido").ToString.ToEntero
- ' IdCuentaPorEjercer = DtPresupuestosTemp.Rows(0)("IdCuentaPorEjercer").ToString.ToEntero
- ' IdCuentaDevengado = DtPresupuestosTemp.Rows(0)("IdCuentaDevengado").ToString.ToEntero
- ' IdCuentaMatriz = DtPresupuestosTemp.Rows(0)("IdCuentaMatriz").ToString.ToEntero
+ ' 'Presupuesto Egresos
+ ' DtPresupuestosTemp = DtPresupuestos.FiltraParametros(String.Format("CvePresupuestoEgreso = {0}", grp.CvePresupuestoEgreso))
+ ' If DtPresupuestosTemp.Rows.Count <> 1 Then
+ ' ErrorAC = True
+ ' ErrorACMEnsaje.Append(" - DtPresupuestosTemp.Rows.Count <> 1 ")
+ ' Exit For
+ ' End If
+ ' IdCuentaComprometido = DtPresupuestosTemp.Rows(0)("IdCuentaComprometido").ToString.ToEntero
+ ' IdCuentaPorEjercer = DtPresupuestosTemp.Rows(0)("IdCuentaPorEjercer").ToString.ToEntero
+ ' IdCuentaDevengado = DtPresupuestosTemp.Rows(0)("IdCuentaDevengado").ToString.ToEntero
+ ' IdCuentaMatriz = DtPresupuestosTemp.Rows(0)("IdCuentaMatriz").ToString.ToEntero
- ' 'COMPROMETIDO DEPENDIENTE SI EXISTE SU POLIZA
- ' If grp.CveOrdencompraDetalle = -1 Then
- ' ConceptoRenglon = String.Format("GC Fact: {0}-{1} {2}", TxtSerie.Text.Trim, TxtFolio.Text.Trim, DdlProveedor.SelectedItem.Text)
- ' If ObjContaAC.AddMovimiento(IdPoliza, IdCuentaComprometido, False, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
- ' If Not ObjContaAC.AddMovimiento(IdPoliza, IdCuentaPorEjercer, True, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
- ' ErrorAC = True
- ' ErrorACMEnsaje.Append(" - Error al agregar movimiento contabilidad 1")
- ' Exit For
- ' End If
- ' Else
- ' ErrorACMEnsaje.Append(" - Error al agregar movimiento contabilidad 2")
- ' ErrorAC = True
- ' Exit For
- ' End If
- ' End If
+ ' 'COMPROMETIDO DEPENDIENTE SI EXISTE SU POLIZA
+ ' If grp.CveOrdencompraDetalle = -1 Then
+ ' ConceptoRenglon = String.Format("GC Fact: {0}-{1} {2}", TxtSerie.Text.Trim, TxtFolio.Text.Trim, DdlProveedor.SelectedItem.Text)
+ ' If ObjContaAC.AddMovimiento(IdPoliza, IdCuentaComprometido, False, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
+ ' If Not ObjContaAC.AddMovimiento(IdPoliza, IdCuentaPorEjercer, True, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
+ ' ErrorAC = True
+ ' ErrorACMEnsaje.Append(" - Error al agregar movimiento contabilidad 1")
+ ' Exit For
+ ' End If
+ ' Else
+ ' ErrorACMEnsaje.Append(" - Error al agregar movimiento contabilidad 2")
+ ' ErrorAC = True
+ ' Exit For
+ ' End If
+ ' End If
- ' ConceptoRenglon = String.Format("GD Fact:{0}-{1} {2}", TxtSerie.Text.Trim, TxtFolio.Text.Trim, DdlProveedor.SelectedItem.Text)
- ' 'DEVENGADO
- ' If ObjContaAC.AddMovimiento(IdPoliza, IdCuentaDevengado, False, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
- ' If Not ObjContaAC.AddMovimiento(IdPoliza, IdCuentaComprometido, True, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
- ' ErrorACMEnsaje.Append(" - Error al agregar movimiento contabilidad 3")
- ' ErrorAC = True
- ' Exit For
- ' End If
- ' Else
- ' ErrorACMEnsaje.Append(" - Error al agregar movimiento contabilidad 4")
- ' ErrorAC = True
- ' Exit For
- ' End If
+ ' ConceptoRenglon = String.Format("GD Fact:{0}-{1} {2}", TxtSerie.Text.Trim, TxtFolio.Text.Trim, DdlProveedor.SelectedItem.Text)
+ ' 'DEVENGADO
+ ' If ObjContaAC.AddMovimiento(IdPoliza, IdCuentaDevengado, False, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
+ ' If Not ObjContaAC.AddMovimiento(IdPoliza, IdCuentaComprometido, True, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
+ ' ErrorACMEnsaje.Append(" - Error al agregar movimiento contabilidad 3")
+ ' ErrorAC = True
+ ' Exit For
+ ' End If
+ ' Else
+ ' ErrorACMEnsaje.Append(" - Error al agregar movimiento contabilidad 4")
+ ' ErrorAC = True
+ ' Exit For
+ ' End If
- ' If ContadorInventario > 0 Then
+ ' If ContadorInventario > 0 Then
- ' ' CuentaMatrizAlmacen = CtaAlmacen
- ' ElseIf grp.CveActivoFijo > 0 Then
+ ' ' CuentaMatrizAlmacen = CtaAlmacen
+ ' ElseIf grp.CveActivoFijo > 0 Then
- ' Dim CtaAF As Integer = -1
- ' Dim AF As String = ""
- ' Dim CuentaInicial As Integer = -1
+ ' Dim CtaAF As Integer = -1
+ ' Dim AF As String = ""
+ ' Dim CuentaInicial As Integer = -1
- ' If ObjAF.GetActivosFijos(grp.CveActivoFijo, UsuarioActual.CveEmpresa, "-1", "-1", -1, -1, "-1", -1, -1, -1, -1, -1, "", -1, UsuarioActual.CveEmpresa) Then
- ' CtaAF = ObjAF.Cuenta
- ' AF = ObjAF.Descripcion
- ' CuentaInicial = ObjAF.CuentaInicial
- ' Else
- ' ErrorAC = True
- ' ErrorACMEnsaje.Append(" - Error al obtener activos fijos ")
- ' Exit For
- ' End If
+ ' If ObjAF.GetActivosFijos(grp.CveActivoFijo, UsuarioActual.CveEmpresa, "-1", "-1", -1, -1, "-1", -1, -1, -1, -1, -1, "", -1, UsuarioActual.CveEmpresa) Then
+ ' CtaAF = ObjAF.Cuenta
+ ' AF = ObjAF.Descripcion
+ ' CuentaInicial = ObjAF.CuentaInicial
+ ' Else
+ ' ErrorAC = True
+ ' ErrorACMEnsaje.Append(" - Error al obtener activos fijos ")
+ ' Exit For
+ ' End If
- ' If Not CuentaInicial > 0 Then
- ' CuentaInicial = 1241
- ' End If
+ ' If Not CuentaInicial > 0 Then
+ ' CuentaInicial = 1241
+ ' End If
- ' 'CUENTA AF
- ' If CtaAF <= 0 Then
- ' If ObjContaAC.GetCuentas(-1, String.Format("0{0}0000000000000", CuentaInicial), -1) Then
- ' Dim drCuenta As DataRow = ObjContaAC.DtResultados.FiltroPrimero("")
- ' If drCuenta IsNot Nothing Then
- ' ErrorACMEnsaje.Append(" - Error al obtener cuentas 0{0}0000000000000 drCuenta nula")
- ' CuentaAbono = drCuenta("Id").ToString.ToEntero
- ' Dim FolioAF As String = ObjContaAC.GetFolioProveedores(String.Format("0{0}0000000000000", CuentaInicial)).ToString
- ' CtaAF = ObjContaAC.AddCuenta(String.Format("0{0}{1}000000000", CuentaInicial, FolioAF.PadLeft(4, "0"c)), AF, "A", 2, 0, 1, 0, "", 1, CuentaAbono)
+ ' 'CUENTA AF
+ ' If CtaAF <= 0 Then
+ ' If ObjContaAC.GetCuentas(-1, String.Format("0{0}0000000000000", CuentaInicial), -1) Then
+ ' Dim drCuenta As DataRow = ObjContaAC.DtResultados.FiltroPrimero("")
+ ' If drCuenta IsNot Nothing Then
+ ' ErrorACMEnsaje.Append(" - Error al obtener cuentas 0{0}0000000000000 drCuenta nula")
+ ' CuentaAbono = drCuenta("Id").ToString.ToEntero
+ ' Dim FolioAF As String = ObjContaAC.GetFolioProveedores(String.Format("0{0}0000000000000", CuentaInicial)).ToString
+ ' CtaAF = ObjContaAC.AddCuenta(String.Format("0{0}{1}000000000", CuentaInicial, FolioAF.PadLeft(4, "0"c)), AF, "A", 2, 0, 1, 0, "", 1, CuentaAbono)
- ' ObjAF.UpdateActivosFijosCuentaAC(grp.CveActivoFijo, CtaAF, UsuarioActual.CveUsuario)
- ' Else
- ' ErrorACMEnsaje.Append(" - Error al obtener cuentas 0{0}0000000000000 drCuenta nulo")
- ' ErrorAC = True
- ' End If
- ' Else
- ' ErrorACMEnsaje.Append(" - Error al obtener cuentas 0{0}0000000000000")
- ' ErrorAC = True
- ' End If
- ' End If
+ ' ObjAF.UpdateActivosFijosCuentaAC(grp.CveActivoFijo, CtaAF, UsuarioActual.CveUsuario)
+ ' Else
+ ' ErrorACMEnsaje.Append(" - Error al obtener cuentas 0{0}0000000000000 drCuenta nulo")
+ ' ErrorAC = True
+ ' End If
+ ' Else
+ ' ErrorACMEnsaje.Append(" - Error al obtener cuentas 0{0}0000000000000")
+ ' ErrorAC = True
+ ' End If
+ ' End If
- ' CuentaMatrizAlmacen = CtaAF
- ' Else
- ' CuentaMatrizAlmacen = IdCuentaMatriz
- ' End If
+ ' CuentaMatrizAlmacen = CtaAF
+ ' Else
+ ' CuentaMatrizAlmacen = IdCuentaMatriz
+ ' End If
- ' ''AFECTAR MATRIZ EGRESOS
- ' If ObjContaAC.AddMovimiento(IdPoliza, CuentaMatrizAlmacen, False, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
+ ' ''AFECTAR MATRIZ EGRESOS
+ ' If ObjContaAC.AddMovimiento(IdPoliza, CuentaMatrizAlmacen, False, MultiplicadorNC * Importe, "", ConceptoRenglon, 0, Fecha, "") Then
- ' ''VERIFICA SI TIENE DESCUENTO (AMORTIZACION)
- ' 'If TxtDescuento.Text.ToDouble > 0 Then
- ' ' DescuentoConIVA = TxtDescuento.Text.ToDouble * 1.16
+ ' ''VERIFICA SI TIENE DESCUENTO (AMORTIZACION)
+ ' 'If TxtDescuento.Text.ToDouble > 0 Then
+ ' ' DescuentoConIVA = TxtDescuento.Text.ToDouble * 1.16
- ' ' 'Valida que el descuento con iva cuadre en los totales
- ' ' If Math.Abs(DescuentoConIVA - (Importe - TxtTotal.Text.ToDouble)) < 0.02 Then
- ' ' DescuentoConIVA = Importe - TxtTotal.Text.ToDouble
- ' ' ElseIf DescuentoConIVA <> (Importe - TxtTotal.Text.ToDouble) Then
- ' ' ErrorAC = True
- ' ' Exit For
- ' ' End If
+ ' ' 'Valida que el descuento con iva cuadre en los totales
+ ' ' If Math.Abs(DescuentoConIVA - (Importe - TxtTotal.Text.ToDouble)) < 0.02 Then
+ ' ' DescuentoConIVA = Importe - TxtTotal.Text.ToDouble
+ ' ' ElseIf DescuentoConIVA <> (Importe - TxtTotal.Text.ToDouble) Then
+ ' ' ErrorAC = True
+ ' ' Exit For
+ ' ' End If
- ' ' 'actualizo el idcuenta del presupuesto
- ' ' If ObjContaAC.AddMovimiento(123456, IdPoliza, tIdContaProveedor, True, Importe - DescuentoConIVA, "", ConceptoRenglon, 0, Fecha, "") Then
- ' ' 'agrego a la cuenta contable anticipos
- ' ' If Not ObjContaAC.AddMovimiento(123456, IdPoliza, CtaProveedorAnticipos, True, DescuentoConIVA, "", ConceptoRenglon, 0, Fecha, "") Then
- ' ' ErrorAC = True
- ' ' Exit For
- ' ' End If
- ' ' Else
- ' ' ErrorAC = True
- ' ' Exit For
- ' ' End If
+ ' ' 'actualizo el idcuenta del presupuesto
+ ' ' If ObjContaAC.AddMovimiento(123456, IdPoliza, tIdContaProveedor, True, Importe - DescuentoConIVA, "", ConceptoRenglon, 0, Fecha, "") Then
+ ' ' 'agrego a la cuenta contable anticipos
+ ' ' If Not ObjContaAC.AddMovimiento(123456, IdPoliza, CtaProveedorAnticipos, True, DescuentoConIVA, "", ConceptoRenglon, 0, Fecha, "") Then
+ ' ' ErrorAC = True
+ ' ' Exit For
+ ' ' End If
+ ' ' Else
+ ' ' ErrorAC = True
+ ' ' Exit For
+ ' ' End If
- ' 'Else
- ' ' 'actualizo el idcuenta del presupuesto
- ' ' Importe = TxtTotal.Text.ToDouble
- ' ' If Not ObjContaAC.AddMovimiento(123456, IdPoliza, tIdContaProveedor, True, If(ArrAnticipos.Count > 0, ImporteAnticipo, Importe), "", ConceptoRenglon, 0, Fecha, "") Then
- ' ' ErrorAC = True
- ' ' Exit For
- ' ' End If
+ ' 'Else
+ ' ' 'actualizo el idcuenta del presupuesto
+ ' ' Importe = TxtTotal.Text.ToDouble
+ ' ' If Not ObjContaAC.AddMovimiento(123456, IdPoliza, tIdContaProveedor, True, If(ArrAnticipos.Count > 0, ImporteAnticipo, Importe), "", ConceptoRenglon, 0, Fecha, "") Then
+ ' ' ErrorAC = True
+ ' ' Exit For
+ ' ' End If
- ' 'End If
+ ' 'End If
- ' Else
- ' ErrorACMEnsaje.Append(" - Error AFECTAR MATRIZ EGRESOS ObjContaAC.AddMovimiento")
- ' ErrorAC = True
- ' Exit For
- ' End If
- ' ''TERMINA AFECTAR MATRIZ EGRESOS
+ ' Else
+ ' ErrorACMEnsaje.Append(" - Error AFECTAR MATRIZ EGRESOS ObjContaAC.AddMovimiento")
+ ' ErrorAC = True
+ ' Exit For
+ ' End If
+ ' ''TERMINA AFECTAR MATRIZ EGRESOS
- ' Else
- ' ErrorACMEnsaje.Append(" - For Each grp In Presup Importe > 0 ")
- ' ErrorAC = True
- ' Exit For
- ' End If
+ ' Else
+ ' ErrorACMEnsaje.Append(" - For Each grp In Presup Importe > 0 ")
+ ' ErrorAC = True
+ ' Exit For
+ ' End If
- ' Next
+ ' Next
- ' ''actualizo el idcuenta del presupuesto
- ' 'Importe = TxtTotal.Text.ToDecimal
- ' 'If Not ObjContaAC.AddMovimiento(IdPoliza, tIdContaProveedor, True, MultiplicadorNC * (If(ArrAnticipos.Count > 0, ImporteAnticipo, Importe)), "", ConceptoRenglon, 0, Fecha, "") Then
- ' ' ErrorACMEnsaje.Append(" - actualizo el idcuenta del presupuesto ObjContaAC.AddMovimiento 3")
- ' ' ErrorAC = True
- ' 'End If
- ' 'End If
+ ' ''actualizo el idcuenta del presupuesto
+ ' 'Importe = TxtTotal.Text.ToDecimal
+ ' 'If Not ObjContaAC.AddMovimiento(IdPoliza, tIdContaProveedor, True, MultiplicadorNC * (If(ArrAnticipos.Count > 0, ImporteAnticipo, Importe)), "", ConceptoRenglon, 0, Fecha, "") Then
+ ' ' ErrorACMEnsaje.Append(" - actualizo el idcuenta del presupuesto ObjContaAC.AddMovimiento 3")
+ ' ' ErrorAC = True
+ ' 'End If
+ ' 'End If
- ' 'If tRetISR > 0 Then 'CtaProveedorRetISR
- ' ' ConceptoRenglon = String.Format("GD Fact: {0}-{1} {2}", TxtSerie.Text.Trim, TxtFolio.Text.Trim, DdlProveedor.SelectedItem.Text)
- ' ' If Not ObjContaAC.AddMovimiento(IdPoliza, 0, True, MultiplicadorNC * tRetISR, "", ConceptoRenglon, 0, Fecha, "") Then
- ' ' ErrorACMEnsaje.Append(" RetISR > 0 ObjContaAC.AddMovimiento")
- ' ' ErrorAC = True
- ' ' End If
- ' 'End If
+ ' 'If tRetISR > 0 Then 'CtaProveedorRetISR
+ ' ' ConceptoRenglon = String.Format("GD Fact: {0}-{1} {2}", TxtSerie.Text.Trim, TxtFolio.Text.Trim, DdlProveedor.SelectedItem.Text)
+ ' ' If Not ObjContaAC.AddMovimiento(IdPoliza, 0, True, MultiplicadorNC * tRetISR, "", ConceptoRenglon, 0, Fecha, "") Then
+ ' ' ErrorACMEnsaje.Append(" RetISR > 0 ObjContaAC.AddMovimiento")
+ ' ' ErrorAC = True
+ ' ' End If
+ ' 'End If
- ' 'TERMINA: PRUEBA AGRUPACION CONCEPTOS
+ ' 'TERMINA: PRUEBA AGRUPACION CONCEPTOS
- ' 'registrar amortizar anticipos
- ' End If
+ ' 'registrar amortizar anticipos
+ ' End If
- ' Else
- ' ErrorACMEnsaje.Append(" - Id Poliza = 0 ")
- ' ErrorAC = True
- ' End If
- ' Else
- ' TieneError = True
- ' ErrorACMEnsaje.Append("- TotalPorDevengar <= TxtTotal.Text.ToDouble And TotalPorDevengar > 0")
- ' ErrorAC = True
- ' End If
- 'End If
- '-------FIN U S A A C -------------------------------------------------------------------
+ ' Else
+ ' ErrorACMEnsaje.Append(" - Id Poliza = 0 ")
+ ' ErrorAC = True
+ ' End If
+ ' Else
+ ' TieneError = True
+ ' ErrorACMEnsaje.Append("- TotalPorDevengar <= TxtTotal.Text.ToDouble And TotalPorDevengar > 0")
+ ' ErrorAC = True
+ ' End If
+ 'End If
+ '-------FIN U S A A C -------------------------------------------------------------------
- If Not ErrorAC AndAlso Not TieneError Then
+ If Not ErrorAC AndAlso Not TieneError Then
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
@@ -7633,12 +7642,12 @@ Partial Class Compras_Compras
Dim Msg As New StringBuilder
Msg.Append("La compra se registró correctamente")
- If Not ErrorPrepoliza AndAlso UsuarioActual.Empresa.TipoContabilidad = 1 AndAlso ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=4) Then
- If ObjConta.ValorPolizaDescuadre > 0 Then
- GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- ErrorPrepolizaDescuadre = True
- End If
- End If
+ 'If Not ErrorPrepoliza AndAlso UsuarioActual.Empresa.TipoContabilidad = 1 AndAlso ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=4) Then
+ ' If ObjConta.ValorPolizaDescuadre > 0 Then
+ ' GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ ' ErrorPrepolizaDescuadre = True
+ ' End If
+ 'End If
'ACTUALIZA CVEFACTURA
If Request("CveFactura") IsNot Nothing Then
@@ -7820,13 +7829,37 @@ Partial Class Compras_Compras
'FechaCompra
Dim FechaMinima As DateTime = TxtFecha.Text.ToDate
+
+ Dim CveAlmacenMov As Integer = ddlAlmacenAdd.SelectedValue.ToEntero
+ Dim DTAlamcen As New DataTable
+
+
+ If DDLDevolucion.SelectedValue.ToEntero > 0 Then
+ Dim objcompras As New ClsCompras()
+ If objcompras.GetCompraDetalleAlmacen(UsuarioActual.CveEmpresa, DDLDevolucion.SelectedValue.ToEntero) Then
+ GVDevolucion.DataSource = objcompras.DtResultados
+ End If
+ objcompras.Dispose()
+ GVDevolucion.DataBind()
+
+ For Each GvRow As GridViewRow In GVDevolucion.Rows
+ If GvRow.RowType = DataControlRowType.DataRow Then
+ CveAlmacenMov = GvRow.DataKey("CveAlmacen").ToString.ToEntero
+ End If
+ Next
+
+ End If
+
+
+
+
If DtInv IsNot Nothing Then
For Each Dr As DataRow In TmpDT.Rows
Dim CveTipoPS As Integer = Dr("CveTipoPS").ToString.ToEntero
If CveTipoPS = 2 Then
- If objInventario.GetValidaFechaAlmacen(CveEmpresa:=UsuarioActual.CveEmpresa, CveAlmacen:=ddlAlmacenAdd.SelectedValue.ToEntero, CvePS:=Dr("CvePS").ToString.ToEntero) Then
+ If objInventario.GetValidaFechaAlmacen(CveEmpresa:=UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacenMov, CvePS:=Dr("CvePS").ToString.ToEntero) Then
If objInventario.DtResultados IsNot Nothing AndAlso objInventario.DtResultados.Rows.Count > 0 Then
Dim FechamoMovimiento As DateTime = objInventario.DtResultados(0)("FechaMovto").ToString.ToDate
@@ -7845,8 +7878,9 @@ Partial Class Compras_Compras
objInventario.Dispose()
If FechaMinima > TxtFecha.Text.ToDate Then
- Alert($"Los productos tienen movientos, la fecha minima que se puede aplicar es {FechaMinima.ToString("dd/MM/yyyy HH:mm")}", TipoMensaje.MsgAdvertencia)
- respuesta = False
+ Alert($"Los productos tienen movientos, la fecha minima que se cambio la fecha de compra as {FechaMinima.ToString("dd/MM/yyyy HH:mm")}", TipoMensaje.MsgAdvertencia)
+ 'respuesta = False
+ TxtFecha.Text = FechaMinima.ToString("dd/MM/yyyy")
Else
respuesta = True
End If
@@ -11084,6 +11118,48 @@ Partial Class Compras_Compras
End If
+
+
+ ''VALIDA UNIDAD DE MEDIDA
+ 'If e.Row.DBCampo("CvePS").ToString.ToEntero > 0 Then
+ ' Dim DtEquivalencias As DataTable = GlobalDTProductosServiciosEquivalencias(e.Row.DBCampo("CvePS").ToString.ToEntero, e.Row.DBCampo("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa)
+
+ ' 'SI UM NO ESTA REGISTRADA
+ ' If e.Row.DBCampo("CveUM").ToString.ToEntero <= 0 Then
+ ' e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("onclick", $"FncUMEquivalencias(1,'{e.Row.DBCampo("UM").Replace("'", "")}',{e.Row.RowIndex},'{DtEquivalencias.FiltroPrimeroValor("UnidadMedida", "UnidadBase = 1")}','{e.Row.DBCampo("CveUnidadMedidaSAT")}','{e.Row.DBCampo("SATClaveUnidadMedida")}')")
+ ' e.Row.FCLabel("LtlUnidadMedida").CssClass = "label label-danger manita centrarUM"
+ ' e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("data-toggle", "tooltip")
+ ' e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("title", "Unidad de medida SIN registrar")
+ ' End If
+
+ ' 'If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then e.Row.FCHyperLink("HplPS").Text = e.Row.DBCampo("PSCodigo")
+
+ ' 'EQUIVALENCIA
+ ' If e.Row.DBCampo("CveUM").ToString.ToEntero > 0 And e.Row.DBCampo("CveTipoPS").ToString.ToEntero = 2 Then
+
+ ' If DtEquivalencias.FiltraParametros($"CveUM = {e.Row.DBCampo("CveUM").ToString.ToEntero}").Rows.Count > 0 Then
+ ' If Not DtEquivalencias.FiltraParametros($"CveUM = {e.Row.DBCampo("CveUM").ToString.ToEntero} AND UnidadBase = 1").Rows.Count > 0 Then
+ ' 'UM NO BASE
+ ' e.Row.FCLinkButton("LBAplicarEquivalencia").Visible = True
+
+ ' 'e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("onclick", $"FncUMEquivalencias(2,'{e.Row.DBCampo("UM").Replace("'", "")}',{e.Row.RowIndex},'{DtEquivalencias.FiltroPrimeroValor("UnidadMedida", "UnidadBase = 1")}')")
+ ' e.Row.FCLabel("LtlUnidadMedida").CssClass = "label label-danger centrarUM"
+ ' e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("data-toggle", "tooltip")
+ ' e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("title", "Unidad de medida NO medida base")
+ ' End If
+ ' Else
+ ' 'SIN EQUIVALENCIA
+ ' e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("onclick", $"FncUMEquivalencias(3,'{e.Row.DBCampo("UM").Replace("'", "")}',{e.Row.RowIndex},'{DtEquivalencias.FiltroPrimeroValor("UnidadMedida", "UnidadBase = 1")}','{e.Row.DBCampo("CveUnidadMedidaSAT")}','{e.Row.DBCampo("SATClaveUnidadMedida")}')")
+ ' e.Row.FCLabel("LtlUnidadMedida").CssClass = "label label-danger manita centrarUM"
+ ' e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("data-toggle", "tooltip")
+ ' e.Row.FCLabel("LtlUnidadMedida").Attributes.Add("title", "Unidad de medida SIN equivalencia")
+ ' End If
+ ' DtEquivalencias.Dispose()
+ ' End If
+ 'End If
+
+
+
End If
'HEADER GvInv
@@ -13587,18 +13663,19 @@ Partial Class Compras_Compras
'End Sub
Protected Sub BtnVinculaDevolucion_Click(sender As Object, e As EventArgs)
Try
- Dim subtotaldevolucion As Double = 0
+ Dim subtotaldevolucion As Decimal = 0
Dim realizadevolucion As Boolean = False
'Calculo los subtotales para comparar con la NC
- Dim cantidad As Double = 0.0
+ Dim cantidad As Decimal = 0D
For Each Dr As GridViewRow In GVDevolucion.Rows
- cantidad = Dr.FCTextBox("TxtCantidad").Text.ToDouble
+ cantidad = Dr.FCTextBox("TxtCantidad").Text.ToDecimal
If cantidad > 0 Then
realizadevolucion = True
- subtotaldevolucion += Dr.DataKey("PU").ToString.ToDouble * cantidad
+ Dim PU As Decimal = If(DdlMoneda.SelectedValue.ToEntero <> 1, Dr.DataKey("PUExtranjero").ToString.ToDecimal, Dr.DataKey("PU").ToString.ToDecimal)
+ subtotaldevolucion += PU * cantidad
End If
Next
@@ -13839,14 +13916,18 @@ Partial Class Compras_Compras
End If
End If
+ Dim dttpagos As DataTable = New DataTable ' 2024-11-13 OIC Esta ubicado antes de Refacturacion por que al refacturar los datos de pago dejan de estar disponibles dttpagos sellena antes
+ If ObjCompra.GetComprasPagos(CveCompraRefacturacion, UsuarioActual.CveEmpresa) Then
+ dttpagos = ObjCompra.DtResultados
+ End If
+
Dim Tipo As Integer = 1
If ChkRefacNC.Checked Then Tipo = 2
'CONTABILIZA REFACTURACION
If ObjCompra.Refacturacion(CveCompraRefacturacion, CveCompra, UsuarioActual.CveEmpresa, Tipo) Then
- Dim dttpagos As DataTable
- If ObjCompra.GetComprasPagos(CveCompraRefacturacion, UsuarioActual.CveEmpresa) Then
- dttpagos = ObjCompra.DtResultados
+
+ If dttpagos IsNot Nothing AndAlso dttpagos.Rows.Count > 0 Then
For Each drp As DataRow In dttpagos.Rows
Dim Pago As New CompraPago
@@ -13855,22 +13936,17 @@ Partial Class Compras_Compras
Pago.CveMonedaPago = 1
Pago.CveCompraAmortizacion = -1
Pago.TipoPago = If(drp("CveIE").ToString.ToEntero > 0, "B", "NC")
-
Dim ErrorMovtosCxP As Boolean = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
Next
-
End If
-
Else
ErrorBitacora = True
End If
-
-
- 'Return True
Return ErrorBitacora
+
End Function
Private Function GuardaRefacturacionBitacora(ObjCompra As ClsCompras, ObjEventos As ClsOIEventos) As Boolean
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index 75a18080d..c32a12610 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -2449,18 +2449,25 @@ Partial Class PopUpVerFactura
Dim Path As String = String.Format("{0}\{1}\{2}\{3}.{4}", UsuarioActual.Empresa.Ruta, Parametros("EXT").ToString, Parametros("TIPODOCTO").ToString, Parametros("FOLIO").ToString, Exten)
Dim Archivo As New System.IO.FileInfo(Path)
Dim cvetimbre As Integer = IfNull(Parametros("CVETIMBRE"), "0").ToString.ToEntero
-
+ Dim CveMovimiento As Integer = IfNull(Parametros("CVEMOVIMIENTO"), "0").ToString.ToEntero
If Archivo.Exists Then
DescargarArchivoPDFTraslado(Archivo, Path)
Else
If Exten = "pdf" Then
Dim ObjTimbres As New Timbres(Parametros("TIPODOCTO").ToString, cvetimbre, UsuarioActual)
- GeneraPDFFactura(ObjTimbres.ObjFactura)
- Archivo = New System.IO.FileInfo(Path)
- If Archivo.Exists Then
- DescargarArchivoPDFTraslado(Archivo, Path)
+ If ObjTimbres IsNot Nothing AndAlso ObjTimbres.ObjFactura IsNot Nothing Then
+ 'OBTENER LA INFORMACION DEL MOVIMIENTO DE ALMACEN
+ ObjTimbres.ObjFactura.Inv_CveMovimiento = CveMovimiento
+
+ GeneraPDFFactura(ObjTimbres.ObjFactura)
+ Archivo = New System.IO.FileInfo(Path)
+
+ If Archivo.Exists Then
+ DescargarArchivoPDFTraslado(Archivo, Path)
+ End If
End If
+
End If
End If
Archivo = Nothing
@@ -3712,6 +3719,7 @@ Partial Class PopUpVerFactura
End If
+
If CveContrato > 0 Then
Contrato = GlobalDTContratos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DescripcionContrato", $"CveContrato={CveContrato} AND CveEmpresa = {UsuarioActual.CveEmpresa}")
NumContrato = GlobalDTContratos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("NumeroContrato", $"CveContrato={CveContrato} AND CveEmpresa = {UsuarioActual.CveEmpresa}")
diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb
index 031d3d505..31475c28c 100644
--- a/Compras/eFacturas.aspx.vb
+++ b/Compras/eFacturas.aspx.vb
@@ -1686,7 +1686,7 @@ Partial Class Compras_eFacturas
fpdf = fpdf.Replace($"{fpdfSplit(0)}-", "")
End If
- If fxml.Contains(fpdf) Then
+ If fxml.Contains(fpdf) Or (ListXML.Count = 1 And ListPDF.Count = 1) Then
RutaPDF = fInfoPDF.FullName
Exit For
End If
@@ -7985,6 +7985,9 @@ Namespace ADS.eFacturas
GuardaLogAD(ex.ToString(), ArchivoLog)
End Try
+
+ ElseIf Fact.RespuestaInsert = 0 AndAlso Fact.CveFactura > 0 Then
+ 'FIXME OIC
Else
rowLog("Motivo") = $"RFC ""{Fact.ReceptorRFC}"" Error al insertar"
End If
diff --git a/Contabilidad/PolizasImpresion.aspx.vb b/Contabilidad/PolizasImpresion.aspx.vb
index d6e6b81c9..5977da92a 100644
--- a/Contabilidad/PolizasImpresion.aspx.vb
+++ b/Contabilidad/PolizasImpresion.aspx.vb
@@ -94,7 +94,7 @@ Partial Class Contabilidad_PolizasImpresion
params.Add(New ReportParameter("Finicio", TxtFechaInicio.Text))
params.Add(New ReportParameter("FFin", TxtFechaFin.Text))
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToShortDateString))
- params.Add(New ReportParameter("Numero", dr("Folio").ToString))
+ params.Add(New ReportParameter("Numero", ""))
params.Add(New ReportParameter("Moneda", ""))
params.Add(New ReportParameter("CodigoPostal", ""))
diff --git a/CxC/RepCxCDetalle.aspx b/CxC/RepCxCDetalle.aspx
index f9a1e3221..26969017e 100644
--- a/CxC/RepCxCDetalle.aspx
+++ b/CxC/RepCxCDetalle.aspx
@@ -560,6 +560,7 @@
+
@@ -617,7 +618,7 @@
-
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 7034079f9..7910d3c62 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -6716,6 +6716,9 @@ Partial Class Ventas
ddlAlmacen.Items.Clear()
DTAlmacen = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {DdlSubProyectoDatos.SelectedValue.ToEntero()}")
+ If UsuarioActual.CveEmpresa = 199 Then
+ DTAlmacen.Merge(GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto <> {DdlSubProyectoDatos.SelectedValue.ToEntero()}"))
+ End If
ddlAlmacen.DataSource = DTAlmacen
ddlAlmacen.Items.Insert(0, New ListItem("Seleccione ", "-1"))
@@ -9526,18 +9529,18 @@ Partial Class Ventas
e.Row.FCLiteral("LtlSerie").Visible = True
End If
- If e.Row.DBCampo("CveTipoInvPS").ToEntero() = 5 And CveVenta <= 0 Then
-
- e.Row.FCTextBox("TxtSerie").Visible = True
- e.Row.FCTextBox("TxtSerie").Attributes.Remove("onkeypress")
- e.Row.FCTextBox("TxtSerie").Attributes.Add("onkeypress", String.Format("SeriePS(event,{0},this,{1});", e.Row.FCButton("BtnSerie").ClientID, e.Row.FCHiddenField("HdnSerie").ClientID))
- e.Row.FCTextBox("TxtSerie").Attributes.Remove("onblur")
- e.Row.FCTextBox("TxtSerie").Attributes.Add("onblur", String.Format("SeriePSBlur({0},this,{1});", e.Row.FCButton("BtnSerie").ClientID, e.Row.FCHiddenField("HdnSerie").ClientID))
-
- 'e.Row.FCTextBox("TxtSerie").Attributes.Add("onkeyup", String.Format("LimpiaAF(1, '{0}'); EnterAFEdit(event,this,{1},{2});", e.Row.FCHiddenField("HdnCveConcepto").Value, e.Row.FCHiddenField("HdnCveAF").ClientID, e.Row.FCHiddenField("HdnCodAF").ClientID))
-
- 'e.Row.FCTextBox("LblCodigo").Attributes.Add("onkeyup", String.Format("LimpiaAF(1, '{0}'); EnterAFEdit(event,this,{1},{2});", e.Row.FCHiddenField("HdnCveConcepto").Value, e.Row.FCHiddenField("HdnCveAF").ClientID, e.Row.FCHiddenField("HdnCodAF").ClientID))
- 'e.Row.FCTextBox("LblCodigo").Attributes.Add("onblur", String.Format("LimpiaAF(1, '{0}'); AFBlurEdit(this,{1},{2});", e.Row.FCHiddenField("HdnCveConcepto").Value, e.Row.FCHiddenField("HdnCveAF").ClientID, e.Row.FCHiddenField("HdnCodAF").ClientID))
+ If CveVenta <= 0 Then
+ If e.Row.DBCampo("AplicaSerie").ToEntero() = 1 Then
+ GvInv.Columns(4).Visible = True
+ e.Row.FCTextBox("TxtSerie").Visible = True
+ e.Row.FCTextBox("TxtSerie").Attributes.Remove("onkeypress")
+ e.Row.FCTextBox("TxtSerie").Attributes.Add("onkeypress", String.Format("SeriePS(event,{0},this,{1});", e.Row.FCButton("BtnSerie").ClientID, e.Row.FCHiddenField("HdnSerie").ClientID))
+ e.Row.FCTextBox("TxtSerie").Attributes.Remove("onblur")
+ e.Row.FCTextBox("TxtSerie").Attributes.Add("onblur", String.Format("SeriePSBlur({0},this,{1});", e.Row.FCButton("BtnSerie").ClientID, e.Row.FCHiddenField("HdnSerie").ClientID))
+ End If
+ If e.Row.DBCampo("AplicaLote").ToEntero() = 1 Then
+ CargarCaducidadProducto(e.Row.DBCampo("CvePS").ToEntero, e.Row.FCDropDownList("DdlCaducidadProducto"), "", Nothing)
+ End If
End If
If e.Row.DBCampo("CvePS") = "" Then
@@ -9590,6 +9593,37 @@ Partial Class Ventas
End If
End Sub
+ Private Sub CargarCaducidadProducto(CvePS As Integer, ByRef DdlLoteFechaCaducidad As DropDownList, ValorAsignado As String, DtDatosDevolucion As DataTable)
+ DdlLoteFechaCaducidad.Items.Clear()
+ DdlLoteFechaCaducidad.Items.Add(New ListItem("-", "|"))
+
+ Dim almacenes As String = ddlAlmacen.SelectedValue
+ If almacenes = "" Then
+ almacenes = "-1"
+ End If
+ GvInv.Columns(7).Visible = True
+ If DtDatosDevolucion IsNot Nothing Then
+ DdlLoteFechaCaducidad.Visible = True
+ For Each dr As DataRow In DtDatosDevolucion.FiltraParametros($"CvePS = {CvePS}", DistinctColumns:={"Lote", "FechaCaducidad"}).Rows
+ DdlLoteFechaCaducidad.Items.Add(New ListItem($"Lote: {dr("Lote").ToString} - Cad: {dr("FechaCaducidad").ToString.ToDate.ToString("dd/MM/yyyy")}", $"{dr("Lote").ToString}|{dr("FechaCaducidad").ToString.ToDate.ToString("dd/MM/yyyy")}"))
+ Next
+ Else
+ Dim ObjInventarios As New ClsInventarios
+ If ObjInventarios.GetExistenciasCaducidad(CvePS, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, almacenes) Then
+ DdlLoteFechaCaducidad.Visible = True
+ For Each dr As DataRow In ObjInventarios.DtResultados.FiltraParametros("", DistinctColumns:={"Lote", "FechaCaducidad"}).Rows
+ DdlLoteFechaCaducidad.Items.Add(New ListItem($"Lote: {dr("Lote").ToString} - Cad: {dr("FechaCaducidad").ToString.ToDate.ToString("dd/MM/yyyy")}", $"{dr("Lote").ToString}|{dr("FechaCaducidad").ToString.ToDate.ToString("dd/MM/yyyy")}"))
+ Next
+ End If
+ ObjInventarios.Dispose()
+ End If
+
+ If Not String.IsNullOrEmpty(ValorAsignado) Then
+ DdlLoteFechaCaducidad.SelectedValueExist(ValorAsignado)
+ End If
+
+ End Sub
+
Protected Sub GVINV_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvInv.RowEditing
GvInv.EditIndex = e.NewEditIndex
CargaGVInv(DtInv.FiltraParametros("CveTipoPS=2"))
@@ -10132,6 +10166,8 @@ Partial Class Ventas
Dim CveProducto As Integer
Dim Existencia As Double
Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero()
+ Dim tCveSubProyecto As Integer = DdlSubProyectoDatos.SelectedValue.ToEntero()
+ If UsuarioActual.CveEmpresa = 199 Then tCveSubProyecto = -1
For Each dr As DataRow In TmpDT.FiltraParametros("CveTipoPS = 2").Rows
If DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False Then
@@ -10141,7 +10177,7 @@ Partial Class Ventas
Cantidad = TmpDT.SUM("Cantidad", $"CvePS = {CveProducto} AND (EntregaDirecta IS NULL OR EntregaDirecta < 1)") 'VALIDA CONTRA LA SUMA DEL MISMO PS
If UsuarioActual.Empresa.UsaInventarios AndAlso RemisionesLista.Count < 1 AndAlso dr("EntregaDirecta").ToString().ToEntero() < 1 Then
Dim BuscarEnTabla As Boolean = If(UsuarioActual.Empresa.Funcionalidad(715) = "1", True, False)
- Existencia = ObjInventarios.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacenExistenciasContrato, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(),
+ Existencia = ObjInventarios.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacenExistenciasContrato, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=tCveSubProyecto,
CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, PendientePorSurtir:=1,
RestringirAlmacenes:=1, ExcluyeApartados:=-1, BuscarEnTabla:=BuscarEnTabla)
If Existencia < Cantidad Then
@@ -16606,8 +16642,16 @@ Partial Class Ventas
End If
Dim CveSeccionAlmacen As Integer = -3
'If AplicaSeccion Then CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacen, CveProducto).FiltroPrimeroValor("CveSeccionAlmacen", "").ToEntero
+ Dim Lote As String = "-1"
+ Dim FCaducidad As Date = MinFecha
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Dr("Serie").ToString(), CveSeccionAlmacen:=CveSeccionAlmacen, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then
+ If GvInv.Rows(i).FCDropDownList("DdlCaducidadProducto") IsNot Nothing AndAlso GvInv.Rows(i).FCDropDownList("DdlCaducidadProducto").Visible Then
+ Dim ArrayCaducidad As String() = GvInv.Rows(i).FCDropDownList("DdlCaducidadProducto").SelectedValue.Split("|"c)
+ Lote = ArrayCaducidad(0)
+ FCaducidad = ArrayCaducidad(1).ToDate
+ End If
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Dr("Serie").ToString(), Lote:=Lote, FechaCaducidad:=FCaducidad, CveSeccionAlmacen:=CveSeccionAlmacen, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero()) Then
OcurrioError = True
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario. ")
Exit For
@@ -19181,6 +19225,16 @@ Partial Class Ventas
End If
End If
+
+ 'ECONO, SOLO EL CLIENTE SIGI, PUEDE MODIFICAR EL IVA A 16%
+ If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso DdlIVA.Visible Then
+ If TxtCodigo.Text.Trim().ToUpper() = "SIGI" Then
+ DdlIVA.Enabled = True
+ Else
+ DdlIVA.Enabled = False
+ End If
+ End If
+
End If
UpFacturar.Update()
@@ -20331,6 +20385,9 @@ Partial Class Ventas
Row("CodigoPS") = DrPS("PSCodigo").ToString()
Row("CveTipoPS") = DrPS("CveTipoPS")
Row("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario")
+ Row("AplicaSerie") = DrPS("AplicaSerie")
+ Row("AplicaLote") = DrPS("AplicaLote")
+ Row("AplicaCaducidad") = DrPS("AplicaCaducidad")
Row("CveTamaño") = DrPS("CveTamaño")
Row("CodigoObjetoImpuesto") = DrPS("CodigoObjetoImpuesto")
@@ -20589,6 +20646,9 @@ Partial Class Ventas
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
TmpDT.Columns.Add("CveTipoPS", GetType(Integer))
TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
+ TmpDT.Columns.Add("AplicaSerie", GetType(Integer))
+ TmpDT.Columns.Add("AplicaLote", GetType(Integer))
+ TmpDT.Columns.Add("AplicaCaducidad", GetType(Integer))
TmpDT.Columns.Add("Serie", GetType(String))
TmpDT.Columns.Add("CuentaPredial", GetType(String))
TmpDT.Columns.Add("Obs", GetType(String))
@@ -24949,6 +25009,8 @@ Partial Class Ventas
ObjInventarios.Dispose()
UpINV.Update()
End Sub
+
+
Private Function ValidaSerieINV() As Boolean
Dim Retorno As Boolean = False
Dim Existencia As Decimal = 0
@@ -25295,7 +25357,7 @@ Partial Class Ventas
DtTemporal.Columns.Add(colNew)
End If
- GvInv.Columns(4).Visible = DtTemporal.MAX("Serie", "Serie <> ''") <> "" Or CveVenta <= 0
+ GvInv.Columns(4).Visible = DtTemporal.MAX("Serie", "Serie <> ''") <> ""
GvInv.Columns(5).Visible = DtTemporal.MAX("Lote", "Lote <> ''") <> ""
GvInv.Columns(6).Visible = DtTemporal.MAX("FechaCaducidad").ToDate > MinFecha
@@ -32612,6 +32674,15 @@ Partial Class Ventas
GvPS.Columns(20).Visible = True
End If
+ 'ECONO, SOLO EL CLIENTE SIGI, PUEDE MODIFICAR EL IVA A 16%
+ If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso DdlIVA.Visible Then
+ If TxtCodigo.Text.Trim().ToUpper() = "SIGI" Then
+ DdlIVA.Enabled = True
+ Else
+ DdlIVA.Enabled = False
+ End If
+ End If
+
UpPS.Update()
UPPDescuento.Update()
UPObservaciones.Update()