This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2021-10-18 11:51:27 -07:00
23 changed files with 996 additions and 370 deletions

View File

@@ -6,9 +6,7 @@
<style>
#C_DdlColonias > span > span.selection > span{
width:267px!important
}
@@ -149,6 +147,7 @@
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
@@ -181,7 +180,7 @@
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" >
<ADS:Dropdownlost ID="DdlColonias" Width="267px" runat="server" data-metodo="getSATColomias" CssClass="form-control select2" DataTextField="ClaveSATColoniaCP" DataValueField="CveColonia" style="margin-top:7px!important" Onselectedindexchange="DdlColonias_selectedindexchange"></ADS:Dropdownlost>
<ADS:Dropdownlost ID="DdlColonias" Width="100%" runat="server" data-metodo="getSATColomias" CssClass="form-control select2" DataTextField="ClaveSATColoniaCP" DataValueField="CveColonia" style="margin-top:7px!important" Onselectedindexchange="DdlColonias_selectedindexchange"></ADS:Dropdownlost>
<label for="<%= DdlColonias.ClientID.ToString()%>">Colonia:</label>
</div>
@@ -194,18 +193,37 @@
<asp:TextBox ID="TxtLicencia" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox>
<label for="<%= TxtLicencia.ClientID.ToString()%>">Licencia:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtNumRegidTribOperador" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox>
<label for="<%= TxtNumRegidTribOperador.ClientID.ToString()%>">Numero RegidTribOperador:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtResidenciaFiscalOperador" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox>
<label for="<%= TxtResidenciaFiscalOperador.ClientID.ToString()%>">Residencia Fiscal Operador:</label>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtNumRegidTribOperador" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox>
<label for="<%= TxtNumRegidTribOperador.ClientID.ToString()%>">Numero RegidTribOperador:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtResidenciaFiscalOperador" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="50"></asp:TextBox>
<label for="<%= TxtResidenciaFiscalOperador.ClientID.ToString()%>">Residencia Fiscal Operador:</label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright" id="divEstatus" runat="server">
<asp:CheckBox ID="ChkEstatus" runat="server" CssClass="form-control" />
<label for="<%= ChkEstatus.ClientID.ToString()%>">Estatus:</label>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="modal-footer">

View File

