diff --git a/AC/CatOGClasificaciones.aspx.vb b/AC/CatOGClasificaciones.aspx.vb
index 97caaed70..c5739c56d 100644
--- a/AC/CatOGClasificaciones.aspx.vb
+++ b/AC/CatOGClasificaciones.aspx.vb
@@ -50,6 +50,7 @@ Partial Class AC_CatOGClasificaciones
If ObjClasificaciones.GetClasificaciones() Then
ViewState("DTOGClasificaciones") = ObjClasificaciones.DtResultados.FiltraParametros("Codigo <> '' AND CveEmpresa = " & UsuarioActual.CveEmpresa, "Codigo")
GlobalDTClasificaciones = ObjClasificaciones.DtResultados
+ GlobalDTACClasificadorObjetoGasto = ObjClasificaciones.DtResultados.FiltraParametros("Codigo <> '' ")
Else
Me.GvDatos.DataSource = Nothing
End If
@@ -65,6 +66,7 @@ Partial Class AC_CatOGClasificaciones
Protected Sub LbAgregar_Click(sender As Object, e As System.EventArgs) Handles LbAgregar.Click
Dim ObjClasificaciones As New ClsClasificaciones
+
If LbAgregar.Text = "Agregar" Then
If ObjClasificaciones.AddClasificaciones(TxtOGClasificacion.Text.Trim, TxtCodigo.Text.Trim, -1, "", -1, "", -1, "", 0, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
TxtOGClasificacion.Text = ""
@@ -90,6 +92,10 @@ Partial Class AC_CatOGClasificaciones
End If
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivModal"))
ObjClasificaciones.Dispose()
+
+
+ CargaDatos()
+
End Sub
#Region "G V D A T O S"
@@ -278,4 +284,7 @@ Partial Class AC_CatOGClasificaciones
#End Region
+
+
+
End Class
diff --git a/App_Code/CalendarEvent.vb b/App_Code/CalendarEvent.vb
index 5bda9b76c..9a8729a1a 100644
--- a/App_Code/CalendarEvent.vb
+++ b/App_Code/CalendarEvent.vb
@@ -27,4 +27,6 @@ Public Class CalendarEvent
Public Property Prospecto As String
Public Property CveTipoEvento As Integer
Public Property Importe As Double
+ Public Property EmpresaCRM As String
+
End Class
diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb
index 23f649d54..bde65432e 100644
--- a/App_Code/ClsContabilidad.vb
+++ b/App_Code/ClsContabilidad.vb
@@ -4543,7 +4543,7 @@ Public Class ClsContabilidad
Public Function UpdateCuenta(CveCuenta As Integer, Nombre As String, Tipo As String, CtaMayor As Integer, CveMoneda As Integer, Optional DigAgrupador As Integer = -1,
Optional CveAgrupadorSAT As Integer = -1, Optional NomIdioma As String = "", Optional CveConceptoAdmin As Integer = -1, Optional CveProveedor As Integer = -1,
Optional CveCliente As Integer = -1, Optional CveClasificacion As Integer = -1, Optional PorcentajeImpuesto As Decimal = -1,
- Optional CveBancoCuenta As Integer = -1, Optional CveAlmacen As Integer = -1) As Boolean
+ Optional CveBancoCuenta As Integer = -1, Optional CveAlmacen As Integer = -1, Optional Afectable As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Conta_UpdateCuentas")
@@ -4564,6 +4564,7 @@ Public Class ClsContabilidad
.Add("@PorcentajeImpuesto", SqlDbType.Money).Value = PorcentajeImpuesto
.Add("@CveBancoCuenta", SqlDbType.Int).Value = CveBancoCuenta
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@Afectable", SqlDbType.Int).Value = Afectable
End With
Try
@@ -6398,5 +6399,26 @@ Public Class ClsContabilidad
#End Region
+ Public Function UpdateTraspasoPrepoliza(CveEmpresa As Integer, CveCuenta As Integer, CveCuentaNueva As Integer) As Boolean
+ Dim Retorno = False
+
+ DataAdapter("PA_Conta_Traspaso_Prepolizas")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta
+ .Add("@CveCuentaNueva", SqlDbType.Int).Value = CveCuentaNueva
+
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ Me.OnError("Ocurrió un error al obtener traspasar las Prepolizas", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+
+ Return Retorno
+ End Function
+
End Class
\ No newline at end of file
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index ef3c9b60c..b3d91f4c4 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -4680,6 +4680,8 @@ Public Class ClsPaginas
PaginaDict.Add("/Inventarios/RepTraspasoAlmacen.aspx".ToUpper(), 688)
PaginaDict.Add("/Inventarios/EntregasPorRealizar.aspx".ToUpper(), 728)
PaginaDict.Add("/Inventarios/CatAlmacenClasificacionSecciones.aspx".ToUpper(), 764)
+ PaginaDict.Add("/Inventarios/ReconstruirCostos.aspx".ToUpper(), 764)
+
#End Region
#Region "MF"
@@ -4788,9 +4790,13 @@ Public Class ClsPaginas
PaginaDict.Add("/OI/RepDesarrollo.aspx".ToUpper(), 475)
PaginaDict.Add("/OI/DesarrolloWizard.aspx".ToUpper(), 474)
PaginaDict.Add("/OI/SubidasADS.aspx".ToUpper(), 476)
- PaginaDict.Add("/OI/CatDocumentoCategoria.aspx".ToUpper(), 760)
- PaginaDict.Add("/OI/CatDocumentoSubCategoria.aspx".ToUpper(), 761)
- PaginaDict.Add("/OI/Documentos.aspx".ToUpper(), 762)
+
+ 'PaginaDict.Add("/OI/CatDocumentoCategoria.aspx".ToUpper(), 760)
+ 'PaginaDict.Add("/OI/CatDocumentoSubCategoria.aspx".ToUpper(), 761)
+ 'PaginaDict.Add("/OI/Documentos.aspx".ToUpper(), 762)
+ PaginaDict.Add("/OI/CatDocumentoCategoria.aspx".ToUpper(), -1)
+ PaginaDict.Add("/OI/CatDocumentoSubCategoria.aspx".ToUpper(), -1)
+ PaginaDict.Add("/OI/Documentos.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/DocumentoDetalle.aspx".ToUpper(), -1)
#End Region
#Region "Planeacion"
diff --git a/Ashx/CargaEventos.ashx b/Ashx/CargaEventos.ashx
index 720b39b81..7edc077a0 100644
--- a/Ashx/CargaEventos.ashx
+++ b/Ashx/CargaEventos.ashx
@@ -50,6 +50,7 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
Private Function GetEventos(CveUsuario As Integer, CveEmpresa As Integer, pFI As Date, pFF As Date) As Boolean
Dim ObjEventos As New ClsOIEventos
Dim ErrorEventos = False
+ Dim CveEmpresaCRM As Integer = 0
If ObjEventos.GetEventos(-1, -1, -1, "-1", "-1", -1, CveUsuario, CveUsuario, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, CveUsuario, CveUsuario, CveUsuario, CveEmpresa, pFI, pFF) Then
If ObjEventos.DtResultados.Rows.Count > 0 Then
@@ -76,6 +77,7 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState
cevent.CveProspecto = dr("CveProspecto").ToString.ToEntero
cevent.Prospecto = dr("Prospecto").ToString
cevent.CveTipoEvento = dr("Prospecto").ToString.ToEntero
+ cevent.EmpresaCRM = dr("EmpresaCRM").ToString
'11/05/2018 - Evento Gasto Recurrente
cevent.CveTipoEvento = dr("CveTipoEvento").ToString.ToEntero
diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx
index 202b94548..801f1ab28 100644
--- a/Ashx/E141.ashx
+++ b/Ashx/E141.ashx
@@ -442,7 +442,13 @@ Public Class E141 : Implements IHttpHandler
End Using
End If
- If Not TieneError AndAlso Not String.IsNullOrEmpty(JsonRequest("rfc").ToString().Trim()) Then
+ If TieneError Then
+ RespuestaError.message = "Ocurrió un error al obtener el cuerpo de los parametros"
+ context.Response.StatusCode = 200
+ Return JsonConvert.SerializeObject(RespuestaError)
+ End If
+
+ If Not TieneError AndAlso Not String.IsNullOrEmpty(If(JsonRequest("rfc") Is Nothing, "", JsonRequest("rfc").ToString().Trim())) Then
Dim data As New JArray
Dim Nombre As String = "-1"
@@ -493,8 +499,11 @@ Public Class E141 : Implements IHttpHandler
TieneError = True
End If
- If data.Count > 0 Then
- Respuesta.data = data
+ Respuesta.data = data
+ Else
+ If String.IsNullOrEmpty(If(JsonRequest("rfc") Is Nothing, "", JsonRequest("rfc").ToString().Trim())) Then
+ TieneError = True
+ RespuestaError.message = "Debe ingresar un RFC"
End If
End If
@@ -527,6 +536,12 @@ Public Class E141 : Implements IHttpHandler
End Using
End If
+ If TieneError Then
+ RespuestaError.message = "Ocurrió un error al obtener el cuerpo de los parametros"
+ context.Response.StatusCode = 200
+ Return JsonConvert.SerializeObject(RespuestaError)
+ End If
+
Dim data As New JArray
Dim DtSucursalesExistencias As DataTable = Nothing
@@ -556,6 +571,11 @@ Public Class E141 : Implements IHttpHandler
)
data.Add(objSucursal)
Next
+
+ If DtSucursalesExistencias.Rows.Count = 0 Then
+ Respuesta.message = "No se encontraron resultados"
+ End If
+
Catch ex As Exception
TieneError = True
RespuestaError.message = "Ocurrió un error al obtener la sucursales"
@@ -565,9 +585,7 @@ Public Class E141 : Implements IHttpHandler
TieneError = True
End If
- If data.Count > 0 Then
- Respuesta.data = data
- End If
+ Respuesta.data = data
If TieneError Then
context.Response.StatusCode = 200
@@ -599,6 +617,12 @@ Public Class E141 : Implements IHttpHandler
End Using
End If
+ If TieneError Then
+ RespuestaError.message = "Ocurrió un error al obtener el cuerpo de los parametros"
+ context.Response.StatusCode = 200
+ Return JsonConvert.SerializeObject(RespuestaError)
+ End If
+
If Not TieneError Then
Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa)
If Usuario IsNot Nothing Then
@@ -607,6 +631,7 @@ Public Class E141 : Implements IHttpHandler
Dim DebeTimbrar As Boolean = False
Dim ObjClientes As New ClsClientes()
+ Dim ObjInventario As New ClsInventarios(ObjClientes.IniciaTransacSQL())
ObjClientes.IniciaTransacSQL()
Try
@@ -614,7 +639,7 @@ Public Class E141 : Implements IHttpHandler
DebeTimbrar = CBool(JsonRequest("timbrar"))
End If
- ObjFactura = CreaFactura(ObjClientes, "Ing", Resp, JsonRequest, Usuario)
+ ObjFactura = CreaFactura(ObjInventario, ObjClientes, "Ing", Resp, JsonRequest, Usuario)
If ObjFactura IsNot Nothing Then
Resp = ObjFactura.EmitirFactura(False, Transac:=ObjClientes.IniciaTransacSQL())
@@ -744,7 +769,7 @@ Public Class E141 : Implements IHttpHandler
End Function
- Private Function CreaFactura(ObjClientes As ClsClientes, TipoDocto As String, Resp As Modelos.Factura.MMensajeFactura, JsonRequest As JObject, UsuarioActual As Usuario) As Modelos.Factura
+ Private Function CreaFactura(ObjInventario As ClsInventarios, ObjClientes As ClsClientes, TipoDocto As String, Resp As Modelos.Factura.MMensajeFactura, JsonRequest As JObject, UsuarioActual As Usuario) As Modelos.Factura
Try
Resp.TieneError = False
Dim Serie As String = "-1"
@@ -843,36 +868,85 @@ Public Class E141 : Implements IHttpHandler
End If
'FORMA DE PAGO
+ If JsonRequest("invoice_way_to_pay") Is Nothing Then
+ Resp.TieneError = False
+ Resp.Mensajes.Add("Debe asignar una forma de pago")
+ Return Nothing
+ End If
+
If Not String.IsNullOrEmpty(JsonRequest("invoice_way_to_pay").ToString()) Then
Dim RowFormaPago As DataRow = GlobalDTVtaFormaPago.FiltroPrimero(String.Format("ClaveFormaPagoSAT = '{0}'", JsonRequest("invoice_way_to_pay").ToString()))
-
- ObjFactura.CveFormaPago33 = RowFormaPago("CveFormaPago").ToString().ToEntero()
- ObjFactura.FormaPago33 = RowFormaPago("FormaPago").ToString()
- ObjFactura.FormaPagoSAT33 = RowFormaPago("ClaveFormaPagoSAT").ToString()
+ If RowFormaPago IsNot Nothing Then
+ ObjFactura.CveFormaPago33 = RowFormaPago("CveFormaPago").ToString().ToEntero()
+ ObjFactura.FormaPago33 = RowFormaPago("FormaPago").ToString()
+ ObjFactura.FormaPagoSAT33 = RowFormaPago("ClaveFormaPagoSAT").ToString()
+ Else
+ Resp.TieneError = False
+ Resp.Mensajes.Add("No se encontro la forma de pago")
+ Return Nothing
+ End If
+ Else
+ Resp.TieneError = False
+ Resp.Mensajes.Add("Debe asignar una forma de pago")
+ Return Nothing
End If
'USO CFDi
+ If JsonRequest("invoice_use") Is Nothing Then
+ Resp.TieneError = False
+ Resp.Mensajes.Add("Debe asignar un uso cfdi")
+ Return Nothing
+ End If
+
If Not String.IsNullOrEmpty(JsonRequest("invoice_use").ToString()) Then
Dim RowUsoCFDi As DataRow = GlobalDTSATUsosCFDI.FiltroPrimero(String.Format("UsoCFDI = '{0}'", JsonRequest("invoice_use").ToString()))
-
- ObjFactura.CveUsoCFDI = RowUsoCFDi("CveUsoCFDI").ToString().ToEntero()
- ObjFactura.UsoCFDI = RowUsoCFDi("Descripcion").ToString()
- ObjFactura.ClaveUsoCFDI = RowUsoCFDi("UsoCFDI").ToString()
+ If RowUsoCFDi IsNot Nothing Then
+ ObjFactura.CveUsoCFDI = RowUsoCFDi("CveUsoCFDI").ToString().ToEntero()
+ ObjFactura.UsoCFDI = RowUsoCFDi("Descripcion").ToString()
+ ObjFactura.ClaveUsoCFDI = RowUsoCFDi("UsoCFDI").ToString()
+ Else
+ Resp.TieneError = False
+ Resp.Mensajes.Add("No se encontro el uso cfdi")
+ Return Nothing
+ End If
+ Else
+ Resp.TieneError = False
+ Resp.Mensajes.Add("Debe asignar un uso cfdi")
+ Return Nothing
End If
'METODO DE PAGO
- If Not String.IsNullOrEmpty(JsonRequest("invoice_payment_method").ToString()) Then
- Dim RowMetodoPago As DataRow = GlobalDTVtaMetodoPago.FiltroPrimero(String.Format("ClaveMetodoPagoSAT = '{0}'", JsonRequest("invoice_payment_method").ToString()))
-
- ObjFactura.CveMetodoPago33 = RowMetodoPago("CveMetodoPago").ToString().ToEntero()
- ObjFactura.MetodoPago33 = RowMetodoPago("MetodoPago").ToString()
- ObjFactura.ClaveMetodoPagoSAT = RowMetodoPago("ClaveMetodoPagoSAT").ToString()
+ If JsonRequest("invoice_payment_method") Is Nothing Then
+ Resp.TieneError = False
+ Resp.Mensajes.Add("Debe asignar un método de pago")
+ Return Nothing
End If
- End If
+ If Not String.IsNullOrEmpty(JsonRequest("invoice_payment_method").ToString()) Then
+ Dim RowMetodoPago As DataRow = GlobalDTVtaMetodoPago.FiltroPrimero(String.Format("ClaveMetodoPagoSAT = '{0}'", JsonRequest("invoice_payment_method").ToString()))
+ If RowMetodoPago IsNot Nothing Then
+ ObjFactura.CveMetodoPago33 = RowMetodoPago("CveMetodoPago").ToString().ToEntero()
+ ObjFactura.MetodoPago33 = RowMetodoPago("MetodoPago").ToString()
+ ObjFactura.ClaveMetodoPagoSAT = RowMetodoPago("ClaveMetodoPagoSAT").ToString()
+ Else
+ Resp.TieneError = False
+ Resp.Mensajes.Add("No se encontro el método de pago")
+ Return Nothing
+ End If
+ Else
+ Resp.TieneError = False
+ Resp.Mensajes.Add("Debe asignar un método de pago")
+ Return Nothing
+ End If
+
+ End If
+
+ ObjFactura.CveAlmacen = GlobalDTAlmacen(CveEmpresa, CveTipoAlmacen:=1).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+
+
'DETALLES
- ObjFactura.DtDetalle = CreaDTDetalle(Resp, UsuarioActual, JsonRequest)
+ ObjFactura.DtDetalle = CreaDTDetalle(ObjInventario, ObjFactura, Resp, UsuarioActual, JsonRequest)
If Resp.TieneError Then
Resp.Mensajes.Add("No se pudieron agregar los productos/servicios")
@@ -888,7 +962,6 @@ Public Class E141 : Implements IHttpHandler
'INVENTARIO
If TipoDocto = "Ing" Then
ObjFactura.DtInventario = ObjFactura.DtDetalle.Copy.FiltraParametros("CveTipoPS = 2")
- ObjFactura.CveAlmacen = GlobalDTAlmacen(CveEmpresa, CveTipoAlmacen:=1).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
ObjFactura.GenerarSalidaAlmacen = True
ObjFactura.GenerarPDFFactura = False
End If
@@ -1080,7 +1153,7 @@ Public Class E141 : Implements IHttpHandler
Next
Return Timbre
End Function
- Private Function CreaDTDetalle(ByRef Retorno As Modelos.Factura.MMensajeFactura, UsuarioActual As Usuario, JsonRequest As JObject) As DataTable
+ Private Function CreaDTDetalle(ByRef ObjInventarios As ClsInventarios, ObjFactura As Modelos.Factura, ByRef Retorno As Modelos.Factura.MMensajeFactura, UsuarioActual As Usuario, JsonRequest As JObject) As DataTable
Dim TmpDT = New DataTable
TmpDT.Columns.Add("CveVenta", GetType(Integer))
TmpDT.Columns.Add("Consec", GetType(Integer))
@@ -1169,30 +1242,50 @@ Public Class E141 : Implements IHttpHandler
Dim DescuentoPorPartida As Decimal = (DescuentoTotal / ListaPS.Count)
Dim Consec As Integer = 1
- For Each Dr As JObject In ListaPS
- Dim Cantidad As Decimal = Dr("quantity").ToString.ToDecimal()
+ For Each JsonPS As JObject In ListaPS
+ Dim Cantidad As Decimal = JsonPS("quantity").ToString.ToDecimal()
- Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, Codigo:=Dr("product_sku").ToString()).FiltroPrimero("")
+ Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, Codigo:=JsonPS("product_sku").ToString()).FiltroPrimero("")
If DrPS Is Nothing Then
Retorno.TieneError = True
- Retorno.Mensajes.Add(String.Format("No se pudo agregar el producto/servicio: {0}, no se encontró en el sistema", Dr("product_sku").ToString()))
+ Retorno.Mensajes.Add(String.Format("No se pudo agregar el producto/servicio: {0}, no se encontró en el sistema", JsonPS("product_sku").ToString()))
Exit For
End If
'VALIDAR QUE SEA EL MISMO PRODUCTO
- If DrPS("Codigo").ToString() <> Dr("product_sku").ToString() Then
+ If DrPS("Codigo").ToString() <> JsonPS("product_sku").ToString() Then
Retorno.TieneError = True
- Retorno.Mensajes.Add(String.Format("No se pudo agregar el producto/servicio: {0}", Dr("PS").ToString()))
+ Retorno.Mensajes.Add(String.Format("No se pudo agregar el producto/servicio: {0}", DrPS("PS").ToString()))
Exit For
End If
- Dim TotalOriginal As Decimal = Dr("total_cost").ToString.ToDecimal()
+ 'VALIDA EXISTENCIA ANTES DE GENERAR LA FACTURA
+ If ObjFactura.TipoDocto = "Ing" AndAlso DrPS("CveTipoPS").ToString() = "2" Then
+ Dim Existencia As Decimal = ObjInventarios.GetExistenciasPS(DrPS("CvePS").ToString.ToEntero, DrPS("CveUnidadMedida").ToString.ToEntero, UsuarioActual.CveEmpresa, ObjFactura.CveAlmacen, CveSubProyecto:=ObjFactura.CveSubProyecto, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=-1)
- Dim PUOrginal As Decimal = Dr("cost").ToString.ToDecimal()
+ If Cantidad > Existencia Then
+ Retorno.TieneError = True
+ Retorno.Mensajes.Add(String.Format("No hay existencia suficiente para este producto: {0}, cuenta con : {1}", DrPS("PSCodigo").ToString(), Existencia))
+ Exit For
+ End If
+ End If
+
+
+ Dim TotalOriginal As Decimal = JsonPS("total_cost").ToString.ToDecimal()
+
+ Dim PUOrginal As Decimal = JsonPS("cost").ToString.ToDecimal()
Dim PorcentajeIVADefault As Decimal = 0.16D
+ Dim DrSubProyecto As DataRow = GlobalDTSubProyectos(-1, JsonRequest("branch_office_id").ToEntero(), CveEmpresa:=CveEmpresa).Rows(0)
+
+ If DrSubProyecto IsNot Nothing Then
+ PorcentajeIVADefault = DrSubProyecto("IVA").ToString().ToDecimal()
+ Else
+ PorcentajeIVADefault = 0.16D
+ End If
+
Dim SubTotal2 As Decimal = (TotalOriginal / (1 + PorcentajeIVADefault))
Dim IVA As Decimal = Math.Abs(SubTotal2 - TotalOriginal)
@@ -1203,12 +1296,12 @@ Public Class E141 : Implements IHttpHandler
Dim Row As DataRow = AgregarProductoServicio(Retorno, UsuarioActual, TmpDT, Consec, Cantidad, DrPS("CveUnidadMedida").ToString.ToEntero, DrPS("UnidadMedida").ToString, DrPS("CveClasificacion").ToString.ToEntero, DrPS("Clasificacion").ToString,
DrPS("CvePS").ToString.ToEntero, DrPS("PS").ToString, "", PUCalculado, DescuentoPorPartida,
- CveSubProyecto:=JsonRequest("branch_office_id").ToEntero(), CveVentaDetalle:=-1, CveContratoDetalle:=-1, CveVentaDetalleRemision:=-1, RegeneraIEPS:=True)
+ CveSubProyecto:=ObjFactura.CveSubProyecto, CveVentaDetalle:=-1, CveContratoDetalle:=-1, CveVentaDetalleRemision:=-1, RegeneraIEPS:=True)
If Row IsNot Nothing Then
TmpDT.Rows.Add(Row)
Else
Retorno.TieneError = True
- Retorno.Mensajes.Add(String.Format("No se pudo agregar el producto/servicio: {0}", Dr("PS").ToString()))
+ Retorno.Mensajes.Add(String.Format("No se pudo agregar el producto/servicio: {0}", DrPS("PSCodigo").ToString()))
Exit For
End If
@@ -1373,14 +1466,21 @@ Public Class E141 : Implements IHttpHandler
End Using
End If
+ If TieneError Then
+ RespuestaError.message = "Ocurrió un error al obtener el cuerpo de los parametros"
+ context.Response.StatusCode = 200
+ Return JsonConvert.SerializeObject(RespuestaError)
+ End If
+
If Not TieneError Then
Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa)
If Usuario IsNot Nothing Then
Dim Resp As New Modelos.Factura.MMensajeFactura
Dim ObjClientes As New ClsClientes()
- ObjClientes.IniciaTransacSQL()
+ Dim ObjInventario As New ClsInventarios(ObjClientes.IniciaTransacSQL())
+
Try
- Dim ObjFactura = CreaFactura(ObjClientes, "Cot", Resp, JsonRequest, Usuario)
+ Dim ObjFactura = CreaFactura(ObjInventario, ObjClientes, "Cot", Resp, JsonRequest, Usuario)
If ObjFactura IsNot Nothing Then
Resp = ObjFactura.EmitirFactura(False, Transac:=ObjClientes.IniciaTransacSQL())
@@ -1417,7 +1517,9 @@ Public Class E141 : Implements IHttpHandler
Else
ObjClientes.Commit()
End If
+
ObjClientes.Dispose()
+ ObjInventario.Dispose()
Else
TieneError = True
RespuestaError.message = "no hay un usuario disponible"
@@ -1471,9 +1573,7 @@ Public Class E141 : Implements IHttpHandler
TieneError = True
End If
- If data.Count > 0 Then
- Respuesta.data = data
- End If
+ Respuesta.data = data
If TieneError Then
context.Response.StatusCode = 200
@@ -2088,6 +2188,9 @@ Public Class E141 : Implements IHttpHandler
End Function
Private Class FidelityAppsResponse
+ Sub New()
+ status = "success"
+ End Sub
Public Property status As String
Public Property data As Object
Public Property message As String
diff --git a/Bancos/DepositosCaja.aspx b/Bancos/DepositosCaja.aspx
index 7742f9710..05ca350a2 100644
--- a/Bancos/DepositosCaja.aspx
+++ b/Bancos/DepositosCaja.aspx
@@ -125,22 +125,21 @@
+
+
+ Importe seleccionado: $00.00
+
+
-
-
-
- Importe seleccionado: $00.00
-
-
-
+
-
+
@@ -200,5 +199,23 @@
+
+
+
diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb
index 3ed466c16..d20bfd0df 100644
--- a/Bancos/DepositosCaja.aspx.vb
+++ b/Bancos/DepositosCaja.aspx.vb
@@ -178,7 +178,14 @@ Partial Class Bancos_DepositosCaja
End Sub
Public Sub ChkFactura_Click(sender As Object, e As EventArgs)
- ObtenerTotalImporta()
+ 'ObtenerTotalImporta()
End Sub
+ Protected Sub GvFacturas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvFacturas.RowDataBound
+ If e.Row.RowType = DataControlRowType.DataRow Then
+ e.Row.FCCheckBox("ChkFactura").Attributes.Add("onclick", String.Format("FnSuma(this,{0});", e.Row.DBCampo("Importe")))
+ End If
+ End Sub
+
+
End Class
\ No newline at end of file
diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx
index d8f598c3d..b60f17172 100644
--- a/Bancos/IE.aspx
+++ b/Bancos/IE.aspx
@@ -170,6 +170,8 @@
+
+
diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb
index bed72e577..8cdfd3dcb 100644
--- a/Bancos/IE.aspx.vb
+++ b/Bancos/IE.aspx.vb
@@ -6674,4 +6674,7 @@ Partial Class Bancos_IE
UpEliminarCotizacion.Update()
End Sub
+ Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init
+ RVTxtFechaDocumento.MaximumValue = DateTime.Now.ToShortDateString
+ End Sub
End Class
\ No newline at end of file
diff --git a/Bancos/PopIECompras.aspx b/Bancos/PopIECompras.aspx
index a8073a7e8..faa517849 100644
--- a/Bancos/PopIECompras.aspx
+++ b/Bancos/PopIECompras.aspx
@@ -528,6 +528,8 @@
+
+
diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb
index 79a889d74..06c24cb3b 100644
--- a/Bancos/PopIECompras.aspx.vb
+++ b/Bancos/PopIECompras.aspx.vb
@@ -1660,8 +1660,9 @@ Partial Class Bancos_PopIECompras
If CveMonedaCompra <> 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then
IdCtaContable = IdCtaContComplementaria
CveCuenta = CveCuentaComplementaria
- If ImporteMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsuarioActual.CveEmpresa = 119) Then
- If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMovimiento * tipoCambioCompra - ImporteMovimiento, ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioCompra, CveCuenta:=CveCuenta) Then
+ If ImporteMovimiento <> 0 Then
+ Dim ImporteMN As Decimal = (ImporteMovimiento * tipoCambioCompra - ImporteMovimiento).RoundSQL
+ If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, TxtObservaciones.Text, CveConceptoContableComplementaria, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor2, CvePersonal:=CvePersonal, ImporteMX:=ImporteMN, ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioCompra, CveCuenta:=CveCuenta) Then
MsgError = "No se pudo insertar la póliza"
End If
End If
@@ -3644,4 +3645,9 @@ Partial Class Bancos_PopIECompras
UpGuardar.Update()
End Sub
+ Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init
+ RVTxtFechaDocumento.MaximumValue = DateTime.Now.ToShortDateString
+ End Sub
+
+
End Class
\ No newline at end of file
diff --git a/Bancos/PopIEVentas.aspx b/Bancos/PopIEVentas.aspx
index 81291fcc3..998dd4477 100644
--- a/Bancos/PopIEVentas.aspx
+++ b/Bancos/PopIEVentas.aspx
@@ -450,6 +450,8 @@
+
+
diff --git a/Bancos/PopIEVentas.aspx.vb b/Bancos/PopIEVentas.aspx.vb
index f9d599287..178c34ab4 100644
--- a/Bancos/PopIEVentas.aspx.vb
+++ b/Bancos/PopIEVentas.aspx.vb
@@ -687,7 +687,7 @@ Partial Class Bancos_PopIEVentas
'JJMQ:20190606 Se cancela código de validacion ante el SAT por lentitud en el servicio.
'Sustituir la línea anterior por todo lo siguiente hasta donde termina el end if para que valide de nueva cuenta
'Dim Validada As Boolean = False
- If Not UsuarioActual.Empresa.Funcionalidad(529) = "1" Then
+ If Not UsuarioActual.Empresa.Funcionalidad(529) = "1" AndAlso dr("FolioFiscal").ToString() <> "" Then
Dim Valida As New ClsValidaCFDi(dr("FolioFiscal").ToString(), UsuarioActual.Empresa.RFC, dr("ClienteRFC").ToString, dr("Total").ToString.ToDecimal)
@@ -3660,9 +3660,12 @@ Partial Class Bancos_PopIEVentas
ObjBancos.Dispose()
' Next
Return Retorno.ToString
- End Function
-
+ End Function
+
#End Region
-
-
+ Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init
+ RVTxtFechaDocumento.MaximumValue = DateTime.Now.ToShortDateString
+ End Sub
+
+
End Class
\ No newline at end of file
diff --git a/Bancos/ProveedoresAbonar.aspx b/Bancos/ProveedoresAbonar.aspx
index a6c1f586b..768463a0b 100644
--- a/Bancos/ProveedoresAbonar.aspx
+++ b/Bancos/ProveedoresAbonar.aspx
@@ -120,6 +120,9 @@
+
+
+
diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb
index 3195700e1..8997a0693 100644
--- a/Bancos/ProveedoresAbonar.aspx.vb
+++ b/Bancos/ProveedoresAbonar.aspx.vb
@@ -3388,6 +3388,10 @@ Partial Class Bancos_ProveedoresAbonar
#End Region
+ Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init
+ RVTxtFechaDocumento.MaximumValue = DateTime.Now.ToShortDateString
+ End Sub
+
End Class
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 7a06ef3a6..d090cd757 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1355,7 +1355,7 @@ Partial Class Compras_Compras
GvInv.Visible = True
CargaProveedor(-1, RFC)
- If Not DdlTipoComprobante.SelectedValue = "NC" Then
+ If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
If UsuarioActual.Empresa.Funcionalidad(128) = "1" And Not UsuarioActual.TienePermisoProceso(213) Then
If TmpDT.MAX("CvePS").ToEntero > 0 Then
BtnGuardar.Enabled = False
@@ -4060,13 +4060,15 @@ Partial Class Compras_Compras
' DtNoEncontrados.Dispose()
'End If
- 'Verifica funcionalidad 702 "Require orden de compra para factura de compra"
+ 'Verifica funcionalidad 128 "Require orden de compra para factura de compra"
- If UsuarioActual.Empresa.Funcionalidad(128) <> "" Then
- If Not EstaAsociadoACajaChica And Not EstaAsociadoAPersonal Then
- If Not CompraEstaVinculadaOC Then
- Alert("Debe de vincular una orden de compra para registrar la factura")
- Exit Sub
+ If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
+ If UsuarioActual.Empresa.Funcionalidad(128) = "1" And Not UsuarioActual.TienePermisoProceso(213) Then
+ If Not EstaAsociadoACajaChica And Not EstaAsociadoAPersonal Then
+ If Not CompraEstaVinculadaOC Then
+ Alert("Debe de vincular una orden de compra para registrar la factura")
+ Exit Sub
+ End If
End If
End If
End If
@@ -5107,7 +5109,7 @@ Partial Class Compras_Compras
Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero,
AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal,
CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, OtrosGastos:=Row("OtrosGastos").ToString.ToDecimal,
- RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble,
+ RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble.RoundSQL, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble,
IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble,
IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False),
CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero) Then
@@ -18043,14 +18045,12 @@ Partial Class Compras_Compras
UpIVA.Update()
- If DdlClasificacion.SelectedIndex = 0 Then
- If PS("CveClasificacion").ToString IsNot Nothing Then
- DdlClasificacion.SelectedValueExist(PS("CveClasificacion").ToString)
- Else
- Alert("El Productos/Servicio no tiene asignada una Clasificación.")
+ If PS("CveClasificacion").ToString IsNot Nothing Then
+ DdlClasificacion.SelectedValueExist(PS("CveClasificacion").ToString)
+ Else
+ Alert("El Productos/Servicio no tiene asignada una Clasificación.")
End If
- End If
UPPUM.Update()
UpPSS.Update()
End If
@@ -18072,6 +18072,11 @@ Partial Class Compras_Compras
Dim CveProyecto = If(DdlProyecto.SelectedValue.ToEntero > 0, DdlProyecto.SelectedValue.ToEntero, -1)
DdlSubProyecto.Items.Clear()
+ 'SI NO SE VE EL PROYECTO NO FILTRAR POR PROYECTO
+ If Not DdlProyecto.Visible Then
+ CveProyecto = -1
+ End If
+
DdlSubProyecto.DataSource = If(Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(CveProyecto, -1, UsuarioActual.CveEmpresa, 1))
DdlSubProyecto.DataBind()
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index f477a8d99..9ec3b4e3e 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -13,7 +13,8 @@ Imports Stimulsoft.Report
Imports Stimulsoft.Report.Components
Imports Stimulsoft.Report.Dictionary
Imports Stimulsoft.Report.Web
-
+Imports Newtonsoft.Json.Linq
+
Partial Class PopUpVerFactura
Inherits ClsPaginas
@@ -495,8 +496,17 @@ Partial Class PopUpVerFactura
'PDF AJUSTE
If UrlParametros("OP").ToString = "AJUSTE" Then
+ 'SI YA ESTA GUARDADO
If UrlParametros("CVEGARANTIADETALLE") IsNot Nothing Then
- ImprimirPDFAjuste(UrlParametros("CVEGARANTIADETALLE").ToString.ToEntero)
+ ImprimirPDFAjuste(UrlParametros("CVEGARANTIADETALLE").ToString.ToEntero)
+ Else
+ ImprimirPDFAjuste(CvePSAjuste:=UrlParametros("CVEPSAJUSTE").ToString.ToEntero(), CveCliente:=UrlParametros("CVECLIENTE").ToString.ToEntero(),
+ CveClienteDistribuidor:=UrlParametros("CVECLIENTEDISTRIBUIDOR").ToString.ToEntero(), Consec:=UrlParametros("CONSEC").ToString,
+ FolioGarantia:=UrlParametros("FOLIOGARANTIA").ToString, FechaAjuste:=UrlParametros("FECHAAJUSTE").ToString.ToDateTime(), FechaReclamacion:=UrlParametros("FECHARECLAMACION").ToString.ToDateTime(),
+ TipoDefecto:=UrlParametros("TIPODEFECTO").ToString, CveTipoUso:=UrlParametros("CVETIPOUSO").ToString.ToEntero(), CodigoEnsamble:=UrlParametros("CODIGOENSAMBLE").ToString,
+ CodigoLinea:=UrlParametros("CODIGOLINEA").ToString, CodigoInspeccion:=UrlParametros("CODIGOINSPECCION").ToString, PorcentajeAjuste:=UrlParametros("PORCENTAJEAJUSTE").ToString,
+ BCIAjuste:=UrlParametros("BCIAJUSTE").ToString, Etiqueta:=UrlParametros("ETIQUETA").ToString, Año:=UrlParametros("AÑO").ToString, Comprobante:=UrlParametros("COMPROBANTE").ToString,
+ ModeloAuto:=UrlParametros("MODELOAUTO").ToString, MarcaAuto:=UrlParametros("MARCAAUTO").ToString, CodigoTD:=UrlParametros("CODIGOTD").ToString)
End If
End If
@@ -4638,6 +4648,134 @@ Partial Class PopUpVerFactura
End If
+ params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
+ params.Add(New ReportParameter("Consec", Consec))
+ params.Add(New ReportParameter("FolioAcuse", FolioGarantia))
+
+ 'Informacion de Garantia o ajuste
+ params.Add(New ReportParameter("FechaInst", FechaAjuste.ToString("dd/MM/yyyy")))
+ params.Add(New ReportParameter("Fecha", FechaReclamacion.ToString("dd/MM/yyyy")))
+ params.Add(New ReportParameter("Defecto", TipoDefecto))
+ params.Add(New ReportParameter("MesesUso", MesesUso))
+ params.Add(New ReportParameter("PorcentajeAjuste", PorcentajeAjuste))
+
+ 'Informacion Acumulador
+ params.Add(New ReportParameter("CodEnsamble", CodigoEnsamble))
+ params.Add(New ReportParameter("CodLinea", CodigoLinea))
+ params.Add(New ReportParameter("CodInspeccion", CodigoInspeccion))
+ params.Add(New ReportParameter("Tipo", BCIAjuste))
+ params.Add(New ReportParameter("Marca", MarcaPS))
+ params.Add(New ReportParameter("Etiqueta", Etiqueta))
+
+ 'Informacion Vehiculo
+ params.Add(New ReportParameter("MarcaAuto", MarcaAuto))
+ params.Add(New ReportParameter("TipoAuto", ModeloAuto))
+
+ 'Informacion Consumidor
+ If (CveCliente > 0) Then
+
+ Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", CveCliente))
+
+ Dim Nombre As String = ""
+ Dim Ciudad As String = ""
+ Dim Estado As String = ""
+ Dim Direccion As String = ""
+ Dim Telefono As String = ""
+
+ If DatosClienteSeleccionado IsNot Nothing Then
+ Nombre = DatosClienteSeleccionado("Nombre").ToString
+ Ciudad = DatosClienteSeleccionado("Ciudad").ToString
+ Estado = DatosClienteSeleccionado("Estado").ToString
+ Direccion = DatosClienteSeleccionado("Direccion").ToString
+ Telefono = DatosClienteSeleccionado("Telefono").ToString
+ End If
+
+ params.Add(New ReportParameter("NombreCliente", Nombre))
+ params.Add(New ReportParameter("Direccion", Direccion))
+ params.Add(New ReportParameter("CiudadEstadoConsumidor", String.Format("{0}, {1}", Ciudad, Estado)))
+ params.Add(New ReportParameter("TelConsumidor", Telefono))
+ End If
+
+ params.Add(New ReportParameter("Anio", Año))
+ params.Add(New ReportParameter("Comprobante", Comprobante))
+ params.Add(New ReportParameter("CodigoTD", CodigoTD))
+
+ If Imagen.Exists Then
+ params.Add(New ReportParameter("LogoPath", logouri))
+ Else
+ params.Add(New ReportParameter("LogoPath", ""))
+ End If
+
+ ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF", Content_Disposition:="inline")
+ End Sub
+
+ Private Sub ImprimirPDFAjuste(CvePSAjuste As Integer, CveCliente As Integer, CveClienteDistribuidor As Integer, Consec As String, FolioGarantia As String, FechaAjuste As DateTime, FechaReclamacion As DateTime,
+ TipoDefecto As String, CveTipoUso As Integer, CodigoEnsamble As String, CodigoLinea As String, CodigoInspeccion As String, PorcentajeAjuste As String,
+ BCIAjuste As String, Etiqueta As String, Año As String, Comprobante As String, ModeloAuto As String, MarcaAuto As String, CodigoTD As String)
+
+ Dim MesesUso As String = "0"
+
+ Dim MarcaPS As String = ""
+ Dim CveMarca As Integer = -1
+
+ Dim FechaI As Date = FechaAjuste.AddDays(1)
+ Dim FechaF As Date = FechaReclamacion
+
+ Dim Dia As Integer = FechaI.Day
+ Try
+ 'validación adicional, para saber si el mes tiene 31 días y el actua es menor.
+ If FechaI.Day > Today.LastDayOfMonth.Day Then Dia = Today.LastDayOfMonth.Day
+ Dim FechaT As Date = String.Format("{0}/{1}/{2}", Dia, FechaF.Month, FechaF.Year).ToDate 'armo la fecha con el día del mes actual
+
+ Dim MesesTrascurridos As Integer = Math.Round(DateDiff(DateInterval.Day, FechaI, FechaT) / 30.4, 2).ToEntero 'saco los meses y lo redondeo
+
+ If FechaT > FechaF Then
+ 'todavía está en el mes actual.
+ MesesTrascurridos = MesesTrascurridos
+ Else
+ MesesTrascurridos = MesesTrascurridos + 1
+ End If
+
+ MesesUso = MesesTrascurridos.ToString
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al calcular los meses de uso", ex)
+ End Try
+
+
+ Dim ObjPS As New ClsProductosServicios
+ If ObjPS.GetPS(CvePSAjuste, -1, UsuarioActual.CveEmpresa) Then
+ MarcaPS = ObjPS.DtResultados.FiltroPrimeroValor("Marca", String.Format("CvePS = {0}", CvePSAjuste))
+ End If
+ ObjPS.Dispose()
+
+ Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
+ Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
+ Dim DtDatos As New DataTable
+
+ Dim params As New List(Of ReportParameter)
+
+
+ 'Informacion Distribuidor
+ If (CveClienteDistribuidor > 0) Then
+
+ Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", CveClienteDistribuidor))
+ Dim CiudadEstado As String = ""
+ Dim Telefono As String = ""
+ Dim Nombre As String = ""
+
+ If DatosClienteSeleccionado IsNot Nothing Then
+ CiudadEstado = String.Format("{0}, {1}", DatosClienteSeleccionado("Ciudad"), DatosClienteSeleccionado("Estado"))
+ Telefono = DatosClienteSeleccionado("Telefono").ToString
+ Nombre = DatosClienteSeleccionado("Nombre").ToString
+ End If
+
+ params.Add(New ReportParameter("NombreDistribuidor", Nombre))
+ params.Add(New ReportParameter("CiudadEstado", CiudadEstado))
+ params.Add(New ReportParameter("TelCliente", Telefono))
+ End If
+
+
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("Consec", Consec))
params.Add(New ReportParameter("FolioAcuse", FolioGarantia))
diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx
index 285fe20dd..b805f6633 100644
--- a/Compras/ReembolsosComprobaciones.aspx
+++ b/Compras/ReembolsosComprobaciones.aspx
@@ -204,6 +204,8 @@
+
+
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index 87dd131f3..9c1333df2 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -382,6 +382,63 @@ Partial Class Compras_ReembolsosComprobaciones
#Region " BTN GUARDAR "
Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
+
+
+
+
+ Dim ValFechaDocumento As Boolean = False
+ Dim FoliosFechasValFechaDocumento As New StringBuilder
+
+ FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha de mes superior al mes del pago: ")
+
+ For Each gvRowVal As GridViewRow In GvCxP.Rows
+
+ If gvRowVal.FCCheckBox("Chk").Checked Then
+
+
+ Dim FechaFactura As Date = gvRowVal.DataKey("FechaCompra").ToDate
+
+
+ Dim FechaDocumento As Date
+
+
+ If DDlCheques.SelectedValue.ToEntero = -1 Then
+ FechaDocumento = TxtFechaDocumento.Text.ToDate
+ Else
+ FechaDocumento = TxtFechaPrePoliza.Text.ToDate
+ End If
+
+
+
+ Dim AnioFactura As Integer = FechaFactura.Year
+ Dim MesFactura As Integer = FechaFactura.Month
+
+
+ Dim AnioDocumento As Integer = FechaDocumento.Year
+ Dim MesDocumento As Integer = FechaDocumento.Month
+
+
+ If AnioFactura > AnioDocumento Then
+
+ FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") } ")
+ ValFechaDocumento = True
+ ElseIf AnioFactura = AnioDocumento And MesFactura > MesDocumento Then
+ FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") } ")
+ ValFechaDocumento = True
+ End If
+
+ End If
+
+ Next
+
+
+ If ValFechaDocumento Then
+ Alert(FoliosFechasValFechaDocumento.ToString, TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+
+
If HdnCheque.Value.ToEntero > 0 And ChkChequeExcedente.Checked And TxtImporte.Text.ToDecimal = 0 Then
Alert("El importe del cheque excedente debe ser mayor a cero", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -2005,5 +2062,7 @@ Partial Class Compras_ReembolsosComprobaciones
#End Region
-
+ Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init
+ RVTxtFechaDocumento.MaximumValue = DateTime.Now.ToShortDateString
+ End Sub
End Class
diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs
index 025f8b42a..659597ce7 100644
--- a/Contabilidad/RepIVA.aspx.cs
+++ b/Contabilidad/RepIVA.aspx.cs
@@ -189,7 +189,10 @@ public partial class Contabilidad_RepIVA : ClsPaginas
if (txtFechaF.Text == "" || txtFechaF.Text == "__/__/____") { FechaF = "-1"; } else { FechaF = $" Fecha Final: {txtFechaF.Text}"; }
String FechaI;
if (txtFechaI.Text == "" || txtFechaI.Text == "__/__/____") { FechaI = "-1"; } else { FechaI = $" Fecha Inicial: {txtFechaI.Text}"; }
- if (DtIVATrasladado.Rows.Count > 0 || DtIVAAcreditable.Rows.Count > 0)
+ String TipoMov;
+ if (DdlTipoMovto.SelectedItem.Text == "Todos") { TipoMov = ""; } else { TipoMov = $" Tipo Movimiento: {DdlTipoMovto.SelectedItem.Text}"; }
+
+ if (GvT.Rows.Count > 0 || GvA.Rows.Count > 0)
{
System.IO.FileInfo Imagen;
String logouri = "";
@@ -208,7 +211,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas
List para = new List();
para.Add(new CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa));
para.Add(new CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre));
- para.Add(new CrystalParametro("Filtros", $"Filtros: {FechaI}{FechaF}"));
+ para.Add(new CrystalParametro("Filtros", $"Filtros: {FechaI}{FechaF}{TipoMov}"));
if (Imagen.Exists)
{
para.Add(new CrystalParametro("LogoPath", logouri));
diff --git a/Contabilidad2/CatCuentas.aspx b/Contabilidad2/CatCuentas.aspx
index 24cf2ec21..9f026eb56 100644
--- a/Contabilidad2/CatCuentas.aspx
+++ b/Contabilidad2/CatCuentas.aspx
@@ -225,7 +225,7 @@
-
+
diff --git a/Contabilidad2/CatCuentas.aspx.vb b/Contabilidad2/CatCuentas.aspx.vb
index 720b93107..4c55dd786 100644
--- a/Contabilidad2/CatCuentas.aspx.vb
+++ b/Contabilidad2/CatCuentas.aspx.vb
@@ -31,6 +31,24 @@ Partial Class Contabilidad2_CatCuentas
ViewState("idsel") = value
End Set
End Property
+
+ Private Property CvePadre As Integer
+ Get
+ Return ViewState("CvePadre").ToString.ToEntero()
+ End Get
+ Set(value As Integer)
+ ViewState("CvePadre") = value
+ End Set
+ End Property
+
+ Private Property Afectable As Boolean
+ Get
+ Return ViewState("Afectable").ToString
+ End Get
+ Set(value As Boolean)
+ ViewState("Afectable") = value
+ End Set
+ End Property
#Region "Contabilidadnew"
Private Property CveProveedor As Integer
Get
@@ -168,6 +186,7 @@ Partial Class Contabilidad2_CatCuentas
Protected Sub agregar_Click(sender As Object, e As EventArgs) Handles ArbolCuentas.addclick
LimpiarCampos()
Dim dt As New DataTable
+
'IDSelected = HdnID.Value.ToEntero() "ul" + itempadre.Cve;
Dim obj As ADServerControl.DragableItem = DirectCast(sender, ADServerControl.DragableItem)
IDSelected = obj.Cve
@@ -182,6 +201,12 @@ Partial Class Contabilidad2_CatCuentas
DTcuenta.SelectedValue = dr("Tipo").ToString()
DcuentaMayor.SelectedValue = dr("CtaMayor").ToString
LblSubCuenta.Text = dr("Nombre").ToString
+ Afectable = dr("Afectable").ToString
+ CvePadre = dr("CvePadre").ToString.ToEntero
+ End If
+
+ If Afectable Then
+ Alert("Se va crear una subcuenta en una cuenta afectable", TipoMensaje.MsgAdvertencia)
End If
TxtCuenta.Enabled = True
@@ -298,7 +323,6 @@ Partial Class Contabilidad2_CatCuentas
Dim CveAlmacen As Integer = DdlAlmacen.SelectedValue.ToEntero()
If DdlAgrupadorSAT.SelectedValue.ToEntero > 0 Then
-
If ObjConta.UpdateCuenta(IDSelected.ToEntero, Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, DdlMoneda.SelectedValue.ToEntero,
TxtDigAgrup.Text.ToString.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString, CveConceptoAdmin:=CveConceptoAdmin,
CveProveedor:=CveProveedor, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeImpuesto,
@@ -372,19 +396,66 @@ Partial Class Contabilidad2_CatCuentas
'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa)
Dim ObjConta As New ClsContabilidad
-<<<<<<< HEAD
- Dim ObjConta2 As ClsContPAQi
-=======
->>>>>>> ee1135d888f76469fa6e3e68f0b6393f8450045a
-
Dim CuentaEfectivo As Integer = 0
Dim Afectable As Integer = 1 'If(DcuentaMayor.SelectedValue <> 2, 0, 1) ' cuando sea tipo 2, va a ser afectable
Tcuenta.Text.Replace("-", "")
Dim idnew As Integer = 0
+ Dim CveConceptoContable As Integer = DdlConcepto.SelectedValue.ToEntero()
+ Dim row As DataRow = Nothing
+ Dim CveTipoSaldo As Integer = 0
+ Dim PorcentajeIVA As Decimal = -1
+ Dim drt As DataRow
+ Dim CveConceptoAdmin As Integer = -1
+ Dim CveProveedor As Integer = -1
+ Dim CveCliente As Integer = -1
+ Dim CveClasificacion As Integer = -1
+ Dim PorcentajeImpuesto As Decimal = -1
+ Dim CveBancoCuenta As Integer = -1
+ Dim CveAlmacen As Integer = -1
+ Dim CvePersonal As Integer = -1
+
If DdlAgrupadorSAT.SelectedValue.ToEntero > 0 Then
- idnew = ObjConta.AddCuenta(IDSelected, TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero,
- DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString)
+
+ If CveConceptoContable > 0 Then
+ row = DtConceptosconta.FiltroPrimero(String.Format("CveConceptoContable={0}", CveConceptoContable))
+ CveTipoSaldo = row("CveTipoSaldo").ToString.ToEntero()
+ End If
+ If Not IsNothing(row) Then
+ If CveTipoSaldo = 3 Then
+ PorcentajeIVA = TxtPorcentaje.ToEntero / 100
+ End If
+ End If
+
+ If Afectable Then
+ If ObjConta.GetCuentas(IDSelected, "-1", -1, UsuarioActual.CveEmpresa) Then
+ drt = ObjConta.DtResultados.FiltroPrimero(String.Format("CveCuenta={0}", IDSelected))
+ CveConceptoAdmin = IIf(drt("CveConceptoAdmin").ToString.ToEntero = 0, -1, drt("CveConceptoAdmin").ToString.ToEntero)
+ CveProveedor = IIf(drt("CveProveedor").ToString.ToEntero = 0, -1, drt("CveProveedor").ToString.ToEntero)
+ CveCliente = IIf(drt("CveCliente").ToString.ToEntero = 0, -1, drt("CveCliente").ToString.ToEntero)
+ CveClasificacion = IIf(drt("CveClasificacion").ToString.ToEntero = 0, -1, drt("CveClasificacion").ToString.ToEntero)
+ PorcentajeImpuesto = IIf(drt("PorcentajeImpuesto").ToString.ToEntero = 0, -1, drt("PorcentajeImpuesto").ToString.ToEntero)
+ CveBancoCuenta = IIf(drt("CveBancoCuenta").ToString.ToEntero = 0, -1, drt("CveBancoCuenta").ToString.ToEntero)
+ 'CveAlmacen = IIf(drt("CveAlmacen").ToString.ToEntero = 0, -1, drt("CveAlmacen").ToString.ToEntero)
+ 'CvePersonal = IIf(drt("CvePersonal").ToString.ToEntero = 0, -1, drt("CvePersonal").ToString.ToEntero)
+ End If
+
+ idnew = ObjConta.AddCuenta(CvePadre, TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero,
+ DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString, CveConceptoAdmin:=CveConceptoAdmin, CveProveedor:=CveProveedor, CveCliente:=CveCliente,
+ CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeImpuesto, CveBancoCuenta:=CveBancoCuenta)
+ If idnew > 0 Then
+ If ObjConta.UpdateTraspasoPrepoliza(UsuarioActual.CveEmpresa, IDSelected, idnew) Then
+ ObjConta.RollBack()
+ ObjConta.Dispose()
+ Exit Sub
+ End If
+ End If
+
+ Else
+ idnew = ObjConta.AddCuenta(IDSelected, TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero,
+ DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString, PorcentajeImpuesto:=PorcentajeIVA)
+ End If
+
Else
Alert("Es necesario agregar el campo 'Agrupador SAT'", TipoMensaje.MsgError)
End If
@@ -402,14 +473,12 @@ Partial Class Contabilidad2_CatCuentas
End If
- Dim codigoPadre As String = DtDatos.FiltroPrimeroValor("Codigo", $"CveCuenta={IDSelected}") 'Tsubcuenta.Text
+ codigoPadre = DtDatos.FiltroPrimeroValor("Codigo", $"CveCuenta={IDSelected}") 'Tsubcuenta.Text
If UsuarioActual.Empresa.TipoContabilidad = 2 Then
ObjConta2 = New ClsContPAQi(UsuarioActual.Empresa)
If ObjConta2.GetCuentas(-1, "-1", -1) Then
- Dim IdPadre As Integer = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"Codigo='{codigoPadre}'").ToEntero
- Dim IdAgrupador As Integer
-
+ IdPadre = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"Codigo='{codigoPadre}'").ToEntero
If ObjConta2.GetAgrupadoresSAT() Then
IdAgrupador = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"CodigoNombre='{DdlAgrupadorSAT.SelectedItem.Text}'").ToEntero
End If
@@ -454,17 +523,21 @@ Partial Class Contabilidad2_CatCuentas
End If
ArbolCuentas.additem(objul, idnew, IDSelected, String.Format("{0} - {1}", TxtCuenta.Text, Tnombre.Text))
- LimpiarCampos()
- updatos.Update()
+
CargaDatos()
- Alert("La cuenta se guardo correctamente")
End If
-
- ObjConta.Dispose()
-
If ObjConta2 IsNot Nothing Then ObjConta2.Dispose()
+ End If
+ LimpiarCampos()
+ updatos.Update()
+ Alert("La cuenta se guardo correctamente")
+
+ End If
+ ObjConta.Dispose()
+
+
End Sub
Private Sub LimpiarCampos()
@@ -564,6 +637,7 @@ Partial Class Contabilidad2_CatCuentas
Case 2
pnlOpcion2.Visible = True
Case 3
+ pnlOpcion2.Visible = True
pnlOpcion3.Visible = True
If DdlClasificacion.Items.Count < 2 Then
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=1)
diff --git a/Contabilidad2/CatCuentasAsignaciones.aspx.vb b/Contabilidad2/CatCuentasAsignaciones.aspx.vb
index ebbef86ba..323a90ca7 100644
--- a/Contabilidad2/CatCuentasAsignaciones.aspx.vb
+++ b/Contabilidad2/CatCuentasAsignaciones.aspx.vb
@@ -31,7 +31,6 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
End Sub
Private Sub CargaDatosModal()
-
DdlConceptoNomina.DataSource = GlobalDTNomConceptos(UsuarioActual.CveEmpresa)
DdlConceptoNomina.DataBind()
Dim ObjConta As New ClsContabilidad
@@ -76,7 +75,7 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
CveConceptoAsignacion = GvRow.DataKey("CveCuentaAsignacion").ToEntero
DdlCconceptosContables.SelectedValue = GvRow.DataKey("CveConceptoContable").ToEntero
DdlCuenta.SelectedValue = GvRow.DataKey("CveCuenta").ToEntero
- DdlConceptoNomina.SelectedValue = GvRow.DataKey("CveConceptoNomina").ToEntero
+ DdlConceptoNomina.SelectedValueexist(GvRow.DataKey("CveConceptoNomina").ToEntero)
DdlProveedor.SelectedValue = GvRow.DataKey("CveProveedor").ToEntero
DdlClasificacion.SelectedValue = GvRow.DataKey("CveClasificacion").ToEntero
DdlAlmacen.SelectedValue = GvRow.DataKey("CveAlmacen").ToEntero
diff --git a/Contabilidad2/RepAnexoCatalogo.aspx b/Contabilidad2/RepAnexoCatalogo.aspx
index 492905e64..c58828168 100644
--- a/Contabilidad2/RepAnexoCatalogo.aspx
+++ b/Contabilidad2/RepAnexoCatalogo.aspx
@@ -96,24 +96,22 @@
Tipo Movto: