This commit is contained in:
2022-09-22 19:48:55 -07:00
24 changed files with 6055 additions and 4439 deletions

View File

@@ -1000,6 +1000,12 @@ Public Class ClsContabilidad
ElseIf ex1.Message.Contains("UK_Vw_Val_Conta_CuentasResultados_SubProyectos") Then
Dim Concepto3 As String = DirectCast(HttpContext.Current.Application("GlobalDTContaConceptosContables"), DataTable).FiltroPrimeroValor("ConceptoContable", String.Format("CveConceptoContable = {0}", CveConceptoContable))
OnError(String.Format("El concepto '{0}' requiere centro de costo", Concepto3), ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
ElseIf ex1.Message.Contains("50025;") Then
OnError("La empresa no tiene un formato de cuenta asignado.", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
ElseIf ex1.Message.Contains("50026;") Then
OnError("El proveedor ya tiene asignada una cuenta.", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
ElseIf ex1.Message.Contains("50027;") Then
OnError("No se pudo asignar la cuenta al proveedor.", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
Else
OnError("Ocurrió un error al Guardar", ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End If '

View File

@@ -2534,6 +2534,31 @@ Public Class ClsOC
End Function
Public Function UpdateNumeroRemision(CveOrdenCompra As Integer, NumRemision As String, cveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OC_OCNumeroRemisionUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra
.Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision
.Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el número de remisión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#Region " IDisposable Support "
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
@@ -2555,5 +2580,7 @@ Public Class ClsOC
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
#End Region
End Class

View File

@@ -5535,6 +5535,9 @@ Public Class ClsPaginas
PaginaDict.Add("/Ventas/RepComisionesServecDetalle.aspx".ToUpper(), 782)
PaginaDict.Add("/Ventas/RepCancelacionesVentas.aspx".ToUpper(), 1325)
PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx".ToUpper(), 1331)
PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx?OP=OP".ToUpper(), 1332)
#End Region
@@ -5663,8 +5666,6 @@ Public Class ClsPaginas
PaginaDict.Add("/Acumuladores/RepPolizasVirtuales.aspx".ToUpper(), 1322)
'Antes de aquí.
Application("GlobalSIGAppPaginas") = PaginaDict

View File

@@ -4417,6 +4417,12 @@
<asp:DropDownList ID="DdlCultivosCuadro" CssClass=" form-control input-sm select2me" runat="server" DataTextField="TemporadaCuadro" Style="width: 100%; max-width: 600px;"
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpDetalleGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlCultivosCuadro" runat="server" ControlToValidate="DdlCultivosCuadro" CssClass="help-block errorimput" InitialValue="-1"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cultivo''</b> es necesario, por favor ingréselo."
ValidationGroup="GprAgregaPS" Visible="false" Display="None">
</asp:RequiredFieldValidator>
<label runat="server" id="Label9" for="<%= DdlCultivosCuadro.ClientID.ToString()%>">Cultivo:</label>
</div>
</div>

View File

@@ -6141,7 +6141,7 @@ Partial Class Compras_Compras
ConceptoContable = 333
End If
importeMovimiento = CompraActual.retiva
importeMovimiento = CompraActual.RetIVA
importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL
If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
@@ -16752,6 +16752,9 @@ Partial Class Compras_Compras
DdlPSChange()
End Sub
Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
If Modalidad <> "U" Or Not CveFactura > 0 Then
DdlPSChange()
End If
@@ -16768,6 +16771,13 @@ Partial Class Compras_Compras
DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
End If
If UsuarioActual.Empresa.CveEmpresa = 158 AndAlso DdlSubProyecto.SelectedValue.ToEntero > 0 AndAlso DdlSubProyecto.SelectedValue.ToEntero.Contiene(11881, 11882, 11886) Then
RfvDdlCultivosCuadro.Visible = True
Else
RfvDdlCultivosCuadro.Visible = False
End If
End Sub
Private Sub DdlPSChange()
If CveProveedor > 0 Then

View File

@@ -239,6 +239,7 @@
<div class="form-group form-md-line-input input-iconright" id="div3" runat="server" >
<asp:DropDownList ID="DdlTipoGlobal" CssClass="form-control input-sm select2me js-cuenta-programmatic select2me" runat="server" Width="240px" ValidationGroup="GrpModulo2" >
<asp:ListItem Text="Mayor" Value="1"></asp:ListItem>
<asp:ListItem Text="Desglosado" Value="2"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlTipoGlobal.ClientID.ToString()%>">Tipo Global: </label>
</div>

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -43,7 +43,8 @@
<asp:ListItem Value="4" Text="Factura - Cliente"></asp:ListItem>
<asp:ListItem Value="5" Text="Productos y Sevicios" ></asp:ListItem>
<asp:ListItem Value="6" Text="RH - Personal"></asp:ListItem>
<asp:ListItem Value="7" Text="AF - Activos Fijos" Enabled="false"></asp:ListItem>
<%--<asp:ListItem Value="7" Text="AF - Activos Fijos" Enabled="false"></asp:ListItem>--%>
<asp:ListItem Value="7" Text="AF - Activos Fijos" ></asp:ListItem>
<asp:ListItem Value="8" Text="Contabilidad - Cuentas Contables" Enabled="True"></asp:ListItem>
<asp:ListItem Value="9" Text="ContaSIG - Cuentas Contables" Enabled="True"></asp:ListItem>
<asp:ListItem Value="10" Text="Cont - Saldos Iniciales Cuentas" Enabled="True"></asp:ListItem>
@@ -52,13 +53,33 @@
</asp:RadioButtonList>
<div runat="server" id="divAlmacen">
<div class="row">
Fecha:<asp:TextBox ID="TxtFecha" runat="server"></asp:TextBox>
<div class="col-md-2">
Fecha:
</div>
<div class="col-md-3">
<asp:TextBox ID="TxtFecha" runat="server"></asp:TextBox>
</div>
</div>
Concepto:
<asp:DropDownList ID="DdlConceptoAlmacen" runat="server">
<div class="row">
<div class="col-md-2">
Concepto:
</div>
<div class="col-md-3">
<asp:DropDownList ID="DdlConceptoAlmacen" runat="server" CssClass="select2me">
<asp:ListItem Selected="True" Value="1">Carga Inicial</asp:ListItem>
<asp:ListItem Value="3">Salida Almacen</asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>

View File

@@ -4,6 +4,7 @@ Imports System.Data
Imports System.Math
Imports Extensiones
Imports GemBox.Spreadsheet
Imports log4net.Filter
Partial Class General_SaldosIniciales
Inherits ClsPaginas
@@ -150,6 +151,23 @@ Partial Class General_SaldosIniciales
End If
If Not dt.Columns(17).ColumnName.ToUpper = "TIPOPROVEEDOR" Then
Alert("El nombre de la columna 18 debe ser 'TipoProveedor'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(18).ColumnName.ToUpper = "CUENTACONTABLE" Then
Alert("El nombre de la columna 19 debe ser 'CuentaContable'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
@@ -506,11 +524,24 @@ Partial Class General_SaldosIniciales
dt.TableName = "Datos"
Dim NumRows As Integer = dt.Rows.Count
Dim DTCuentasContables As New DataTable
If UsuarioActual.Empresa.TipoContabilizacion = 1 Then
Dim ObjConta As New ClsContabilidad
If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DTCuentasContables = ObjConta.DtResultados
End If
ObjConta.Dispose()
End If
If Not ErrorArchivo Then
'P R O D U C T O S / S E R V I C I O S
If RblFormato.SelectedValue = "5" Then
#Region "P R O D U C T O S / S E R V I C I O S"
Dim ObjPS As New ClsProductosServicios
Dim ObjGral As New ClsGenerales(ObjPS.IniciaTransacSQL())
Dim ObjClas As New ClsClasificaciones(ObjPS.IniciaTransacSQL())
@@ -557,11 +588,12 @@ Partial Class General_SaldosIniciales
Dim UnidadMedida As String = Row("Unidad Medida").ToString.Trim
Dim Clasificacion As String = Row("Clasificacion").ToString.Trim
Dim Marca As String = Row("Marca").ToString.Trim
'Dim AplicaSerie As String = Row("AplicaSerie").ToString.Trim
Dim AplicaSerie As Boolean = If(Row("AplicaSerie").ToString.Trim.ToUpper.Contiene("1", "SI"), True, False)
Dim Precio As Double = Row("Precio").ToString.ToDouble
Dim IEPS As Decimal = Row("IEPS").ToString.ToDecimal
Dim Tamaño As String = Row("Tamaño").ToString.Trim
Dim SATClavePS As String = Row("Código SAT").ToString.Trim
Dim Clasificacion2 As String = If(dt.Columns.Contains("Servicio"), Row("Servicio").ToString.Trim, "")
Dim Litraje As Double = If(dt.Columns.Contains("Conversion Unidad"), Row("Conversion Unidad").ToString.ToDouble, 0)
Dim RinTamaño As String = If(Row.Table.Columns.Contains("Tamaño de Rin"), Row("Tamaño de Rin").ToString.Trim, "")
@@ -569,6 +601,7 @@ Partial Class General_SaldosIniciales
Dim SATClaveUnidadMedida As String = If(Row.Table.Columns.Contains("Clave Unidad"), Row("Clave Unidad").ToString.Trim, "")
Dim Linea As String = If(Row.Table.Columns.Contains("Linea"), Row("Linea").ToString.Trim, "")
Dim Modelo As String = If(Row.Table.Columns.Contains("Modelo"), Row("Modelo").ToString.Trim, "")
Dim RetIVA As Decimal = If(Row.Table.Columns.Contains("RetIVA"), Row("RetIVA").ToString.Trim.ToDecimal, 0D)
Dim CvePS As Integer = DTPS.FiltroPrimeroValor("CvePS", $"Codigo = '{Codigo}'").ToString.ToEntero
@@ -699,9 +732,9 @@ Partial Class General_SaldosIniciales
'If Not CveClasificacion2 > 0 AndAlso Clasificacion2 <> "" Then Alert("No se encontró la Serie: " + Clasificacion2, TipoMensaje.MsgAdvertencia) : ErrorPS = True : Exit For
If CvePS > 0 Then
If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS,
If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, RetIVA, False, -1, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS,
CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño,
CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveTamaño:=CveTamaño) Then
CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveTamaño:=CveTamaño, AplicaSerie:=AplicaSerie) Then
'If Not ObjPS.UpdatePS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, 0, 1, 1, False, 0, True, True, True, UsuarioActual.CveUsuario, CvePS, -1, -1, CveSATPS,
' CveTipoPS:=CveTipoPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) Then
ErrorPS = True
@@ -715,9 +748,9 @@ Partial Class General_SaldosIniciales
'If Codigo.Length > 0 Then
If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, RetIVA, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño,
CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveClasificacionDetalle:=CveClasificacionDetalle) <= 0 Then
CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveClasificacionDetalle:=CveClasificacionDetalle, AplicaSerie:=AplicaSerie) <= 0 Then
'If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", "", Descripcion, 0, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
' CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida) <= 0 Then
ErrorPS = True
@@ -755,14 +788,67 @@ Partial Class General_SaldosIniciales
ObjClas.Dispose()
ObjVenta.Dispose()
ObjUM.Dispose()
#End Region
'P R O V E E D O R E S
ElseIf RblFormato.SelectedValue = "1" Then
#Region "P R O V E E D O R E S"
Dim ObjProv As New ClsCompProveedores
Dim ErrorProv As Boolean = False
Dim Contador As Integer = 0
Dim ExisteProveedor As Boolean = False
If Not dt.Columns.Contains("CveCuentaContable") Then
dt.Columns.Add("CveCuentaContable", GetType(Integer))
End If
Dim sbErrores As New StringBuilder
For Each Row As DataRow In dt.Rows
Dim RazonSocial As String = Row("RazonSocial").ToString
Dim CuentaContable As String = Row("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "")
If CuentaContable.Length > 0 Then
Dim CveCuentaContable As Integer = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero
If CveCuentaContable > 0 Then
Row("CveCuentaContable") = CveCuentaContable
Else
sbErrores.AppendLine($"Proveedor {RazonSocial} cuenta {CuentaContable} no encontrada.<br>")
ErrorProv = True
End If
End If
Next
For Each Row As DataRow In dt.Rows
Dim RazonSocial As String = Row("RazonSocial").ToString
If Not (Row("TipoProveedor").ToString.Trim.ToUpper).Contiene("PROVEEDOR", "ACREEDOR") Then
sbErrores.AppendLine($"Proveedor {RazonSocial} TipoProveedor {Row("TipoProveedor")} invalido.<br>")
ErrorProv = True
End If
Next
If Not ErrorProv Then
dt.AcceptChanges()
Else
Alert($"Errores detectados <br>{sbErrores.ToString()}", TipoMensaje.MsgAdvertencia)
ObjProv.Dispose()
Exit Sub
End If
ObjProv.IniciaTransacSQL()
For Each Row As DataRow In dt.Rows
@@ -793,8 +879,16 @@ Partial Class General_SaldosIniciales
Dim CveProveedor As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString.ToEntero
Dim CveProveedor2 As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"RazonSocial = '{RazonSocial}'").ToString.ToEntero
Dim CveProveedor3 As Integer = 0
Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero
Dim TipoProveedor As Integer = If(Row("TipoProveedor").ToString.ToUpper = "PROVEEDOR", 1, 2)
Dim CveConceptoCuentaAsiganaciones As Integer = If(TipoProveedor = 1, 5, 305)
If Codigo.Trim.Length > 0 Then
CveProveedor3 = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $"Codigo = '{Codigo}'").ToString.ToEntero
End If
@@ -822,7 +916,7 @@ Partial Class General_SaldosIniciales
If Not ObjProv.AddProveedor(Codigo, RazonSocial, RazonSocial, RazonSocial, RFC, Dirrecion, Telefono,
"", ContactoMail, CelularContacto, LimiteCredito, PlazoCobranza, "", 0, 0, 0, -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "",
-1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, -1, "", "", False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CP:=CodigoPostal) Then
-1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, "", -1, -1, "", "", False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CP:=CodigoPostal, CveRegimenFiscal:=0, CveTipoProveedor:=TipoProveedor) Then
ErrorProv = True
Exit For
@@ -848,22 +942,24 @@ Partial Class General_SaldosIniciales
End If
End If
If CveCuentaContable > 0 Then
Dim ObjConta As New ClsContabilidad(ObjProv.IniciaTransacSQL)
If Not ObjConta.AddCuentasAsignaciones(CveConceptoCuentaAsiganaciones, UsuarioActual.CveEmpresa, CveCuentaContable, -1,
ObjProv.CveProveedor, -1, -1, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1,
CveTipoGasto:=-1, RegeneraCuenta:=False) Then
ErrorProv = True
End If
End If
End If
End If
Next
If Not ErrorProv Then
ObjProv.Commit()
If ObjProv.GetProveedores(ClsCompProveedores.TipoConsulta.ParaGlobalDT, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, -1) Then Application("GlobalDTCompProveedores") = ObjProv.DtResultados
@@ -879,14 +975,57 @@ Partial Class General_SaldosIniciales
End If
ObjProv.Dispose()
' C L I E N T E S
#End Region ' C L I E N T E S
ElseIf RblFormato.SelectedValue = "2" Then
#Region "C L I E N T E S"
Dim ObjClientes As New ClsClientes
Dim ErrorClientes As Boolean = False
Dim ExisteCliente As Boolean = False
Dim Contador As Integer = 0
Dim NumRow As Integer = 0
If Not dt.Columns.Contains("CveCuentaContable") Then
dt.Columns.Add("CveCuentaContable", GetType(Integer))
End If
Dim sbErrores As New StringBuilder
For Each Row As DataRow In dt.Rows
Dim RazonSocial As String = Row("RazonSocial").ToString
Dim CuentaContable As String = Row("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "")
If CuentaContable.Length > 0 Then
Dim CveCuentaContable As Integer = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero
If CveCuentaContable > 0 Then
Row("CveCuentaContable") = CveCuentaContable
Else
sbErrores.AppendLine($"Cliente {RazonSocial} cuenta {CuentaContable} no encontrada.<br>")
ErrorClientes = True
End If
End If
Next
If Not ErrorClientes Then
dt.AcceptChanges()
Else
Alert($"Errores detectados <br>{sbErrores.ToString()}", TipoMensaje.MsgAdvertencia)
ObjClientes.Dispose()
Exit Sub
End If
ObjClientes.IniciaTransacSQL()
For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
NumRow = NumRow + 1
@@ -925,6 +1064,7 @@ Partial Class General_SaldosIniciales
Dim CobranzaContacto As String = If(dt.Columns.Contains("Encargado Pagoa"), Row("Encargado Pago").ToString, "")
Dim CobranzaTelefono As String = Row("Celular Contacto").ToString.Replace("-", "").Replace(" ", "").Replace("(", "").Replace(")", "")
Dim CveUsoCFDI As Integer = If(Row("UsoCFDI").ToString = "", -1, GlobalDTSATUsosCFDI().FiltroPrimeroValor("CveUsoCFDI", String.Format("UsoCFDI = '{0}'", Row("UsoCFDI").ToString)).ToEntero)
Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero
' CobranzaContacto = Regex.Replace(CobranzaContacto, "[^0-9]", "")
'Telefono
@@ -1035,13 +1175,25 @@ Partial Class General_SaldosIniciales
If Not ObjClientes.AddCliente(RazonSocial, RazonSocial, Calle, NumExt.ToString, "", Colonia, Poblacion, Poblacion, Estado, Pais, RFC, CodigoPostal, Telefono, Contacto, "", "", "", "", "", -1, False, 0, 0, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", CveVendedor, PlazoCobranza, -1,
"-1", "-1", -1, "-1", -1, "0", -1, "0", 0, "", 0, "", 0, "", 0, "", "", Codigo, LimiteCredito, False, "", "", "", False, "", "", "", "", "", False, "", "", "", False, 0, -1, EsDistribuidor:=EsDistribuidor, CveClienteClasificacion:=CveClasificación, CargoUsado:=CargoUsado,
BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33, CveUsoCFDI:=CveUsoCFDI, CveSATEstado:=CveSATEstado) Then
BonificacionUsado:=BonificacionUsado, CobranzaContacto:=CobranzaContacto, CobranzaCorreo:=CobranzaCorreo, DiasEspecifico:=DiasPagoEspecifico, DiasRevision:=DìaVisita, CobranzaTelefono:=CobranzaTelefono, CveFormaPago33:=CveFormaPago33, CveUsoCFDI:=CveUsoCFDI, CveSATEstado:=CveSATEstado, CveAdminTrayecto:=0) Then
ErrorClientes = True
RFC.GuardaLog
Exit For
End If
If CveCuentaContable > 0 Then
Dim ObjConta As New ClsContabilidad(ObjClientes.IniciaTransacSQL)
If Not ObjConta.AddCuentasAsignaciones(1, UsuarioActual.CveEmpresa, CveCuentaContable, -1,
-1, ObjClientes.CveCliente, -1, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1,
CveTipoGasto:=-1, RegeneraCuenta:=False) Then
ErrorClientes = True
End If
End If
End If
Next
@@ -1065,8 +1217,16 @@ Partial Class General_SaldosIniciales
End If
ObjClientes.Dispose()
#End Region
'P R O V E E D O R E S - F A C T U R A S
ElseIf RblFormato.SelectedValue = "3" Then
#Region "P R O V E E D O R E S - F A C T U R A S"
Dim ObjCompras As New ClsCompras
Dim ErrorCompras As Boolean = False
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
@@ -1201,8 +1361,13 @@ Partial Class General_SaldosIniciales
End If
ObjCompras.Dispose()
#End Region
'C L I E N T E S - F A C T U R A S
ElseIf RblFormato.SelectedValue = "4" Then
#Region "C L I E N T E S - F A C T U R A S"
Dim ObjVentas As New ClsVentas
Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
Dim ObjIE As New ClsBancos(ObjVentas.IniciaTransacSQL())
@@ -1389,19 +1554,64 @@ Partial Class General_SaldosIniciales
End If
ObjVentas.Dispose()
#End Region
' R H - P E R S O N A L
ElseIf RblFormato.SelectedValue = "6" Then
UpPersonal(dt)
UpPersonal(dt, DTCuentasContables)
' A F - A C T I V O F I J O
ElseIf RblFormato.SelectedValue = "7" Then
#Region " A F - A C T I V O F I J O"
Dim ErrorAF As Boolean = False
If Not dt.Columns.Contains("CveCuentaContable") Then
dt.Columns.Add("CveCuentaContable", GetType(Integer))
End If
Dim sbErrores As New StringBuilder
For Each Row As DataRow In dt.Rows
Dim Codigo As String = Row("Código").ToString
Dim Descripcion As String = Row("Descripción").ToString
Dim CuentaContable As String = Row("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "")
If CuentaContable.Length > 0 Then
Dim CveCuentaContable As Integer = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero
If CveCuentaContable > 0 Then
Row("CveCuentaContable") = CveCuentaContable
Else
sbErrores.AppendLine($"Activo Fijo {Codigo} {Descripcion} cuenta {CuentaContable} no encontrada.<br>")
ErrorAF = True
End If
End If
Next
If Not ErrorAF Then
dt.AcceptChanges()
Else
Alert($"Errores detectados <br>{sbErrores.ToString()}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ObjAF As New ClsAF
Try
ObjAF.IniciaTransacSQL()
Dim ErrorAF As Boolean = False
Dim Contador As Integer = 0
Dim NumRow As Integer = 0
@@ -1410,44 +1620,60 @@ Partial Class General_SaldosIniciales
Dim Descripcion As String = Row("Descripción").ToString
Dim TipoAF As String = Row("Tipo").ToString
Dim SubTipo As String = Row("SubTipo").ToString
Dim Valor As String = Row("Valor").ToString
Dim FechaAF As String = Row("Fecha").ToString
Dim Valor As Decimal = Row("Valor").ToString.ToDecimal
Dim FechaAF As Date = Row("Fecha").ToString.ToDate
Dim NumeroSerie As String = Row("No. Serie").ToString
Dim Año As String = Row("Año").ToString
Dim Año As Integer = Row("Año").ToString.ToEntero
Dim CuentaContable As String = Row("Cuenta Contable").ToString
Dim Estado As String = Row("Estado").ToString
Dim Responsable As String = Row("Responsable").ToString
Dim Proyecto As String = Row("Proyecto").ToString
Dim SubProyecto As String = Row("SubProyecto").ToString
Dim Cliente As String = Row("Cliente").ToString
Dim Observaciones As String = Row("Observaciones").ToString
Dim CtaDepreciacion As String = Row("Cuenta Depreciación").ToString
Dim PorcentajeDepreciacion As String = Row("% Depreciación").ToString
Dim CtaDepreciacion As Integer = Row("Cuenta Depreciación").ToString.ToEntero
Dim PorcentajeDepreciacion As Decimal = Row("% Depreciación").ToString.ToDecimal
'CLAVES
Dim CveAF As Integer = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveActivoFijo", $"Código = '{Codigo}'").ToString.ToEntero
Dim CveAF As Integer = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveActivoFijo", $"Codigo = '{Codigo}'").ToString.ToEntero
Dim CveSubTipoAF As Integer = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubTipoActivoFijo", $"TipoActivoFijo = '{TipoAF}'").ToString.ToEntero
Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{SubProyecto}'").ToString.ToEntero
Dim CveEstadoFijo As Integer = GlobalDTEstadoActivoFijo().FiltroPrimeroValor("CveEstadoFijo", $"Estado = '{Estado}'").ToString.ToEntero
Dim CveEstadoActivoFijo As Integer = GlobalDTEstadoActivoFijo().FiltroPrimeroValor("CveEstadoActivoFijo", $"EstadoActivoFijo = '{Estado}'").ToString.ToEntero
Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCliente", $"Nombre = '{Cliente}'").ToString.ToEntero
Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero
'VALIDACIONES
If Not CveSubTipoAF > 0 Then Alert($"No se encontró el SubTipo: {TipoAF} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For
If Not CveSubProyecto > 0 Then Alert($"No se encontró el SubProyecto: {SubProyecto} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For
If Not CveEstadoFijo > 0 Then Alert($"No se encontró el Estado: {CveEstadoFijo} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For
If Not CveCliente > 0 Then Alert($"No se encontró el Cliente: {Cliente} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For
If Not CveEstadoActivoFijo > 0 Then Alert($"No se encontró el Estado: {Estado} Renglón: {NumRow}: ", TipoMensaje.MsgAdvertencia) : ErrorAF = True : Exit For
If Not CveCliente > 0 Then CveCliente = -1
'If CveAF > 0 Then
' Contador = Contador + 1
'Else
' If Not ObjAF.AddActivosFijos(Codigo, Descripcion, Valor, FechaAF, CveSubTipoAF, -1, NumeroSerie, Año, CveSubProyecto, CtaDepreciacion, CveEstadoFijo,
' CtaDepreciacion, PorcentajeDepreciacion, Observaciones, CveCliente, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' ErrorAF = True
' Exit For
' End If
'End If
If CveAF > 0 Then
Contador = Contador + 1
Else
CveAF = ObjAF.AddActivosFijos(Codigo, Descripcion, Valor, FechaAF, CveSubTipoAF, -1, NumeroSerie, Año, CveSubProyecto, CtaDepreciacion, CveEstadoActivoFijo,
CtaDepreciacion, PorcentajeDepreciacion, Observaciones, CveCliente, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveAF > 0 Then
If CveCuentaContable > 0 Then
Dim ObjConta As New ClsContabilidad(ObjAF.IniciaTransacSQL)
If Not ObjConta.AddCuentasAsignaciones(49, UsuarioActual.CveEmpresa, CveCuentaContable, -1,
-1, -1, -1, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=CveAF,
CveTipoGasto:=-1, RegeneraCuenta:=False) Then
ErrorAF = True
End If
End If
Else
ErrorAF = True
Exit For
End If
End If
NumRow = NumRow + 1
Next
@@ -1476,6 +1702,10 @@ Partial Class General_SaldosIniciales
Finally
ObjAF.Dispose()
End Try
#End Region
' C U E N T A S C O N T A B L E S
ElseIf RblFormato.SelectedValue = "8" Then
@@ -2122,7 +2352,48 @@ Partial Class General_SaldosIniciales
Return False
End If
End Function
Protected Sub UpPersonal(dt As DataTable)
Protected Sub UpPersonal(dt As DataTable, DTCuentasContables As DataTable)
Dim ErrorValidacion As Boolean = False
If Not dt.Columns.Contains("CveCuentaContable") Then
dt.Columns.Add("CveCuentaContable", GetType(Integer))
End If
Dim sbErrores As New StringBuilder
For Each Row As DataRow In dt.Rows
Dim ApellidoPaterno As String = Row("Apellido Paterno").ToString
Dim ApellidoMaterno As String = Row("Apellido Materno").ToString
Dim Nombre As String = Row("Nombre").ToString
Dim CuentaContable As String = Row("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "")
If CuentaContable.Length > 0 Then
Dim CveCuentaContable As Integer = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero
If CveCuentaContable > 0 Then
Row("CveCuentaContable") = CveCuentaContable
Else
sbErrores.AppendLine($"Empleado {Nombre} {ApellidoPaterno} {ApellidoMaterno} cuenta {CuentaContable} no encontrada.<br>")
ErrorValidacion = True
End If
End If
Next
If Not ErrorValidacion Then
dt.AcceptChanges()
Else
Alert($"Errores detectados <br>{sbErrores.ToString()}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim NumRows As Integer = 0
Dim dtregistrospatronales As New DataTable
@@ -2190,6 +2461,7 @@ Partial Class General_SaldosIniciales
Dim SDI As String = Row("SDI").ToString
Dim MetodoPago As String = Row("Metodo Pago").ToString
Dim Nominista As String = Row("Nominista").ToString
Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero
Dim NombreCompleto As String = $"{Nombre} {ApellidoPaterno} {ApellidoMaterno}"
@@ -2261,7 +2533,7 @@ Partial Class General_SaldosIniciales
CveDepartamento = dTDepartamentos.FiltroPrimeroValor("CveDepartamento", $"CveDepartamento = {CveDepartamento}").ToString.ToEntero
Else
CveDepartamento = DTDepartamentos.FiltroPrimeroValor("CveDepartamento", $"Departamento = '{Departamento}'").ToString.ToEntero
CveDepartamento = dTDepartamentos.FiltroPrimeroValor("CveDepartamento", $"Departamento = '{Departamento}'").ToString.ToEntero
End If
If CveDepartamento <= 0 Then
CveDepartamento = -1
@@ -2444,8 +2716,24 @@ Partial Class General_SaldosIniciales
Exit For
End If
Else
ContadorAgregados = ContadorAgregados + 1
ContadorAgregados = ContadorAgregados + 1
End If
If CveCuentaContable > 0 Then
Dim ObjConta As New ClsContabilidad(ObjRH.IniciaTransacSQL)
If Not ObjConta.AddCuentasAsignaciones(28, UsuarioActual.CveEmpresa, CveCuentaContable, -1,
-1, -1, ObjRH.CvePersonal, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1,
CveTipoGasto:=-1, RegeneraCuenta:=False) Then
ErrorRH = True
Exit For
End If
End If
End If
NumRow = NumRow + 1
@@ -2766,6 +3054,7 @@ Partial Class General_SaldosIniciales
libro.Cell(crow, ccol).Value = "SDI" : ccol = ccol + 1
libro.Cell(crow, ccol).Value = "Nominista" : ccol = ccol + 1
libro.Cell(crow, ccol).Value = "Registro Patronal" : ccol = ccol + 1
libro.Cell(crow, ccol).Value = "CuentaContable" : ccol = ccol + 1
libro.Range(crow, 1, crow, ccol - 1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189))
@@ -2848,4 +3137,6 @@ Partial Class General_SaldosIniciales
End Function
End Class

View File

@@ -2803,11 +2803,20 @@ Partial Class Inventarios_RecepcionUsados
PS = Dr("PSCodigo").ToString
UnidadMedida = Dr("UnidadMedida").ToString
Clasificacion = Dr("Clasificacion").ToString
End If
PorcentajeIVA = 0.16D
IVA = SubTotal * PorcentajeIVA
Dim Descuento As Decimal = 0
AddPSRNC(ObjRemisionNC.DtDetalle, Cantidad, CveUnidadMedida, UnidadMedida, CveClasificacion, Clasificacion, CvePS, PS, "", PU, 0, -1, "",
Dim ImporteCargo As Decimal = GlobalDTAcumTamaños().FiltroPrimeroValor("Cargo", String.Format("CveTamaño = {0} AND CveEmpresa = {1}", CveTamaño, UsuarioActual.CveEmpresa)).ToDecimal()
'SI ES AJUSTE O GARANTIA SOLO DEBE SUMAR EL IMPORTE DE LA GARANTIA SI NO RECIBIO USADO
If RblUsadosAjuste.SelectedValue = "1" AndAlso ImporteCargo <= 0 Then
Descuento = (Cantidad * PU).RoundSQL(6)
End If
AddPSRNC(ObjRemisionNC.DtDetalle, Cantidad, CveUnidadMedida, UnidadMedida, CveClasificacion, Clasificacion, CvePS, PS, "", PU, Descuento, -1, "",
ObjRemisionNC.CveSubProyecto, ObjRemisionNC.SubProyecto.SubProyecto, PorcentajeIVA:=PorcentajeIVA, CveTamaño:=CveTamaño)
Else
Alert("No se pudo cargar el producto", TipoMensaje.MsgError)
@@ -2863,14 +2872,14 @@ Partial Class Inventarios_RecepcionUsados
Dim ImporteRetIVA As Decimal = ObjRemisionNC.DtDetalle.SUM("ImporteRetIVA").ToDecimal()
Dim ImporteRetISR As Decimal = ObjRemisionNC.DtDetalle.SUM("ImporteRetISR").ToDecimal()
Dim ImporteIEPS As Decimal = ObjRemisionNC.DtDetalle.SUM("ImporteIEPS").ToDecimal()
Dim Descuento As Decimal = ObjRemisionNC.DtDetalle.SUM("Descuento").ToDecimal()
Dim DescuentoTotal As Decimal = ObjRemisionNC.DtDetalle.SUM("Descuento").ToDecimal()
Dim Amortizacion As Decimal = 0
Dim Total As Decimal = (TotalImporte + ImporteIVA + ImporteIEPS) - (ImporteRetIVA + ImporteRetISR + Descuento + Amortizacion)
Dim Total As Decimal = (TotalImporte + ImporteIVA + ImporteIEPS) - (ImporteRetIVA + ImporteRetISR + DescuentoTotal + Amortizacion)
'DETALLES
ObjRemisionNC.SubTotal = TotalImporte
ObjRemisionNC.Descuento = Descuento
ObjRemisionNC.Descuento = DescuentoTotal
ObjRemisionNC.Amortizacion = Amortizacion
ObjRemisionNC.IVA = ImporteIVA
ObjRemisionNC.RetIVA = ImporteRetIVA

View File

@@ -90,7 +90,7 @@
</div>
<div class="copyright">
<asp:Literal ID="Ltlcopyright" runat="server">2019 © AD Sistemas.</asp:Literal>
<asp:Literal ID="Ltlcopyright" runat="server">2022 © AD Sistemas.</asp:Literal>
</div>
<%--<div class="col-lg-offset-4 col-md-offset-4 col-sm-offset-3 col-lg-4 col-md-4 col-sm-6 col-xs-12 text-right">
<asp:LinkButton ID="linkRegistrar" runat="server" CssClass="restaurar-password" OnClientClick="window.location.href='ActivarUsuario.aspx'">Registrar</asp:LinkButton>

View File

@@ -335,9 +335,13 @@
</div>
<div class="col-md-2" runat="server" id="DvNumRemision1" visible="false"><b>Núm. Remisión</b></div>
<div class="col-md-2" runat="server" id="DvNumRemision2" visible="false">
<asp:TextBox ID="TxtNumRemision" runat="server" MaxLength="10" Width="100%" onblur="ValidaNumRemision()"></asp:TextBox>
<div class="col-md-3" runat="server" id="DvNumRemision2" visible="false">
<asp:TextBox ID="TxtNumRemision" runat="server" MaxLength="10" Width="80%" onblur="ValidaNumRemision()"></asp:TextBox>
<asp:Button ID="BtnValidaNumRemision" ClientIDMode="Static" OnClick="BtnValidaNumRemision_Click" Style="display: none;" runat="server" />
<asp:LinkButton runat="server" Visible="false" ID="LnkActualziarNumRemision" OnClick="LnkActualziarNumRemision_Click"
data-toggle="confirmation" data-popout="true" data-original-title="Actualizar número remisión"
data-btn-ok-label="si" Text="<i class='fa fa-check' style='color:green'></i>" CssClass="btn btn-default btn-circle btn-xs"
ToolTip="¿Está seguro que desea actualizar el número de remisión?" />
</div>
</div>

View File

@@ -580,6 +580,22 @@ Partial Class OC_OC
End Property
Private Property NumeroRemisionOriginal As String
Get
If ViewState("NumeroRemisionOriginal") Is Nothing Then
ViewState("NumeroRemisionOriginal") = ""
End If
Return ViewState("NumeroRemisionOriginal").ToString
End Get
Set(value As String)
ViewState("NumeroRemisionOriginal") = value
End Set
End Property
#End Region
@@ -899,14 +915,19 @@ Partial Class OC_OC
'NO MOSTRAR LA OPCION DE ENTREGA DIRECTA (ECONOLLANTAS)
If UsuarioActual.CveEmpresa = 141 Then
DivEntregaDirecta.Visible = False
ChkEntregaDirecta.Enabled = False
ChkEntregaDirecta.Checked = False
End If
DivEntregaDirecta.Visible = False
ChkEntregaDirecta.Enabled = False
ChkEntregaDirecta.Checked = False
End If
MostrarUsuarioAsignado()
End If
MostrarUsuarioAsignado()
Me.Form.DefaultButton = ""
End Sub
#Region " PERMISOS PAGINA "
@@ -1416,6 +1437,7 @@ Partial Class OC_OC
TxtFolioAdicional.Text = objOC.FolioAdicional
TxtNumRemision.Text = objOC.NumRemision
NumeroRemisionOriginal = objOC.NumRemision
If Not IsNothing(objOC.Tipo) Then
@@ -8745,6 +8767,7 @@ Partial Class OC_OC
Private Function ValidaNumRemision(NumRemision As String, TipoOC As String, CveProveedor As Integer, Optional OcTransaccion As SqlClient.SqlTransaction = Nothing, Optional CveOrdenCompraValida As Integer = -1) As Boolean
Dim NumRemisionValida As Boolean = False
LnkActualziarNumRemision.Visible = False
If NumRemision.Trim.Length > 0 Then
If UsuarioActual.Empresa.Funcionalidad(590) = "1" AndAlso UsuarioActual.CveRol = 1 Then
@@ -8752,7 +8775,7 @@ Partial Class OC_OC
Dim ObjOC As New ClsOC(OcTransaccion)
If ObjOC.GetVerificaNumRemision(CveProveedor, TipoOC, NumRemision, UsuarioActual.CveEmpresa, CveOrdenCompraValida) Then
If ObjOC.DtResultados.Rows.Count > 0 Then
Alert($"La remision ya se encuentra asignada a la { If(TipoOC = "OC", "Orden de compra", "Requisición")} <a target='_blank' href='./OC.aspx?OC={ObjOC.DtResultados.Rows(0)("CveOrdenCompra").ToString()}' >{ObjOC.DtResultados.Rows(0)("Folio").ToString() }</a>", TipoMensaje.MsgAdvertencia)
Alert($"La remision ya se encuentra asignada a la { If(TipoOC = "OC", "Orden de compra", "Requisición")} <a target='_blank' class='Texto' href='./OC.aspx?OC={ObjOC.DtResultados.Rows(0)("CveOrdenCompra").ToString()}' >{ObjOC.DtResultados.Rows(0)("Folio").ToString() }</a>.", TipoMensaje.MsgAdvertencia)
Else
NumRemisionValida = True
End If
@@ -8764,6 +8787,17 @@ Partial Class OC_OC
NumRemisionValida = True
End If
If NumRemisionValida Then
If CveOrdenCompra > 0 And BtnGuardar.Enabled And BtnGuardar.Visible Then
LnkActualziarNumRemision.Visible = True
End If
End If
UPPEmp.Update()
Return NumRemisionValida
End Function
@@ -8774,5 +8808,43 @@ Partial Class OC_OC
End Sub
Protected Sub LnkActualziarNumRemision_Click(sender As Object, e As EventArgs)
If NumeroRemisionOriginal.Trim = TxtNumRemision.Text.Trim Then
Exit Sub
End If
If ValidaNumRemision(TxtNumRemision.Text.Trim(), TipoOC, DdlProveedores.SelectedValue.ToEntero, Nothing, If(CveOrdenCompra > 0, CveOrdenCompra, -1)) Then
Dim ObjOC As New ClsOC
Dim OCBitacora As New ClsOIEventos(ObjOC.IniciaTransacSQL())
Dim ErrorProceso As Boolean = False
If ObjOC.UpdateNumeroRemision(CveOrdenCompra, TxtNumRemision.Text, UsuarioActual.CveEmpresa) Then
If Not OCBitacora.AddEventoBitacora(If(NumeroRemisionOriginal.Trim.Length > 0, $"Se actualilizo número de remisión de { NumeroRemisionOriginal } a {TxtNumRemision.Text.Trim()}", $"Se agrego número de remisión {TxtNumRemision.Text.Trim()}"), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOC:=CveOrdenCompra) Then
ErrorProceso = True
End If
Else
ErrorProceso = True
End If
If Not ErrorProceso Then
ObjOC.Commit()
CargaEventoBitacora()
NumeroRemisionOriginal = TxtNumRemision.Text.Trim
Alert("Número de remisión actualizado correctemante.")
Else
ObjOC.RollBack()
End If
ObjOC.Dispose()
Else
Alert("El número de remisión no es valido.")
End If
End Sub
End Class

View File

@@ -46,14 +46,14 @@
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
<asp:GridView ID="GvPortalRastreo" runat="server" DataKeyNames="CveUsuario, CveCliente, Contraseña, Usuario" AutoGenerateColumns="false" ShowHeaderWhenEmpty="false"
<asp:GridView ID="GvPortalRastreo" runat="server" DataKeyNames="CveUsuario, CveCliente, Contraseña, Usuario,CveEmpresa" AutoGenerateColumns="false" ShowHeaderWhenEmpty="false" OnRowDataBound="GvPortalRastreo_RowDataBound"
Width="100%" ToolTip="Listado de Empresas a las que tiene acceso." CssClass="table table-striped table-advance table-hover GVSearch"
Style="margin-top: -10px; text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Portal Rastreo</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="LnkEmp" runat="server" CssClass="Texto" Text='<%# Eval("Cliente")%>' CommandArgument='<%# Eval("CveCliente") %>' CommandName="Cambia"></asp:LinkButton>
<asp:HyperLink ID="HlpPortal" runat="server" CssClass="Texto" Target="_blank" Text='<%# Eval("Cliente")%>' ></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" />
@@ -113,8 +113,9 @@
$('#BtnSeleccionar').click();
}
function Ir2() {
gotourl('/PortalGPS/InicioGPS.aspx');
function Ir2(url) {
//gotourl('/PortalGPS/InicioGPS.aspx');
gotourl(url);
}
function Ir3() {

View File

@@ -93,41 +93,6 @@ Partial Class PopUpSeleccionarEmpresa
End If
End If
End Sub
Protected Sub GvPortalRastreo_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GvPortalRastreo.RowCommand
If e.CommandName = "Cambia" Then
Dim gvr As GridViewRow = DirectCast(DirectCast(e.CommandSource, LinkButton).BindingContainer, GridViewRow)
If gvr IsNot Nothing Then
Dim ObjUsuario As New ClsSisUsuarios
Dim Usuario As Usuario = Nothing
Usuario = ObjUsuario.ValidaUsuarioGPS2(gvr.DataKey("CveCliente"), gvr.DataKey("Usuario"), gvr.DataKey("Contraseña"))
ObjUsuario.Dispose()
If Usuario IsNot Nothing Then
Dim dt As Data.DataTable = GlobalDTUsuarios(Usuario.CveUsuario)
Dim ModoSimulacion As Boolean = ADSSession.ADSSessionConfig.sessionUser.ModoSimulacion
Usuario.ModoSimulacion = ModoSimulacion
ADSSession.ADSSessionConfig.sessionUser = Usuario
ADSSession.ADSSessionConfig.sessionDpage = False
If dt IsNot Nothing Then
If dt.Rows.Count >= 1 Then
If dt.Rows.Count > 1 Then Usuario.MultipleEmpresa = True
Usuario.CvePlataforma = 3
CreaObjetoEmpresa(Usuario)
'si la contraseña es la prederminada, pide la nueva contraseña
'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario.ToString), False)
RegistraScript("Ir2();")
End If
End If
dt.Dispose()
End If
End If
End If
End Sub
Protected Sub GvPortalCliente_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs) Handles GvPortalCliente.RowCommand
If e.CommandName = "Cambia" Then
@@ -263,4 +228,15 @@ Partial Class PopUpSeleccionarEmpresa
End Sub
#End Region
Protected Sub GvPortalRastreo_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim Parametros As String = Encripta($"OPCION=PORTALGPS&CVEEMPRESA={e.Row.DBCampo("CveEmpresa")}&CVECLIENTE={e.Row.DBCampo("CveCliente")}&CVEUSUARIO={UsuarioActual.CveUsuario}&TICKS={Now.Ticks}")
Dim SitioGPS As String = "https://gps.signalsgps.com/"
Dim URLGPS As String = $"{SitioGPS}LogIn.aspx?P={Parametros}"
e.Row.FCHyperLink("HlpPortal").NavigateUrl = URLGPS
End If
End Sub
End Class

View File

@@ -4583,9 +4583,9 @@
<asp:BoundField DataField="Proveedor" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Importe" HeaderText="Importe" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Abreviatura" HeaderText="Moneda" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="FechaVencimiento" HeaderText="F. Vencimiento" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="FechaVencimiento" HeaderText="F. Vencimiento" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField DataField="Estatus" HeaderText="Estatus" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="TipoLineaSTR" HeaderText="TipoLiena" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="TipoLineaSTR" HeaderText="Tipo Linea" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Opciones">
@@ -6718,13 +6718,12 @@
<label for="<%= TxtLineaAdicionalModal.ClientID.ToString()%>">
<asp:Literal ID="LtlLineaAdicionalModal" runat="server" Text="Linea Adicional:"></asp:Literal>
</label>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<ADS:Dropdownlost ID="DdlProveedorLineaAdicionalModal" runat="server" CssStyle="width: 250px; selected2me" Width="250px" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="form-control input-sm DdlPS"></ADS:Dropdownlost>
<div class="form-group form-md-line-input input-iconright" style="padding-top:-5px!important">
<ADS:Dropdownlost ID="DdlProveedorLineaAdicionalModal" SelectedText="-" IncluyeTodos="false" runat="server" CssStyle="width: 250px; selected2me; margin-top:4px;" Width="250px" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="form-control input-sm DdlPS"></ADS:Dropdownlost>
<label for="<%= DdlProveedorLineaAdicionalModal.ClientID.ToString()%>">Proveedor: </label>
</div>
@@ -6732,7 +6731,7 @@
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoLineaAdicionalModal" CssClass="form-control select2me" runat="server" Width="250px">
<asp:ListItem Text="Seleccione Uno" Value="-1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Seleccione" Value="-1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Normal" Value="1"></asp:ListItem>
<asp:ListItem Text="PO" Value="2"></asp:ListItem>
</asp:DropDownList>
@@ -6741,61 +6740,74 @@
<label for="<%= DdlTipoLineaAdicionalModal.ClientID.ToString()%>">Tipo de Linea:</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtImporteLineaAdicionalModal" CssClass="form-control " runat="server" MaxLength="20" CausesValidation="true" Width="250px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtImporteLineaAdicionalModal" runat="server" ControlToValidate="TxtImporteLineaAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtImporteLineaAdicionalModal" ValidChars="1234567890." FilterType="Custom" />
<label for="<%= TxtImporteLineaAdicionalModal.ClientID.ToString()%>">Importe: </label>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtImporteLineaAdicionalModal" CssClass="form-control " runat="server" MaxLength="20" CausesValidation="true" Width="250px" ></asp:TextBox>
</div>
</div>
<div class="col-md-6">
<asp:RequiredFieldValidator ID="RfvTxtImporteLineaAdicionalModal" runat="server" ControlToValidate="TxtImporteLineaAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtImporteLineaAdicionalModal" ValidChars="1234567890." FilterType="Custom" />
<label for="<%= TxtImporteLineaAdicionalModal.ClientID.ToString()%>">Importe: </label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMonedaLineAdicionalModal" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Width="250px" >
<asp:ListItem Selected="True" Text="SeleccioneUna" Value="-1"></asp:ListItem>
<asp:ListItem Text="Pesos" Value="1"></asp:ListItem>
<asp:ListItem Text="Dolares" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlMonedaLineAdicionalModal" InitialValue="-1" runat="server" ControlToValidate="DdlMonedaLineAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<label for="<%= DdlMonedaLineAdicionalModal.ClientID.ToString()%>">Moneda: </label>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMonedaLineAdicionalModal" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Width="250px">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="Pesos" Value="1"></asp:ListItem>
<asp:ListItem Text="Dolares" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlMonedaLineAdicionalModal" InitialValue="-1" runat="server" ControlToValidate="DdlMonedaLineAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<label for="<%= DdlMonedaLineAdicionalModal.ClientID.ToString()%>">Moneda: </label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtFechaVencimientoLineaAdicionalModal.ClientID.ToString()%>">FechaVencimiento: </label>
<div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="TxtFechaVencimientoLineaAdicionalModal" CssClass="form-control" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<button runat="server" id="LnkTxtFechaVencimientoLineaAdicionalModal" class="btn default" type="button">
<i class="fa fa-calendar"></i>
</button>
</span>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker">
<asp:TextBox ID="TxtFechaVencimientoLineaAdicionalModal" CssClass="form-control" runat="server" ></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: 9px;">
<asp:LinkButton ID="LnkTxtFechaVencimientoLineaAdicionalModal" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="METxtFechaVencimientoLineaAdicionalModal" runat="server" TargetControlID="TxtFechaVencimientoLineaAdicionalModal" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CETxtFechaVencimientoLineaAdicionalModal" TargetControlID="TxtFechaVencimientoLineaAdicionalModal" PopupButtonID="LnkTxtFechaVencimientoLineaAdicionalModal" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RfvTxtFechaVencimientoLineaAdicionalModal" runat="server" ControlToValidate="TxtFechaVencimientoLineaAdicionalModal" Display="None"
ErrorMessage="El campo <b>''Fecha Vencimiento''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaVencimientoLineaAdicionalModal" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtFechaVencimientoLineaAdicionalModal.ClientID.ToString()%>">Fecha Vencimiento: </label>
</div>
</div>
<div class="col-md-8">
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlClasificacionLienaAdicionalModal" DataValueField="CveClasificacion" DataTextField="Clasificacion" Width="250px" runat="server" CssClass="form-control select2me">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlClasificacionLienaAdicionalModal" InitialValue="-1" runat="server" ControlToValidate="DdlClasificacionLienaAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificación''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
</asp:DropDownList>
<label for="<%= DdlClasificacion.ClientID.ToString()%>">Clasificación:</label>
</div>

View File

@@ -935,7 +935,7 @@ Partial Class Clientes
MostrarTxtDireccionesClienteEnvio()
If CveCliente > 0 AndAlso UsuarioActual.CveEmpresa.Contiene(119, 1) Then
If CveCliente > 0 AndAlso UsuarioActual.CveEmpresa.Contiene(119, 1) AndAlso UsuarioActual.CveRol = 1 Then
CargaCombosLineasAdicionales()
TabLineasAdicionales.Visible = True
LnkAgregarLineaAdicional.Visible = True
@@ -10345,20 +10345,23 @@ Partial Class Clientes
If (UsuarioActual.Empresa.Funcionalidad(105) = "1") Then
DdlProveedorLineaAdicionalModal.setEsWebService(True)
DdlProveedorLineaAdicionalModal.Attributes.Add("data-metodo", "getproveedores")
DdlProveedorLineaAdicionalModal.SelectedText = "Todos"
DdlProveedorLineaAdicionalModal.SelectedText = "-"
DdlProveedorLineaAdicionalModal.SelectedValue = "-1"
Else
DdlProveedorLineaAdicionalModal.setEsWebService(False)
DdlProveedorLineaAdicionalModal.ddl.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedorLineaAdicionalModal.ddl.DataBind()
DdlProveedorLineaAdicionalModal.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
DdlProveedorLineaAdicionalModal.ddl.Items.Insert(0, New ListItem("-", "-1"))
End If
DdlClasificacionLienaAdicionalModal.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacionLienaAdicionalModal.DataBind()
DdlClasificacionLienaAdicionalModal.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlClasificacionLienaAdicionalModal.Items.Insert(0, New ListItem("-", "-1"))
@@ -10405,10 +10408,10 @@ Partial Class Clientes
Protected Sub LnkAgregarLineaAdicionalModal_Click(sender As Object, e As EventArgs)
Dim ErrorAgregar As Boolean = False
If DdlProveedorLineaAdicionalModal.SelectedValue.ToEntero <= 0 Then
Alert("El proveedor es requerido", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'If DdlProveedorLineaAdicionalModal.SelectedValue.ToEntero <= 0 Then
' Alert("El proveedor es requerido", TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
Dim ObjVentas As New ClsVentas
@@ -10416,7 +10419,7 @@ Partial Class Clientes
If CveLineaAdicional > 0 Then
If Not ObjVentas.UpdateLineasAdicionales(CveLineaAdicional, TxtLineaAdicionalModal.Text, CveCliente, DdlProveedorLineaAdicionalModal.SelectedValue.ToEntero, DdlTipoLineaAdicionalModal.SelectedValue.ToEntero, TxtImporteLineaAdicionalModal.Text.ToDecimal,
DdlMonedaLineAdicionalModal.SelectedValue.ToEntero, TxtFechaVencimientoLineaAdicionalModal.Text.ToDate, UsuarioActual.CveUsuario, DdlClasificacionLienaAdicionalModal.SelectedValue.ToEntero, 0, UsuarioActual.CveEmpresa) Then
DdlMonedaLineAdicionalModal.SelectedValue.ToEntero, TxtFechaVencimientoLineaAdicionalModal.Text.ToDate, UsuarioActual.CveUsuario, DdlClasificacionLienaAdicionalModal.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) Then
ErrorAgregar = True
Else
Alert("Linea Adicional Actualizada Correctamente")

View File

@@ -0,0 +1,230 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepLineasAdicionales.aspx.cs" Inherits="Ventas_RepLineasAdicionales" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
#chartdiv {
width: 100%;
height: 800px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
<asp:Literal runat="server" ID="LtlEncabezado" Text="Reporte Lineas Adicionales"></asp:Literal>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkDescargaExcel" OnClick="LnkDescargaExcel_Click" runat="server" Visible="false"><i class="fa fa-file-excel-o"></i> Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDescargaExcel" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="" id="DivFiltros">
<div class="portlet-title portlet-filterT smalltitle " style="">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" OnClick="BtnConsultar_Click" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<div class="col-md-1 truncate" runat="server" id="DVProveedor1" visible="false">Proveedor:</div>
<div class="col-md-2" runat="server" id="DVProveedor2" visible="false">
<ADS:Dropdownlost ID="DdlProveedor" SelectedText="-" runat="server" CssStyle="width: 100%; selected2me; " Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="select2me"></ADS:Dropdownlost>
</div>
<div class="col-md-1 truncate" >Cliente:</div>
<div class="col-md-2 ">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"></ADS:Dropdownlost>
</div>
<div class="col-md-1 truncate">Fecha Inicio: </div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-1 truncate">Fecha Fin: </div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row">
<div class="col-md-1 truncate" >Estatus:</div>
<div class="col-md-2 ">
<asp:DropDownList runat="server" ID="DdlEstatus" CssClass="select2me" Width="100%">
<asp:ListItem Text="Todos" Value="-1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Registrado" Value="0"></asp:ListItem>
<asp:ListItem Text="Vinculado" Value="1"></asp:ListItem>
<asp:ListItem Text="Enviado" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="row ">
<div class="col-md-12">
<div class="row ">
<div class=" col-md-12" style="text-align: right!important">
<input type="text" id="TxtBuscarLineaAdicional" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBuscarLineaAdicional','{0}')", GvLineasAdicionales.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBuscarLineaAdicional','{0}')", GvLineasAdicionales.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<div class="row ">
<div class="col-md-12">
<asp:UpdatePanel ID="UpLineasAdicionales" runat="server" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvLineasAdicionales" Width="100%" runat="server" GridLines="None"
DataKeyNames="CveLineaAdicional,LineaAdicional,CveCliente,CveProveedor,TipoLinea,Importe,CveMoneda,FechaVencimiento,CveUsuario,CveClasificacionPS,FechaIng,CveEstatus,Proveedor,Comprobante"
CssClass="table table-striped table-advance table-hover ScrollAD " ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False"
OnRowDataBound="GvLineasAdicionales_RowDataBound"
>
<Columns>
<asp:BoundField DataField="LineaAdicional" HeaderText="Linea Adicional" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="NombreCliente" HeaderText="Cliente" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Proveedor" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Importe" HeaderText="Importe" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Abreviatura" HeaderText="Moneda" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="FechaVencimiento" HeaderText="F. Vencimiento" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField DataField="Estatus" HeaderText="Estatus" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Opciones" Visible="false" ItemStyle-Width="120px">
<ItemTemplate>
<div class="row" style="width:118px" >
<div class="col-md-4" >
<asp:LinkButton ID="LnkCargarComprobante" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-upload'></i>" OnClick="LnkCargarComprobante_Click" />
</div>
<div class="col-md-4">
<asp:LinkButton ID="LnkDescargaComprobante" runat="server" AlternateText="Descarga" CausesValidation="False" CssClass="btn btn-circle btn-sm yellow" Text="<i class='fa fa-download'></i>" OnClick="LnkDescargaComprobante_Click" Visible="false" />
</div>
<div class="col-md-4">
<asp:LinkButton ID="LnkCambiarEstatus" runat="server" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-arrow-right'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="¿Cambiar Estado a Enviado?" data-btn-ok-label="si" OnClick="LnkCambiarEstatus_Click" Visible="false" />
</div>
</div>
</ItemTemplate>
<ItemStyle Width="10%" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<%-- MODAL COMPROBANTE --%>
<div id="ModalComprobante" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content" style="width: 700px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar Comprbante</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpAddComprobancte" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<div>
<asp:TextBox ID="Anexo" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnAddComprobante" runat="server" ClientIDMode="Static" Text="Guardar" CssClass="btn btn-primary" OnClick="BtnAddComprobante_Click" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<%-- FIN MODAL COMPROBANTE --%>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,322 @@
using System;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using System.Collections.Generic;
using System.IO;
using ListItem = System.Web.UI.WebControls.ListItem;
using DocumentFormat.OpenXml.Spreadsheet;
using System.Web.UI;
public partial class Ventas_RepLineasAdicionales : ClsPaginas
{
#region PROPIEDADES
private int CveLineaAdicional
{
get { return (ViewState["CveLineaAdicional"] == null) ? 0 : int.Parse(ViewState["CveLineaAdicional"].ToString()); }
set { ViewState["CveLineaAdicional"] =(int) value; }
}
private int TipoLinea
{
get { return (ViewState["TipoLinea"] == null) ? 1: int.Parse(ViewState["TipoLinea"].ToString()); }
set { ViewState["TipoLinea"] = (int)value; }
}
private DataTable DTDatosGvLineasAdicionales
{
get
{
if (ViewState["DTDatosGvLineasAdicionales"] == null)
{
ViewState["DTDatosGvLineasAdicionales"] = new DataTable();
}
return (DataTable)ViewState["DTDatosGvLineasAdicionales"];
}
set { ViewState["DTDatosGvLineasAdicionales"] = (DataTable)value; }
}
private string Comprobante
{
get {
if(ViewState["Comprobante"] == null)
{
ViewState["Comprobante"] = "";
}
return ViewState["Comprobante"].ToString();
}
set { ViewState["Comprobante"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaValores();
CargaDatos();
}
}
private void InicializaValores()
{
if (Request["OP"] != null && Request["OP"].ToString() == "PO")
{
DVProveedor1.Visible = true;
DVProveedor2.Visible = true;
GvLineasAdicionales.Columns[8].Visible = true;
TipoLinea = 2;
LtlEncabezado.Text = "Reporte PO";
}
//Carga Clientes
DdlClientes.DataSource = get_GlobalDTCliente(UsuarioActual.CveEmpresa, -1);
DdlClientes.DataBind();
if(UsuarioActual.Empresa.Funcionalidad(105) == "1") {
DdlProveedor.setEsWebService(true);
DdlProveedor.Attributes.Add("data-metodo", "getproveedores");
DdlProveedor.SelectedText = "Todos";
DdlProveedor.SelectedValue = "-1";
}else {
DdlProveedor.setEsWebService(false);
DdlProveedor.ddl.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.ddl.DataBind();
DdlProveedor.ddl.Items.Insert(0, new ListItem("-", "-1"));
}
DdlClientes.setEsWebService(true);
DdlClientes.Attributes.Add("data-metodo", "getcliente");
DdlClientes.SelectedText = "Todos";
DdlClientes.SelectedValue = "-1";
txtFechaI.Text = DateTime.Now.FirstDayOfMonth().ToShortDateString();
txtFechaF.Text = DateTime.Now.ToShortDateString();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
private void CargaDatos()
{
DTDatosGvLineasAdicionales = new DataTable();
LnkDescargaExcel.Visible = false;
ClsVentas objVentas = new ClsVentas();
int CveProveedor = DdlProveedor.SelectedValue.ToEntero() > 0 ? DdlProveedor.SelectedValue.ToEntero() : -1;
if(objVentas.GetLineasAdicionales(-1,DdlClientes.SelectedValue.ToEntero(),CveProveedor, TipoLinea, -1,txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), DdlEstatus.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa)){
GvLineasAdicionales.DataSource = objVentas.DtResultados;
if( objVentas.DtResultados.Rows.Count > 0)
{
DTDatosGvLineasAdicionales = objVentas.DtResultados;
LnkDescargaExcel.Visible = true;
UpAcciones.Update();
}
}
else
{
GvLineasAdicionales.DataSource = null;
}
objVentas.Dispose();
GvLineasAdicionales.DataBind();
UpLineasAdicionales.Update();
}
protected void LnkCargarComprobante_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow) ((LinkButton) sender).NamingContainer;
CveLineaAdicional = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero();
Comprobante = GvRow.DataKey("Comprobante").ToString();
RegistraScript("$('#ModalComprobante').modal('show');","");
}
protected void BtnAddComprobante_Click(object sender, EventArgs e)
{
bool errorCargaComprobante = false;
string FileExtension = "-1";
List<Archivo> filesgral = Anexo.getfiles().Archivos;
string filemove = "";
FileInfo fiNuevo;
DirectoryInfo df = new DirectoryInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\");
//Crea directorio si no existe
if (!df.Exists)
{
try
{
Directory.CreateDirectory(df.FullName);
}
catch
{
errorCargaComprobante = true;
}
}
//borrar archivo anterior
if((!errorCargaComprobante) && Comprobante.Length > 0)
{
FileInfo fiAnterior = new FileInfo($@"{df.FullName}{Comprobante}");
if (fiAnterior.Exists)
{
try
{
File.Delete(fiAnterior.FullName);
}
catch
{
errorCargaComprobante = true;
}
}
}
if(!errorCargaComprobante){
string RutaArchivoTemp = "";
foreach (Archivo fileItem in filesgral)
{
FileExtension = System.IO.Path.GetExtension(string.Format(@"{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "");
filemove = fileItem.filename;
RutaArchivoTemp = $@"{AppDomain.CurrentDomain.BaseDirectory}\Temp\{fileItem.filename}";
break;
}
if((!errorCargaComprobante) && RutaArchivoTemp.Length > 0)
{
fiNuevo = new FileInfo(RutaArchivoTemp);
if (fiNuevo.Exists)
{
try
{
if (File.Exists($@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}"))
{
File.Delete($@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}");
}
File.Move(fiNuevo.FullName, $@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}");
errorCargaComprobante = false;
}
catch
{
errorCargaComprobante = true;
}
if (!errorCargaComprobante)
{
ClsVentas objVentas = new ClsVentas();
if (!objVentas.UpdateLineasAdicionales(CveLineaAdicional, "-1", -1, -1, -1, -1, -1, MinFecha, 100, -1, -1, UsuarioActual.CveEmpresa, Comprobante: $@"{CveLineaAdicional}{fiNuevo.Extension}"))
{
errorCargaComprobante = true;
}
objVentas.Dispose();
}
}
}
}
if (!errorCargaComprobante)
{
CargaDatos();
Anexo.Text = "[]";
RegistraScript("$('#ModalComprobante').modal('hide');", "");
Alert("Comprbante actualizado correctamente.");
}
UpAddComprobancte.Update();
}
protected void LnkCambiarEstatus_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
int CveLineaAdicionalActualzarEstatus = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero();
bool errorCambioEstatus = false;
ClsVentas objVentas = new ClsVentas();
if (!objVentas.UpdateLineasAdicionales(CveLineaAdicionalActualzarEstatus, "-1", -1, -1, -1, -1, -1, MinFecha, 100, -1, 3, UsuarioActual.CveEmpresa))
{
errorCambioEstatus = true;
}
if (!errorCambioEstatus)
{
CargaDatos();
}
objVentas.Dispose();
}
protected void LnkDescargaExcel_Click(object sender, EventArgs e)
{
GridView gvTemp = GvLineasAdicionales;
gvTemp.Columns[8].Visible = false;
gvTemp.ExportToExcelx( TipoLinea == 1 ? "RepLienasAdicionales":"RepPO");
}
protected void GvLineasAdicionales_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
if(e.Row.DataKey("CveEstatus").ToEntero().Contiene(2))
{
e.Row.FCLinkButton("LnkCambiarEstatus").Visible = true;
}
if (e.Row.DataKey("CveEstatus").ToEntero() == 3)
{
e.Row.FCLinkButton("LnkCargarComprobante").Visible = false;
}
if (e.Row.DataKey("Comprobante").Length > 0)
{
FileInfo fi = new FileInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\{e.Row.DataKey("Comprobante")}");
LinkButton LnkDescargaComprobante = e.Row.FCLinkButton("LnkDescargaComprobante");
if (fi.Exists)
{
LnkDescargaComprobante.Visible = true;
ScriptManager.GetCurrent(this).RegisterPostBackControl(LnkDescargaComprobante);
}
}
}
}
protected void LnkDescargaComprobante_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
string Comprobante = GvRow.DataKey("Comprobante");
FileInfo fi = new FileInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\{Comprobante}");
if (fi.Exists)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name);
Response.AddHeader("Content-Length", fi.Length.ToString());
Response.ContentType = "text/octet-stream";
Response.Flush();
Response.TransmitFile(fi.FullName);

View File

@@ -27021,7 +27021,7 @@ Partial Class Ventas
Dim ObjMovtos As New ClsMovimientos()
If ObjMovtos.GetRemisionesNCCliente(CveCliente, True, CveMoneda:=-1) Then
Me.TmpDTRNCDetalle = ObjMovtos.DtResultados.Copy()
Me.TmpDTRNCDetalle = ObjMovtos.DtResultados.FiltraParametros("Total > 0")
End If
ObjMovtos.Dispose()