@@ -66,6 +66,7 @@ Partial Class Acarreos_CatChoferes
If CveColonia <= 0 Then
Alert("El campo colonia es necesario, por favor ingréselo.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If

View File

@@ -1646,7 +1646,7 @@ Public Class ClsInventarios
End Function
Public Function GetProductosCaducidad(CveProveedor As Integer, FechaInicio As Date, FechaFin As Date, CveSubProyecto As Integer, CveClasificacion As Integer, CvePS As Integer,
FiltroFecha As Integer, CvesAlmacenes As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
FiltroFecha As Integer, CvesAlmacenes As String, CveUsuario As Integer, CveEmpresa As Integer, Optional Opcion As Integer = 1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_ProductosCaducidadGet")
@@ -1662,6 +1662,7 @@ Public Class ClsInventarios
.Add("@CvesAlmacenes", SqlDbType.VarChar).Value = CvesAlmacenes
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Opcion", SqlDbType.Int).Value = Opcion
End With
Try

View File

@@ -3220,6 +3220,27 @@ Public Class ClsPaginas
Application("GlobalDTContaPlantillasPolizasDetalle") = value
End Set
End Property
'Property GlobalDTContaPlantillasPolizasDetalle(CvePlantillaPoliza As Integer, CveEmpresa As Integer) As DataTable
' Get
' Dim AppNombre As String = String.Format("GlobalDTContaPlantillasPolizas-{0}", CveEmpresa)
' 'sino existe, recarga los datos
' If Application(AppNombre) Is Nothing Then
' Using ObjContabilidad As New ClsContabilidad
' If ObjContabilidad.GetConta_PlantillasPolizasDetalle(-1, CveEmpresa) Then Application(AppNombre) = ObjContabilidad.DtResultados Else Application(AppNombre) = Nothing
' End Using
' End If
' Dim Dv As New DataView(DirectCast(Application(AppNombre), DataTable), String.Format("CvePlantillaPoliza = {0}", CvePlantillaPoliza), "Orden", DataViewRowState.CurrentRows)
' GlobalDTContaPlantillasPolizasDetalle = Dv.ToTable
' Dv.Dispose()
' End Get
' Set(value As DataTable)
' Dim AppNombre As String = String.Format("GlobalDTContaPlantillasPolizas-{0}", CveEmpresa)
' Application(AppNombre) = value
' End Set
'End Property

View File

@@ -335,7 +335,7 @@ Public Class ClsSubProyectos
Public Function AddCentroCosto(SubProyecto As String, IdSegNeg As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveProyecto As Integer, Optional Serie As String = "", Optional IVA As Double = 0.0, Optional Calle As String = "", Optional NoExt As String = "",
Optional NoInt As String = "", Optional Colonia As String = "", Optional Localidad As String = "", Optional Municipio As String = "", Optional Estado As String = "", Optional Pais As String = "", Optional CP As String = "", Optional TipoSucursal As Integer = 0, Optional EsSucursal As Integer = 0,
Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1, Optional AplicaComercioExterior As Boolean = False, Optional Correo As String = "", Optional CvePrecioLista As Integer = -1,
Optional Telefono As String = "", Optional NoVerificaAlmacen As Boolean = False, Optional CodigoSucursal As String = "") As Boolean
Optional Telefono As String = "", Optional NoVerificaAlmacen As Boolean = False, Optional CodigoSucursal As String = "", Optional CveLocalidad As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CentroCostoAdd")
@@ -369,6 +369,7 @@ Public Class ClsSubProyectos
.Add("@Telefono", SqlDbType.VarChar).Value = Telefono
.Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen
.Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal
.Add("@CveSubProyecto", SqlDbType.Int).Direction = ParameterDirection.Output
End With
@@ -391,7 +392,7 @@ Public Class ClsSubProyectos
Public Function UpdateCentroCosto(CveSubProyecto As Integer, SubProyecto As String, IdSegNeg As Integer, Estatus As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveProyecto As Integer, Optional Serie As String = "", Optional IVA As Double = 0.0, Optional Calle As String = "", Optional NoExt As String = "",
Optional NoInt As String = "", Optional Colonia As String = "", Optional Localidad As String = "", Optional Municipio As String = "", Optional Estado As String = "", Optional Pais As String = "", Optional CP As String = "", Optional TipoSucursal As Integer = 0, Optional EsSucursal As Integer = 0,
Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1, Optional AplicaComercioExterior As Boolean = False, Optional Correo As String = "", Optional CvePrecioLista As Integer = -1,
Optional Telefono As String = "", Optional HorarioVerano As Integer = Nothing, Optional HorarioInvierno As Integer = Nothing, Optional NoVerificaAlmacen As Boolean = False, Optional CodigoSucursal As String = "") As Boolean
Optional Telefono As String = "", Optional HorarioVerano As Integer = Nothing, Optional HorarioInvierno As Integer = Nothing, Optional NoVerificaAlmacen As Boolean = False, Optional CodigoSucursal As String = "", Optional CveLocalidad As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CentroCostoUpdate")
@@ -429,6 +430,8 @@ Public Class ClsSubProyectos
.Add("@HorarioInvierno", SqlDbType.Int).Value = HorarioInvierno
.Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen
.Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal
.Add("@CveLocalidad", SqlDbType.Int).Value = CveLocalidad
End With
Try

View File

@@ -305,7 +305,7 @@ Namespace Extensiones
MsgInformacion = 2
MsgConfirmacion = 3
MsgAdvertencia = 4
MsgVentasDosBotones = 9
MsgDosBotones = 9
ToastInformacion = 5 'succes
ToastInformacionB = 6 'info
@@ -355,7 +355,7 @@ Namespace Extensiones
onEscape = ""
headerclas = " header-blue "
Case TipoMensaje.MsgVentasDosBotones
Case TipoMensaje.MsgDosBotones
Titulo = "<i class='fa fa-info-circle'></i> Información"
b1title = TextoConfirmacion
b1clas = "green"

View File

@@ -206,7 +206,7 @@ Partial Class Bancos_DepositosCaja
CveCuentaBancariaDestino = drDestino("IdCtaContableSIG").ToString.ToEntero
End If
NuevaCvePrePoliza = ObjContabilidad.AddPrePolizas("Vta", 13, TotalImportePrePoliza, TotalImportePrePoliza, CveMoneda, Fecha, "Depósito Bancario", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=1)
NuevaCvePrePoliza = ObjContabilidad.AddPrePolizas("DepCaja", 13, TotalImportePrePoliza, TotalImportePrePoliza, CveMoneda, Fecha, "Depósito Bancario", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=1)
If ChkIntermediario.Checked Then

View File

@@ -4886,6 +4886,8 @@ Partial Class Bancos_IE
End Sub
Private Sub CargaEventoBitacora()
If CveIE <= 0 Then Exit Sub
Dim ObjEventoBitacora As New ClsOIEventos()
If ObjEventoBitacora.GetAgendaBitacora(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=CveIE) Then
'GVEventoBitacora.DataSource = ObjEventoBitacora.DtResultados

View File

@@ -2924,14 +2924,18 @@ Partial Class Compras_eFacturas
For Each dRow2 As DataRow In DTDocumentosRelacionados.Rows
If dRow2("IdDocumento").ToString.ToUpper = drow("IdDocumento").ToString.ToUpper And drow("CveIE").ToString.ToEntero > 0 Then
If dRow2("IdDocumento").ToString.ToUpper = drow("IdDocumento").ToString.ToUpper Then
dRow2("CveCompra") = drow("CveCompra").ToString.ToEntero
dRow2("CveFactura") = drow("CveFactura").ToString.ToEntero
dRow2("CveMetodoPago") = drow("CveMetodoPago").ToString.ToEntero
dRow2("SerieFolioCompra") = drow("SerieFolioCompra").ToString
Try
dRow2("CvePrePolizaDetalle") = drow("CvePrePolizaDetalle").ToString
If drow("CveIE").ToString.ToEntero > 0 Then
dRow2("CvePrePolizaDetalle") = drow("CvePrePolizaDetalle").ToString
End If
Catch ex As Exception
dRow2("CvePrePolizaDetalle") = 0
End Try

View File

@@ -342,7 +342,7 @@
</div>
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom ">
<asp:GridView ID="GvMov" runat="server" AutoGenerateColumns="False" ShowHeader="False"
DataKeyNames="IdMov,Cargo,Abono,TipoMovto,CveConcepto,CveConceptoContable,CveProveedor,CvePersonal, CveCompra,CveClasificacion,CveCliente,CveVenta,CveCuenta, ContadoTipoTransaccion, ContadoCuenta, ContadoNumeroFolio, ContadoImporte, ContadoBeneficiario, ContadoObservaciones"
DataKeyNames="IdMov,Cargo,Abono,TipoMovto,CveConcepto,CveConceptoContable,CveProveedor,CvePersonal, CveCompra,CveClasificacion,CveCliente,CveVenta,CveCuenta, ContadoTipoTransaccion, ContadoCuenta, ContadoNumeroFolio, ContadoImporte, ContadoBeneficiario, ContadoObservaciones,EsComplementaria"
Width="100%" CssClass=" GvMov GvSize table table-striped table-advance table-hover mysmallbtn" GridLines="None">
<Columns>
<asp:TemplateField>
@@ -392,6 +392,9 @@
<HeaderTemplate>Cargo</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtCargo" CssClass="txtcargo" runat="server" Style="text-align: right" Width="65px" Visible="False"></asp:TextBox>
<div id="divCargoME" runat="server" Visible="False">ME:<asp:TextBox ID="TxtCargoME" CssClass="" runat="server" Style="text-align: right" Width="55px"></asp:TextBox>
TC:<asp:TextBox ID="TxtTC" CssClass="" runat="server" Style="text-align: right" Width="45px"></asp:TextBox>
</div>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
@@ -399,6 +402,7 @@
<HeaderTemplate>Abono</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtAbono" CssClass="txtabono" runat="server" Style="text-align: right" Width="65px" Visible="False"></asp:TextBox>
<div id="divAbonoME" runat="server" Visible="False">ME:<asp:TextBox ID="TxtAbonoME" CssClass="" runat="server" Style="text-align: right" Width="55px" ></asp:TextBox></div>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>

View File

@@ -334,6 +334,7 @@ Partial Class ContabilidadC_RegPrePolizaS
.Add("ContadoObservaciones", Type.GetType("System.String"))
.Add("PorcentajeImpuesto", Type.GetType("System.Double"))
.Add("Modificado", Type.GetType("System.Boolean"))
.Add("EsComplementaria", Type.GetType("System.Boolean"))
End With
@@ -735,9 +736,11 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CvePlantilla As Integer = DdlPlantilla.SelectedValue.ToEntero
Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla).FiltraParametros(String.Format("CveEmpresa={0}", UsuarioActual.CveEmpresa), "Orden")
Dim CvePlantilla As Integer = DdlPlantilla.SelectedValue.ToEntero
Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla).FiltraParametros(String.Format("CveEmpresa={0}", UsuarioActual.CveEmpresa), "Orden")
'Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla, UsuarioActual.CveEmpresa)
Dim Cuenta As String = ""
Dim IdCuenta As Integer = 0
Dim CodigoCuenta As String = ""
@@ -778,7 +781,8 @@ Partial Class ContabilidadC_RegPrePolizaS
dr("CvePersonal") = drt("CvePersonal")
dr("CveClasificacion") = -1
dr("MultipleSubProyecto") = drt("MultipleSubProyecto")
dr("CveCuenta") = drt("CveCuenta")
dr("CveCuenta") = drt("CveCuenta")
dr("EsComplementaria") = drt("EsComplementaria")
'dr("FolioPoliza") = 0 'drt("FolioPoliza")
DtMovimientos.Rows.Add(dr)
@@ -835,6 +839,12 @@ Partial Class ContabilidadC_RegPrePolizaS
e.Row.FCDropDownList("DdlSubProyecto").Enabled = True
End If
If e.Row.DBCampo("EsComplementaria") = "True" Then
If e.Row.DBCampo("TipoMovto") = "0" Then e.Row.FindControl("divCargoME").Visible = True
If e.Row.DBCampo("TipoMovto") = "1" Then e.Row.FindControl("divAbonoME").Visible = True
End If
'Agregamos la opcion para vincular los movimientos bancarios
If e.Row.DataKey("CveConcepto").ToEntero.Contiene(41) Then
Dim ObjMovimientos As New ClsMovimientos
@@ -923,6 +933,8 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:<br><br>"
Dim idCuentaContabilizacion As Long = 1
Dim Importe As Double = 0
Dim ImporteME As Decimal = 0
Dim TipoCambio As Decimal = 1
Dim TipoMovto As Boolean = False
Dim IdCtaContable As Integer = 0
@@ -946,17 +958,26 @@ Partial Class ContabilidadC_RegPrePolizaS
'If ObjIE.GetBancosIE(CveIE, -1, -1, "-1", -1, "-1", "-1", -1, -1, -1, -1, -1, MinFecha, MaxFecha, MinFecha, MaxFecha, MinFecha, MaxFecha, -1, -1, UsuarioActual.CveEmpresa) Then
' FolioIE = ObjIE.Folio
'End If
End If
End If
ImporteME = 0
TipoCambio = 1
If gvr.DataKey("TipoMovto").ToDouble > 0 Then
Importe = gvr.FCTextBox("TxtAbono").Text.ToDouble
TipoMovto = True
Else
TipoMovto = True
If gvr.DataKey("EsComplementaria") = "True" Then
ImporteME = gvr.FCTextBox("TxtAbonoME").Text.ToDecimal
TipoCambio = gvr.FCTextBox("TipoCambio").Text.ToDecimal
End If
Else
Importe = gvr.FCTextBox("TxtCargo").Text.ToDouble
TipoMovto = False
End If
If gvr.DataKey("EsComplementaria") = "True" Then
ImporteME = gvr.FCTextBox("TxtCargoME").Text.ToDecimal
TipoCambio = gvr.FCTextBox("TxtTC").Text.ToDecimal
End If
End If
If gvr.DataKey("CveConcepto").ToEntero <> 30 Then
If gvr.DataKey("CveConcepto").ToEntero = 41 Then
@@ -982,7 +1003,8 @@ Partial Class ContabilidadC_RegPrePolizaS
TxtFecha.Text.ToDate, IdCtaContable, -1, CveSubProyecto:=gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero, CveIE:=CveIE,
CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveCompra:=gvr.DataKey("CveCompra").ToEntero,
CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, CveClasificacion:=gvr.DataKey("CveClasificacion").ToEntero,
ImporteMX:=Importe, CveTipoGasto:=gvr.FCDropDownList("DdlTipoGasto").SelectedValue.ToEntero,
ImporteMX:=Importe, ImporteME:=ImporteME, TipoCambio:=TipoCambio,
CveTipoGasto:=gvr.FCDropDownList("DdlTipoGasto").SelectedValue.ToEntero,
CveCliente:=gvr.DataKey("CveCliente").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCuenta:=tCveCuenta) Then
Else
MsgError = "No se pudo insertar el detalle de la póliza2"
@@ -1951,8 +1973,10 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim worksheet = workbook.Worksheets.Add(NombreHoja)
Dim CvePlantilla As Integer = DdlPlantilla2.SelectedValue.ToEntero
'Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla, UsuarioActual.CveEmpresa)
Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla).FiltraParametros(String.Format("CveEmpresa={0}", UsuarioActual.CveEmpresa), "Orden")
Dim DtExcel As DataTable = (From row As DataRow In Dt.Rows
Select New With
{

View File

@@ -92,7 +92,7 @@
<br />
<asp:GridView runat="server" ID="GvGlobal" EmptyDataText="" ToolTip="" CssClass="table table-striped table-advance table-hover ScrollAD"
DataKeyNames="CveEmpresa,CveCuenta,CveConceptoContable,CveCuentaAsignacion,CveConceptoNomina, CveProveedor,CveClasificacion,CveAlmacen, IdCuenta, PorcentajeIVA, CveBancoCuenta, CveCliente, CvePersonal" AutoGenerateColumns="False"
Style=" width:100%" GridLines="None">
Style=" width:100%" GridLines="None" Caption="Globales">
<Columns>
<asp:BoundField DataField="ConceptoContable" ItemStyle-Width="150px" HeaderText="Concepto Contable" ItemStyle-HorizontalAlign="Left"/>
<asp:BoundField DataField="CuentaCodigo" ItemStyle-Width="100px" HeaderText="Código Cuenta" ItemStyle-HorizontalAlign="Left"/>

View File

@@ -236,6 +236,7 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
DdlPersonal.ddl.DataSource = ""
DdlPersonal.ddl.DataBind()
DdlPersonal.setEsWebService(True)
HdnCveCuentaAsignacion.Value = ""
End Sub
Protected Sub LbAgregar_Click(sender As Object, e As EventArgs) Handles LbAgregar.Click

View File

@@ -11,7 +11,7 @@ Partial Class General_SaldosIniciales
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
TxtFecha.Text = Now.ToShortDateString
End If
End Sub
@@ -1695,7 +1695,7 @@ Partial Class General_SaldosIniciales
Dim Cuenta As String = ""
Dim Reporte As New StringBuilder
Dim SubProTemp As DataTable = GlobalDTSubProyectos(-1, -1, CveEmpresa:=UsuarioActual.CveEmpresa)
CvePrePoliza = ObjConta.AddPrePolizas("SI", 1, 0, 0, 1, Now.ToDate, "Saldos Iniciales", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
CvePrePoliza = ObjConta.AddPrePolizas("SI", 1, 0, 0, 1, TxtFecha.Text.ToDate, "Saldos Iniciales", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
For Each Row As DataRow In dt.Rows
NombreCuenta = Row("NombreCuenta").ToString

View File

@@ -86,7 +86,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim Fecha As Date = DateTime.Now
'AGREGAMOS LA ENTRADA
Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacen, 3, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacen, 44, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:="", Modulo:="ASA/G1")
Folio = ObjInventario.Folio
@@ -161,7 +161,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim resultado As DataTable = ObjInventario.DtResultados
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 2, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="", CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="ASA/G1")
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 43, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="", CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="ASA/G1")
Dim ind As Integer = 0
For Each Row As DataRow In resultado.Rows

View File

@@ -207,7 +207,7 @@ Partial Class Inventarios_Kardex
If CveProducto > 0 Then
Dim DtTemp = CargarKardex(CveProducto)
If DtTemp IsNot Nothing Then
If DtTemp IsNot Nothing AndAlso DtTemp.Rows.Count > 0 Then
Dim AplicaSeccion, AplicaLote, AplicaCaducidad, AplicaSerie As Boolean
AplicaSerie = DtTemp.MAX("Serie") <> ""
AplicaSeccion = DtTemp.MAX("SeccionAlmacen") <> ""
@@ -223,7 +223,7 @@ Partial Class Inventarios_Kardex
If Not String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) Then GvM.Columns(11).HeaderText = UsuarioActual.Empresa.Funcionalidad(147)
Dim Drp As datarow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimero("")
Dim Drp As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveProducto).FiltroPrimero("")
Dim AuxAplicaSerie As Boolean
Dim AuxAplicaCad As Boolean
If Drp IsNot Nothing Then

View File

