This commit is contained in:
2023-03-27 08:38:44 -07:00
21 changed files with 2401 additions and 2083 deletions

View File

@@ -773,6 +773,21 @@ Public Class ClsCGame
#Region "HUERTAS"
Public Function GetOrigen(CveEmpresa As Integer, Optional CveOrigen As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CGame_OrigenGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveOrigen", SqlDbType.Int).Value = CveOrigen
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener las huertas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetHuerta(CveEmpresa As Integer, Optional CveHuerta As Integer = -1, Optional Estatus As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CGame_HuertaGet")

View File

@@ -1153,7 +1153,7 @@ Public Class ClsInventarios
Return Retorno
End Function
Public Function MovimientoRemove(CveMovimiento As Integer, CveEmpresa As Integer) As Boolean
Public Function MovimientoRemove(CveMovimiento As Integer, CveEmpresa As Integer, Optional CveUsuario As Integer = -1) As Boolean
Dim Retorno As Boolean = False
@@ -1162,6 +1162,7 @@ Public Class ClsInventarios
With SqlAdapter.SelectCommand.Parameters
.Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With

View File

@@ -609,7 +609,7 @@ Public Class ClsNominas
End Try
Return retorno
End Function
Public Function CalculosISRAguinaldo(fraccionII_1 As Decimal, salariomensual As Decimal, diasmes As Int32, ejercicio As Int32) As Boolean
Public Function CalculosISRAguinaldo(fraccionII_1 As Decimal, salariomensual As Decimal, diasmes As Decimal, ejercicio As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Nom_CalculosISRAguinaldo", CommandType.StoredProcedure)
addParameters("@FraccionII_1", SqlDbType.Money, fraccionII_1)

View File

@@ -5599,7 +5599,7 @@ Public Class ClsVentas
End Function
Public Function GetLineasAdicionalesSaldo(CveLineaAdicional As Integer, CveCliente As Integer, CveProveedor As Integer, CveMoneda As Integer, CveEmpresa As Integer, Optional ConSaldo As Integer = -1, Optional FechaVencimientoConsulta As DateTime = MaxFecha) As Boolean
Public Function GetLineasAdicionalesSaldo(CveLineaAdicional As Integer, CveCliente As Integer, CveProveedor As Integer, CveMoneda As Integer, CveEmpresa As Integer, TipoCambioConsulta As Decimal, Optional ConSaldo As Integer = -1, Optional FechaVencimientoConsulta As DateTime = MaxFecha) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_LineasAdicionalesSaldoGet")
@@ -5611,6 +5611,7 @@ Public Class ClsVentas
.Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@ConSaldo", SqlDbType.Int).Value = ConSaldo
.Add("@TipoCambioConsulta", SqlDbType.Decimal).Value = TipoCambioConsulta
.Add("@FechaVencimientoConsulta", SqlDbType.Date).Value = FechaVencimientoConsulta
End With
Try

View File

@@ -1,45 +0,0 @@
using System;
using System.IO;
using System.Runtime.InteropServices;
namespace SqlServerTypes
{
/// <summary>
/// Utility methods related to CLR Types for SQL Server
/// </summary>
public class Utilities
{
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr LoadLibrary(string libname);
/// <summary>
/// Loads the required native assemblies for the current architecture (x86 or x64)
/// </summary>
/// <param name="rootApplicationPath">
/// Root path of the current application. Use Server.MapPath(".") for ASP.NET applications
/// and AppDomain.CurrentDomain.BaseDirectory for desktop applications.
/// </param>
public static void LoadNativeAssemblies(string rootApplicationPath)
{
var nativeBinaryPath = IntPtr.Size > 4
? Path.Combine(rootApplicationPath, @"SqlServerTypes\x64\")
: Path.Combine(rootApplicationPath, @"SqlServerTypes\x86\");
LoadNativeAssembly(nativeBinaryPath, "msvcr120.dll");
LoadNativeAssembly(nativeBinaryPath, "SqlServerSpatial140.dll");
}
private static void LoadNativeAssembly(string nativeBinaryPath, string assemblyName)
{
var path = Path.Combine(nativeBinaryPath, assemblyName);
var ptr = LoadLibrary(path);
if (ptr == IntPtr.Zero)
{
throw new Exception(string.Format(
"Error loading {0} (ErrorCode: {1})",
assemblyName,
Marshal.GetLastWin32Error()));
}
}
}
}

View File

@@ -102,12 +102,17 @@ Public Class E141 : Implements IHttpHandler
'DESCARGA DEL PDF
If Not String.IsNullOrEmpty(Params) Then
Dim UrlParametros As Hashtable = Parametros(Decripta(Params))
Try
Dim UrlParametros As Hashtable = Parametros(Decripta(Params))
Dim File As String = UrlParametros("FILE").ToString()
If Not String.IsNullOrEmpty(File) Then
ImprimirbytesPDF(context, DescargarFactura(File), File)
End If
Catch ex As Exception
GuardaLogAD("Ocurrió un error al descargar el pdf. " + ex.ToString() + ".parametros: " + Params, "LogE141")
End Try
Dim File As String = UrlParametros("FILE").ToString()
If Not String.IsNullOrEmpty(File) Then
ImprimirbytesPDF(context, DescargarFactura(File), File)
End If
Else
Dim Metodo = If(context.Request("Metodo") = Nothing, "", context.Request("Metodo").ToString())

View File

@@ -719,7 +719,10 @@ Partial Class Bancos_Creditos
ErrorCredito = True
End If
If ObjCredito.AddCreditos(TipoCreditoTemp, TxtCSReferencia.Text, TxtCSObservaciones.Text, DdlCuentaCredito.SelectedValue.ToEntero, HdnCveCompra.Value.ToEntero, -1, DdlCSTipoMoneda.SelectedValue.ToEntero, TxtCSFechaInicio.Text.Trim.ToDate, TxtCSFechaVencimiento.Text.Trim.ToDate, TxtCSTasa.Text.Trim.ToDouble, TxtCSSobreTasa.Text.Trim.ToDouble, -1, TxtCSPlazo.Text.ToEntero, CveIE, If(TipoCreditoTemp = 2, TxtCSTotalCredito.Text.ToEntero, TotalCompra), -1, -1, -1, CveProveedor, RBLClasificacionContable.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=DdlTarjetaCredito.SelectedValue.ToEntero, AplicaAnticipo:=If(RBLAnticipo.SelectedValue.ToEntero = 1, True, False)) > 0 Then
If ObjCredito.AddCreditos(TipoCreditoTemp, TxtCSReferencia.Text, TxtCSObservaciones.Text, DdlCuentaCredito.SelectedValue.ToEntero, HdnCveCompra.Value.ToEntero, -1, DdlCSTipoMoneda.SelectedValue.ToEntero, TxtCSFechaInicio.Text.Trim.ToDate,
TxtCSFechaVencimiento.Text.Trim.ToDate, TxtCSTasa.Text.Trim.ToDouble, TxtCSSobreTasa.Text.Trim.ToDouble, -1, TxtCSPlazo.Text.ToEntero, CveIE, If(TipoCreditoTemp = 2, TxtCSTotalCredito.Text.ToEntero, TotalCompra),
-1, -1, -1, CveProveedor, RBLClasificacionContable.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=DdlTarjetaCredito.SelectedValue.ToEntero,
AplicaAnticipo:=If(RBLAnticipo.SelectedValue.ToEntero = 1, True, False)) > 0 Then
'Dim Fecha = If(TipoCreditoTemp = 2, TxtCSFechaDeposito.Text.ToDate, TxtCSFechaVencimiento.Text.ToDate)
'For i = 1 To If(TipoCreditoTemp = 2, TxtCSPeriodos.Text.Trim.ToEntero, 1)
'DateAdd("d", TxtPlazo.Text.ToEntero, Fecha)
@@ -761,7 +764,10 @@ Partial Class Bancos_Creditos
If CveCredito > 0 Then
Dim TipoCreditoTemp = DdlTipoCredito.SelectedValue.ToEntero
If ObjCredito.UpdateCreditos(CveCredito, TipoCreditoTemp, TxtCSReferencia.Text, TxtCSObservaciones.Text, DdlCuentaCredito.SelectedValue.ToEntero, HdnCveCompra.Value.ToEntero, -1, DdlCSTipoMoneda.SelectedValue.ToEntero, TxtCSFechaInicio.Text.Trim.ToDate, TxtCSFechaVencimiento.Text.Trim.ToDate, TxtCSTasa.Text.Trim.ToDouble, TxtCSSobreTasa.Text.Trim.ToDouble, -1, TxtCSPlazo.Text.ToEntero, CveIE, If(TipoCreditoTemp = 2, TxtCSTotalCredito.Text.ToEntero, TotalCompra), -1, -1, -1, -1, RBLClasificacionContable.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=DdlTarjetaCredito.SelectedValue.ToEntero, AplicaAnticipo:=If(RBLAnticipo.SelectedValue.ToEntero = 1, True, False)) Then
If ObjCredito.UpdateCreditos(CveCredito, TipoCreditoTemp, TxtCSReferencia.Text, TxtCSObservaciones.Text, DdlCuentaCredito.SelectedValue.ToEntero, HdnCveCompra.Value.ToEntero, -1, DdlCSTipoMoneda.SelectedValue.ToEntero, TxtCSFechaInicio.Text.Trim.ToDate,
TxtCSFechaVencimiento.Text.Trim.ToDate, TxtCSTasa.Text.Trim.ToDouble, TxtCSSobreTasa.Text.Trim.ToDouble, -1, TxtCSPlazo.Text.ToEntero, CveIE, If(TipoCreditoTemp = 2, TxtCSTotalCredito.Text.ToEntero, TotalCompra),
-1, -1, -1, -1, RBLClasificacionContable.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=DdlTarjetaCredito.SelectedValue.ToEntero,
AplicaAnticipo:=If(RBLAnticipo.SelectedValue.ToEntero = 1, True, False)) Then
If Not ObjCredito.UpdateCreditosDetalle(ObjCredito.CveCredito, TxtCSFechaVencimiento.Text.ToDate, If(TipoCreditoTemp = 2, TxtCSTotalCredito.Text.ToString.ToEntero, TotalCompra), 0.0, 0.0, 0.0, 0.0, 0.0, If(TipoCreditoTemp = 1, 101, 1)) Then
ErrorCredito = True
End If

View File

@@ -69,7 +69,7 @@
</div>
<div class="portlet-body form">
<asp:GridView ID="GVHuerta" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD GVCGame_TipoMaduracion mysmallbtn" Width="100%" data-sort="true" AutoGenerateColumns="False"
DataKeyNames="CveHuerta,Huerta,CveOrigen,CveProveedor,RazonSocial,FechaIng,Estatus,CveUsuario,Usuario,CveEmpresa,Empresa,TipoCobro,Importe,CostoXTonelada" OnRowDataBound="GvHuerta_RowDataBound">
DataKeyNames="CveHuerta,Huerta,CveOrigen,NombreRegistro,NumeroRegistro,CveProveedor,RazonSocial,FechaIng,Estatus,CveUsuario,Usuario,CveEmpresa,Empresa,TipoCobro,Importe,CostoXTonelada" OnRowDataBound="GvHuerta_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Huerta" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
@@ -149,10 +149,10 @@
<ajax:ValidatorCalloutExtender ID="VcoHuerhuerta" runat="server" HighlightCssClass="vco" TargetControlID="RfvHuerhuerta"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtHuerhuerta.ClientID.ToString()%>">Productor:</label>
</div>
<div class="form-group form-md-line-input input-iconright ocultar">
<div class="form-group form-md-line-input input-iconright ">
<asp:DropDownList ID="ddlOrigen" CssClass="form-control select2me" runat="server" AppendDataBoundItems="true" Style="width: 100%" DataValueField="CveOrigen" DataTextField="Origen">
</asp:DropDownList>
<label for="<%= DdlTipoCobro.ClientID.ToString()%>">Origen:</label>
<label for="<%= ddlOrigen.ClientID.ToString()%>">Origen:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtNombreRegistro" CssClass="form-control" runat="server"></asp:TextBox>

View File

@@ -2,8 +2,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
public partial class CATHuerta :ClsPaginas
{
#region Propiedades
private int CveHuerta
{
get{return (ViewState["CveHuerta"] == null) ? 0 : Convert.ToInt32(ViewState["CveHuerta"]);}
@@ -16,7 +22,8 @@
if (!IsPostBack){
CargaProveedor();
CargaHuerta();
#endregion
}
}
protected void CargaHuerta()
{
ClsCGame ObjHuer =new ClsCGame();

View File

@@ -6331,7 +6331,7 @@ Partial Class Compras_Compras
funcionalidad = 317
ConceptoContable = 243
ElseIf DdlRetISRConcepto.SelectedValue.ToEntero = 3 Then
funcionalidad = 349
funcionalidad = 348
ConceptoContable = 327
End If
importeMovimiento = CompraActual.RetISR
@@ -8557,40 +8557,45 @@ Partial Class Compras_Compras
Dim CveMovimientoActual As Integer = diRow("CveMovimiento").ToString.ToEntero
Dim DTMovimientoActual As DataTable = DTInventarios.FiltraParametros($"CveMovimiento = {CveMovimientoActual} ")
Dim detalleDescripcion As String = ""
Dim Description As String = ""
Dim FolioMovimiento As String = ""
Dim ConceptoMovimiento As String = ""
For Each dRowMovActual As DataRow In DTMovimientoActual.Rows
If dRowMovActual("UM").ToString = "" Then
FolioMovimiento = dRowMovActual("Folio").ToString
ConceptoMovimiento = dRowMovActual("Concepto").ToString
Description = String.Format("Eliminación Compra {6},Movimiento con Concepto: {0}, Almacen: {1}, Fecha: {2}, Folio: {3}, Usuario: {4}, Observaciones adicionales: {5}, Productos Información:<br/>",
ConceptoMovimiento,
dRowMovActual("Almacen").ToString,
dRowMovActual("FechaMovto").ToString.ToDate.ToString("dd/MM/yyyy"),
FolioMovimiento,
dRowMovActual("Usuario").ToString,
dRowMovActual("Observaciones").ToString,
$"{TxtSerie.Text}-{TxtFolio.Text}")
Else
detalleDescripcion = String.Format("- Cant: {0}, PS: {1}, PU: {2}, UM: {3}<br/>", dRowMovActual("Cantidad").ToString.ToEntero, dRowMovActual("CodigoPS"), dRowMovActual("PU"), dRowMovActual("UM"))
End If
Next
If Not ObjGral.AddHistorialBitacora(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1,
String.Format("{0}, Informacion = {1}", Description, detalleDescripcion),
"Inventarios", FolioMovimiento + " / " + ConceptoMovimiento) Then
If Not ObjInventarios.MovimientoRemove(CveMovimientoActual, UsuarioActual.CveEmpresa, CveUsuario:=UsuarioActual.CveUsuario) Then
ErrorCompra = True
Exit For
End If
'Dim DTMovimientoActual As DataTable = DTInventarios.FiltraParametros($"CveMovimiento = {CveMovimientoActual} ")
'Dim detalleDescripcion As String = ""
'Dim Description As String = ""
'Dim FolioMovimiento As String = ""
'Dim ConceptoMovimiento As String = ""
'For Each dRowMovActual As DataRow In DTMovimientoActual.Rows
' If dRowMovActual("UM").ToString = "" Then
' FolioMovimiento = dRowMovActual("Folio").ToString
' ConceptoMovimiento = dRowMovActual("Concepto").ToString
' Description = String.Format("Eliminación Compra {6},Movimiento con Concepto: {0}, Almacen: {1}, Fecha: {2}, Folio: {3}, Usuario: {4}, Observaciones adicionales: {5}, Productos Información:<br/>",
' ConceptoMovimiento,
' dRowMovActual("Almacen").ToString,
' dRowMovActual("FechaMovto").ToString.ToDate.ToString("dd/MM/yyyy"),
' FolioMovimiento,
' dRowMovActual("Usuario").ToString,
' dRowMovActual("Observaciones").ToString,
' $"{TxtSerie.Text}-{TxtFolio.Text}")
' Else
' detalleDescripcion = String.Format("- Cant: {0}, PS: {1}, PU: {2}, UM: {3}<br/>", dRowMovActual("Cantidad").ToString.ToEntero, dRowMovActual("CodigoPS"), dRowMovActual("PU"), dRowMovActual("UM"))
' End If
'Next
'If Not ObjGral.AddHistorialBitacora(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1,
' String.Format("{0}, Informacion = {1}", Description, detalleDescripcion),
' "Inventarios", FolioMovimiento + " / " + ConceptoMovimiento) Then
' ErrorCompra = True
' Exit For
'End If
Next
End If
@@ -8655,246 +8660,255 @@ Partial Class Compras_Compras
ObjConta = New ClsContabilidad(ObjCompra.IniciaTransacSQL)
End If
Try
Dim Contador As Integer = 0
Dim Importe As Double = 0
Dim ErrorMovtosCxP As Integer = 0
Dim Fecha As Date
Dim Contador As Integer = 0
Dim Importe As Double = 0
Dim ErrorMovtosCxP As Integer = 0
Dim Fecha As Date
If ListaDocumentos Is Nothing And Not ListaDocumentos.Count > 0 Then
For Each gvr As GridViewRow In GVAnticipos.Rows
If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then
Contador += 1
'If gvr.DataKey("Fecha").ToDate > Fecha Then Fecha = gvr.DataKey("Fecha").ToDate 'guardo la fecha mayor
Importe += gvr.FCTextBox("TxtAnticipo").Text.ToDouble
If Math.Round(Importe, 2) - Math.Round(CompraSaldo, 2) > 0.01 Then gvr.FCTextBox("TxtAnticipo").Text = "" : gvr.FCCheckBox("Chk").Checked = False
End If
Next
Else
Contador = 1
End If
'If TxtFecha.Text.ToDate > Fecha Then Fecha = TxtFecha.Text.ToDate
Fecha = TxtFechaEjecucion.Text.ToDate
'Contador = 0
If Contador > 0 Then
If ListaDocumentos Is Nothing And Not ListaDocumentos.Count > 0 Then
If Math.Round(Importe, 2) - Math.Round(CompraSaldo, 2) > 0.01 Then
Alert("El Importe seleccionado excede al importe de la compra", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
For Each gvr As GridViewRow In GVAnticipos.Rows
If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then
Contador += 1
'If gvr.DataKey("Fecha").ToDate > Fecha Then Fecha = gvr.DataKey("Fecha").ToDate 'guardo la fecha mayor
Importe += gvr.FCTextBox("TxtAnticipo").Text.ToDouble
If Math.Round(Importe, 2) - Math.Round(CompraSaldo, 2) > 0.01 Then gvr.FCTextBox("TxtAnticipo").Text = "" : gvr.FCCheckBox("Chk").Checked = False
End If
Next
Else
Contador = 1
End If
ArrAnticipos.Clear()
'If TxtFecha.Text.ToDate > Fecha Then Fecha = TxtFecha.Text.ToDate
Fecha = TxtFechaEjecucion.Text.ToDate
If CveCompra > 0 Then
Dim ObjContaAC As ClsContPAQi = Nothing
'INICIALIZA OBJETOS
If Not (ObjComprasParametro IsNot Nothing And ObjContaParametro IsNot Nothing) Then
ObjCompra = New ClsCompras
ObjConta = New ClsContabilidad(ObjCompra.IniciaTransacSQL)
'Contador = 0
If Contador > 0 Then
If ListaDocumentos Is Nothing And Not ListaDocumentos.Count > 0 Then
If Math.Round(Importe, 2) - Math.Round(CompraSaldo, 2) > 0.01 Then
Alert("El Importe seleccionado excede al importe de la compra", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Dim CveCompraNC, IdCtaContable, IdCtaContableComp As Integer
Dim ConceptoPoliza As String = $"Amortización {NombreProveedor} - {TxtSerie.Text}-{TxtFolio.Text}"
ArrAnticipos.Clear()
Try
Dim CveIE As Integer = -1
If CveCompra > 0 Then
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
Dim CompraActual As New Compra
CompraActual.CveCompra = CveCompra
CompraActual.CveTipoConceptoProveedor = CveTipoConcepto
CompraActual.CveProveedor = CveProveedor
CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero
CompraActual.Fecha = TxtFecha.Text.ToDate
CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim
CompraActual.ProveedorNombre = HplProveedor.Text
CompraActual.TC = TipoCambio
CompraActual.Total = TxtTotal.Text.ToDecimal
CompraActual.IVA = TxtIVA.Text.ToDecimal
CompraActual.IVADeducible = TxtIVA.Text.ToDecimal
CompraActual.IEPS = TxtIEPS.Text.ToDecimal
CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal
CompraActual.RetISR = TxtRetISR.Text.ToDecimal
CompraActual.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero
CompraActual.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero
CompraActual.PorcentajeIVA = PorcentajeIVA
CompraActual.UsuarioActual = UsuarioActual
CompraActual.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero
CompraActual.IdCtaContableProv = CtaProveedor
CompraActual.IdCtaContableProvComplementaria = CtaProveedorComplementaria
CompraActual.EsImportacion = chkImportacion.Checked
Dim ObjContaAC As ClsContPAQi = Nothing
Dim CvePrePolizaNueva As Integer = ObjConta.AddPrePolizas("Compras/Anticipos", 52, Importe, Importe, DdlMoneda.SelectedValue.ToEntero, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
'INICIALIZA OBJETOS
If Not (ObjComprasParametro IsNot Nothing And ObjContaParametro IsNot Nothing) Then
ObjCompra = New ClsCompras
ObjConta = New ClsContabilidad(ObjCompra.IniciaTransacSQL)
End If
Dim CveCompraNC, IdCtaContable, IdCtaContableComp As Integer
Dim ConceptoPoliza As String = $"Amortización {NombreProveedor} - {TxtSerie.Text}-{TxtFolio.Text}"
Try
Dim CveIE As Integer = -1
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
Dim CompraActual As New Compra
CompraActual.CveCompra = CveCompra
CompraActual.CveTipoConceptoProveedor = CveTipoConcepto
CompraActual.CveProveedor = CveProveedor
CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero
CompraActual.Fecha = TxtFecha.Text.ToDate
CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim
CompraActual.ProveedorNombre = HplProveedor.Text
CompraActual.TC = TipoCambio
CompraActual.Total = TxtTotal.Text.ToDecimal
CompraActual.IVA = TxtIVA.Text.ToDecimal
CompraActual.IVADeducible = TxtIVA.Text.ToDecimal
CompraActual.IEPS = TxtIEPS.Text.ToDecimal
CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal
CompraActual.RetISR = TxtRetISR.Text.ToDecimal
CompraActual.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero
CompraActual.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero
CompraActual.PorcentajeIVA = PorcentajeIVA
CompraActual.UsuarioActual = UsuarioActual
CompraActual.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero
CompraActual.IdCtaContableProv = CtaProveedor
CompraActual.IdCtaContableProvComplementaria = CtaProveedorComplementaria
CompraActual.EsImportacion = chkImportacion.Checked
Dim CvePrePolizaNueva As Integer = ObjConta.AddPrePolizas("Compras/Anticipos", 52, Importe, Importe, DdlMoneda.SelectedValue.ToEntero, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
For Each gvr As GridViewRow In GVAnticipos.Rows
If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then
CveCompraNC = gvr.DataKey("CveCompra").ToEntero
If CvePrePoliza > 0 Then
Dim CveConceptoCompra As Integer = 60
Dim CveConceptoCompraComplementaria As Integer = 266
Dim TipoMovimientoCompra As Boolean = True
Dim CveMonedaAnticipo As Integer = gvr.DataKey("CveMoneda").ToEntero
Dim TipoCambioAnt As Decimal = gvr.DataKey("TCCompra").ToDecimal
Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal
Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal
Dim Pago As New CompraPago
Pago.TipoPago = gvr.DataKey("TipoDocto")
Pago.ImportePago = ImporteAnt
Pago.OtroGastoIngreso = ImporComisionAnticipo
Pago.CveMonedaPago = CveMonedaAnticipo
Pago.TCPago = TipoCambioAnt
Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
Select Case gvr.DataKey("TipoDocto")
Case "NC", "DEV"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 60, 60)
CveConceptoCompraComplementaria = 235
IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedor, CtaProveedorExtranjera)
IdCtaContableComp = CtaProveedorComplementaria
CveIE = -1
Pago.AplicaAcreditable = False
Case "Egsc"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21)
CveConceptoCompraComplementaria = 266
IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera)
IdCtaContableComp = CtaProveedorAnticiposComplementaria
'vinculo la compra actual, y no la compra como si fuera nota de credito
CveCompraNC = -1
CveIE = gvr.DataKey("CveIE").ToEntero
CompraActual.IdCtaContableAnticipoProv = IdCtaContable
Case "DD"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 37, 37)
IdCtaContable = CtaProveedorDeudores
'vinculo la compra actual, y no la compra como si fuera nota de credito
CveCompraNC = -1
CveIE = gvr.DataKey("CveIE").ToEntero
End Select
'PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal
Pago.CveIE = CveIE
Pago.CveCompraAmortizacion = CveCompraNC
If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePolizaNueva, ObjConta) Then
ErrorMovtosCxP = 1
End If
End If
End If
Next
If ErrorMovtosCxP = 0 And CvePrePolizaNueva > 0 Then
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
If ObjContaAC Is Nothing Then
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaAC.IniciaTransacSQL()
End If
If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaNueva, UsuarioActual.CveUsuario, UsuarioActual.Empresa, MinFecha, "", ObjContaAC) Then
ErrorMovtosCxP = 3
End If
End If
End If
Select Case ErrorMovtosCxP
Case 0
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
If ObjContaAC IsNot Nothing Then
ObjContaAC.Commit()
End If
End If
Alert("El movimiento se aplicó correctamente.", TipoMensaje.MsgInformacion)
ObjCompra.Commit()
Dim dtnc As DataTable = Nothing
If ObjCompra.GetComprasNotasCredito(CveCompra, -1) Then
dtnc = ObjCompra.DtResultados
End If
GvAnticiposSel.DataSource = dtnc
GvAnticiposSel.DataBind()
LblAmortizacion.Text = (LblAmortizacion.Text.ToDouble + Importe).FormatoNumero
CompraSaldo = CompraSaldo - Importe
HdnCompraSaldo.Value = CompraSaldo.ToString
If CompraSaldo > 0 Then CargaAnticipos(CveProveedor)
If CveCompra > 0 Then VisualizaEstatusCompraSaldo(DdlTipoComprobante.SelectedValue, CompraSaldo.ToDecimal, TxtTotal.Text.ToDecimal)
UpAnticipos.Update()
UpPS.Update()
dtnc.Dispose()
Case 1
Alert("Ocurrió un error al amortizar la nota de crédito<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgAdvertencia)
ObjCompra.RollBack()
Case 2
Alert("Ocurrió un error al amortizar la nota de crédito<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgAdvertencia)
ObjCompra.RollBack()
Case 3
Alert("Ocurrió un error al contabilizar la la amortizacion del anticipo.", TipoMensaje.MsgAdvertencia)
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
If ObjContaAC IsNot Nothing Then
Try
ObjContaAC.RollBack()
Catch ex As Exception
End Try
End If
End If
ObjCompra.RollBack()
End Select
Catch ex As Exception
ObjCompra.RollBack()
End Try
If ObjContaAC IsNot Nothing Then
ObjContaAC.Dispose()
End If
ObjCompra.Dispose()
Else
'sino se ha guardado la compra, se registra temporal que anticpos van a cargarle
For Each gvr As GridViewRow In GVAnticipos.Rows
If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then
CveCompraNC = gvr.DataKey("CveCompra").ToEntero
If CvePrePoliza > 0 Then
Dim CveConceptoCompra As Integer = 60
Dim CveConceptoCompraComplementaria As Integer = 266
Dim TipoMovimientoCompra As Boolean = True
Dim CveMonedaAnticipo As Integer = gvr.DataKey("CveMoneda").ToEntero
Dim TipoCambioAnt As Decimal = gvr.DataKey("TCCompra").ToDecimal
Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal
Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal
Dim Pago As New CompraPago
Pago.TipoPago = gvr.DataKey("TipoDocto")
Pago.ImportePago = ImporteAnt
Pago.OtroGastoIngreso = ImporComisionAnticipo
Pago.CveMonedaPago = CveMonedaAnticipo
Pago.TCPago = TipoCambioAnt
Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
Select Case gvr.DataKey("TipoDocto")
Case "NC", "DEV"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 60, 60)
CveConceptoCompraComplementaria = 235
IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedor, CtaProveedorExtranjera)
IdCtaContableComp = CtaProveedorComplementaria
CveIE = -1
Pago.AplicaAcreditable = False
Case "Egsc"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21)
CveConceptoCompraComplementaria = 266
IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera)
IdCtaContableComp = CtaProveedorAnticiposComplementaria
'vinculo la compra actual, y no la compra como si fuera nota de credito
CveCompraNC = -1
CveIE = gvr.DataKey("CveIE").ToEntero
CompraActual.IdCtaContableAnticipoProv = IdCtaContable
Case "DD"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 37, 37)
IdCtaContable = CtaProveedorDeudores
'vinculo la compra actual, y no la compra como si fuera nota de credito
CveCompraNC = -1
CveIE = gvr.DataKey("CveIE").ToEntero
End Select
'PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal
Pago.CveIE = CveIE
Pago.CveCompraAmortizacion = CveCompraNC
AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePolizaNueva, ObjConta)
End If
ArrAnticipos.Add(New Anticipos With {.CvePrePoliza = gvr.DataKey("CvePrePoliza").ToEntero, .CveIE = gvr.DataKey("CveIE").ToString.ToEntero, .CveCompra = gvr.DataKey("CveCompra").ToEntero, .Importe = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal, .ImporteComision = gvr.FCTextBox("TxtComision").Text.ToDecimal, .TCCompra = gvr.DataKey("TCCompra").ToDecimal, .TipoMovto = gvr.DataKey("TipoDocto")})
End If
Next
If ErrorMovtosCxP = 0 And CvePrePolizaNueva > 0 Then
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
If ObjContaAC Is Nothing Then
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaAC.IniciaTransacSQL()
End If
If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaNueva, UsuarioActual.CveUsuario, UsuarioActual.Empresa, MinFecha, "", ObjContaAC) Then
ErrorMovtosCxP = 3
End If
End If
Dim ImporteAnticipo As Decimal = 0
If ArrAnticipos.Count > 0 Then
For Each Ant As Compras_Compras.Anticipos In ArrAnticipos
ImporteAnticipo += Ant.Importe
Next
End If
Select Case ErrorMovtosCxP
Case 0
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
If ObjContaAC IsNot Nothing Then
ObjContaAC.Commit()
End If
End If
Alert("El movimiento se aplicó correctamente.", TipoMensaje.MsgInformacion)
ObjCompra.Commit()
Dim dtnc As DataTable = Nothing
If ObjCompra.GetComprasNotasCredito(CveCompra, -1) Then
dtnc = ObjCompra.DtResultados
End If
GvAnticiposSel.DataSource = dtnc
GvAnticiposSel.DataBind()
LblAmortizacion.Text = (LblAmortizacion.Text.ToDouble + Importe).FormatoNumero
CompraSaldo = CompraSaldo - Importe
HdnCompraSaldo.Value = CompraSaldo.ToString
If CompraSaldo > 0 Then CargaAnticipos(CveProveedor)
If CveCompra > 0 Then VisualizaEstatusCompraSaldo(DdlTipoComprobante.SelectedValue, CompraSaldo.ToDecimal, TxtTotal.Text.ToDecimal)
UpAnticipos.Update()
UpPS.Update()
dtnc.Dispose()
Case 1
Alert("Ocurrió un error al amortizar la nota de crédito<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgAdvertencia)
ObjCompra.RollBack()
Case 2
Alert("Ocurrió un error al amortizar la nota de crédito<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgAdvertencia)
ObjCompra.RollBack()
Case 3
Alert("Ocurrió un error al contabilizar la la amortizacion del anticipo.", TipoMensaje.MsgAdvertencia)
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1") AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
If ObjContaAC IsNot Nothing Then
Try
ObjContaAC.RollBack()
Catch ex As Exception
End Try
End If
End If
ObjCompra.RollBack()
End Select
Catch ex As Exception
ObjCompra.RollBack()
End Try
If ObjContaAC IsNot Nothing Then
ObjContaAC.Dispose()
LblAmortizacion.Text = ImporteAnticipo.FormatoNumero
LblAplicadoCompraAnt.Text = ImporteAnticipo.FormatoNumero
LblSaldoFactura.Text = (TxtTotal.Text.ToDecimal - ImporteAnticipo).ToString.FormatoNumero
UpPS.Update()
End If
ObjCompra.Dispose()
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAnticipos"))
Else
'sino se ha guardado la compra, se registra temporal que anticpos van a cargarle
For Each gvr As GridViewRow In GVAnticipos.Rows
If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then
ArrAnticipos.Add(New Anticipos With {.CvePrePoliza = gvr.DataKey("CvePrePoliza").ToEntero, .CveIE = gvr.DataKey("CveIE").ToString.ToEntero, .CveCompra = gvr.DataKey("CveCompra").ToEntero, .Importe = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal, .ImporteComision = gvr.FCTextBox("TxtComision").Text.ToDecimal, .TCCompra = gvr.DataKey("TCCompra").ToDecimal, .TipoMovto = gvr.DataKey("TipoDocto")})
End If
Next
Dim ImporteAnticipo As Decimal = 0
If ArrAnticipos.Count > 0 Then
For Each Ant As Compras_Compras.Anticipos In ArrAnticipos
ImporteAnticipo += Ant.Importe
Next
End If
LblAmortizacion.Text = ImporteAnticipo.FormatoNumero
LblAplicadoCompraAnt.Text = ImporteAnticipo.FormatoNumero
LblSaldoFactura.Text = (TxtTotal.Text.ToDecimal - ImporteAnticipo).ToString.FormatoNumero
UpPS.Update()
Alert("No hay movimientos seleccionados para aplicar", TipoMensaje.MsgAdvertencia)
End If
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAnticipos"))
Else
Alert("No hay movimientos seleccionados para aplicar", TipoMensaje.MsgAdvertencia)
End If
UPPAnticiposSel.Update()
UPPAnticiposSel.Update()
Catch ex As Exception
ObjCompra.RollBack()
ObjCompra.Dispose()
End Try
End Sub

View File

@@ -162,99 +162,124 @@
</asp:Panel>
<br />
<div class="chequesie" style="width: 700px;" runat="server" id="TableExpedirCheque" visible="false">
<div class="chequesie1">
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Tipo Movimiento:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlTipoTransaccion" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoTransaccion" runat="server" ControlToValidate="DdlTipoTransaccion" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Movimiento''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipoTransaccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoTransaccion" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:HiddenField ID="HdnTipoTransaccion" runat="server" Value="" />
</div>
</div>
<div class="row">
<label class="col-md-2" style="width: 130px;">Cuenta:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlCuenta" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCuenta" runat="server" ControlToValidate="DdlCuenta" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOCuenta" runat="server" HighlightCssClass="vco" TargetControlID="RFVCuenta" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-4">
<asp:CheckBox ID="ChkAbonoCuenta" ClientIDMode="Static" runat="server" Text="Abono en Cuenta"></asp:CheckBox>
</div>
</div>
</div>
<div class="chequesie2">
<div class="row">
<div class="col-md-7"></div>
<label class="col-md-2 control-label text-right">Fecha:</label>
<div class="col-md-2">
<div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="TxtFechaDocumento" runat="server" CssClass="form-control"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="ImgCalendario" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton>
</span>
<div class="row" runat="server" id="TableExpedirCheque" visible="false" >
<div class="col-lg-8">
<div class="chequesie" style="width: 700px;" >
<div class="chequesie1">
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Tipo Movimiento:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlTipoTransaccion" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoTransaccion" runat="server" ControlToValidate="DdlTipoTransaccion" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Movimiento''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipoTransaccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoTransaccion" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:HiddenField ID="HdnTipoTransaccion" runat="server" Value="" />
</div>
</div>
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFechaDocumento" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="Calendario" runat="server" TargetControlID="TxtFechaDocumento" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaDocumento" runat="server" ControlToValidate="TxtFechaDocumento" Display="None" ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaDocumento" runat="server" ControlToValidate="TxtFechaDocumento" Display="None" ErrorMessage="El campo <b>''Fecha''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RangeValidator ID="RVTxtFechaDocumento" runat="server" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b> <br/> La fecha del documento no puede ser superior a la fecha actual" ControlToValidate="TxtFechaDocumento" MinimumValue="01/01/1900" Type="Date" ValidationGroup="GrpGuardar"></asp:RangeValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento3" runat="server" HighlightCssClass="vco" TargetControlID="RVTxtFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
<div class="row">
<label class="col-md-2" style="width: 130px;">Cuenta:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlCuenta" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCuenta" runat="server" ControlToValidate="DdlCuenta" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOCuenta" runat="server" HighlightCssClass="vco" TargetControlID="RFVCuenta" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-4">
<asp:CheckBox ID="ChkAbonoCuenta" ClientIDMode="Static" runat="server" Text="Abono en Cuenta"></asp:CheckBox>
</div>
</div>
</div>
<div class="chequesie2">
<div class="row">
<div class="col-md-7"></div>
<label class="col-md-2 control-label text-right">Fecha:</label>
<div class="col-md-2">
<div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="TxtFechaDocumento" runat="server" CssClass="form-control"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="ImgCalendario" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFechaDocumento" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="Calendario" runat="server" TargetControlID="TxtFechaDocumento" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaDocumento" runat="server" ControlToValidate="TxtFechaDocumento" Display="None" ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaDocumento" runat="server" ControlToValidate="TxtFechaDocumento" Display="None" ErrorMessage="El campo <b>''Fecha''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RangeValidator ID="RVTxtFechaDocumento" runat="server" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b> <br/> La fecha del documento no puede ser superior a la fecha actual" ControlToValidate="TxtFechaDocumento" MinimumValue="01/01/1900" Type="Date" ValidationGroup="GrpGuardar"></asp:RangeValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento3" runat="server" HighlightCssClass="vco" TargetControlID="RVTxtFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-2 control-label">Folio:</label>
<div class="col-md-3">
<asp:TextBox ID="TxtFolio" CssClass="form-control input-sm" runat="server" MaxLength="12" Width="110px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="TxtFolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFolio" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolio" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-2"></div>
<label class="col-md-2 control-label text-right">Importe:</label>
<div class="col-md-2 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtImporte" CssClass="form-control input-sm" runat="server" MaxLength="12" Width="140px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="TxtImporte" FilterType="Custom, Numbers" ValidChars="+-.," />
</div>
</div>
<div class="row">
<label class="col-md-2">
<asp:Label ID="LblPagueseA" runat="server" Text="Abónese a"></asp:Label>:</label>
<div class="col-md-10">
<asp:TextBox CssClass="form-control input-sm" ID="TxtAboneA" runat="server" MaxLength="70" Width="394px"></asp:TextBox>
</div>
</div>
<div class="row">
<label class="col-md-2">Observaciones</label>
<div class="col-md-7">
<asp:TextBox ID="TxtObservaciones" CssClass="form-control input-sm" runat="server" MaxLength="500" Width="400px" Rows="3" TextMode="MultiLine" ClientIDMode="Static"></asp:TextBox>
<asp:HiddenField ID="HdnObs" runat="server" ClientIDMode="Static" />
</div>
</div>
</div>
<div class="row">
<label class="col-md-2 control-label">Folio:</label>
<div class="col-md-3">
<asp:TextBox ID="TxtFolio" CssClass="form-control input-sm" runat="server" MaxLength="12" Width="110px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="TxtFolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFolio" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolio" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-2"></div>
<label class="col-md-2 control-label text-right">Importe:</label>
<div class="col-md-2 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtImporte" CssClass="form-control input-sm" runat="server" MaxLength="12" Width="140px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="TxtImporte" FilterType="Custom, Numbers" ValidChars="+-.," />
</div>
</div>
<div class="row">
<label class="col-md-2">
<asp:Label ID="LblPagueseA" runat="server" Text="Abónese a"></asp:Label>:</label>
<div class="col-md-10">
<asp:TextBox CssClass="form-control input-sm" ID="TxtAboneA" runat="server" MaxLength="70" Width="394px"></asp:TextBox>
</div>
</div>
<div class="row">
<label class="col-md-2">Observaciones</label>
<div class="col-md-7">
<asp:TextBox ID="TxtObservaciones" CssClass="form-control input-sm" runat="server" MaxLength="500" Width="400px" Rows="3" TextMode="MultiLine" ClientIDMode="Static"></asp:TextBox>
<asp:HiddenField ID="HdnObs" runat="server" ClientIDMode="Static" />
</div>
<div class="col-md-2 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtOtrosImportes" runat="server" ReadOnly="true" CssClass="form-control input-sm" Visible="false" MaxLength="12" Width="140px" placeholder="Otros Importes" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FTEOtrosImportes" runat="server" TargetControlID="TxtOtrosImportes" FilterType="Custom, Numbers" ValidChars="+-.," />
<asp:RangeValidator ID="RangeValidator1" runat="server" Enabled="false" Type="Currency" MinimumValue="0" MaximumValue="0" ErrorMessage="Importe Excedido" ControlToValidate="TxtOtrosImportes" Display="Dynamic" ValidationGroup="GrpGuardar"></asp:RangeValidator>
<asp:TextBox ID="TxtTotal" runat="server" CssClass="form-control input-sm" Visible="false" MaxLength="12" Width="140px" placeholder="Total" Enabled="false" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
</div>
</div>
<div class="row" runat="server" >
<label class="col-md-2" runat="server" id="lblpagocomisiones">Otros Ingresos:</label>
<div class="col-md-3">
<asp:CheckBox ID="ChkAjusteOI" runat="server" AutoPostBack="true" />
<div class="col-md-2 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtOtrosImportes" runat="server" ReadOnly="true" CssClass="form-control input-sm" Visible="false" MaxLength="12" Width="140px" placeholder="Otros Importes" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FTEOtrosImportes" runat="server" TargetControlID="TxtOtrosImportes" FilterType="Custom, Numbers" ValidChars="+-.," />
<asp:RangeValidator ID="RangeValidator1" runat="server" Enabled="false" Type="Currency" MinimumValue="0" MaximumValue="0" ErrorMessage="Importe Excedido" ControlToValidate="TxtOtrosImportes" Display="Dynamic" ValidationGroup="GrpGuardar"></asp:RangeValidator>
<asp:TextBox ID="TxtTotal" runat="server" CssClass="form-control input-sm" Visible="false" MaxLength="12" Width="140px" placeholder="Total" Enabled="false" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
</div>
</div>
<div class="row" runat="server" >
<label class="col-md-2" runat="server" id="lblpagocomisiones">Otros Ingresos:</label>
<div class="col-md-3">
<asp:CheckBox ID="ChkAjusteOI" runat="server" AutoPostBack="true" />
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<div>
<asp:TextBox ID="Anexo" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</td>

View File

@@ -521,6 +521,17 @@ Partial Class Compras_ReembolsosComprobaciones
Next
Dim filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
Dim filemove As String = ""
Dim Comprobante As String = ""
Dim ComprobanteIE = ""
For Each fileItem As Archivo In filesgral
Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
filemove = fileItem.filename
Next
If HdnCheque.Value.ToEntero > 0 AndAlso Not ChkReembolsarSinBancos.Checked Then
CveIERegistrado = DDlCheques.SelectedValue.ToEntero
@@ -569,14 +580,31 @@ Partial Class Compras_ReembolsosComprobaciones
If ChkChequeExcedente.Checked Then
CvePrePolizaExcedente = ObjMov.AddPrePolizas("Compras/Comprobaciones3", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
CveIEExcedente = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text, TxtImporte.Text.ToDecimal, CveMoneda, 0.0, TxtObservaciones.Text, "", ChkAbonoCuenta.Checked, True, -1, CvePrePolizaExcedente, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FueConciliado:=If(ChkReembolsarSinBancos.Checked, True, False))
CveIEExcedente = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text, TxtImporte.Text.ToDecimal, CveMoneda, 0.0, TxtObservaciones.Text, "", ChkAbonoCuenta.Checked, True, -1, CvePrePolizaExcedente, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FueConciliado:=If(ChkReembolsarSinBancos.Checked, True, False))
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, TxtImporte.Text.ToDecimal, TxtObservaciones.Text, If(CveCajaChica > 0, 30, 29), TxtObservaciones.Text, TxtFechaDocumento.Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEExcedente, CvePersonal:=CvePersonal, CveCompra:=-1, CveProveedor:=-1, ImporteME:=If(tipoCambio = 1, 0, TxtImporte.Text.ToDecimal), ImporteMX:=TxtImporte.Text.ToDecimal * tipoCambio) Then
MsgError = "Error al registrar detalle de concepto bancario"
End If
If CveIEExcedente > 0 Then
If filemove <> "" Then
filemove.FilesMove(CveIEExcedente.ToString, String.Format("{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
Anexo.Text = ""
End If
End If
End If
ElseIf Not ChkReembolsarSinBancos.Checked Then
CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones4", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
CveIERegistrado = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text, TxtImporte.Text.ToDecimal, CveMoneda, 0.0, TxtObservaciones.Text, "", ChkAbonoCuenta.Checked, True, -1, CvePrePolizaIERegistrado, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FueConciliado:=If(ChkReembolsarSinBancos.Checked, True, False))
CveIERegistrado = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text, TxtImporte.Text.ToDecimal, CveMoneda, 0.0, TxtObservaciones.Text, "", ChkAbonoCuenta.Checked, True, -1, CvePrePolizaIERegistrado, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FueConciliado:=If(ChkReembolsarSinBancos.Checked, True, False))
If CveIERegistrado > 0 Then
If filemove <> "" Then
filemove.FilesMove(CveIERegistrado.ToString, String.Format("{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:=False)
Anexo.Text = ""
End If
End If
'AGREGO PREPOLIZA IE BANCOS
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaIERegistrado, True, TxtImporte.Text.ToDecimal, TxtObservaciones.Text, 30, TxtObservaciones.Text, TxtFechaDocumento.Text.ToDate, IdCuentaBancaria, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=-1, CveProveedor:=-1, ImporteME:=If(tipoCambio = 1, 0, TxtImporte.Text.ToDecimal), ImporteMX:=TxtImporte.Text.ToDecimal * tipoCambio) Then

File diff suppressed because it is too large Load Diff

View File

@@ -435,7 +435,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas
//str.AppendFormat("SELECT dbo.Fnc_NomValues(40, 0, {2}, -1, {0}, {1}, {1}) isrFraccionII_2,", FraccionII_1, diasmes, DdlEjercicios.SelectedValue);
//str.AppendFormat(" dbo.Fnc_NomValues(40, 0, {2}, -1, {0}, {1}, {1}) isrFraccionIII_1", salariomensual, diasmes, DdlEjercicios.SelectedValue);
//if (objbase.runQuerystr(str.ToString()))
if(objbase.CalculosISRAguinaldo(FraccionII_1, salariomensual, diasmes, DdlEjercicios.SelectedValue))
if(objbase.CalculosISRAguinaldo(FraccionII_1, salariomensual, diasmes, DdlEjercicios.SelectedValue.ToEntero()))
{
DataRow drow = objbase.DtResultados.Rows[0];
FraccionII_2 = drow["isrFraccionII_2"].ToString().ToDecimal();

View File

@@ -148,6 +148,8 @@ Partial Class CatRoles
Next
Roles.Dispose()
RegistraScript("$('#DivPermisos').modal('hide');")
RecargaGlobal()
End Sub
Protected Sub BtnGuardaProcesos_Click(sender As Object, e As EventArgs) Handles BtnGuardaProcesos.Click
@@ -157,6 +159,8 @@ Partial Class CatRoles
Next
Roles.Dispose()
RegistraScript("$('#DivProcesos').modal('hide');")
RecargaGlobal()
End Sub
#Region "G V D A T O S"
@@ -176,6 +180,12 @@ Partial Class CatRoles
End If
Rol.Dispose()
CargaDatos()
RecargaGlobal()
End Sub
Private Sub RecargaGlobal()
GlobalDTRoles(UsuarioActual.CveEmpresa) = Nothing
End Sub

View File

@@ -229,10 +229,14 @@ Partial Class Sistemas_RolesDetalle
End If
ObjEmpresa.Dispose()
RecargaGlobal()
End Sub
Private Sub RecargaGlobal()
GlobalDTRoles(UsuarioActual.CveEmpresa) = Nothing
End Sub
End Class

View File

@@ -4,6 +4,9 @@ Option Strict On
Imports System.Data
Imports System.IO
Imports System.Security.Cryptography.X509Certificates
Imports ADSNetLibrary.SIGAPI.Services.SAT.DescargaCFDI
Imports DocumentFormat.OpenXml.Math
Imports DocumentFormat.OpenXml.Packaging
Imports Extensiones
'Imports Microsoft.AspNet.SignalR.Client
'Imports ChatHub
@@ -23,7 +26,7 @@ Partial Class Site
Public Overrides Property PopupWidth() As Integer
Get
Return HdnPopUpWidth.Value.ToEntero
Return HdnPopUpWidth.Value.ToEntero()
End Get
Set(value As Integer)
HdnPopUpWidth.Value = value.ToString()
@@ -39,7 +42,7 @@ Partial Class Site
End Property
Public Property countNotificaciones As Integer
Get
countNotificaciones = If(IsNothing(ViewState("countNotificaciones")), 0, ViewState("countNotificaciones").ToString().ToEntero)
countNotificaciones = If(IsNothing(ViewState("countNotificaciones")), 0, ViewState("countNotificaciones").ToString().ToEntero())
End Get
Set(value As Integer)
ViewState("countNotificaciones") = value
@@ -206,7 +209,7 @@ Partial Class Site
'End Sub
'Private stringusers As String = "0"
'Private Sub RptChatEmpresa_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles RptChatEmpresa.ItemDataBound
' Dim CveEmpresa As Integer = e.Item.DataItem("CveEmpresa").ToString().ToEntero
' Dim CveEmpresa As Integer = e.Item.DataItem("CveEmpresa").ToString().ToEntero()
' Dim GlobalDTUsuarios As DataTable = DirectCast(Application("GlobalDTUsuarios"), DataTable).FiltraParametros(String.Format("CveUsuario in ({0}) AND CveEmpresa ={1}", stringusers, CveEmpresa))
' Dim rpthijo As Repeater = DirectCast(e.Item.FindControl("RPTChatuser"), Repeater)
@@ -302,6 +305,68 @@ Partial Class Site
' dt.ReadXml(String.Format("{0}\Menu\ERP\{1}_Conf.xml", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveUsuario))
'End Sub
Public Class MenuModal
Public Sub New()
HeaderBar = New StringBuilder("<li><i class='fa fa-home'></i><a href='/Inicio.aspx'>Inicio</a></li>")
MenuHTML = New StringBuilder()
End Sub
Property CveModuloSeleccionado As Integer
Property CveModuloSeleccionadoPadre As Integer
Property dt As DataTable
Property HeaderBar As StringBuilder
Property MenuHTML As StringBuilder
Property ScriptColorGrupoModulo As String
End Class
Private Function ArmarMenu(CveModulo As Integer, ByRef menuobj As MenuModal) As MenuModal
Dim listaModulos As EnumerableRowCollection(Of DataRow) = From i In menuobj.dt.AsEnumerable Where i!CvePadre.Equals(CveModulo) Order By i!Orden
Dim cveModuloActual As Integer
Dim liga As String
Dim modulo As String
Dim estilo As String
For Each drP As DataRow In listaModulos
cveModuloActual = drP("CveModulo").ToString().ToEntero()
liga = If(drP("PopUp").ToString() = "S", String.Format("javascript:AbrirVentana('{0}',{1},{2},'N');", drP("LIGA"), drP("ANCHO"), drP("ALTO")), drP("LIGA").ToString())
modulo = drP("Modulo").ToString()
estilo = If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drP("Estilo")), "")
If menuobj.CveModuloSeleccionado = cveModuloActual Then
menuobj.HeaderBar.AppendFormat("<li><i class='fa fa-angle-right'></i><a href='{0}'>{1}</a></li>", liga, modulo)
menuobj.CveModuloSeleccionadoPadre = CveModulo
menuobj.ScriptColorGrupoModulo = ColorPage(drP("CveGrupoModulo").ToString().ToEntero())
End If
menuobj.MenuHTML.AppendFormat("<li><a id='m{0}' href=""{1}"">{2}<span class='title'>{3}</span>", cveModuloActual, liga, estilo, modulo)
drP.Delete()
menuobj.dt.AcceptChanges()
If menuobj.dt.COUNT("CveModulo", String.Format("CvePadre ={0}", cveModuloActual)) > 0 Then
menuobj.MenuHTML.AppendFormat("<span id='j{0}'></span><span class='arrow '></span></a><ul class='sub-menu'>", cveModuloActual)
menuobj = ArmarMenu(cveModuloActual, menuobj)
If menuobj.CveModuloSeleccionadoPadre = cveModuloActual Then
menuobj.MenuHTML.Replace(String.Format("id='m{0}'", cveModuloActual), String.Format("id='m{0}' class='active open '", cveModuloActual))
menuobj.MenuHTML.Replace(String.Format("id='j{0}'", cveModuloActual), String.Format("id='j{0}' class='selected '", cveModuloActual))
'menuobj.MenuHTML = menuobj.MenuHTML.Replace(String.Format("id='m{0}'", cveModuloActual), String.Format("id='m{0}' class='active open'", cveModuloActual))
'menuobj.MenuHTML = menuobj.MenuHTML.Replace(String.Format("id='j{0}'", cveModuloActual), String.Format("id='j{0}' class='selected'", cveModuloActual))
menuobj.HeaderBar.AppendFormat("<li><i class='fa fa-angle-right'></i><a href='{0}'>{1}</a></li>", liga, modulo)
menuobj.CveModuloSeleccionadoPadre = CveModulo
End If
menuobj.MenuHTML.AppendFormat("</ul>")
Else
menuobj.MenuHTML.AppendFormat("</a>")
End If
menuobj.MenuHTML.AppendFormat("</li>")
Next
Return menuobj
End Function
Private Sub CreaMenu()
Dim dt As New DataTable
@@ -312,104 +377,136 @@ Partial Class Site
dt.ReadXml(String.Format("{0}\Menu\ERP\{1}.xml", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveUsuario))
End If
Dim Inicio = From i In dt.AsEnumerable Where i!CvePadre.Equals(0) Order By i!Orden
'Dim Inicio = From i In dt.AsEnumerable Where i!CvePadre.Equals(0) Order By i!Orden
Dim CveModuloPadre, CveModuloPadreSeleccionado, CveModuloHijoSeleccionado, CveModuloNietoSeleccionado As Integer
Dim CveModulo As Integer = CveModulomasterpage.Text.ToEntero
Dim ScriptColorGrupoModulo As String = ""
Dim LinkBase = "javascript:;"
Dim HeaderBar As New StringBuilder("<li><i class='fa fa-home'></i><a href='/Inicio.aspx'>Inicio</a>")
Dim LinkPadre = ""
Dim Linkpapa As String = ""
Dim LinkHijo = ""
Dim Linkson As String = ""
Dim LinkNieto = ""
Dim ClassActive As String
CveModuloPadreSeleccionado = 0 : CveModuloHijoSeleccionado = 0 : CveModuloNietoSeleccionado = 0
'Dim CveModulo As Integer = CveModulomasterpage.Text.ToEntero()
'Dim ScriptColorGrupoModulo As String = ""
'Dim LinkBase = "javascript:;"
'Dim HeaderBar As New StringBuilder("<li><i class='fa fa-home'></i><a href='/Inicio.aspx'>Inicio</a>")
'Dim LinkPadre = ""
'Dim Linkpapa As String = ""
'Dim LinkHijo = ""
'Dim Linkson As String = ""
'Dim LinkNieto = ""
'Dim ClassActive As String
'CveModuloPadreSeleccionado = 0 : CveModuloHijoSeleccionado = 0 : CveModuloNietoSeleccionado = 0
Dim menuobj = New MenuModal()
menuobj.dt = dt
menuobj.CveModuloSeleccionado = CveModulomasterpage.Text.ToEntero()
Dim newmenuobj As MenuModal = ArmarMenu(0, menuobj)
Dim strdomain = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, "").Replace("https://", "http://")
If Request.Url.Port <> 80 Then
strdomain = strdomain.Replace(String.Format(":{0}", Request.Url.Port), "")
End If
Dim MenuHTML As New StringBuilder
For Each drP As DataRow In Inicio
CveModuloPadre = drP("CveModulo").ToString().ToEntero
LinkPadre = drP("LIGA").ToString()
If drP("PopUp").ToString() = "S" Then LinkPadre = String.Format("javascript:AbrirVentana('{0}',{1},{2},'N');", drP("LIGA"), drP("ANCHO"), drP("ALTO"))
'Dim MenuHTML As New StringBuilder
'For Each drP As DataRow In Inicio
' CveModuloPadre = drP("CveModulo").ToString().ToEntero()
' LinkPadre = drP("LIGA").ToString()
' If drP("PopUp").ToString() = "S" Then LinkPadre = String.Format("javascript:AbrirVentana('{0}',{1},{2},'N');", drP("LIGA"), drP("ANCHO"), drP("ALTO"))
Dim Hijos = From h In dt.AsEnumerable Where h!CvePadre.Equals(CveModuloPadre) Order By h!Orden
If CveModulo = drP("CveModulo").ToString().ToEntero Then
HeaderBar.AppendFormat("<i class='fa fa-angle-right'></i></li> <li><a href='{0}'>{1}</a>", LinkPadre, drP("Modulo").ToString())
ScriptColorGrupoModulo = ColorPage(drP("CveGrupoModulo").ToString().ToEntero)
End If
If Hijos.Count > 0 Then
Linkpapa = LinkPadre
LinkPadre = LinkBase
MenuHTML.AppendFormat("<li id='m{3}'><a href='{0}'>{2}<span class='title'>{1}</span><span id='j{3}' ></span><span class='arrow '></span></a><ul class='sub-menu'>", LinkPadre, drP("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drP("Estilo")), ""), drP("CveModulo"))
For Each drH As DataRow In Hijos
Dim CveModuloHijo As Integer = drH("CveModulo").ToString().ToEntero
LinkHijo = drH("LIGA").ToString()
If (drH("IsAngular").ToString() = "1") Then
LinkHijo = String.Format("{1}:84{0}", drH("LIGA"), strdomain)
End If
' Dim Hijos = From h In dt.AsEnumerable Where h!CvePadre.Equals(CveModuloPadre) Order By h!Orden
' If CveModulo = drP("CveModulo").ToString().ToEntero() Then
' HeaderBar.AppendFormat("<i class='fa fa-angle-right'></i></li> <li><a href='{0}'>{1}</a>", LinkPadre, drP("Modulo").ToString())
' ScriptColorGrupoModulo = ColorPage(drP("CveGrupoModulo").ToString().ToEntero())
' End If
' If Hijos.Count > 0 Then
' Linkpapa = LinkPadre
' LinkPadre = LinkBase
' MenuHTML.AppendFormat("<li id='m{3}'><a href='{0}'>{2}<span class='title'>{1}</span><span id='j{3}' ></span><span class='arrow '></span></a><ul class='sub-menu'>", LinkPadre, drP("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drP("Estilo")), ""), drP("CveModulo"))
' For Each drH As DataRow In Hijos
' Dim CveModuloHijo As Integer = drH("CveModulo").ToString().ToEntero()
' LinkHijo = drH("LIGA").ToString()
' If (drH("IsAngular").ToString() = "1") Then
' LinkHijo = String.Format("{1}:84{0}", drH("LIGA"), strdomain)
' End If
If CveModulo = drH("CveModulo").ToString().ToEntero Then
CveModuloPadreSeleccionado = CveModuloPadre
ClassActive = "class='active'"
HeaderBar.AppendFormat("<i class='fa fa-angle-right'></i> </li><li><a href='{0}'>{1}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{2}'>{3}</a>", Linkpapa, drP("Modulo").ToString(), LinkHijo, drH("Modulo").ToString())
ScriptColorGrupoModulo = ColorPage(drH("CveGrupoModulo").ToString().ToEntero)
Else
' If CveModulo = drH("CveModulo").ToString().ToEntero() Then
' CveModuloPadreSeleccionado = CveModuloPadre
' ClassActive = "class='active'"
' HeaderBar.AppendFormat("<i class='fa fa-angle-right'></i> </li><li><a href='{0}'>{1}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{2}'>{3}</a>", Linkpapa, drP("Modulo").ToString(), LinkHijo, drH("Modulo").ToString())
' ScriptColorGrupoModulo = ColorPage(drH("CveGrupoModulo").ToString().ToEntero())
' Else
ClassActive = ""
End If
If drH("PopUp").ToString() = "S" Then LinkHijo = String.Format("javascript:AbrirVentana('{0}',{1},{2},'N');", drH("LIGA"), drH("ANCHO"), drH("ALTO"))
' ClassActive = ""
' End If
' If drH("PopUp").ToString() = "S" Then LinkHijo = String.Format("javascript:AbrirVentana('{0}',{1},{2},'N');", drH("LIGA"), drH("ANCHO"), drH("ALTO"))
Dim Nietos = From h In dt.AsEnumerable Where h!CvePadre.Equals(CveModuloHijo) Order By h!Orden
If Nietos.Count > 0 Then
Linkson = LinkHijo
LinkHijo = LinkBase
MenuHTML.AppendFormat("<li id='m{3}'><a href='{0}'>{2}{1}<span class='arrow '></span> </a><ul class='sub-menu'>", LinkHijo, drH("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drH("Estilo")), ""), drH("CveModulo"))
For Each drN As DataRow In Nietos
LinkNieto = drN("LIGA").ToString()
If (drN("IsAngular").ToString() = "1") Then
LinkNieto = String.Format("{1}:84{0}", drN("LIGA"), strdomain)
End If
If CveModulo = drN("CveModulo").ToString().ToEntero Then
CveModuloPadreSeleccionado = CveModuloPadre : CveModuloHijoSeleccionado = CveModuloHijo
ClassActive = "class='active'"
HeaderBar.AppendFormat("<i class='fa fa-angle-right'></i> </li><li><a href='{0}'>{1}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{2}'>{3}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{4}'>{5}</a>", Linkpapa, drP("Modulo").ToString(), Linkson, drH("Modulo").ToString(), LinkNieto, drN("Modulo"))
ScriptColorGrupoModulo = ColorPage(drN("CveGrupoModulo").ToString().ToEntero)
Else
ClassActive = ""
End If
If drN("PopUp").ToString() = "S" Then LinkNieto = String.Format("javascript:AbrirVentana('{0}',{1},{2},'N');", drN("LIGA"), drN("ANCHO"), drN("ALTO"))
MenuHTML.AppendFormat("<li {3}><a href=""{0}"">{2}{1}</a></li>", LinkNieto, drN("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drN("Estilo")), ""), ClassActive)
Next
MenuHTML.AppendFormat("</ul></li>")
Else
MenuHTML.AppendFormat("<li {3}><a href=""{0}"">{2}{1}</a></li>", LinkHijo, drH("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drH("Estilo")), ""), ClassActive)
End If
Next
MenuHTML.AppendFormat("</ul></li>")
Else
MenuHTML.AppendFormat("<li><a href=""{0}"">{2}<span class='title'>{1}</span></a></li>", LinkPadre, drP("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drP("Estilo")), ""))
End If
Next
' Dim Nietos = From h In dt.AsEnumerable Where h!CvePadre.Equals(CveModuloHijo) Order By h!Orden
' If Nietos.Count > 0 Then
' Linkson = LinkHijo
' LinkHijo = LinkBase
' MenuHTML.AppendFormat("<li id='m{3}'><a href='{0}'>{2}{1}<span class='arrow '></span> </a><ul class='sub-menu'>", LinkHijo, drH("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drH("Estilo")), ""), drH("CveModulo"))
' For Each drN As DataRow In Nietos
' LinkNieto = drN("LIGA").ToString()
' If (drN("IsAngular").ToString() = "1") Then
' LinkNieto = String.Format("{1}:84{0}", drN("LIGA"), strdomain)
' End If
' If CveModulo = drN("CveModulo").ToString().ToEntero() Then
' CveModuloPadreSeleccionado = CveModuloPadre : CveModuloHijoSeleccionado = CveModuloHijo
' ClassActive = "class='active'"
' HeaderBar.AppendFormat("<i class='fa fa-angle-right'></i> </li><li><a href='{0}'>{1}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{2}'>{3}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{4}'>{5}</a>", Linkpapa, drP("Modulo").ToString(), Linkson, drH("Modulo").ToString(), LinkNieto, drN("Modulo"))
' ScriptColorGrupoModulo = ColorPage(drN("CveGrupoModulo").ToString().ToEntero())
' Else
' ClassActive = ""
' End If
' If drN("PopUp").ToString() = "S" Then LinkNieto = String.Format("javascript:AbrirVentana('{0}',{1},{2},'N');", drN("LIGA"), drN("ANCHO"), drN("ALTO"))
If CveModuloPadreSeleccionado > 0 Then
MenuHTML = MenuHTML.Replace(String.Format("id='m{0}'", CveModuloPadreSeleccionado), String.Format("id='m{0}' class='active open'", CveModuloPadreSeleccionado))
MenuHTML = MenuHTML.Replace(String.Format("id='j{0}'", CveModuloPadreSeleccionado), String.Format("id='j{0}' class='selected'", CveModuloPadreSeleccionado))
Else
End If
If CveModuloHijoSeleccionado > 0 Then
MenuHTML = MenuHTML.Replace(String.Format("id='m{0}'", CveModuloHijoSeleccionado), String.Format("id='m{0}' class='open'", CveModuloHijoSeleccionado))
MenuHTML = MenuHTML.Replace(String.Format("id='j{0}'", CveModuloHijoSeleccionado), String.Format("id='j{0}' class='selected'", CveModuloHijoSeleccionado))
End If
HeaderBar.AppendFormat("</li>{0}", ScriptColorGrupoModulo)
BarraNavegacion.Text = HeaderBar.ToString()
' Dim bizNietos = From h In dt.AsEnumerable Where h!CvePadre.Equals(drN("CveModulo").ToString().ToEntero()) Order By h!Orden
' Dim LinkBizNieto As String
' If bizNietos.Count = 0 Then
' MenuHTML.AppendFormat("<li id='m{4}'{3}><a href=""{0}"">{2}{1}</a></li>", LinkNieto, drN("Modulo"), If(drN("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drN("Estilo")), ""), ClassActive, drN("CveModulo").ToString().ToEntero())
' Else
' MenuHTML.AppendFormat("<li id='m{3}'><a href='{0}'>{2}{1}<span class='arrow '></span> </a><ul class='sub-menu'>", LinkNieto, drN("Modulo"), If(drN("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drN("Estilo")), ""), drN("CveModulo"))
' For Each drBN As DataRow In bizNietos
' LinkBizNieto = drBN("LIGA").ToString()
' If (drBN("IsAngular").ToString() = "1") Then
' LinkBizNieto = String.Format("{1}:84{0}", drBN("LIGA"), strdomain)
' End If
' If CveModulo = drBN("CveModulo").ToString().ToEntero() Then
' CveModuloPadreSeleccionado = CveModuloPadre : CveModuloHijoSeleccionado = CveModuloHijo
' ClassActive = "class='active'"
' HeaderBar.AppendFormat("<i class='fa fa-angle-right'></i> </li><li><a href='{0}'>{1}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{2}'>{3}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{4}'>{5}</a> <i class='fa fa-angle-right'></i> </li><li><a href='{6}'>{7}</a>", Linkpapa, drP("Modulo").ToString(), Linkson, drH("Modulo").ToString(), LinkNieto, drN("Modulo"), LinkBizNieto, drBN("Modulo"))
' ScriptColorGrupoModulo = ColorPage(drBN("CveGrupoModulo").ToString().ToEntero())
' Else
' ClassActive = ""
' End If
' If drBN("PopUp").ToString() = "S" Then LinkBizNieto = String.Format("javascript:AbrirVentana('{0}',{1},{2},'N');", drBN("LIGA"), drBN("ANCHO"), drBN("ALTO"))
' MenuHTML.AppendFormat("<li id='m{4}'{3}><a href=""{0}"">{2}{1}</a></li>", LinkBizNieto, drBN("Modulo"), If(drBN("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drBN("Estilo")), ""), ClassActive, drBN("CveModulo").ToString().ToEntero())
' Next
' MenuHTML.AppendFormat("</ul></li>")
' End If
' Next
' MenuHTML.AppendFormat("</ul></li>")
' Else
' MenuHTML.AppendFormat("<li {3}><a href=""{0}"">{2}{1}</a></li>", LinkHijo, drH("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drH("Estilo")), ""), ClassActive)
' End If
' Next
' MenuHTML.AppendFormat("</ul></li>")
' Else
' MenuHTML.AppendFormat("<li><a href=""{0}"">{2}<span class='title'>{1}</span></a></li>", LinkPadre, drP("Modulo"), If(drP("Estilo").ToString() <> "", String.Format("<i class='{0}'></i>", drP("Estilo")), ""))
' End If
'Next
'If CveModuloPadreSeleccionado > 0 Then
' menuobj.MenuHTML = menuobj.MenuHTML.Replace(String.Format("id='m{0}'", CveModuloPadreSeleccionado), String.Format("id='m{0}' class='active open'", CveModuloPadreSeleccionado))
' menuobj.MenuHTML = menuobj.MenuHTML.Replace(String.Format("id='j{0}'", CveModuloPadreSeleccionado), String.Format("id='j{0}' class='selected'", CveModuloPadreSeleccionado))
'Else
'End If
'If CveModuloHijoSeleccionado > 0 Then
' menuobj.MenuHTML = menuobj.MenuHTML.Replace(String.Format("id='m{0}'", CveModuloHijoSeleccionado), String.Format("id='m{0}' class='open'", CveModuloHijoSeleccionado))
' menuobj.MenuHTML = menuobj.MenuHTML.Replace(String.Format("id='j{0}'", CveModuloHijoSeleccionado), String.Format("id='j{0}' class='selected'", CveModuloHijoSeleccionado))
'End If
'HeaderBar.AppendFormat("</li>")
menuobj.HeaderBar.AppendFormat("{0}", menuobj.ScriptColorGrupoModulo)
BarraNavegacion.Text = menuobj.HeaderBar.ToString()
'CargaMenu(MenuHTML)
Menu.Text = MenuHTML.ToString()
MenuHTML.Clear()
HeaderBar.Clear()
Menu.Text = menuobj.MenuHTML.ToString()
menuobj.MenuHTML.Clear()
menuobj.HeaderBar.Clear()
End Sub

View File

@@ -3141,9 +3141,9 @@
</div>
<div class="row">
<div class="col-md-8">
<div id="DivCodEnsamble" runat="server" class="form-group form-md-line-input input-iconright">
<div runat="server" class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodEnsamble" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<asp:CustomValidator ID="CVCodEnsamble" runat="server" ControlToValidate="TxtCodEnsamble" ValidateEmptyText="true" Display="None" ClientValidationFunction="ValidarCodigoEnsamble" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Ensamble''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" />
<asp:CustomValidator ID="CVCodEnsamble" runat="server" ControlToValidate="TxtCodEnsamble" ClientValidationFunction="ValidarCodigoEnsamble" ValidateEmptyText="true" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Ensamble''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" />
<label for="<%= TxtCodEnsamble.ClientID.ToString()%>">Cod.Ensamble:</label>
</div>
</div>
@@ -3162,7 +3162,7 @@
<div class="col-md-8">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodLinea" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<asp:CustomValidator ID="CVCodLinea" runat="server" ControlToValidate="TxtCodLinea" ClientValidationFunction="ValidarCodigoLinea" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Linea''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" />
<asp:CustomValidator ID="CVCodLinea" runat="server" ControlToValidate="TxtCodLinea" ClientValidationFunction="ValidarCodigoLinea" ValidateEmptyText="true" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Linea''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" />
<label for="<%= TxtCodLinea.ClientID.ToString()%>">Cod.Linea:</label>
</div>
</div>
@@ -3185,7 +3185,7 @@
<div class="col-md-8">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodInspeccion" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<asp:CustomValidator ID="CVCodInspeccion" runat="server" ControlToValidate="TxtCodInspeccion" ClientValidationFunction="ValidarCodigoInspeccion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Inspección''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" />
<asp:CustomValidator ID="CVCodInspeccion" runat="server" ControlToValidate="TxtCodInspeccion" ClientValidationFunction="ValidarCodigoInspeccion" ValidateEmptyText="true" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod.Inspección''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" />
<%-- <asp:RegularExpressionValidator ID="REVCodInspeccion" runat="server" ControlToValidate="TxtCodInspeccion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod. Inspección''</b> es incorrecto, por favor ingréselo correctamente." ValidationGroup="GrpAddVenta" ValidationExpression="^[A-L][0-9][1-9A-Z][A-HJ-M]$"></asp:RegularExpressionValidator>--%>
<%--<asp:RequiredFieldValidator ID="RFVCodInspeccion" runat="server" ControlToValidate="TxtCodInspeccion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cod. Inspeccion''</b> es necesario, por favor ingréselo." ValidationGroup="VGMAjuste"></asp:RequiredFieldValidator>--%>
<%--<ajax:ValidatorCalloutExtender ID="VCECodInspeccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVCodInspeccion"></ajax:ValidatorCalloutExtender>--%>

View File

@@ -287,17 +287,17 @@ Partial Class RepVentaDetalle
DdlGrupo.DataBind()
End Sub
Private Sub CargaCombos()
Private Sub CargaCombos()
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto)
CargaClientes()
'DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
txtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString
txtFechaF.Text = Now.LastDayOfMonth.ToShortDateString
'Vendedor
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
CargaClientes()
'DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
txtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString
txtFechaF.Text = Now.LastDayOfMonth.ToShortDateString
'Vendedor
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)") 'vendedores y vendedores de piso
DdlVendedor.DataBind()
DdlVendedor.Items.Insert(0, New ListItem("Sin Vendedor", "-2"))
@@ -312,7 +312,7 @@ Partial Class RepVentaDetalle
'Carga Clasificacion Cliente
DdlClienteClasificacion.DataSource = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa)
DdlClienteClasificacion.DataBind()
DdlClienteClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
DdlClienteClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
DdlClienteClasificacion.Items.Insert(0, New ListItem("Sin Giro", "-2"))
@@ -342,7 +342,7 @@ Partial Class RepVentaDetalle
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue)
CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue)
End Sub
Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)

View File

@@ -592,6 +592,7 @@
<asp:UpdatePanel ID="UpParametros" runat="server" UpdateMode="Conditional" class="portlet light xspadding .nolineheight bordered whitoutcol" style="width: 310px;">
<ContentTemplate>
<asp:HiddenField ID="HdnCargarInventario" runat="server" ClientIDMode="Static" Value="True" />
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
@@ -698,7 +699,7 @@
<td>
<asp:UpdatePanel ID="UPPVentas" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="DdlVendedor" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" Width="200px">
<asp:DropDownList ID="DdlVendedor" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" Width="100%">
<asp:ListItem Selected="true" Text="Sin asignar" Value="0"></asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
@@ -728,7 +729,7 @@
<tr id="TrLineaAdicional" runat="server" visible="false">
<td align="left"><b>Linea Adicional:</b></td>
<td align="left">
<asp:DropDownList ID="DdlLineaAdicional" DataTextField="InfoGeneral" DataValueField="CveLineaAdicional" AutoPostBack="true" CssClass=" form-control input-sm select2me" runat="server" Width="80%" OnSelectedIndexChanged="DdlLineaAdicional_SelectedIndexChanged">
<asp:DropDownList ID="DdlLineaAdicional" DataTextField="InfoGeneral" DataValueField="CveLineaAdicional" AutoPostBack="true" CssClass=" form-control input-sm select2me" runat="server" Width="100%" OnSelectedIndexChanged="DdlLineaAdicional_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:LinkButton runat="server" Visible="false" ID="LnkUpdateLineaAdicional" OnClick="LnkUpdateLineaAdicional_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea actualizar la linea adicional de crédito de la factura?" data-btn-ok-label="si" Text="<i class='fa fa-check' style='color:green'></i>" CssClass="btn btn-default btn-circle btn-xs" ToolTip="Actualizar Linea adicional" />
@@ -1719,7 +1720,6 @@
<asp:UpdatePanel ID="UpINV" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField ID="HdnCargarInventario" runat="server" ClientIDMode="Static" Value="True"/>
<asp:Button ID="BtnCargarInventario" runat="server" ClientIDMode="Static" Text="" Style="display: none;" OnClick="BtnCargarInventario_Click" />
<div class="portlet box purpleAlmacen" id="DivSalidaAlmacen" runat="server">
<div class="portlet-title">
@@ -9497,10 +9497,12 @@
step: 30
});
if(HdnCargarInventario.value == 'True'){
if(HdnCargarInventario.value == 'True'){
$("#TabAlmacen_tab .ajax__tab_inner").click(function () {
CargaMovimientosInventario();
});
}else {
$("#TabAlmacen_tab .ajax__tab_inner").unbind();
}
}

View File

@@ -2401,6 +2401,7 @@ Partial Class Ventas
ViewState("ClienteRetISR") = 0
ViewState("CvePrecioLista") = 0
ViewState("CvePrecioListaCliente") = 0
HdnCargarInventario.Value = "True"
Me.CveVendedorVenta = -1
Me.CveVendedorCliente = -1
Me.CveVendedorClienteSucursal = -1
@@ -2851,8 +2852,7 @@ Partial Class Ventas
'REMOVER EVENTO PARA RECARGAR ALMACEN
HdnCargarInventario.Value = "False"
'spanAlmacen.Attributes.Remove("onclick")
Tab.ActiveTabIndex = 1
Updatetabs.Update()
UpParametros.Update()
End If
'Modalidad Devoluciones y Refacturacion
@@ -9461,22 +9461,106 @@ Partial Class Ventas
End If
If UsuarioActual.Empresa.Funcionalidad(705) = "1" AndAlso DdlLineaAdicional.SelectedValue.ToEntero() > 0 Then
'VERIFICA QUE LA MONEDA DE LA LINEA ADICIONAL SEA LA MISMA QUE LA VENTA
If Me.CveMonedaLineaAdicional <> ObjFactura.CveMoneda Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("La moneda de la linea adicional de crédito debe ser la misma que la factura.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'VERIFICA QUE EL SALDO DISPONIBLE SEA MENOR AL IMPORTE
If ObjFactura.TipoDocto = "Rem" AndAlso Me.SaldoLineaAdicional < ObjFactura.Total Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("El saldo de la linea adicional debe ser mayor o igual al de la remisión", TipoMensaje.MsgAdvertencia)
Exit Sub
If ObjFactura.TipoDocto = "Ing" Then
If Me.CveMonedaLineaAdicional <> ObjFactura.CveMoneda Then
'SI LA LINEA ESTA EN PESOS Y LA FACTURA ESTA EN DOLARES
If Me.CveMonedaLineaAdicional = 1 AndAlso ObjFactura.CveMoneda = 2 Then
Dim SaldoUSD As Decimal = SaldoIngresosLineaAdicional / TxtTipoCambio.Text.ToDecimal()
If SaldoUSD < ObjFactura.Total Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
'SI LA LINEA ESTA EN DOLARES Y LA FACTURA ESTA EN PESOS
If Me.CveMonedaLineaAdicional = 2 AndAlso ObjFactura.CveMoneda = 1 Then
Dim SaldoMXN As Decimal = SaldoIngresosLineaAdicional * TxtTipoCambio.Text.ToDecimal()
If SaldoMXN < ObjFactura.Total Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Else
'SI LA LINEA Y LA FACTURA TIENEN LA MISMA MONEDA
If Me.SaldoIngresosLineaAdicional < ObjFactura.Total Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
End If
If ObjFactura.TipoDocto = "Rem" Then
If Me.CveMonedaLineaAdicional <> ObjFactura.CveMoneda Then
'SI LA LINEA ESTA EN PESOS Y LA FACTURA ESTA EN DOLARES
If Me.CveMonedaLineaAdicional = 1 AndAlso ObjFactura.CveMoneda = 2 Then
Dim SaldoUSD As Decimal = SaldoLineaAdicional / TxtTipoCambio.Text.ToDecimal()
If SaldoUSD < ObjFactura.Total Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("El saldo de la linea adicional debe ser mayor o igual al de la remisión", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
'SI LA LINEA ESTA EN DOLARES Y LA FACTURA ESTA EN PESOS
If Me.CveMonedaLineaAdicional = 2 AndAlso ObjFactura.CveMoneda = 1 Then
Dim SaldoMXN As Decimal = SaldoLineaAdicional * TxtTipoCambio.Text.ToDecimal()
If SaldoMXN < ObjFactura.Total Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("El saldo de la linea adicional debe ser mayor o igual al de la remisión", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Else
'SI LA LINEA Y LA FACTURA TIENEN LA MISMA MONEDA
If Me.SaldoLineaAdicional < ObjFactura.Total Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("El saldo de la linea adicional debe ser mayor o igual al de la remisión", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
End If
'VERIFICA QUE LA MONEDA DE LA LINEA ADICIONAL SEA LA MISMA QUE LA VENTA
'If Me.CveMonedaLineaAdicional <> ObjFactura.CveMoneda Then
' TmpDT = TmpDTError.Copy()
' CalculaTotalesVenta(RecalcularTotalOriginal:=False)
' Alert("La moneda de la linea adicional de crédito debe ser la misma que la factura.", TipoMensaje.MsgAdvertencia)
' Exit Sub
'Else
' If ObjFactura.TipoDocto = "Ing" AndAlso Me.SaldoIngresosLineaAdicional < ObjFactura.Total Then
' TmpDT = TmpDTError.Copy()
' CalculaTotalesVenta(RecalcularTotalOriginal:=False)
' Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
' Exit Sub
' End If
'End If
'VERIFICA QUE EL SALDO DISPONIBLE SEA MENOR AL IMPORTE
'If ObjFactura.TipoDocto = "Rem" AndAlso Me.SaldoLineaAdicional < ObjFactura.Total Then
' TmpDT = TmpDTError.Copy()
' CalculaTotalesVenta(RecalcularTotalOriginal:=False)
' Alert("El saldo de la linea adicional debe ser mayor o igual al de la remisión", TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
If ObjFactura.TipoDocto = "Ing" AndAlso (DtRemisionesPS Is Nothing OrElse DtRemisionesPS.Rows.Count = 0) Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
@@ -9484,12 +9568,6 @@ Partial Class Ventas
Exit Sub
End If
If ObjFactura.TipoDocto = "Ing" AndAlso Me.SaldoIngresosLineaAdicional < ObjFactura.Total Then
TmpDT = TmpDTError.Copy()
CalculaTotalesVenta(RecalcularTotalOriginal:=False)
Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
'If Not CveEmpresaCRM > 0 Then
@@ -14198,14 +14276,26 @@ Partial Class Ventas
End If
ElseIf AplicoNCFacturaActual AndAlso ChkAplicaNCAnticipo.Checked Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then
Dim CveConceptoPagoNC As Integer = 251
If ObjFactura.CveMoneda > 1 Then
CveConceptoPagoNC = 301
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, CveConceptoPagoNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then
ErrorPrepoliza = True
Exit For
End If
End If
Else
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then
Dim CveConceptoPagoNC As Integer = 251
If ObjFactura.CveMoneda > 1 Then
CveConceptoPagoNC = 301
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, CveConceptoPagoNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=Dr("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(Dr("TCCambioValuacion").ToString().ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=Dr("TCCambioValuacion").ToString().ToDecimal, TipoCambioPago:=tipoCambio) Then
ErrorPrepoliza = True
Exit For
End If
@@ -14317,7 +14407,12 @@ Partial Class Ventas
End If
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimientoDev, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVentaDevolucion, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteMX:=importeMXDev, ImporteME:=If(tipoCambio = 1, 0, importeMovimientoDev), CveSubProyecto:=CveSubProyectoContabilizar) Then
Dim CveConceptoPagoNC As Integer = 251
If ObjFactura.CveMoneda > 1 Then
CveConceptoPagoNC = 301
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimientoDev, Referencia, CveConceptoPagoNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVentaDevolucion, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteMX:=importeMXDev, ImporteME:=If(tipoCambio = 1, 0, importeMovimientoDev), CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
Exit For
End If
@@ -14526,7 +14621,12 @@ Partial Class Ventas
If importeMovimiento <> 0 Then
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVentaNC").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then
Dim CveConceptoPagoNC As Integer = 251
If ObjFactura.CveMoneda > 1 Then
CveConceptoPagoNC = 301
End If
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, Referencia, CveConceptoPagoNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2.DataKey("CveVentaNC").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimiento, Referencia, 91, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=row2.DataKey("CveVentaNC").ToString().ToEntero(), ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then
ErrorPrepoliza = True
Exit For
@@ -14647,7 +14747,13 @@ Partial Class Ventas
If sumaAmorticaciones <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, sumaAmorticaciones, Referencia, 251, Concepto, FechaMovimiento, IdCtaContClientes, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=sumaAmorticaciones * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then
Dim CveConceptoPagoNC As Integer = 251
If ObjFactura.CveMoneda > 1 Then
CveConceptoPagoNC = 301
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, sumaAmorticaciones, Referencia, CveConceptoPagoNC, Concepto, FechaMovimiento, IdCtaContClientes, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=sumaAmorticaciones * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then
ErrorPrepoliza = True
Else
ViewState("SeGuardoPrePoliza") = True
@@ -18806,10 +18912,12 @@ Partial Class Ventas
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "PA") AndAlso UsuarioActual.Empresa.Funcionalidad(705) = "1" Then
DdlLineaAdicional.DataSource = Nothing
Dim TCConsulta As Decimal = TxtTipoCambio.Text.ToDecimal()
Using ObjVentas As New ClsVentas
'SI ES VENTA EXISTENTE , SI SE VA EDITAR SOLO MOSTRAR LAS CON SALDO, FECHA DE VENCIMIENTO VIGENTE O LA LINEA ACTUAL
If CveVenta > 0 Then
If ObjVentas.GetLineasAdicionalesSaldo(-1, CveCliente, -1, -1, UsuarioActual.CveEmpresa, ConSaldo:=-1, FechaVencimientoConsulta:=MinFecha) Then
If ObjVentas.GetLineasAdicionalesSaldo(-1, CveCliente, -1, -1, UsuarioActual.CveEmpresa, TipoCambioConsulta:=TCConsulta, ConSaldo:=-1, FechaVencimientoConsulta:=MinFecha) Then
If ObjVentas.DtResultados.Rows.Count > 0 Then
TrLineaAdicional.Visible = True
DdlLineaAdicional.DataSource = ObjVentas.DtResultados.FiltraParametros($"(Saldo > 0 AND FechaVencimiento <= '{Now.ToString("dd/MM/yyyy")}') OR CveLineaAdicional = {Me.CveLineaAdicionalVenta}")
@@ -18818,14 +18926,14 @@ Partial Class Ventas
Else
'SI SE ESTA FACTURANDO UNA REMISION DEBE SELECCIONAR LA LINEA ADICIONAL DE ESTA
If Me.CveLineaAdicionalVenta > 0 Then
If ObjVentas.GetLineasAdicionalesSaldo(Me.CveLineaAdicionalVenta, CveCliente, -1, -1, UsuarioActual.CveEmpresa, ConSaldo:=-1, FechaVencimientoConsulta:=MinFecha) Then
If ObjVentas.GetLineasAdicionalesSaldo(Me.CveLineaAdicionalVenta, CveCliente, -1, -1, UsuarioActual.CveEmpresa, TipoCambioConsulta:=TCConsulta, ConSaldo:=-1, FechaVencimientoConsulta:=MinFecha) Then
If ObjVentas.DtResultados.Rows.Count > 0 Then
TrLineaAdicional.Visible = True
DdlLineaAdicional.DataSource = ObjVentas.DtResultados
End If
End If
Else
If ObjVentas.GetLineasAdicionalesSaldo(-1, CveCliente, -1, -1, UsuarioActual.CveEmpresa, ConSaldo:=1, FechaVencimientoConsulta:=Now) Then
If ObjVentas.GetLineasAdicionalesSaldo(-1, CveCliente, -1, -1, UsuarioActual.CveEmpresa, TipoCambioConsulta:=TCConsulta, ConSaldo:=1, FechaVencimientoConsulta:=Now) Then
If ObjVentas.DtResultados.Rows.Count > 0 Then
TrLineaAdicional.Visible = True
DdlLineaAdicional.DataSource = ObjVentas.DtResultados
@@ -24775,15 +24883,30 @@ Partial Class Ventas
If SaldoVenta <> 0 Then
If UsuarioActual.TienePermisoProceso(269) AndAlso Not DevolucionAlmacen = 2 Then
If UsuarioActual.TienePermisoProceso(269) Then
DivDevAlm.Visible = True
TieneAlmacen = True
End If
If UsuarioActual.Empresa.Funcionalidad(567) = "1" Then
DivDevAlm.Visible = True
TieneAlmacen = True
If UsuarioActual.Empresa.Funcionalidad(567) = "1" Then
ChkDevAlm.Checked = True
ChkDevAlm.Enabled = False
End If
ChkDevAlm.Checked = True
ChkDevAlm.Enabled = False
End If
If (CveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue <> "Cot") AndAlso Not AplicaDevolucion Then
Using ObjInv As New ClsInventarios
If ObjInv.GetInv_Mov(Me.CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjInv.DtResultados.Rows.Count > 0 Then
Dim RowInv As DataRow = ObjInv.DtResultados.FiltroPrimero("CveConcepto IN (3,40)")
If RowInv IsNot Nothing Then
CveAlmacenDevolucion = RowInv("CveAlmacen").ToString().ToEntero()
End If
End If
End Using
End If
End If
End If
@@ -32910,9 +33033,9 @@ Partial Class Ventas
'REMOVER EVENTO PARA RECARGAR ALMACEN
'spanAlmacen.Attributes.Remove("onclick")
Tab.ActiveTabIndex = 1
HdnCargarInventario.Value = "False"
Updatetabs.Update()
UpParametros.Update()
UpnTools.Update()
@@ -36441,8 +36564,10 @@ Partial Class Ventas
RBLPago.SelectedValue = "1"
RBLPago.Enabled = False
Dim TCConsulta As Decimal = TxtTipoCambio.Text.ToDecimal()
Using ObjVentas As New ClsVentas
If ObjVentas.GetLineasAdicionalesSaldo(DdlLineaAdicional.SelectedValue.ToEntero(), CveCliente, -1, -1, UsuarioActual.CveEmpresa, FechaVencimientoConsulta:=MinFecha) Then
If ObjVentas.GetLineasAdicionalesSaldo(DdlLineaAdicional.SelectedValue.ToEntero(), CveCliente, -1, -1, UsuarioActual.CveEmpresa, TipoCambioConsulta:=TCConsulta, FechaVencimientoConsulta:=MinFecha) Then
If ObjVentas.DtResultados.Rows.Count > 0 Then
Dim RowLinea As DataRow = ObjVentas.DtResultados.Rows(0)
If RowLinea IsNot Nothing Then
@@ -36552,16 +36677,36 @@ Partial Class Ventas
Exit Sub
End If
'VERIFICA QUE EL SALDO DISPONIBLE SEA MENOR AL IMPORTE
If Me.SaldoLineaAdicional < TxtTotal.Text.ToDecimal() Then
Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim TotalDocumento As Decimal = TxtTotal.Text.ToDecimal()
'VERIFICA QUE LA MONEDA DE LA LINEA ADICIONAL SEA LA MISMA QUE LA VENTA
'VERIFICA QUE EL SALDO DISPONIBLE SEA MENOR AL IMPORTE
If Me.CveMonedaLineaAdicional <> DdlMoneda.SelectedValue.ToEntero() Then
Alert("La moneda de la linea adicional de crédito debe ser la misma que la factura.", TipoMensaje.MsgAdvertencia)
Exit Sub
'SI LA LINEA ESTA EN PESOS Y LA FACTURA ESTA EN DOLARES
If Me.CveMonedaLineaAdicional = 1 AndAlso DdlMoneda.SelectedValue.ToEntero() = 2 Then
Dim SaldoUSD As Decimal = SaldoLineaAdicional / TxtTipoCambio.Text.ToDecimal()
If SaldoUSD < TotalDocumento Then
Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
'SI LA LINEA ESTA EN DOLARES Y LA FACTURA ESTA EN PESOS
If Me.CveMonedaLineaAdicional = 2 AndAlso DdlMoneda.SelectedValue.ToEntero() = 1 Then
Dim SaldoMXN As Decimal = SaldoLineaAdicional * TxtTipoCambio.Text.ToDecimal()
If SaldoMXN < TotalDocumento Then
Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Else
'SI LA LINEA Y LA FACTURA TIENEN LA MISMA MONEDA
If Me.SaldoLineaAdicional < TotalDocumento Then
Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
End If
@@ -36601,7 +36746,7 @@ Partial Class Ventas
'Tab.ActiveTabIndex = 1
HdnCargarInventario.Value = "False"
'Updatetabs.Update()
UpINV.Update()
UpParametros.Update()
End Sub
Protected Sub LBAplicaDevolucion_Click(sender As Object, e As EventArgs)