@@ -4,6 +4,52 @@
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.btnopaco {
background-color: rgba(0,0,0,0.2);
color: #FFF;
}
.btnopaco:hover {
background-color: rgba(0,0,0,0.4);
color: #FFF;
font-weight: bold;
}
.select2 .select2-selection__rendered {
line-height: 1;
color: #111;
}
.select2 .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 20px;
user-select: none;
-webkit-user-select: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
margin-top: 10px;
}
.select2-selection__rendered {
margin-top: 0px;
height: 25px;
}
.select2-selection {
margin-top: 0px;
height: 31px;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: none;
outline: 0;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
@@ -19,6 +65,12 @@
<li>
<asp:LinkButton ID="LnkImprimirExcel" runat="server" OnClick="LnkImprimirExcel_Click" Visible="true"><i class="fa fa-file-excel-o"></i><span style="padding: 10px">Excel</span></asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="ImgPersonalizar" runat="server"> <i class="fa fa-pencil"></i> Personalizar</asp:HyperLink>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkImprimirPDF"/>
@@ -36,7 +88,7 @@
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<div class="row" >
<div class="col-sm-1" style="text-align:right">
<label>Proveedor:</label>
</div>
@@ -73,7 +125,15 @@
<label>Sucursal:</label>
</div>
<div class="col-sm-1">
<asp:DropDownList runat="server" ID="DdlSucursal" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto"></asp:DropDownList>
<asp:DropDownList runat="server" ID="DdlSucursal" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" AutoPostBack="true" OnSelectedIndexChanged="DdlSucursal_SelectedIndexChanged" Width="100%"></asp:DropDownList>
</div>
<label class="col-md-1 truncate" >Almacén:</label>
<div class="col-md-1">
<asp:ListBox ID="ddlAlmacen" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server" DataTextField="Almacen" DataValueField="CveAlmacen"></asp:ListBox>
</div>
</div>
@@ -92,14 +152,30 @@
</div>
<label class="col-md-1 truncate">Producto:</label>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:55%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:100%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" Width="100%" />
</div>
<div class="col-sm-1" style="text-align:right">
<label>Opcion:</label>
</div>
<div class="col-md-1">
<asp:DropDownList runat="server" ID="DdlOpcion" CssClass="select2me" Width="100%" CssStyle="width: 100%;">
<asp:ListItem Value="1">Elaboración</asp:ListItem>
<asp:ListItem Value="2" Selected="True">Caducidad</asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros" ToolTip="Reporte de productos caducidad " CssClass="table table-advance table-hover Widthall ScrollAD" data-sort="true" GridLines="None">
@@ -109,10 +185,64 @@
<asp:BoundField HeaderText="Producto" DataField="CodigoPS" />
<asp:BoundField HeaderText="Lote" DataField="Lote" ItemStyle-Width="150px" />
<asp:BoundField HeaderText="Fecha Caducidad" DataField="FechaCaducidad" DataFormatString = "{0:dd/MM/yyyy}" ItemStyle-Width="100px" />
<asp:TemplateField ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Right" HeaderText="Tiempo de Caducidad" Visible="false">
<ItemTemplate>
<asp:Label ID="LblTiempoCaducidad" runat="server" Text='<%# Eval("TiempoCaducidad","{0:n2}")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnPersonalizar" Style="display: none" ClientIDMode="Static" runat="server" Text="Personalizar" class="btn btn-success" OnClick="BtnPersonalizar_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivPersonalizar" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Personalizar Columnas"></asp:Label></h4>
</div>
<div class="modal-body">
<table style="width: 335px;" class="table table-striped table-advance table-hover">
<tbody>
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkTiempoCaducidad" runat="server" Text="Tiempo de Caducidad" Checked="false" /></td>
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal" onclick="$('#BtnPersonalizar').click();">Personalizar</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -9,6 +9,7 @@ using System.Data;
using Microsoft.Reporting.WebForms;
using System.Text;
public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
{
private DataTable DTDatos
@@ -30,11 +31,16 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
{
CargaFiltros();
CargarDatos();
CargaAlamacenes();
}
}
private void CargarDatos()
{
string Cves_Alamcenes = ddlAlmacen.GetSelectedValuesM();
DateTime FI = ModExtensiones.MinFecha;
if (TxtFechaInicio.Text != "") FI = TxtFechaInicio.Text.ToDate();
@@ -44,7 +50,7 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
// aqui siempre se visualiza la caducidad, sin importar la condición, porque siempre se valida la caducidad
ClsInventarios ObjInventarios = new ClsInventarios();
if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(), FI, TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(),
DdlClasificacion.SelectedValue.ToEntero(), CvePS, 1,"1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
DdlClasificacion.SelectedValue.ToEntero(), CvePS, 1, Cves_Alamcenes, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Opcion:DdlOpcion.SelectedValue.ToEntero()))
{
GvDatos.DataSource = ObjInventarios.DtResultados;
DTDatos = ObjInventarios.DtResultados;
@@ -60,6 +66,7 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
CargarSucursales();
CargarClasificaciones();
}
private void CargarFechaText()
@@ -89,6 +96,9 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
DdlSucursal.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSucursal.DataBind();
DdlSucursal.Items.Insert(0, new ListItem("Todas", "-1"));
}
private void CargarClasificaciones()
@@ -104,6 +114,32 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
DdlClasificacion.Items.Insert(0,new ListItem("Todas","-1"));
}
private void CargaAlamacenes(int CveSubProyectoFiltro = -1)
{
ddlAlmacen.Items.Clear();
if (CveSubProyectoFiltro > 0)
{
ddlAlmacen.DataSource = get_GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveSubProyecto = {CveSubProyectoFiltro}");
}
else
{
ddlAlmacen.DataSource = get_GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1);
}
ddlAlmacen.DataBind();
ddlAlmacen.Items.Insert(0, new ListItem("Todos", "-1"));
UPFiltros.Update();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargarDatos();
@@ -134,6 +170,11 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
@params.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
@params.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
@params.Add(new ReportParameter("OcultaCaducidad", ChkTiempoCaducidad.Checked ? "0": "1" ));
var logouri = string.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
System.IO.FileInfo Imagen = new System.IO.FileInfo(string.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
if (Imagen.Exists)
@@ -148,4 +189,35 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
ImprimirPDF("Empresas/Grales/Formatos/RepProductosCaducidad.rdlc", DTDatos, @params, "Reporte de Productos por Caducar", formato);
}
protected void DdlSucursal_SelectedIndexChanged(object sender, EventArgs e)
{
CargaAlamacenes(DdlSucursal.SelectedValue.ToEntero());
}
protected void BtnPersonalizar_Click(object sender, EventArgs e)
{
Personaliza();
}
private void Personaliza()
{
if (ChkTiempoCaducidad.Checked)
{
GvDatos.Columns[5].Visible = true;
}
else
{
GvDatos.Columns[5].Visible = false;
}
CargarDatos();//Si no se recarga no se muestran los valores dela la columna de tiempo caducindad laprimera vez que pasa de oculta a mostrarse
UpDatos.Update();
}
}

View File

@@ -43,7 +43,10 @@ public partial class Inventarios_RepTraspasoEmitido : ClsPaginas
ObjInv.Dispose();
GvDatos.DataBind();
UpDatos.Update();
}
}
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[6].Text = String.Format("<a class=\"texto\" href=\"/Compras/PopUpVerFactura.aspx?P={0}\" target=\"_blank\"><i class=\"fa fa-ad-excel\"></i></a>", Encripta(String.Format("OP=DesXmlTra&CVEMOVIMIENTO={0}&EXT={1}&FOLIO={2}&TIPODOCTO={3}", e.Row.DBCampo("CveMovimiento"), "XML",$"Tra-{e.Row.DBCampo("Folio")}","Tra")));

View File

@@ -83,7 +83,7 @@
<div style="">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False"
DataKeyNames="CveSubProyecto,SubProyecto,IdSegNeg,Estatus,Serie,IVA,Calle,NoExt,NoInt,Colonia,Localidad,Municipio,Estado,Pais,CP,CveProyecto,TipoSucursal,EsSucursal,
CvePais,CveEstado,CveMunicipio,CveColonia,AplicaComercioExterior,CvePrecioLista,Correo,Telefono,UTCOffsetVerano,UTCOffsetInvierno,NoVerificaAlmacen,CodigoSucursal"
CvePais,CveEstado,CveMunicipio,CveColonia,AplicaComercioExterior,CvePrecioLista,Correo,Telefono,UTCOffsetVerano,UTCOffsetInvierno,NoVerificaAlmacen,CodigoSucursal,CveLocalidad"
EmptyDataText="No se encontraron SubProyectos" ShowHeader="true" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" GridLines="None">
<Columns>
<asp:BoundField DataField="SubProyecto" HeaderText="Centro de costo" />
@@ -120,6 +120,11 @@
</asp:GridView>
</div>
</div>
<div style="display:none">
<asp:Button ID="BtnValidar" ClientIDMode="Static" runat="server" CssClass="btn btn-primary" OnClick="BtnValidar_Click" Text="validar" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
@@ -180,7 +185,7 @@
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:CheckBox ID="ChkAplicaComercioExterior" AutoPostBack="true" OnCheckedChanged="ChkAplicaComercioExterior_CheckedChanged" runat="server" CssClass="form-control" Checked="false" />
<asp:CheckBox ID="ChkAplicaComercioExterior" AutoPostBack="true" runat="server" CssClass="form-control" Checked="false" />
<label for="<%= ChkAplicaComercioExterior.ClientID.ToString()%>">¿Aplica Comercio Exterior?</label>
</div>
</div>
@@ -273,18 +278,83 @@
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtPais" runat="server" CssClass="form-control" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator Visible="false" ID="RFVPais" runat="server" Enabled="false" CssClass="help-block errorimput miclase" ControlToValidate="TxtPais" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Pais''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator Visible="false" ID="RFVPais" runat="server" Enabled="false" CssClass="help-block errorimput miclase" ControlToValidate="TxtPais" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Pais''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio" ></asp:RequiredFieldValidator>
<label for="<%= TxtPais.ClientID.ToString()%>">Pais:</label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCP" runat="server" CssClass="form-control" MaxLength="5"></asp:TextBox>
<asp:TextBox ID="TxtCP" runat="server" CssClass="form-control" MaxLength="5" onblur="ValidaCodigoPostal()" onkeypress="if(event.key === 'Enter'){return false;}" ></asp:TextBox>
<asp:RequiredFieldValidator Visible="false" ID="RFVCP" runat="server" Enabled="false" CssClass="help-block errorimput miclase" ControlToValidate="TxtCP" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''CP''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtCP" FilterType="Custom" ValidChars="0123456789"></ajax:FilteredTextBoxExtender>
<label for="<%= TxtCP.ClientID.ToString()%>">CP:</label>
<i></i>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPais" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DdlPais_SelectedIndexChanged" runat="server" DataTextField="ClaveSATPaisDescripcion" DataValueField="CvePais" CssClass="form-control select2me" Width="100%">
</asp:DropDownList>
<asp:RequiredFieldValidator Visible="false" ID="RFVDdlPais" InitialValue="-1" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlPais" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Pais''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<label for="<%= DdlPais.ClientID.ToString()%>">Pais:</label>
<i></i>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlEstado" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DdlEstado_SelectedIndexChanged" runat="server" DataTextField="ClaveSATEstadoNombreEstado" DataValueField="CveEstado" CssClass="form-control select2me" Width="100%">
</asp:DropDownList>
<asp:RequiredFieldValidator Visible="false" ID="RFVDdlEstado" InitialValue="-1" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlEstado" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Estado''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<label for="<%= DdlEstado.ClientID.ToString()%>">Estado:</label>
<i></i>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMunicipio" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DdlMunicipio_SelectedIndexChanged" runat="server" DataTextField="ClaveSATMunicipioDescripcion" DataValueField="CveMunicipio" CssClass="form-control select2me" Width="100%">
</asp:DropDownList>
<asp:RequiredFieldValidator Visible="false" ID="RFVDdlMunicipio" InitialValue="-1" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlMunicipio" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Municipio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<label for="<%= DdlMunicipio.ClientID.ToString()%>">Municipio:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList runat="server" ID="DdlLocalidad" CssClass="form-control select2me" DataValueField="CveLocalidad" DataTextField="NombreLocalidad" Width="100%"></asp:DropDownList>
<asp:RequiredFieldValidator Visible="false" ID="RFVDdlLocalidad" InitialValue="-1" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlLocalidad" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Localidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<label for="<%= DdlLocalidad.ClientID.ToString()%>">Localidad:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlColonia" runat="server" AppendDataBoundItems="true" DataTextField="ClaveSATColoniaNombreAsentamiento" DataValueField="CveColonia" CssClass="form-control select2me" Width="100%" AutoPostBack="true" OnSelectedIndexChanged="DdlColonia_SelectedIndexChanged">
</asp:DropDownList>
<asp:RequiredFieldValidator Visible="false" ID="RfvDdlColonia" InitialValue="-1" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlColonia" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Colonia''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<label for="<%= DdlColonia.ClientID.ToString()%>">Colonia:</label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtTelefono" runat="server" CssClass="form-control" MaxLength="15"></asp:TextBox>
<label for="<%= TxtTelefono.ClientID.ToString()%>">Telefono:</label>
@@ -322,38 +392,19 @@
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabComercioExterior" Visible="false" runat="server" HeaderText="Comercio Exterior">
<%-- <ajax:TabPanel ID="TabComercioExterior" Visible="false" runat="server" HeaderText="Comercio Exterior">
<ContentTemplate>
<div class="row">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPais" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DdlPais_SelectedIndexChanged" runat="server" DataTextField="ClaveSATPaisDescripcion" DataValueField="CvePais" CssClass="form-control select2me" Width="50%">
</asp:DropDownList>
<label for="<%= DdlPais.ClientID.ToString()%>">Pais:</label>
</div>
</div>
<div class="row">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlEstado" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DdlEstado_SelectedIndexChanged" runat="server" DataTextField="ClaveSATEstadoNombreEstado" DataValueField="CveEstado" CssClass="form-control select2me" Width="50%">
</asp:DropDownList>
<label for="<%= DdlEstado.ClientID.ToString()%>">Estado:</label>
</div>
</div>
<div class="row">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMunicipio" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DdlMunicipio_SelectedIndexChanged" runat="server" DataTextField="ClaveSATMunicipioDescripcion" DataValueField="CveMunicipio" CssClass="form-control select2me" Width="50%">
</asp:DropDownList>
<label for="<%= DdlMunicipio.ClientID.ToString()%>">Municipio:</label>
</div>
</div>
<div class="row">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlColonia" runat="server" AppendDataBoundItems="true" DataTextField="ClaveSATColoniaNombreAsentamiento" DataValueField="CveColonia" CssClass="form-control select2me" Width="50%">
</asp:DropDownList>
<label for="<%= DdlColonia.ClientID.ToString()%>">Colonia:</label>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabPanel>--%>
</ajax:TabContainer>
</ContentTemplate>
@@ -375,7 +426,7 @@
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
<script >
function C() {
return confirm('¿Está seguro que desea eliminar el SubProyecto?');
}
@@ -386,5 +437,13 @@
document.getElementById("hiddenModalContent").style.display = "none";
}
function ValidaCodigoPostal() {
$("#BtnValidar").click();
}
</script>
</asp:Content>

View File

@@ -74,6 +74,7 @@ Partial Class CatSubProyectos
CargaEstado()
CargaMunicipio()
CargaColonia()
CargaLocalidad()
CargaPrecioLista()
@@ -301,7 +302,9 @@ Partial Class CatSubProyectos
DdlMunicipio.SelectedValueExist(GvRow.DataKey("CveMunicipio"))
CargaColonia()
DdlColonia.SelectedValueExist(GvRow.DataKey("CveColonia"))
AplicaComercio()
CargaLocalidad()
DdlLocalidad.SelectedValueExist(GvRow.DataKey("CveLocalidad"))
'AplicaComercio()
ChkNoVerificaAlmacen.Checked = If(GvRow.DataKey("NoVerificaAlmacen").ToString = "True", True, False)
TxtCodigoSucursal.Text = (GvRow.DataKey("CodigoSucursal"))
@@ -368,12 +371,52 @@ Partial Class CatSubProyectos
Dim IdSeg As Integer
If DdlSegmentoNegocio.Visible = True Then IdSeg = DdlSegmentoNegocio.SelectedValue.ToEntero Else IdSeg = 0
'CREA SUBPROYECTO
Dim StrPais As String = ""
Dim StrEstado As String = ""
Dim StrMunicipio As String = ""
Dim StrLocalidad As String = ""
Dim StrColonia As String = ""
If DdlPais.SelectedValue.ToEntero > 0 Then
StrPais = DdlPais.SelectedItem.Text
Else
StrPais = TxtPais.Text
End If
If DdlEstado.SelectedValue.ToEntero > 0 Then
StrEstado = DdlEstado.SelectedItem.Text
Else
StrEstado = TxtEstado.Text
End If
If DdlMunicipio.SelectedValue.ToEntero > 0 Then
StrMunicipio = DdlMunicipio.SelectedItem.Text
Else
StrMunicipio = TxtMunicipio.Text
End If
If DdlLocalidad.SelectedValue.ToEntero > 0 Then
StrLocalidad = DdlLocalidad.SelectedItem.Text
Else
StrLocalidad = TxtLocalidad.Text
End If
If DdlColonia.SelectedValue.ToEntero > 0 Then
StrColonia = DdlColonia.SelectedItem.Text
Else
StrColonia = TxtColonia.Text
End If
'CREA SUBPROYECTO
If HdnModalidad.Value = "I" Then
If Not ObjSubproyectos.AddCentroCosto(TxtCentroCosto.Text.Trim, IdSeg, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, Serie:=TxtSerie.Text.Trim, IVA:=TxtIVA.Text.ToDecimal, Calle:=TxtCalle.Text.Trim, NoExt:=TxtNoExt.Text.Trim,
NoInt:=TxtNoInt.Text.Trim, Colonia:=TxtColonia.Text.Trim, Localidad:=TxtLocalidad.Text.Trim, Municipio:=TxtMunicipio.Text.Trim, Estado:=TxtEstado.Text.Trim, Pais:=TxtPais.Text.Trim, CP:=TxtCP.Text.Trim, TipoSucursal:=TipoSucursal, EsSucursal:=EsSucursal,
NoInt:=TxtNoInt.Text.Trim, Colonia:=StrColonia, Localidad:=StrLocalidad, Municipio:=StrMunicipio, Estado:=StrEstado, Pais:=StrPais, CP:=TxtCP.Text.Trim, TipoSucursal:=TipoSucursal, EsSucursal:=EsSucursal,
CvePais:=DdlPais.SelectedValue.ToEntero, CveEstado:=DdlEstado.SelectedValue.ToEntero, CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero, CveColonia:=DdlColonia.SelectedValue.ToEntero, AplicaComercioExterior:=ChkAplicaComercioExterior.Checked, Correo:=TxtCorreo.Text, CvePrecioLista:=DdlPrecioLista.SelectedValue.ToEntero,
Telefono:=TxtTelefono.Text, NoVerificaAlmacen:=ChkNoVerificaAlmacen.Checked, CodigoSucursal:=TxtCodigoSucursal.Text.Trim) Then
Telefono:=TxtTelefono.Text, NoVerificaAlmacen:=ChkNoVerificaAlmacen.Checked, CodigoSucursal:=TxtCodigoSucursal.Text.Trim, CveLocalidad:=DdlLocalidad.SelectedValue.ToEntero) Then
TieneError = True
Else
CveSubProyecto = ObjSubproyectos.CveSubProyecto
@@ -381,9 +424,9 @@ Partial Class CatSubProyectos
Else
If (HorarioVerano > -13 And HorarioVerano < 13) And (HorarioInvierno > -13 And HorarioInvierno < 13) Then
If Not ObjSubproyectos.UpdateCentroCosto(CveCentroCosto, TxtCentroCosto.Text.Trim, IdSeg, If(ChkEstatus.Checked = True, 1, 0), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, Serie:=TxtSerie.Text.Trim, IVA:=TxtIVA.Text.ToDecimal, Calle:=TxtCalle.Text.Trim, NoExt:=TxtNoExt.Text.Trim,
NoInt:=TxtNoInt.Text.Trim, Colonia:=TxtColonia.Text.Trim, Localidad:=TxtLocalidad.Text.Trim, Municipio:=TxtMunicipio.Text.Trim, Estado:=TxtEstado.Text.Trim, Pais:=TxtPais.Text.Trim, CP:=TxtCP.Text.Trim, TipoSucursal:=TipoSucursal, EsSucursal:=EsSucursal,
NoInt:=TxtNoInt.Text.Trim, Colonia:=StrColonia, Localidad:=TxtLocalidad.Text.Trim, Municipio:=StrMunicipio, Estado:=StrEstado, Pais:=StrPais, CP:=TxtCP.Text.Trim, TipoSucursal:=TipoSucursal, EsSucursal:=EsSucursal,
CvePais:=DdlPais.SelectedValue.ToEntero, CveEstado:=DdlEstado.SelectedValue.ToEntero, CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero, CveColonia:=DdlColonia.SelectedValue.ToEntero, AplicaComercioExterior:=ChkAplicaComercioExterior.Checked, Correo:=TxtCorreo.Text, CvePrecioLista:=DdlPrecioLista.SelectedValue.ToEntero,
Telefono:=TxtTelefono.Text, HorarioVerano:=TxtHorarioVerano.Text.ToEntero, HorarioInvierno:=TxtHorarioInvierno.Text.ToEntero, NoVerificaAlmacen:=ChkNoVerificaAlmacen.Checked, CodigoSucursal:=TxtCodigoSucursal.Text.Trim) Then
Telefono:=TxtTelefono.Text, HorarioVerano:=TxtHorarioVerano.Text.ToEntero, HorarioInvierno:=TxtHorarioInvierno.Text.ToEntero, NoVerificaAlmacen:=ChkNoVerificaAlmacen.Checked, CodigoSucursal:=TxtCodigoSucursal.Text.Trim, CveLocalidad:=DdlLocalidad.SelectedValue.ToEntero) Then
TieneError = True
End If
Else
@@ -668,7 +711,7 @@ Partial Class CatSubProyectos
ChkEsMatriz.Checked = False
ChkEsSucursal.Checked = False
ChkAplicaComercioExterior.Checked = False
TabComercioExterior.Visible = False
'TabComercioExterior.Visible = False
TxtSerie.Text = ""
TxtIVA.Text = "0.16"
@@ -689,6 +732,7 @@ Partial Class CatSubProyectos
CargaEstado()
CargaMunicipio()
CargaColonia()
CargaLocalidad()
If UsuarioActual.Empresa.UsaContabilidad Then
CargaSegmentosNegocio()
@@ -699,7 +743,8 @@ Partial Class CatSubProyectos
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarCentroCosto"))
End Sub
Private Sub CargaRequired()
Private Sub CargaRequired()
If ChkEsSucursal.Checked = True Then
RFVSerie.Enabled = True
RFVIVA.Enabled = True
@@ -723,6 +768,14 @@ Partial Class CatSubProyectos
RFVPais.Visible = True
RFVCP.Visible = True
RFVCP.Visible = True
RFVDdlPais.Visible = True
RFVDdlEstado.Visible = True
RFVMunicipio.Visible = True
RFVLocalidad.Visible = True
RFVColonia.Visible = True
Else
RFVSerie.Enabled = False
RFVIVA.Enabled = False
@@ -746,6 +799,14 @@ Partial Class CatSubProyectos
RFVPais.Visible = False
RFVCP.Visible = False
RFVCP.Visible = False
RFVDdlPais.Visible = False
RFVDdlEstado.Visible = False
RFVMunicipio.Visible = False
RFVLocalidad.Visible = False
RFVColonia.Visible = False
End If
End Sub
@@ -790,36 +851,82 @@ Partial Class CatSubProyectos
End If
DdlColonia.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlColonia.DataBind()
End Sub
Protected Sub CargaLocalidad()
DdlLocalidad.Items.Clear()
If DdlEstado.SelectedValue.ToEntero > 0 Then
DdlLocalidad.DataSource = GlobalDTLocalidad(DdlEstado.SelectedValue.ToEntero, DdlMunicipio.SelectedValue.ToEntero)
DdlLocalidad.DataBind()
End If
DdlLocalidad.Items.Insert(0, New ListItem("Seleccione una", "-1"))
End Sub
Protected Sub DdlPais_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaEstado()
CargaMunicipio()
CargaColonia()
CargaLocalidad()
End Sub
Protected Sub DdlEstado_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaMunicipio()
CargaColonia()
End Sub
Protected Sub DdlMunicipio_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaColonia()
End Sub
Protected Sub ChkAplicaComercioExterior_CheckedChanged(sender As Object, e As EventArgs)
AplicaComercio()
End Sub
Private Sub AplicaComercio()
If ChkAplicaComercioExterior.Checked Then
TabComercioExterior.Visible = True
Else
TabComercioExterior.Visible = False
End If
UpBodyCentroCosto.Update()
End Sub
CargaLocalidad()
End Sub
Protected Sub DdlMunicipio_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaColonia()
CargaLocalidad()
End Sub
'Protected Sub ChkAplicaComercioExterior_CheckedChanged(sender As Object, e As EventArgs)
' AplicaComercio()
'End Sub
'Private Sub AplicaComercio()
' If ChkAplicaComercioExterior.Checked Then
' TabComercioExterior.Visible = True
' Else
' TabComercioExterior.Visible = False
' End If
' UpBodyCentroCosto.Update()
'End Sub
#End Region
Protected Sub BtnValidar_Click(sender As Object, e As EventArgs)
validaCodigoPostal()
End Sub
Protected Sub DdlColonia_SelectedIndexChanged(sender As Object, e As EventArgs)
validaCodigoPostal()
End Sub
Private Sub validaCodigoPostal()
Dim CPTxt As Integer = TxtCP.Text.ToEntero()
Dim CveColonia As Integer = DdlColonia.SelectedValue.ToEntero
If CPTxt > 0 And CveColonia > 0 Then
Dim CP As Integer = GlobalDTColonia("-1").FiltroPrimeroValor("CP", $"CveColonia = {CveColonia}").ToEntero
If CPTxt <> CP Then
Alert("El codigo postal selecionado es diferente del codigo postal de la Colonia.", TipoMensaje.MsgAdvertencia)
End If
End If
End Sub
End Class

View File

@@ -2078,6 +2078,11 @@
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</div>
</div>
</div>
@@ -6569,6 +6574,11 @@
$("#C_Tab_TabContratos_tab").click(function () { CargaContratos(); });
}
var isAsyncPostback = Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack();
if (isAsyncPostback) {
tb_init('a.thickbox');
}
}
$(document).on('mouseenter', ".truncate", function () {
var $this = $(this);
@@ -7293,6 +7303,13 @@
$get("BtnCambiaPorcentaje").click();
}
</script>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=drawing&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"></script>

View File

@@ -1337,6 +1337,15 @@ Partial Class Ventas
ViewState("Adjunto") = value
End Set
End Property
Private Property ListaAnticiposAplicados As List(Of MAnticipoRelacionado)
Get
Return If(IsNothing(ViewState("ListaAnticiposAplicados")), Nothing, CType(ViewState("ListaAnticiposAplicados"), List(Of MAnticipoRelacionado)))
End Get
Set(value As List(Of MAnticipoRelacionado))
ViewState("ListaAnticiposAplicados") = value
End Set
End Property
#End Region
#Region "Propiedades PuntoVenta"
@@ -4091,8 +4100,14 @@ Partial Class Ventas
CveVenta = If(CveCotizacion > 0, CveCotizacion, CveVenta)
CveVenta = If(CvePedido > 0, CvePedido, CveVenta)
Dim DtAntRelacionados As DataTable = Nothing
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetVentasRelacionadas(CveVenta, UsuarioActual.CveEmpresa) Then
DtAntRelacionados = ObjVentas.DtResultados.Copy()
End If
Dim SerieFolioPadre As String
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
@@ -4527,7 +4542,17 @@ Partial Class Ventas
If DbRowVenta("CveTipoRelacion").ToString().ToEntero() > 0 Then
TrTipoRelacion.Visible = True
DdlTiposRelacion.SelectedValueExist(DbRowVenta("CveTipoRelacion").ToString().ToEntero())
HdnFolioFiscalNC.Value = DbRowVenta("FolioFiscalPadre").ToString()
'RELACIONAR ANTICIPOS APLICADOS
If DbRowVenta("CveTipoRelacion").ToString().ToEntero() = 7 AndAlso DtAntRelacionados IsNot Nothing AndAlso DtAntRelacionados.Rows.Count > 0 Then
DdlTipoRelacionAnticipo.SelectedValueExist(7)
ListaAnticiposAplicados = New List(Of MAnticipoRelacionado)()
For Each RowAnt As DataRow In DtAntRelacionados.Rows
ListaAnticiposAplicados.Add(New MAnticipoRelacionado() With {.CveVenta = RowAnt("CveVentaRelacionada").ToString().ToEntero(), .FolioFiscal = RowAnt("FolioFiscal").ToString()})
Next
Else
HdnFolioFiscalNC.Value = DbRowVenta("FolioFiscalPadre").ToString()
End If
End If
If DbRowVenta("Saldo").ToString().ToDouble < 0.01 Then
@@ -4617,6 +4642,9 @@ Partial Class Ventas
TrTipoRelacion2.Visible = True
LblTipoRelacion.Text = DbRowVenta("TipoRelacion").ToString()
HdnFolioFiscalNC.Value = DbRowVenta("FolioFiscalPadre").ToString()
End If
@@ -5051,69 +5079,7 @@ Partial Class Ventas
End If
'ACTIVA BOTONERA | DEBE TENER CONCEPTOS PENDIENTES DE FACTURAR
If TmpDT.SUM("CantidadFacturadaCot") < TmpDT.SUM("Cantidad") AndAlso DdlTipoComprobante.SelectedValue.Contiene("Cot") Then
If UsuarioActual.TienePermisoProceso(199) Then
BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True)
Else
BtnGenerarRemision.Visible = False
End If
If UsuarioActual.TienePermisoProceso(60) Then BtnsFacturar.Visible = True 'puede facturar
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso UsuarioActual.TienePermisoProceso(60) Then
Select Case UsuarioActual.Empresa.Funcionalidad(135)
Case "1" ' POR SUPERVISOR
Dim ObjVendedores As New ClsVtaVendedores
If ObjVendedores.GetVendedores(UsuarioActual.CveEmpresa) Then
Dim DTVendedores As New DataTable
If DbRowVenta("CveVendedor").ToString().ToEntero() > 0 AndAlso UsuarioActual.CveVendedor > 0 Then
DTVendedores = ObjVendedores.DtResultados.FiltraParametros(String.Format("CveVendedor = {0}", DbRowVenta("CveVendedor").ToString())).FiltraParametros(String.Format("CveSupervisor = {0}", UsuarioActual.CveVendedor))
End If
'Verifico si es su supervisor asignado
If DTVendedores.Rows.Count > 0 Then
If GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() = 2 Then
BtnsFacturar.Visible = True
If UsuarioActual.TienePermisoProceso(199) Then
BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True)
Else
BtnGenerarRemision.Visible = False
End If
Else
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End If
DTVendedores.Dispose()
End If
ObjVendedores.Dispose()
Case "2" ' POR PERMISO
If GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() = 2 Then
BtnsFacturar.Visible = UsuarioActual.TienePermisoProceso(60)
If UsuarioActual.TienePermisoProceso(199) Then
BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True)
Else
BtnGenerarRemision.Visible = False
End If
Else
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End Select
End If
LBFacturarAnticipo.Visible = UsuarioActual.TienePermisoProceso(274)
End If
VerificarBtnFacturarCotizacion(DbRowVenta("CveVendedor").ToString().ToEntero())
End If
If UsuarioActual.Empresa.Funcionalidad(280) = "1" Then
@@ -5227,6 +5193,75 @@ Partial Class Ventas
ObjVentas.Dispose()
Return Retorno
End Function
Private Sub VerificarBtnFacturarCotizacion(CveVendedor As Integer, Optional MostrarGenerarRemision As Boolean = True)
If TmpDT.SUM("CantidadFacturadaCot") < TmpDT.SUM("Cantidad") AndAlso DdlTipoComprobante.SelectedValue.Contiene("Cot") Then
If UsuarioActual.TienePermisoProceso(199) Then
BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True)
Else
BtnGenerarRemision.Visible = False
End If
If UsuarioActual.TienePermisoProceso(60) Then BtnsFacturar.Visible = True 'puede facturar
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso UsuarioActual.TienePermisoProceso(60) Then
Select Case UsuarioActual.Empresa.Funcionalidad(135)
Case "1" ' POR SUPERVISOR
Dim ObjVendedores As New ClsVtaVendedores
If ObjVendedores.GetVendedores(UsuarioActual.CveEmpresa) Then
Dim DTVendedores As New DataTable
If CveVendedor > 0 AndAlso UsuarioActual.CveVendedor > 0 Then
DTVendedores = ObjVendedores.DtResultados.FiltraParametros(String.Format("CveVendedor = {0}", CveVendedor)).FiltraParametros(String.Format("CveSupervisor = {0}", UsuarioActual.CveVendedor))
End If
'Verifico si es su supervisor asignado
If DTVendedores.Rows.Count > 0 Then
If GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() = 2 Then
BtnsFacturar.Visible = True
If UsuarioActual.TienePermisoProceso(199) Then
BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True)
Else
BtnGenerarRemision.Visible = False
End If
Else
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End If
DTVendedores.Dispose()
End If
ObjVendedores.Dispose()
Case "2" ' POR PERMISO
If GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() = 2 Then
BtnsFacturar.Visible = UsuarioActual.TienePermisoProceso(60)
If UsuarioActual.TienePermisoProceso(199) Then
BtnGenerarRemision.Visible = If(CveEstatus = 10, False, True)
Else
BtnGenerarRemision.Visible = False
End If
Else
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End Select
End If
If BtnGenerarRemision.Visible AndAlso Not MostrarGenerarRemision Then
BtnGenerarRemision.Visible = False
End If
LBFacturarAnticipo.Visible = UsuarioActual.TienePermisoProceso(274)
End If
End Sub
Private Sub CargaTiposDocumentos()
DdlTipoComprobante.DataSource = GlobalDTTiposDocumentos()
DdlTipoComprobante.DataBind()
@@ -6093,9 +6128,9 @@ Partial Class Ventas
Using ObjVentas As New ClsVentas
If ObjVentas.GetVentasRelacionadas(CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
'SI LA FACTURA NO SE TIMBRO QUE VUELVA A INTENTAR FACTURAR
If LblSeTimbro.Text = "No" Then
Me.AplicaRelacionManual = True
End If
'If LblSeTimbro.Text = "No" Then
' Me.AplicaRelacionManual = True
'End If
For Each RowRelacionada As DataRow In ObjVentas.DtResultados.Rows
Dim Row As DataRow = TmpDTFacturasRelacionadas.NewRow()
@@ -6250,17 +6285,23 @@ Partial Class Ventas
Dim ValorAutorizacion As String = UsuarioActual.Empresa.Funcionalidad(595)
'OBLIGAR PAGO DE CONTADO SI EL CLIENTE NO PERMITE CREDITO
If UsuarioActual.Empresa.Funcionalidad(570) = "1" AndAlso Me.PermiteCredito = False AndAlso ((DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem") AndAlso CveVenta < 1) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot") AndAlso EsCreaApartirDe)) Then
If UsuarioActual.Empresa.Funcionalidad(570) = "1" AndAlso Me.PermiteCredito = False AndAlso ((DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem") AndAlso CveVenta < 1) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot") AndAlso EsCreaApartirDe) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso CveVenta > 0)) Then
RBLPago.SelectedValue = "2"
RBLPago.Items(0).Enabled = False
RBLPago_SelectedIndexChanged(Nothing, Nothing)
'GENERAR UNA AUTORIZACIÓN SI EL CLIENTE NO PERMITE CREDITO
If UsuarioActual.Empresa.Funcionalidad(595) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(268) Then
DdlTipoComprobante.SelectedValueExistInsert("PA", "Autorización")
DdlTipoComprobante.SelectedValue = "PA"
'SI LLEGÓ POR LA OPCIÓN DE COTIZACIÓN NO DEBE DE RESTRINGUIR
If IfNull(Request("Op"), "").ToString() = "Cot" OrElse (DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0) Then
DdlTipoComprobante.SelectedValue = "Cot"
BtnGenerarRemision.Visible = False
Else
DdlTipoComprobante.SelectedValueExistInsert("PA", "Autorización")
DdlTipoComprobante.SelectedValue = "PA"
End If
TxtFechaPago.Text = Now.AddDays(PlazoCobranza).ToShortDateString
'si llegó por la opción de cotización no debe de restringuir
If IfNull(Request("Op"), "").ToString() = "Cot" Then DdlTipoComprobante.SelectedValue = "Cot"
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ing"))
If Not UsuarioActual.TienePermisoProceso(325) Then
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant"))
@@ -6274,7 +6315,7 @@ Partial Class Ventas
'CARGAR CREDITO DISPONIBLE AL GENERAR UNA FACTURA
End If
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot", "PA") AndAlso CveVenta <= 0 AndAlso RBLPago.SelectedValue = "1" AndAlso PermiteCredito Then
If ((DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot", "PA") AndAlso CveVenta <= 0) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso CveVenta > 0)) AndAlso RBLPago.SelectedValue = "1" AndAlso PermiteCredito Then
'FUNCIONALIDAD 702 - NO VERIFICAR LIMITE DE CRÉDITO Y CANDADOS DE VENTA
If Not UsuarioActual.Empresa.Funcionalidad(702) = "1" Then
RBLPago.SelectedValue = "1"
@@ -6288,7 +6329,7 @@ Partial Class Ventas
LblCreditoDisponible.Text = CreditoDispo.FormatoNumero
If PorcentajeCredito > 80 Then TrPorcentajeCredito.Visible = True : LblPorcentajeCredito.Text = $"{PorcentajeCredito.FormatoNumero}%"
If Not UsuarioActual.TienePermisoProceso(268) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "PA") AndAlso (Not UsuarioActual.Empresa.Funcionalidad(702).Contiene("2")) Then
If Not UsuarioActual.TienePermisoProceso(268) AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "PA") OrElse (DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso CveVenta > 0)) AndAlso (Not UsuarioActual.Empresa.Funcionalidad(702).Contiene("2")) Then
Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: <br> <br> {0}", Vta.SerieVenta)
@@ -6304,7 +6345,7 @@ Partial Class Ventas
DdlTipoComprobante.SelectedValue = "PA"
TxtFechaPago.Text = Now.AddDays(PlazoCobranza).ToShortDateString
'si llegó por la opción de cotización no debe de restringuir
If IfNull(Request("Op"), "").ToString() = "Cot" Then DdlTipoComprobante.SelectedValue = "Cot"
If IfNull(Request("Op"), "").ToString() = "Cot" OrElse (DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0) Then DdlTipoComprobante.SelectedValue = "Cot"
'quito remisión y factura
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ing"))
If Not UsuarioActual.TienePermisoProceso(325) Then
@@ -6363,7 +6404,7 @@ Partial Class Ventas
DdlTipoComprobante.SelectedValue = "PA"
TxtFechaPago.Text = Now.AddDays(PlazoCobranza).ToShortDateString
'si llegó por la opción de cotización no debe de restringuir
If IfNull(Request("Op"), "").ToString() = "Cot" Then DdlTipoComprobante.SelectedValue = "Cot"
If IfNull(Request("Op"), "").ToString() = "Cot" OrElse (DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0) Then DdlTipoComprobante.SelectedValue = "Cot"
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ing"))
If Not UsuarioActual.TienePermisoProceso(325) Then
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant"))
@@ -6375,6 +6416,27 @@ Partial Class Ventas
LnkPedido2SinFacturar.Visible = False
LnkCotizaciones.Visible = False
LnkOCs.Visible = False
Else
'VERIFICAR LIMITE DE CREDITO
If DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 AndAlso RBLPago.SelectedValue = "1" Then
If CreditoDispo < 0 Then
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
Alert("El límite de crédito se ha excedido", TipoMensaje.MsgAdvertencia)
End If
End If
If DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 Then
Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: <br> <br> {0}", Vta.SerieVenta)
Vta.Dispose()
If Opcion > 0 Then
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
End If
End If
End If
Case "2" 'Autorizacion desde una solicitud del catalogo de autorizaciones
'RMF. validacion temporal
@@ -6399,6 +6461,18 @@ Partial Class Ventas
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
End If
Else
'VERIFICAR CANDADOS DE VENTA
If DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 Then
Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: <br> <br> {0}", Vta.SerieVenta)
Vta.Dispose()
If Opcion > 0 Then
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
End If
End If
If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
RBLPago.SelectedValue = "2"
@@ -6421,9 +6495,25 @@ Partial Class Ventas
End If
End If
UPPCreditoDisponible.Update()
Else
'VERIFICAR RESTRICCIONES DEL CLIENTE
If DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 AndAlso RBLPago.SelectedValue = "2" Then
Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: <br> <br> {0}", Vta.SerieVenta)
Vta.Dispose()
If Opcion > 0 Then
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
End If
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End If
UPPCreditoDisponible.Update()
'Puede hacer pedido
If CveVenta <= 0 Then
If Not UsuarioActual.TienePermisoProceso(177) Then
@@ -7130,7 +7220,7 @@ Partial Class Ventas
If ValidaExistencia AndAlso DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False AndAlso Not RegistroxOC Then
'VALIDA EXISTENCIA
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) Then
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 140, 153}) Then
If Existencia - TmpDT.SUM("Cantidad", $"CvePS = {CvePS} AND (EntregaDirecta IS NULL OR EntregaDirecta < 1)") < TxtCantidad.Text.ToDouble Then
Alert("No cuenta con la cantidad suficiente en inventario. Cuenta con " + Existencia.FormatoNumero(2) + ".", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -8343,6 +8433,11 @@ Partial Class Ventas
' cambiar la condicion para saber si hay seleccionado
If (TieneAnticipo AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "2") OrElse NCDescuento Then
Try
'LIMPIA LOS ANTICIPOS RELACIONADOS QUE YA SE APLICARON
If ListaAnticiposAplicados IsNot Nothing Then
ListaAnticiposAplicados.Clear()
End If
Dim CveVentaRelacionada As Integer = -1
If NuevaFactura = 1 Then
CveVentaRelacionada = ObjFactura.CveVenta
@@ -8822,7 +8917,7 @@ Partial Class Ventas
Liga2 = $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}"";"
End If
Alert(MensajeAlert.ToString(), TipoMensaje.MsgVentasDosBotones, Liga, TextoConfirmacion:="Seguir Registrando", TextoSegundoBoton:="Ir al Cliente", JSBtn2:=Liga2)
Alert(MensajeAlert.ToString(), TipoMensaje.MsgDosBotones, Liga, TextoConfirmacion:="Seguir Registrando", TextoSegundoBoton:="Ir al Cliente", JSBtn2:=Liga2, ShowCloseButton:=False)
MensajeAlert.Clear()
@@ -10167,15 +10262,24 @@ Partial Class Ventas
'Amortizacion
ObjFactura.CveTipoRelacion = DdlTipoRelacionAnticipo.SelectedValue.ToEntero()
If ObjFactura.CveTipoRelacion > 0 Then
Select Case ObjFactura.CveTipoRelacion
Case 7
ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = "07"
ObjFactura.Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
ObjFactura.Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
End Select
End If
'If ObjFactura.CveTipoRelacion > 0 Then
' Select Case ObjFactura.CveTipoRelacion
' Case 7
' ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = "07"
' ObjFactura.Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
' If ListaAnticiposAplicados IsNot Nothing Then
' For Each Ant As MAnticipoRelacionado In ListaAnticiposAplicados
' ObjFactura.Timbre.CFDIRelacionados.UUID.Add(Ant.FolioFiscal)
' Next
' End If
' 'ObjFactura.Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
' End Select
'End If
ObjFactura.AplicaDevolucion = Me.AplicaDevolucion
ObjFactura.CveTipoAmortizacionAnticipo = DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero()
@@ -10705,8 +10809,14 @@ Partial Class Ventas
Timbre.CFDIRelacionados.UUID.Add(Dr("FolioFiscal").ToString())
Next
Else
If Not String.IsNullOrEmpty(HdnFolioFiscalNC.Value.Trim()) Then
Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
If ListaAnticiposAplicados IsNot Nothing AndAlso ListaAnticiposAplicados.Count > 0 Then
For Each Ant As MAnticipoRelacionado In ListaAnticiposAplicados
Timbre.CFDIRelacionados.UUID.Add(Ant.FolioFiscal)
Next
Else
If Not String.IsNullOrEmpty(HdnFolioFiscalNC.Value.Trim()) AndAlso HdnFolioFiscalNC.Value <> "0" Then
Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
End If
End If
End If
@@ -11371,9 +11481,17 @@ Partial Class Ventas
'SI TIENE UN ANTICIPO TAMBIEN DEBE RELACIONARLO
If CveAnticipoPadre > 0 Then
If Not ObjVentas.AddVentasRelacionadas(ObjVentas.CveVenta, CveAnticipoPadre) Then
ErrorList.Add("Ocurrió un error al relacionar las ventas entre si comuníquese a Soporte Técnico")
If ListaAnticiposAplicados IsNot Nothing Then
For Each Ant As MAnticipoRelacionado In ListaAnticiposAplicados
If Not ObjVentas.AddVentasRelacionadas(ObjVentas.CveVenta, Ant.CveVenta) Then
ErrorList.Add("Ocurrió un error al relacionar las ventas entre si comuníquese a Soporte Técnico")
End If
Next
End If
'If Not ObjVentas.AddVentasRelacionadas(ObjVentas.CveVenta, CveAnticipoPadre) Then
' ErrorList.Add("Ocurrió un error al relacionar las ventas entre si comuníquese a Soporte Técnico")
'End If
End If
End If
@@ -13484,7 +13602,7 @@ Partial Class Ventas
Exit For
End If
If CveConceptoAlmacen = 3 AndAlso UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing") AndAlso Dr("EntregaDirecta").ToString().ToEntero() < 1 Then
If CveConceptoAlmacen = 3 AndAlso UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 140, 141}) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing") AndAlso Dr("EntregaDirecta").ToString().ToEntero() < 1 Then
Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacen, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1)
If Existencia < Cantidad Then
OcurrioError = True
@@ -13711,195 +13829,195 @@ Partial Class Ventas
Return ErrorPrepoliza
End Function
Private Function generaNC(ByRef ObjVentas As ClsVentas, ByRef ObjConta As ClsContabilidad, ByRef ObjInventario As ClsInventarios, ByRef ObjContr As ClsContratos, ByRef ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ByRef ObjBancos As ClsBancos, ByRef ObjEventos As ClsOIEventos) As List(Of Object)
Dim Obj As New List(Of Object)
Dim CveVentaNueva As Integer = ObjVentas.CveVenta
Dim BanderaGeneraNC As Boolean = True
'If UsuarioActual.CveEmpresa.Contiene(1, 119) Then BanderaGeneraNC = True
'Private Function generaNC(ByRef ObjVentas As ClsVentas, ByRef ObjConta As ClsContabilidad, ByRef ObjInventario As ClsInventarios, ByRef ObjContr As ClsContratos, ByRef ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ByRef ObjBancos As ClsBancos, ByRef ObjEventos As ClsOIEventos) As List(Of Object)
' Dim Obj As New List(Of Object)
' Dim CveVentaNueva As Integer = ObjVentas.CveVenta
' Dim BanderaGeneraNC As Boolean = True
' 'If UsuarioActual.CveEmpresa.Contiene(1, 119) Then BanderaGeneraNC = True
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
Dim drv As DataRow = ObjVentas.DtResultados.Rows(0)
Dim TmpDTconceptos As DataTable = Nothing
Dim CveNCaVincular As Integer = DdlNCFactura.SelectedValue.ToEntero()
'CargaCliente
Dim CveCliente As Integer = drv("CveCliente").ToString().ToEntero()
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 AndAlso Not CveCliente.Contiene(10450, 10460, 10458) Then
Return Nothing
ElseIf UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 21 AndAlso Not CveCliente.Contiene(27448) Then
Return Nothing
End If
factura.TipoDocto = drv("TipoDocto").ToString()
factura.Serie = drv("Serie").ToString()
factura.FechaEjecucion = drv("FechaEjecucion").ToString().ToDateTime
factura.Fecha = drv("Fecha").ToString().ToDateTime
factura.CveSubProyectoEjecucion = drv("CveSubProyectoEjecucion").ToString().ToEntero()
factura.CveSubProyectoCobranza = drv("CveSubProyectoCobranza").ToString().ToEntero()
factura.CveClienteSucursal = drv("CveClienteSucursal").ToString().ToEntero()
factura.CveSubProyecto = drv("CveSubProyecto").ToString().ToEntero()
' If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
' If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
' Dim drv As DataRow = ObjVentas.DtResultados.Rows(0)
' Dim TmpDTconceptos As DataTable = Nothing
' Dim CveNCaVincular As Integer = DdlNCFactura.SelectedValue.ToEntero()
' 'CargaCliente
' Dim CveCliente As Integer = drv("CveCliente").ToString().ToEntero()
' If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 AndAlso Not CveCliente.Contiene(10450, 10460, 10458) Then
' Return Nothing
' ElseIf UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 21 AndAlso Not CveCliente.Contiene(27448) Then
' Return Nothing
' End If
' factura.TipoDocto = drv("TipoDocto").ToString()
' factura.Serie = drv("Serie").ToString()
' factura.FechaEjecucion = drv("FechaEjecucion").ToString().ToDateTime
' factura.Fecha = drv("Fecha").ToString().ToDateTime
' factura.CveSubProyectoEjecucion = drv("CveSubProyectoEjecucion").ToString().ToEntero()
' factura.CveSubProyectoCobranza = drv("CveSubProyectoCobranza").ToString().ToEntero()
' factura.CveClienteSucursal = drv("CveClienteSucursal").ToString().ToEntero()
' factura.CveSubProyecto = drv("CveSubProyecto").ToString().ToEntero()
'Carga Detalle Sucursal
CargaClienteSucursal(drv("CveClienteSucursal").ToString().ToEntero(), ObjVentas)
' 'Carga Detalle Sucursal
' CargaClienteSucursal(drv("CveClienteSucursal").ToString().ToEntero(), ObjVentas)
'CargaDetalle
If ObjVentas.GetVentaDetalle(CveVenta) Then
TmpDTconceptos = ObjVentas.DtResultados
TmpDTconceptos.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
GvPS.DataSource = TmpDTconceptos
GvPS.DataBind()
End If
' 'CargaDetalle
' If ObjVentas.GetVentaDetalle(CveVenta) Then
' TmpDTconceptos = ObjVentas.DtResultados
' TmpDTconceptos.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
' GvPS.DataSource = TmpDTconceptos
' GvPS.DataBind()
' End If
'Carga Totales
factura.SubTotal = drv("SubTotal").ToString().ToDecimal
factura.Descuento = drv("Descuento").ToString().ToDecimal
factura.Amortizacion = drv("Amortizacion").ToString().ToDecimal
factura.IVA = drv("IVA").ToString().ToDecimal
factura.RetIVA = drv("RetIVA").ToString().ToDecimal
factura.RetISR = drv("RetISR").ToString().ToDecimal
factura.Total = drv("Total").ToString().ToDecimal
factura.MotivoDescuento = drv("MotivoDescuento").ToString()
factura.Observaciones = drv("Observaciones").ToString()
factura.CveMoneda = drv("CveMoneda").ToString().ToEntero()
factura.TipoCambio = drv("TipoCambio").ToString().ToDecimal
factura.CveVendedor = drv("CveVendedor").ToString().ToEntero()
factura.RefDocto = drv("Ref").ToString()
'factura.SerieFolioPadre = drv("SerieFolio").ToString()
HdnFolioFiscalNC.Value = drv("FolioFiscal").ToString()
' 'Carga Totales
' factura.SubTotal = drv("SubTotal").ToString().ToDecimal
' factura.Descuento = drv("Descuento").ToString().ToDecimal
' factura.Amortizacion = drv("Amortizacion").ToString().ToDecimal
' factura.IVA = drv("IVA").ToString().ToDecimal
' factura.RetIVA = drv("RetIVA").ToString().ToDecimal
' factura.RetISR = drv("RetISR").ToString().ToDecimal
' factura.Total = drv("Total").ToString().ToDecimal
' factura.MotivoDescuento = drv("MotivoDescuento").ToString()
' factura.Observaciones = drv("Observaciones").ToString()
' factura.CveMoneda = drv("CveMoneda").ToString().ToEntero()
' factura.TipoCambio = drv("TipoCambio").ToString().ToDecimal
' factura.CveVendedor = drv("CveVendedor").ToString().ToEntero()
' factura.RefDocto = drv("Ref").ToString()
' 'factura.SerieFolioPadre = drv("SerieFolio").ToString()
' HdnFolioFiscalNC.Value = drv("FolioFiscal").ToString()
ViewState("FolioFiscal") = drv("FolioFiscal").ToString()
' ViewState("FolioFiscal") = drv("FolioFiscal").ToString()
'JJMQ 20160506: Se agrego para la validacion de pago de contado.
'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
' 'JJMQ 20160506: Se agrego para la validacion de pago de contado.
' 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
UpContado.Update()
If factura.CveCliente > 0 Then
If Not IsNothing(TmpDTconceptos) AndAlso TmpDTconceptos.Rows.Count > 0 Then
' UpContado.Update()
' If factura.CveCliente > 0 Then
' If Not IsNothing(TmpDTconceptos) AndAlso TmpDTconceptos.Rows.Count > 0 Then
If Not drv("Total").ToString().ToDecimal = factura.Total Then
Return Nothing
End If
' If Not drv("Total").ToString().ToDecimal = factura.Total Then
' Return Nothing
' End If
If FolioFiscal = "" Then
CveEstatus = 4
Else
CveEstatus = 5
End If
' If FolioFiscal = "" Then
' CveEstatus = 4
' Else
' CveEstatus = 5
' End If
'[IPP] - CANCELA INVENTARIO DE VENTA NUEVA Y NO TRASPASA MOVTOS DE ALMACEN
'If UsuarioActual.CveEmpresa.Contiene(1) Then
'QUEMA DOCUMENTO NUEVO
If Not ObjInventario.ActualizarEsDevolucionVenta(CveVentaNueva, 2) Then
Return Nothing
End If
'Else
' 'TRASPASA ALMACEN A DOCUMENTO NUEVO
' If Not CancelarMovimientoInventario(ObjInventario, ObjConta, CveVentaNueva, CveDevolucion) Then
' Return Nothing
' End If
'End If
' '[IPP] - CANCELA INVENTARIO DE VENTA NUEVA Y NO TRASPASA MOVTOS DE ALMACEN
' 'If UsuarioActual.CveEmpresa.Contiene(1) Then
' 'QUEMA DOCUMENTO NUEVO
' If Not ObjInventario.ActualizarEsDevolucionVenta(CveVentaNueva, 2) Then
' Return Nothing
' End If
' 'Else
' ' 'TRASPASA ALMACEN A DOCUMENTO NUEVO
' ' If Not CancelarMovimientoInventario(ObjInventario, ObjConta, CveVentaNueva, CveDevolucion) Then
' ' Return Nothing
' ' End If
' 'End If
'CANCELA PAGOS
If ObjFacturaDevolucion.TipoDocto.Contiene("Ing", "Ant") Then
If Not ObjConta.PrePolizasCancelarPagos(CveDevolucion, ObjFactura.CvePrePoliza) Then
Return Nothing
End If
End If
' 'CANCELA PAGOS
' If ObjFacturaDevolucion.TipoDocto.Contiene("Ing", "Ant") Then
' If Not ObjConta.PrePolizasCancelarPagos(CveDevolucion, ObjFactura.CvePrePoliza) Then
' Return Nothing
' End If
' End If
'CANCELA FACTURA
' 'CANCELA FACTURA
BanderaGeneraNC = True
'2019.05.10- RMF. se activa la bandera a true, para que siempre se cancele, y no genere la NC
' BanderaGeneraNC = True
' '2019.05.10- RMF. se activa la bandera a true, para que siempre se cancele, y no genere la NC
If Month(factura.Fecha) = Month(Now) OrElse BanderaGeneraNC = True Then
If CancelarFactura(ObjVentas, ObjConta, ObjContPaq, ObjBancos) Then
Obj.Add(factura)
Else
Return Nothing
End If
Else
ObjFacturaDevolucion.TipoDocto = "Egs"
ObjFacturaDevolucion.Fecha = Now
If RegistrarNC(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjContPaq, ObjFacturaDevolucion, ObjBancos, TmpDTconceptos, ObjEventos) Then
Obj.Add(ObjFacturaDevolucion)
Else
Return Nothing
End If
End If
' If Month(factura.Fecha) = Month(Now) OrElse BanderaGeneraNC = True Then
' If CancelarFactura(ObjVentas, ObjConta, ObjContPaq, ObjBancos) Then
' Obj.Add(factura)
' Else
' Return Nothing
' End If
' Else
' ObjFacturaDevolucion.TipoDocto = "Egs"
' ObjFacturaDevolucion.Fecha = Now
' If RegistrarNC(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjContPaq, ObjFacturaDevolucion, ObjBancos, TmpDTconceptos, ObjEventos) Then
' Obj.Add(ObjFacturaDevolucion)
' Else
' Return Nothing
' End If
' End If
'TRASPASA PAGADO
If Not ObjConta.TraspasarSaldosPrePolizas(CveDevolucion, ObjFactura.CveVenta, ObjFactura.CvePrePoliza) Then
Return Nothing
End If
' 'TRASPASA PAGADO
' If Not ObjConta.TraspasarSaldosPrePolizas(CveDevolucion, ObjFactura.CveVenta, ObjFactura.CvePrePoliza) Then
' Return Nothing
' End If
If Not ObjInventario.TraspasaEntregaDirectaOCInv(ObjFactura.CveVenta, UsuarioActual.CveEmpresa) Then
Return Nothing
End If
' If Not ObjInventario.TraspasaEntregaDirectaOCInv(ObjFactura.CveVenta, UsuarioActual.CveEmpresa) Then
' Return Nothing
' End If
End If
End If
End If
End If
' End If
' End If
' End If
' End If
If Obj.Count > 0 Then
Return Obj
Else
Return Nothing
End If
' If Obj.Count > 0 Then
' Return Obj
' Else
' Return Nothing
' End If
End Function
Private Function RegistrarNC(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjInventario As ClsInventarios, ObjContr As ClsContratos, ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ObjBancos As ClsBancos, TmpDTconceptos As DataTable, ByRef ObjEventos As ClsOIEventos) As Boolean
Dim ProcesoCorrecto As Boolean = True
RefacturacionGeneroNC = True
'End Function
'Private Function RegistrarNC(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjInventario As ClsInventarios, ObjContr As ClsContratos, ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ObjBancos As ClsBancos, TmpDTconceptos As DataTable, ByRef ObjEventos As ClsOIEventos) As Boolean
' Dim ProcesoCorrecto As Boolean = True
' RefacturacionGeneroNC = True
''Generamos el nuevo folio
'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
'If ObjFolios.GetFolios(factura.TipoDocto, UsuarioActual.CveEmpresa) Then
' Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue))
' If DT.Rows.Count > 0 Then
' factura.Folio = DT.Rows(0)("FActual").ToString().ToEntero()
' Else
' ProcesoCorrecto = False
' End If
' DT.Dispose()
'End If
factura.Folio = -1
' ''Generamos el nuevo folio
' 'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
' 'If ObjFolios.GetFolios(factura.TipoDocto, UsuarioActual.CveEmpresa) Then
' ' Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue))
' ' If DT.Rows.Count > 0 Then
' ' factura.Folio = DT.Rows(0)("FActual").ToString().ToEntero()
' ' Else
' ' ProcesoCorrecto = False
' ' End If
' ' DT.Dispose()
' 'End If
' factura.Folio = -1
'Registramos la venta
GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, factura, TmpDTconceptos, -1, ObjContPaq, ObjBancos)
'CargaNCDT(factura.CveVentaPadre, factura.Total)
' 'Registramos la venta
' GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, factura, TmpDTconceptos, -1, ObjContPaq, ObjBancos)
' 'CargaNCDT(factura.CveVentaPadre, factura.Total)
'ObjFacturaDevolucion.Timbre = PreParaTimbre(ObjFacturaDevolucion)
''Timbramos
'If factura.TipoDocto.Contiene("Ing", "Egs", "Ant") AndAlso FolioFiscal <> "" Then
' If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
' 'ObjFacturaDevolucion.Timbre = PreParaTimbre(ObjFacturaDevolucion)
' ''Timbramos
' 'If factura.TipoDocto.Contiene("Ing", "Egs", "Ant") AndAlso FolioFiscal <> "" Then
' ' If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
' Dim sw As New Diagnostics.Stopwatch
' sw.Start()
' ' Dim sw As New Diagnostics.Stopwatch
' ' sw.Start()
' 'FACTURA INGRESO/EGRESO
' Dim ObjTimbrado As New Modelos.Timbrado
' Dim FM As New Modelos.FemsaFactura
' Dim TmpDT7Eleven As New DataTable
' Dim TmpDTComplementosTimbrado As New DataTable
' ' 'FACTURA INGRESO/EGRESO
' ' Dim ObjTimbrado As New Modelos.Timbrado
' ' Dim FM As New Modelos.FemsaFactura
' ' Dim TmpDT7Eleven As New DataTable
' ' Dim TmpDTComplementosTimbrado As New DataTable
' PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
' ' PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
' ObjTimbrado.TimbrarFactura(UsuarioActual, factura, FM, TmpDT, TmpDTImpuestos, TmpDT7Eleven, TmpDTComplementosTimbrado, Ruta, LstFordASN, TxtFordGSDB.Text, ObjVentas)
' ' ObjTimbrado.TimbrarFactura(UsuarioActual, factura, FM, TmpDT, TmpDTImpuestos, TmpDT7Eleven, TmpDTComplementosTimbrado, Ruta, LstFordASN, TxtFordGSDB.Text, ObjVentas)
' sw.Stop()
' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString(), UsuarioActual.Empresa.CvePAC)
' ' sw.Stop()
' ' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString(), UsuarioActual.Empresa.CvePAC)
' ElseIf UsuarioActual.Empresa.TipoFacturacion = "CBB" Then
' GeneraPDFCBB(ObjFactura.Fecha, Nothing, ObjFactura.SerieFolio, False)
' End If
'End If
' ' ElseIf UsuarioActual.Empresa.TipoFacturacion = "CBB" Then
' ' GeneraPDFCBB(ObjFactura.Fecha, Nothing, ObjFactura.SerieFolio, False)
' ' End If
' 'End If
If ErrorList.Count > 0 Then
ProcesoCorrecto = False
End If
' If ErrorList.Count > 0 Then
' ProcesoCorrecto = False
' End If
Return ProcesoCorrecto
End Function
' Return ProcesoCorrecto
'End Function
#End Region
#Region " VISTA PREVIA NEW "
@@ -15003,12 +15121,19 @@ Partial Class Ventas
Dim Amortizacion As Decimal = 0
Dim ImpuestosLocalesTemporal As Decimal = 0
If ListaAnticiposAplicados IsNot Nothing Then
ListaAnticiposAplicados.Clear()
Else
ListaAnticiposAplicados = New List(Of MAnticipoRelacionado)
End If
HdnIVACalculado.Value = HdnIVAOriginal.Value
For Each gvr As GridViewRow In GVAnticipos.Rows
If gvr.FCCheckBox("Chk" & gvr.RowIndex) IsNot Nothing AndAlso gvr.FCCheckBox("Chk" & gvr.RowIndex).Checked AndAlso gvr.DataKey("CveConceptoContable").ToEntero().Contiene(3) Then
Amortizacion += gvr.FCTextBox(String.Format("TxtAnticipo{0}", gvr.RowIndex)).Text.ToDecimal ' - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo").ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)
HdnIVACalculado.Value = (HdnIVACalculado.Value.ToDouble - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo").ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)).FormatoNumero(2)
HdnFolioFiscalNC.Value = gvr.DataKey("FolioFiscal")
ListaAnticiposAplicados.Add(New MAnticipoRelacionado() With {.CveVenta = gvr.DataKey("CveVenta").ToEntero(), .FolioFiscal = gvr.DataKey("FolioFiscal")})
'HdnFolioFiscalNC.Value = gvr.DataKey("FolioFiscal")
'CvePSAmortizacion = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", "CveConceptoContable = 11").ToEntero()
End If
@@ -16740,7 +16865,7 @@ Partial Class Ventas
If DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False Then
'VALIDA EXISTENCIA
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 153}) Then
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 140, 153}) Then
If Existencia - TmpDT.SUM("Cantidad", $"CvePS = {CvePS} AND (EntregaDirecta IS NULL OR EntregaDirecta < 1)") < TxtCantidad.Text.ToDouble Then
Alert("No cuenta con la cantidad suficiente en inventario. Cuenta con " + Existencia.FormatoNumero(2) + ".", TipoMensaje.MsgAdvertencia)
Return False
@@ -20767,7 +20892,7 @@ Partial Class Ventas
End If
Case 2 'CONTADO
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem") Or (UsuarioActual.Empresa.Funcionalidad(558).ToEntero() = 1 And DdlTipoComprobante.SelectedValue = "Cot") Then
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem") OrElse (UsuarioActual.Empresa.Funcionalidad(558).ToEntero() = 1 And DdlTipoComprobante.SelectedValue = "Cot") OrElse (CveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue = "Cot" AndAlso Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then
DivContado.Visible = True
If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
DivTransferencia.Visible = False
@@ -21132,6 +21257,12 @@ Partial Class Ventas
saldo = TxtTotal.Text.Replace(",", "").ToDouble - abonado
'CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString()
If (Not UsuarioActual.CveEmpresa.Contiene(119, 158)) AndAlso Me.CveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue = "Cot" AndAlso Not ValidaPagosContado(MostrarAlertas:=False) Then
VerificarBtnFacturarCotizacion(DdlVendedor.SelectedValue.ToEntero(), MostrarGenerarRemision:=False)
UpFacturar.Update()
End If
CargaGridContado()
UpContado.Update()
@@ -21139,7 +21270,7 @@ Partial Class Ventas
Private Sub RBLPago_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RBLPago.SelectedIndexChanged
LimpiaEscondeContado()
End Sub
Private Function ValidaPagosContado() As Boolean
Private Function ValidaPagosContado(Optional MostrarAlertas As Boolean = True) As Boolean
Dim Retorno = False
Dim AmortizacionNC As Decimal = 0
@@ -21159,7 +21290,10 @@ Partial Class Ventas
If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso CveVenta <= 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") Then
If Not PermiteCredito AndAlso Not TienePagos AndAlso TxtTotal.Text.ToDecimal > 0 Then
Alert("Es necesario especificar un pago.", TipoMensaje.MsgAdvertencia)
If MostrarAlertas Then
Alert("Es necesario especificar un pago.", TipoMensaje.MsgAdvertencia)
End If
Retorno = True
Return Retorno
End If
@@ -21168,7 +21302,10 @@ Partial Class Ventas
Dim TotalPago As Decimal = DtPagos.SUM("Importe").ToDecimal() + AmortizacionNC
If TotalPago < TxtTotal.Text.ToDecimal Then
Alert("La suma de los pagos debe ser igual al total de la venta.", TipoMensaje.MsgAdvertencia)
If MostrarAlertas Then
Alert("La suma de los pagos debe ser igual al total de la venta.", TipoMensaje.MsgAdvertencia)
End If
Retorno = True
Return Retorno
End If
@@ -21179,7 +21316,10 @@ Partial Class Ventas
'SI TIENE SALDO PENDIENTE VALIDA SI TIENE PAGOS
If Me.SaldoVenta > 0 Then
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ant") AndAlso (UsuarioActual.Empresa.Funcionalidad(531) = "1") AndAlso (Not PermiteCredito) AndAlso Not TienePagos And TxtTotal.Text.ToDecimal > 0 Then
Alert("Es necesario especificar un pago.", TipoMensaje.MsgAdvertencia)
If MostrarAlertas Then
Alert("Es necesario especificar un pago.", TipoMensaje.MsgAdvertencia)
End If
Retorno = True
End If
@@ -21189,7 +21329,10 @@ Partial Class Ventas
Dim TotalPago As Decimal = DtPagos.SUM("Importe").ToDecimal() + AmortizacionNC
If TotalPago < TxtTotal.Text.ToDecimal Then
Alert("La suma de los pagos debe ser igual al total de la venta.", TipoMensaje.MsgAdvertencia)
If MostrarAlertas Then
Alert("La suma de los pagos debe ser igual al total de la venta.", TipoMensaje.MsgAdvertencia)
End If
Retorno = True
Return Retorno
End If
@@ -21201,18 +21344,27 @@ Partial Class Ventas
Dim TotalNC As Decimal = If((ListaNCDesc IsNot Nothing AndAlso ListaNCDesc.Count > 0) OrElse (ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0), LblTotalAPagar.Text.Trim().ToDecimal(), 0)
If TotalNC > 0 Then
If (DtPagos.SUM("Importe").ToString().ToDecimal() + AmortizacionNC + Total - TxtCambio.Text.ToDecimal) > TotalNC Then
Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
If MostrarAlertas Then
Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
End If
Retorno = True
End If
Else
If (DtPagos.SUM("Importe").ToString().ToDecimal() + AmortizacionNC + Total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then
Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
If MostrarAlertas Then
Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
End If
Retorno = True
End If
End If
Else
If (DtPagos.SUM("Importe").ToString().ToDecimal() + AmortizacionNC + Total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then
Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
If MostrarAlertas Then
Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor verifique.", TipoMensaje.MsgAdvertencia)
End If
Retorno = True
End If
End If
@@ -28202,7 +28354,9 @@ Partial Class Ventas
TxtTotal.Attributes("readonly") = "readonly"
RBLPago.Enabled = True
RBLPago.Items(0).Enabled = True
If Me.PermiteCredito Then
RBLPago.Items(0).Enabled = True
End If
GvImpuestosLocales2.Enabled = True
@@ -32425,5 +32579,10 @@ Partial Class Ventas
End Select
UpModalSolicitud.Update()
End Sub
Public Class MAnticipoRelacionado
Public Property CveVenta As Integer
Public Property FolioFiscal As String
End Class
End Class