Merge branch 'master' of http://agonzalez@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -383,7 +383,7 @@ Public Class ClsContratos
|
|||||||
Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1.0, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1,
|
Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1.0, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1,
|
||||||
Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1,
|
Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1,
|
||||||
Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional FacturacionCicilica As Boolean = False, Optional FacturacionCiclicaAutomatico As Boolean = False,
|
Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional FacturacionCicilica As Boolean = False, Optional FacturacionCiclicaAutomatico As Boolean = False,
|
||||||
Optional DiaMesFacturacion As Integer = 1) As Boolean
|
Optional DiaMesFacturacion As Integer = 1, Optional CvePeriodo As Integer = -1) As Boolean
|
||||||
Dim Retorno = False
|
Dim Retorno = False
|
||||||
|
|
||||||
DataAdapter("PA_Con_ContratosUpdate")
|
DataAdapter("PA_Con_ContratosUpdate")
|
||||||
@@ -436,7 +436,8 @@ Public Class ClsContratos
|
|||||||
.Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev
|
.Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev
|
||||||
.Add("@FacturacionCicilica", SqlDbType.Bit).Value = FacturacionCicilica
|
.Add("@FacturacionCicilica", SqlDbType.Bit).Value = FacturacionCicilica
|
||||||
.Add("@FacturacionCiclicaAutomatico", SqlDbType.Bit).Value = FacturacionCiclicaAutomatico
|
.Add("@FacturacionCiclicaAutomatico", SqlDbType.Bit).Value = FacturacionCiclicaAutomatico
|
||||||
.Add("@DiaMesFacturacion", SqlDbType.TinyInt).Value = DiaMesFacturacion
|
.Add("@DiaMesFacturacion", SqlDbType.TinyInt).Value = DiaMesFacturacion
|
||||||
|
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
|
||||||
End With
|
End With
|
||||||
|
|
||||||
Try
|
Try
|
||||||
@@ -728,7 +729,7 @@ Public Class ClsContratos
|
|||||||
|
|
||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
Public Function CicloComercialUpdate(CveCicloComercial As Integer, FueFacturado As Boolean, CveEmpresa As Integer) As Boolean
|
Public Function CicloComercialUpdate(CveCicloComercial As Integer, FueFacturado As Boolean, CveEmpresa As Integer, Optional CveVenta As Integer = -1) As Boolean
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
DataAdapter("PA_Con_CicloComercialUpdate")
|
DataAdapter("PA_Con_CicloComercialUpdate")
|
||||||
|
|
||||||
@@ -736,6 +737,7 @@ Public Class ClsContratos
|
|||||||
.Add("@FueFacturado", SqlDbType.Bit).Value = FueFacturado
|
.Add("@FueFacturado", SqlDbType.Bit).Value = FueFacturado
|
||||||
.Add("@CveCicloComercial", SqlDbType.Int).Value = CveCicloComercial
|
.Add("@CveCicloComercial", SqlDbType.Int).Value = CveCicloComercial
|
||||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||||
|
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
|
||||||
|
|
||||||
End With
|
End With
|
||||||
Try
|
Try
|
||||||
|
|||||||
@@ -855,7 +855,7 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
|
If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
|
||||||
If Not ObjContr.CicloComercialUpdate(Me.CveCicloComercial, True, UsuarioActual.CveEmpresa) Then
|
If Not ObjContr.CicloComercialUpdate(Me.CveCicloComercial, True, UsuarioActual.CveEmpresa, CveVenta:=CveVenta) Then
|
||||||
ErrorList.Add("No se pudo actualizar ")
|
ErrorList.Add("No se pudo actualizar ")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
709
Ashx/SIGFacturacionCiclica.ashx
Normal file
709
Ashx/SIGFacturacionCiclica.ashx
Normal file
@@ -0,0 +1,709 @@
|
|||||||
|
<%@ WebHandler Language="VB" Class="SIGFacturacionCiclica" %>
|
||||||
|
'Option Explicit On
|
||||||
|
'Option Strict On
|
||||||
|
|
||||||
|
Imports System
|
||||||
|
Imports System.Web
|
||||||
|
Imports System.Data
|
||||||
|
Imports Newtonsoft.Json.Linq
|
||||||
|
Imports Extensiones
|
||||||
|
Imports System.IO
|
||||||
|
Imports Microsoft.AspNet.SignalR
|
||||||
|
|
||||||
|
Public Class SIGFacturacionCiclica : Implements IHttpHandler, IRequiresSessionState
|
||||||
|
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
|
||||||
|
context.Response.ContentType = "text/plain"
|
||||||
|
Dim retorno = False
|
||||||
|
Try
|
||||||
|
If context.Request("Metodo") IsNot Nothing Then
|
||||||
|
Select Case context.Request("Metodo")
|
||||||
|
Case "EjecutaServicio"
|
||||||
|
ModExtensiones.GuardaLogAD("Servicio Ejecutado...........", "LogFacturacionCiclica")
|
||||||
|
retorno = IniciaFacturacionMasiva()
|
||||||
|
End Select
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
ex.GuardaLog(ex.Message)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
If retorno Then
|
||||||
|
context.Response.Write("True")
|
||||||
|
Else
|
||||||
|
context.Response.Write("False")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
|
||||||
|
Get
|
||||||
|
Return False
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private Function Parametros(Cadena As String) As Hashtable
|
||||||
|
Dim P1() As String = Cadena.Split("&"c)
|
||||||
|
Dim Tmp As String
|
||||||
|
Dim P2() As String
|
||||||
|
|
||||||
|
Dim URLParametros As New Hashtable
|
||||||
|
|
||||||
|
For Each Tmp In P1
|
||||||
|
P2 = Tmp.Replace("%26%", "&").Split("="c)
|
||||||
|
URLParametros.Add(P2(0).ToString.ToUpper, P2(1))
|
||||||
|
Next
|
||||||
|
Return URLParametros
|
||||||
|
End Function
|
||||||
|
|
||||||
|
#Region "V A L I D A - D A T O S"
|
||||||
|
Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario
|
||||||
|
Dim UsuarioActual As Usuario = Nothing
|
||||||
|
Dim ObjUsuarios As New ClsSisUsuarios
|
||||||
|
If ObjUsuarios.GetUsuarios(100) Then
|
||||||
|
If ObjUsuarios.DtResultados.Rows.Count > 0 Then
|
||||||
|
Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
|
||||||
|
Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
|
||||||
|
UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, IMEI, CveEmpresa)
|
||||||
|
UsuarioActual.CveEmpresa = CveEmpresa
|
||||||
|
CreaObjetoEmpresa(UsuarioActual)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
ObjUsuarios.Dispose()
|
||||||
|
Return UsuarioActual
|
||||||
|
End Function
|
||||||
|
Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
|
||||||
|
|
||||||
|
Dim ObjEmpresa As New ClsSisEmpresas()
|
||||||
|
If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
|
||||||
|
If ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
|
||||||
|
Dim dttmp As Data.DataTable = ObjEmpresa.DtResultados
|
||||||
|
|
||||||
|
Dim EmpresasFuncionalidades As New HybridDictionary
|
||||||
|
For Each Row As Data.DataRow In dttmp.Rows
|
||||||
|
EmpresasFuncionalidades.Add(Convert.ToInt32(Row("CveFuncionalidad")), Row("Valor").ToString)
|
||||||
|
Next
|
||||||
|
ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades)
|
||||||
|
End If
|
||||||
|
|
||||||
|
UsuarioActual.Empresa = ObjEmpresa.Empresa
|
||||||
|
End If
|
||||||
|
ObjEmpresa.Dispose()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
Private Function IniciaFacturacionMasiva() As Boolean
|
||||||
|
Dim Retorno As Boolean = True
|
||||||
|
Dim FechaRef As DateTime = DateTime.Now
|
||||||
|
Dim DTCicloComercial As DataTable = Nothing
|
||||||
|
|
||||||
|
Using ObjContratos As New ClsContratos
|
||||||
|
If ObjContratos.CicloComercialGet(-1, -1, -1, -1, FechaRef, FechaRef, -1) Then
|
||||||
|
DTCicloComercial = ObjContratos.DtResultados.FiltraParametros("FueFacturado = 0 AND FacturacionCiclicaAutomatico = 1")
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
|
||||||
|
If DTCicloComercial IsNot Nothing Then
|
||||||
|
For Each RowEmpresa As DataRow In DTCicloComercial.FiltraParametros("", DistinctColumns:={"CveEmpresa"}).Rows
|
||||||
|
Dim CveEmpresa As Integer = RowEmpresa("CveEmpresa").ToString().ToEntero()
|
||||||
|
Dim UsuarioActual = ValidaUsuarioSistema(CveEmpresa)
|
||||||
|
If UsuarioActual IsNot Nothing Then
|
||||||
|
Retorno = EjecutarFacturacionMasiva(UsuarioActual, DTCicloComercial.FiltraParametros($"CveEmpresa = {CveEmpresa}"))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function EjecutarFacturacionMasiva(UsuarioActual As Usuario, DTCicloComercial As DataTable) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
|
If DTCicloComercial IsNot Nothing Then
|
||||||
|
For Each Row As DataRow In DTCicloComercial.Rows
|
||||||
|
|
||||||
|
If Row("Observaciones").ToString().Contains("{DIA}") Then
|
||||||
|
Row("Observaciones") = Row("Observaciones").ToString().Replace("{DIA}", DateTime.Now.Day.ToString())
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Row("Observaciones").ToString().Contains("{MES}") Then
|
||||||
|
Dim fecha As DateTime = DateTime.Now
|
||||||
|
Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat
|
||||||
|
Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper()
|
||||||
|
|
||||||
|
Row("Observaciones") = Row("Observaciones").ToString().Replace("{MES}", nombreMes)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Row("Observaciones").ToString().Contains("{AÑO}") Then
|
||||||
|
Row("Observaciones") = Row("Observaciones").ToString().Replace("{AÑO}", DateTime.Now.Year.ToString())
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Row("Observaciones").ToString().Contains("{TC}") Then
|
||||||
|
Row("Observaciones") = Row("Observaciones").ToString().Replace("{TC}", GlobalTipoCambio(Now).FormatoNumero)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim Resp = EmitirImprimir(UsuarioActual, Row)
|
||||||
|
|
||||||
|
If Resp.CveVenta > 0 Then
|
||||||
|
Retorno = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function EmitirImprimir(UsuarioActual As Usuario, RowCiclo As DataRow) As Modelos.Factura.MMensajeFactura
|
||||||
|
Dim Resp As New Modelos.Factura.MMensajeFactura
|
||||||
|
|
||||||
|
Dim ObjFactura = CreaObjetosVenta(UsuarioActual, RowCiclo)
|
||||||
|
|
||||||
|
If ObjFactura Is Nothing Then
|
||||||
|
Resp.Mensajes.Add("Ocurrió un error al procesar los datos de la Venta ")
|
||||||
|
ObjFactura = Nothing
|
||||||
|
Return Resp
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjFactura.CveCliente > 0 Then
|
||||||
|
If ObjFactura.DtDetalle.Rows.Count > 0 Then
|
||||||
|
Resp = ObjFactura.EmitirFactura()
|
||||||
|
Else
|
||||||
|
Resp.Mensajes.Add("No se pudo completar facturación por que no se encontraron partidas ")
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Resp.Mensajes.Add("No se pudo completar facturación por que no se encontraro el cliente ")
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return Resp
|
||||||
|
End Function
|
||||||
|
|
||||||
|
#Region "P R E P A R A - V E N T A"
|
||||||
|
Private Function CreaDTVentas() As DataTable
|
||||||
|
Dim TmpDT = New DataTable
|
||||||
|
TmpDT.Columns.Add("CveVenta", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("Consec", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("Cantidad", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("Codigo", GetType(String))
|
||||||
|
TmpDT.Columns.Add("CveUM", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("UM", GetType(String))
|
||||||
|
TmpDT.Columns.Add("SATClaveUM", GetType(String))
|
||||||
|
TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("Clasificacion", GetType(String))
|
||||||
|
TmpDT.Columns.Add("CvePS", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("PS", GetType(String))
|
||||||
|
TmpDT.Columns.Add("CodigoPS", GetType(String))
|
||||||
|
TmpDT.Columns.Add("SATClaveProdServ", GetType(String))
|
||||||
|
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
|
||||||
|
TmpDT.Columns.Add("CveTipoPS", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("CveTipoInvPS", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("Serie", GetType(String))
|
||||||
|
TmpDT.Columns.Add("CuentaPredial", GetType(String))
|
||||||
|
TmpDT.Columns.Add("Obs", GetType(String))
|
||||||
|
TmpDT.Columns.Add("TiempoEntrega", GetType(String))
|
||||||
|
TmpDT.Columns.Add("PU", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("IVA", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("ImporteIVA", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("PorcentajeIVA", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("ImporteRetIVA", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("ImporteRetISR", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("PorcentajeRetISR", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("ImporteIEPS", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("IEPS", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("PorcentajeIEPS", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("Descuento", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("TotalImporte", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("Total", GetType(Decimal))
|
||||||
|
'Para uso del módulo contable
|
||||||
|
TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("IdCtaContVentas", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("AplicaParaConcepto", GetType(Boolean))
|
||||||
|
TmpDT.Columns.Add("CveProyecto", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("Proyecto", GetType(String))
|
||||||
|
TmpDT.Columns.Add("CveSubProyecto", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("SubProyecto", GetType(String))
|
||||||
|
TmpDT.Columns.Add("CveVentaDetallePadre", GetType(Integer))
|
||||||
|
|
||||||
|
'TipoDescuento: 1 = Descuento * PU; 2 = Descuento por Total del concepto
|
||||||
|
TmpDT.Columns.Add("CvePresupuestoIngreso", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("CveFuenteRecaudacion", GetType(Integer))
|
||||||
|
'Contratos
|
||||||
|
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
|
||||||
|
'Remisiones a Facturas
|
||||||
|
TmpDT.Columns.Add("CveVentaDetalle", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("CveVentaDetalleRemision", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("CveVentaDetalleCotizacion", GetType(Integer))
|
||||||
|
|
||||||
|
'Pedido2 a Facturas
|
||||||
|
TmpDT.Columns.Add("CveVentaDetallePedido2", GetType(Integer))
|
||||||
|
|
||||||
|
TmpDT.Columns.Add("Origen", GetType(Integer))
|
||||||
|
'Ordenes Servicio
|
||||||
|
TmpDT.Columns.Add("CveOS", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("CveOSDetalle", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("SeFacturara", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("Folio", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("Estatus", GetType(String))
|
||||||
|
'Ordenamiento
|
||||||
|
TmpDT.Columns.Add("Orden", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("TipoDocto", GetType(String))
|
||||||
|
'OC
|
||||||
|
TmpDT.Columns.Add("CveOrdenCompraDetalle", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
|
||||||
|
|
||||||
|
TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("CantidadFacturadaCot", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("CantidadFacturadaPed2", GetType(Decimal))
|
||||||
|
TmpDT.Columns.Add("CantidadInventario", GetType(Decimal))
|
||||||
|
|
||||||
|
TmpDT.Columns.Add("ClaveSATFraccionArancelaria", GetType(String))
|
||||||
|
TmpDT.Columns.Add("ClaveSATUnidadAduana", GetType(String))
|
||||||
|
TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String))
|
||||||
|
TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String))
|
||||||
|
|
||||||
|
TmpDT.Columns.Add("CveTamaño", GetType(Integer))
|
||||||
|
TmpDT.Columns.Add("EsCargo", GetType(Boolean))
|
||||||
|
|
||||||
|
Return TmpDT
|
||||||
|
End Function
|
||||||
|
Private Function CreaObjetosVenta(UsuarioActual As Usuario, DR As DataRow) As Modelos.Factura
|
||||||
|
Dim ObjFactura = New Modelos.Factura(UsuarioActual)
|
||||||
|
Try
|
||||||
|
ObjFactura.DirectorioServidor = HttpContext.Current.Server.MapPath("/")
|
||||||
|
|
||||||
|
Dim CveProyecto As String = ""
|
||||||
|
Dim CveSubProyecto As String = ""
|
||||||
|
Dim Proyecto As String = ""
|
||||||
|
Dim SubProyecto As String = ""
|
||||||
|
Dim CveCicloComercial = DR("CveCicloComercial").ToString().ToEntero()
|
||||||
|
|
||||||
|
ObjFactura.CveCicloComercial = CveCicloComercial
|
||||||
|
|
||||||
|
Dim TmpDT As DataTable = CreaDTVentas()
|
||||||
|
|
||||||
|
ObjFactura.Version = "3.3"
|
||||||
|
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
|
||||||
|
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
|
||||||
|
ObjFactura.ConvertirPesos = False
|
||||||
|
ObjFactura.CveMoneda = DR("CveMoneda").ToString.ToEntero
|
||||||
|
ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ")
|
||||||
|
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DR("CveMoneda").ToString.ToEntero}")
|
||||||
|
ObjFactura.TipoCambio = If(ObjFactura.CveMoneda = 1, 1, GlobalTipoCambio(Now))
|
||||||
|
ObjFactura.TipoDocto = "Ing"
|
||||||
|
ObjFactura.RefDocto = ""
|
||||||
|
ObjFactura.Folio = -1
|
||||||
|
ObjFactura.Serie = "-1"
|
||||||
|
ObjFactura.CveMesa = -1
|
||||||
|
ObjFactura.Fecha = DR("FechaVenc").ToString.ToDate
|
||||||
|
ObjFactura.CvePrePoliza = -1
|
||||||
|
ObjFactura.CveMetodoPago = 1
|
||||||
|
ObjFactura.MetodoPago = "Efectivo"
|
||||||
|
ObjFactura.FechaPago = DateTime.Today
|
||||||
|
ObjFactura.MotivoDescuento = ""
|
||||||
|
ObjFactura.Observaciones = DR("Observaciones").ToString
|
||||||
|
ObjFactura.FechaEjecucion = DateTime.Today
|
||||||
|
'ObjFactura.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {1}")
|
||||||
|
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
|
||||||
|
ObjFactura.CveCondicionEntrega = -1
|
||||||
|
ObjFactura.CondicionEntrega = ""
|
||||||
|
ObjFactura.NumeroCuenta = ""
|
||||||
|
'ObjFactura.CveSucursal = GlobalDTSucursales.FiltroPrimeroValor("CveSucursal", $"CveEmpresa = {UsuarioActual.CveEmpresa}").ToEntero
|
||||||
|
'ObjFactura.Cliente.NumCtaPago = TxtNumCtaPago.Text.Trim
|
||||||
|
ObjFactura.CondicionesPago = 0
|
||||||
|
ObjFactura.FormaPago = 0
|
||||||
|
'ObjFactura.SerieFolio = String.Format("{0}-{1}", LblSerie.Text, TxtFolio.Text)
|
||||||
|
ObjFactura.PedidoContrato = ""
|
||||||
|
ObjFactura.NumeroContrato = DR("NumeroContrato").ToString
|
||||||
|
ObjFactura.DescripcionContrato = DR("DescripcionContrato").ToString
|
||||||
|
ObjFactura.CveCorte = -1
|
||||||
|
ObjFactura.TipoDocumento = "Factura"
|
||||||
|
ObjFactura.Alfa1 = ""
|
||||||
|
ObjFactura.Alfa2 = ""
|
||||||
|
ObjFactura.Alfa3 = ""
|
||||||
|
'Totales, Y se llena TmpDTImpuestos
|
||||||
|
ObjFactura.Descuento = 0
|
||||||
|
ObjFactura.Amortizacion = 0
|
||||||
|
ObjFactura.CveContrato = DR("CveContrato").ToString.ToEntero
|
||||||
|
CveProyecto = DR("CveProyecto").ToString
|
||||||
|
Proyecto = DR("ProyectoContrato").ToString
|
||||||
|
CveSubProyecto = DR("CveSubProyecto").ToString
|
||||||
|
ObjFactura.CveSubProyecto = CveSubProyecto.ToEntero
|
||||||
|
ObjFactura.CveSubProyectoCobranza = CveSubProyecto.ToEntero
|
||||||
|
ObjFactura.CveSubProyectoEjecucion = CveSubProyecto.ToEntero
|
||||||
|
|
||||||
|
ObjFactura.SubProyecto = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1).FiltroPrimero(String.Format("CveSubProyecto = {0}", ObjFactura.CveSubProyecto)))
|
||||||
|
ObjFactura.SubProyectoMatriz = New Modelos.SubProyectoModel(GlobalDTSubProyectos(-1, CveSubProyecto:=-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("TipoSucursal=1"))
|
||||||
|
|
||||||
|
|
||||||
|
SubProyecto = DR("SubProyectoContrato").ToString
|
||||||
|
|
||||||
|
Dim DtDetalle As DataTable = Nothing
|
||||||
|
Dim objContratos As New ClsContratos
|
||||||
|
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
|
||||||
|
DtDetalle = objContratos.DtResultados
|
||||||
|
Else
|
||||||
|
DtDetalle = Nothing
|
||||||
|
End If
|
||||||
|
objContratos.Dispose()
|
||||||
|
|
||||||
|
Dim DtR As DataRow
|
||||||
|
ObjFactura.SubTotal = SUM(DtDetalle, "Total").ToDecimal
|
||||||
|
ObjFactura.IVA = SUM(DtDetalle, "ImporteIVA").ToDecimal
|
||||||
|
ObjFactura.RetIVA = SUM(DtDetalle, "ImporteRetIVA").ToDecimal
|
||||||
|
ObjFactura.RetISR = SUM(DtDetalle, "ImporteRetISR").ToDecimal
|
||||||
|
ObjFactura.IEPS = SUM(DtDetalle, "ImporteIEPS").ToDecimal
|
||||||
|
ObjFactura.Total = ObjFactura.SubTotal + ObjFactura.IVA + ObjFactura.IEPS - (ObjFactura.RetIVA + ObjFactura.RetISR)
|
||||||
|
|
||||||
|
For Each row As DataRow In DtDetalle.Rows
|
||||||
|
Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("")
|
||||||
|
|
||||||
|
DtR = TmpDT.NewRow
|
||||||
|
DtR("CveVenta") = -1
|
||||||
|
DtR("Codigo") = row("Codigo")
|
||||||
|
DtR("Consec") = TmpDT.Rows.Count + 1
|
||||||
|
DtR("Cantidad") = row("CantidadContratada")
|
||||||
|
DtR("CveUM") = row("CveUM")
|
||||||
|
DtR("UM") = row("UM")
|
||||||
|
DtR("SATClaveUM") = row("SATClaveUM")
|
||||||
|
DtR("CveClasificacion") = row("CveClasificacion")
|
||||||
|
DtR("Clasificacion") = row("Clasificacion")
|
||||||
|
DtR("CvePS") = row("CvePS")
|
||||||
|
DtR("PS") = row("PS")
|
||||||
|
DtR("CodigoPS") = row("CodigoPS")
|
||||||
|
DtR("SATClaveProdServ") = row("SATClaveProdServ")
|
||||||
|
DtR("NoIdentificacion") = row("NoIdentificacion")
|
||||||
|
DtR("CveTipoPS") = drPS("CveTipoPS")
|
||||||
|
DtR("CveTipoInvPS") = drPS("Inv_CveMetodoInventario")
|
||||||
|
DtR("Obs") = row("Observacion").ToString
|
||||||
|
DtR("PU") = row("PU")
|
||||||
|
DtR("IVA") = row("PorcentajeIVA")
|
||||||
|
DtR("PorcentajeIVA") = row("PorcentajeIVA")
|
||||||
|
DtR("ImporteIVA") = row("ImporteIVA")
|
||||||
|
DtR("PorcentajeIEPS") = row("PorcentajeIEPS")
|
||||||
|
DtR("ImporteIEPS") = row("ImporteIEPS")
|
||||||
|
DtR("PorcentajeRetIVA") = row("PorcentajeRetIVA")
|
||||||
|
DtR("ImporteRetIVA") = row("ImporteRetIVA")
|
||||||
|
DtR("PorcentajeRetISR") = row("PorcentajeRetISR")
|
||||||
|
DtR("ImporteRetISR") = row("ImporteRetISR")
|
||||||
|
DtR("Descuento") = 0
|
||||||
|
DtR("TipoDescuento") = 0
|
||||||
|
DtR("CveProyecto") = CveProyecto
|
||||||
|
DtR("Proyecto") = Proyecto
|
||||||
|
DtR("CveSubProyecto") = CveSubProyecto
|
||||||
|
DtR("SubProyecto") = SubProyecto
|
||||||
|
DtR("CveVentaDetalle") = 0
|
||||||
|
DtR("CveContratoDetalle") = row("CveContratoDetalle")
|
||||||
|
DtR("CuentaPredial") = row("CuentaPredial")
|
||||||
|
DtR("TotalImporte") = row("Total")
|
||||||
|
|
||||||
|
TmpDT.Rows.Add(DtR)
|
||||||
|
Next
|
||||||
|
|
||||||
|
'DETALLES
|
||||||
|
ObjFactura.DtDetalle = TmpDT
|
||||||
|
|
||||||
|
'CLIENTE
|
||||||
|
ObjFactura.CveCliente = DR("CveCliente").ToString.ToEntero
|
||||||
|
ObjFactura.SetCliente()
|
||||||
|
|
||||||
|
Dim ObjCliente As New ClsClientes
|
||||||
|
If ObjCliente.GetClientes(ObjFactura.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1, TipoCliente:=-1) Then
|
||||||
|
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||||
|
ObjFactura.CveFormaPago33 = ObjCliente.CveFormaPago33
|
||||||
|
ObjFactura.FormaPago33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPago", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
|
||||||
|
ObjFactura.FormaPagoSAT33 = GlobalDTVtaFormaPago.FiltroPrimeroValor("ClaveFormaPagoSAT", String.Format("CveFormaPago = {0}", ObjCliente.CveFormaPago33))
|
||||||
|
|
||||||
|
ObjFactura.CveMetodoPago33 = ObjCliente.CveMetodoPago33
|
||||||
|
ObjFactura.MetodoPago33 = GlobalDTVtaMetodoPago.FiltroPrimeroValor("MetodoPago", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
|
||||||
|
ObjFactura.ClaveMetodoPagoSAT = GlobalDTVtaMetodoPago.FiltroPrimeroValor("ClaveMetodoPagoSAT", String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago33))
|
||||||
|
|
||||||
|
ObjFactura.CveUsoCFDI = ObjCliente.CveUsoCFDI
|
||||||
|
ObjFactura.UsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("Descripcion", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
|
||||||
|
ObjFactura.ClaveUsoCFDI = GlobalDTSATUsosCFDI.FiltroPrimeroValor("UsoCFDI", String.Format("CveUsoCFDI = {0}", ObjCliente.CveUsoCFDI))
|
||||||
|
|
||||||
|
ObjFactura.CveMetodoPago = ObjCliente.CveMetodoPago
|
||||||
|
|
||||||
|
If GlobalDTMetodosPago.FiltraParametros(String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago)).Rows.Count > 0 Then
|
||||||
|
ObjFactura.MetodoPago = GlobalDTMetodosPago.FiltraParametros(String.Format("CveMetodoPago = {0}", ObjCliente.CveMetodoPago)).Rows(0)("MetodoPago").ToString
|
||||||
|
Else
|
||||||
|
ObjFactura.CveMetodoPago = 1
|
||||||
|
ObjFactura.MetodoPago = "Efectivo"
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjCliente.GetSucursales(ObjFactura.CveCliente) Then
|
||||||
|
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||||
|
ObjFactura.CveClienteSucursal = If(String.IsNullOrEmpty(ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'")), -1, ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "Estatus = 'Activo'").ToEntero())
|
||||||
|
Else
|
||||||
|
ObjFactura.CveClienteSucursal = -1
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
ObjCliente.Dispose()
|
||||||
|
|
||||||
|
'SUBPROYECTO
|
||||||
|
'ObjFactura.SetSubProyectoMatriz(Me)
|
||||||
|
'ObjFactura.SetSubProyecto(Me)
|
||||||
|
|
||||||
|
ObjFactura.Timbre = PreParaTimbre(ObjFactura, UsuarioActual)
|
||||||
|
Catch ex As Exception
|
||||||
|
ObjFactura = Nothing
|
||||||
|
OnError("Ocurrió un error al generar la factura", ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
|
||||||
|
Return ObjFactura
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function PreParaTimbre(Obj As Modelos.Factura, UsuarioActual As Usuario) As CFDITimbre
|
||||||
|
Dim Timbre As New CFDITimbre
|
||||||
|
Timbre.Comprobante.TipoComprobante = If(Obj.TipoDocto.Contiene("Ing", "Ant"), "I", If(Obj.TipoDocto.Contiene("Egs", "Dev"), "E", ""))
|
||||||
|
Timbre.Comprobante.Folio = Obj.Folio.ToString
|
||||||
|
Timbre.Comprobante.Serie = Obj.Serie
|
||||||
|
Timbre.Comprobante.Fecha = Obj.FechaCP
|
||||||
|
Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33
|
||||||
|
Timbre.Comprobante.CondicionesdePago = Obj.FormaPago33
|
||||||
|
Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT
|
||||||
|
Timbre.Comprobante.Subtotal = Obj.SubTotal
|
||||||
|
Timbre.Comprobante.Descuentos = Obj.Descuento
|
||||||
|
Timbre.Comprobante.Moneda = Obj.MonedaSAT
|
||||||
|
Timbre.Comprobante.TipoCambio = If(Obj.CveMoneda = 1, "1", Obj.TipoCambio.ToString)
|
||||||
|
Timbre.Comprobante.Total = Obj.Total
|
||||||
|
|
||||||
|
Timbre.Comprobante.LugarExpedicion = Obj.SubProyecto.CP
|
||||||
|
Timbre.Comprobante.Confirmacion = ""
|
||||||
|
|
||||||
|
Timbre.Receptor.RFC = Obj.Cliente.RFC
|
||||||
|
Timbre.Receptor.Nombre = Obj.Cliente.Nombre
|
||||||
|
Timbre.Receptor.ResidenciaFiscal = ""
|
||||||
|
Timbre.Receptor.NumeroRegistroTributario = ""
|
||||||
|
Timbre.Receptor.UsoCFDI = Obj.ClaveUsoCFDI
|
||||||
|
|
||||||
|
|
||||||
|
If Obj.CveTipoRelacion > 0 Then
|
||||||
|
Select Case Obj.CveTipoRelacion
|
||||||
|
Case 1
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacion = "01"
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacionTexto = "01-Nota de Crédito aplicada a Ingreso"
|
||||||
|
Case 2
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacion = "02"
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacionTexto = "02-Nota de débito de los documentos relacionados"
|
||||||
|
Case 3
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacion = "03"
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacionTexto = "03-Devolución aplicada a Ingreso"
|
||||||
|
Case 4
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacion = "04"
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacionTexto = "04-Refacturación de Ingreso"
|
||||||
|
Case 7
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacion = "07"
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
|
||||||
|
Case 8
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacion = "08"
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacionTexto = "08-Factura generada por pagos en parcialidades "
|
||||||
|
Case 9
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacion = "09"
|
||||||
|
Timbre.CFDIRelacionados.TipoRelacionTexto = "09-Factura generada por pagos diferidos"
|
||||||
|
|
||||||
|
End Select
|
||||||
|
|
||||||
|
'If DtVentasNC IsNot Nothing AndAlso DtVentasNC.Rows.Count > 0 Then
|
||||||
|
' For Each Dr As DataRow In DtVentasNC.Rows
|
||||||
|
' Timbre.CFDIRelacionados.UUID.Add(Dr("FolioFiscal").ToString)
|
||||||
|
' Next
|
||||||
|
'Else
|
||||||
|
' Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
|
||||||
|
'End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Dim totSubTotal As Decimal = Obj.SubTotal
|
||||||
|
Dim totIVA As Decimal = Obj.IVA
|
||||||
|
Dim totRetIVA As Decimal = Obj.RetIVA
|
||||||
|
Dim totRetISR As Decimal = Obj.RetISR
|
||||||
|
Dim i As Integer = 1
|
||||||
|
|
||||||
|
'detalles
|
||||||
|
Dim tPS As String = ""
|
||||||
|
|
||||||
|
For Each drr As DataRow In Obj.DtDetalle.Rows
|
||||||
|
If drr("PS").ToString.Length = 1 Then
|
||||||
|
tPS = drr("Obs").ToString
|
||||||
|
Else
|
||||||
|
If drr("PS").ToString.Length = 0 Then
|
||||||
|
tPS = ""
|
||||||
|
Else
|
||||||
|
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
'condicionante, especial
|
||||||
|
If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" ' les comentan que no debe de ir la etiqueta de "unidad" en el producto
|
||||||
|
|
||||||
|
Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString.ToDecimal,
|
||||||
|
.Descripcion = tPS,
|
||||||
|
.ValorUnitario = drr("PU").ToString.ToDecimal,
|
||||||
|
.Importe = drr("TotalImporte").ToString.ToDecimal,
|
||||||
|
.Descuento = drr("Descuento").ToString.ToDecimal,
|
||||||
|
.Unidad = drr("UM").ToString,
|
||||||
|
.ClaveUnidad = drr("SATClaveUM").ToString,
|
||||||
|
.ClaveProdServ = drr("SATClaveProdServ").ToString,
|
||||||
|
.Noidentificacion = drr("Noidentificacion").ToString,
|
||||||
|
.CuentaPredial = drr("CuentaPredial").ToString}
|
||||||
|
'verifica suma subtotales
|
||||||
|
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'proceso de ajusta de decimales
|
||||||
|
concepto.Importe = totSubTotal
|
||||||
|
End If
|
||||||
|
totSubTotal = totSubTotal - concepto.Importe
|
||||||
|
|
||||||
|
'siempre estaremos agregando el iva, auqnue sea en importe cero o tasa cero, para que se emita la factura
|
||||||
|
' If drr("ImporteIVA").ToString.ToDouble > 0 Then
|
||||||
|
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIVA").ToString.ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString.ToDecimal})
|
||||||
|
' End If
|
||||||
|
|
||||||
|
If drr("ImporteIEPS").ToString.ToDouble > 0 Then
|
||||||
|
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIEPS").ToString.ToDecimal, .Impuesto = "003", .Importe = drr("ImporteIEPS").ToString.ToDecimal})
|
||||||
|
End If
|
||||||
|
|
||||||
|
If drr("ImporteRetIVA").ToString.ToDouble > 0 Then 'si hay retenciones
|
||||||
|
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeRetIVA").ToString.ToDecimal, .Impuesto = "002", .Importe = drr("ImporteRetIVA").ToString.ToDecimal})
|
||||||
|
End If
|
||||||
|
|
||||||
|
If drr("ImporteRetISR").ToString.ToDouble > 0 Then 'retención de ISR
|
||||||
|
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeRetISR").ToString.ToDecimal, .Impuesto = "001", .Importe = drr("ImporteRetISR").ToString.ToDecimal})
|
||||||
|
End If
|
||||||
|
|
||||||
|
Timbre.Conceptos.Add(concepto)
|
||||||
|
i += 1
|
||||||
|
Next
|
||||||
|
Return Timbre
|
||||||
|
End Function
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
|
||||||
|
#Region "G L O B A L - D T"
|
||||||
|
Public Property GlobalTipoCambio(Optional Fecha As Date = MinFecha) As Double
|
||||||
|
Get
|
||||||
|
If GlobalTipoCambio <= 0 Then
|
||||||
|
'sino tiene dato lo recargo por si ya esta insertado
|
||||||
|
If Fecha = MinFecha Then Fecha = Now
|
||||||
|
|
||||||
|
Dim ObjGral As New ClsGenerales
|
||||||
|
If ObjGral.GetTipoCambio(-1, Fecha) AndAlso ObjGral.DtResultados.Rows.Count > 0 Then
|
||||||
|
|
||||||
|
HttpContext.Current.Application("GlobalTipoCambio") = ObjGral.DtResultados.Rows(0)("TipoCambio").ToString.ToDouble
|
||||||
|
Else
|
||||||
|
HttpContext.Current.Application("GlobalTipoCambio") = 0
|
||||||
|
End If
|
||||||
|
ObjGral.Dispose()
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return HttpContext.Current.Application("GlobalTipoCambio").ToString.ToDouble
|
||||||
|
End Get
|
||||||
|
Set(value As Double)
|
||||||
|
HttpContext.Current.Application("GlobalTipoCambio") = value
|
||||||
|
End Set
|
||||||
|
|
||||||
|
End Property
|
||||||
|
Property GlobalDTMonedas() As DataTable
|
||||||
|
Get
|
||||||
|
GlobalDTMonedas = DirectCast(HttpContext.Current.Application("GlobalDTMonedas"), DataTable)
|
||||||
|
End Get
|
||||||
|
Set(value As DataTable)
|
||||||
|
HttpContext.Current.Application("GlobalDTMonedas") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
ReadOnly Property GlobalDTPS(CveEmpresa As Integer, Optional CvePS As Integer = -1, Optional SATClavePS As String = "-1", Optional AplicaParaVenta As Integer = -1, Optional Estatus As Integer = -1, Optional Codigo As String = "-1") As DataTable
|
||||||
|
Get
|
||||||
|
Dim ObjPS As New ClsProductosServicios
|
||||||
|
|
||||||
|
If ObjPS.GetPS(CvePS, -1, CveEmpresa, Codigo:=Codigo, SATClavePS:=SATClavePS, pAplicaParaVenta:=AplicaParaVenta, pEstado:=Estatus) Then
|
||||||
|
GlobalDTPS = ObjPS.DtResultados
|
||||||
|
Else
|
||||||
|
GlobalDTPS = Nothing
|
||||||
|
End If
|
||||||
|
|
||||||
|
ObjPS.Dispose()
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public Property GlobalDTVtaFormaPago() As DataTable
|
||||||
|
Get
|
||||||
|
GlobalDTVtaFormaPago = DirectCast(HttpContext.Current.Application("GlobalDTVtaFormaPago"), DataTable)
|
||||||
|
End Get
|
||||||
|
Set(value As DataTable)
|
||||||
|
HttpContext.Current.Application("GlobalDTVtaFormaPago") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Property GlobalDTVtaMetodoPago() As DataTable
|
||||||
|
Get
|
||||||
|
GlobalDTVtaMetodoPago = DirectCast(HttpContext.Current.Application("GlobalDTVtaMetodoPago"), DataTable)
|
||||||
|
End Get
|
||||||
|
Set(value As DataTable)
|
||||||
|
HttpContext.Current.Application("GlobalDTVtaMetodoPago") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Property GlobalDTSATUsosCFDI(Optional EsPersonaFisica As Integer = -1) As DataTable
|
||||||
|
Get
|
||||||
|
If EsPersonaFisica <> -1 Then
|
||||||
|
Dim Tipo As String = ""
|
||||||
|
If EsPersonaFisica = 1 Then Tipo = "AplicaPersonaFisica = 1" Else Tipo = "AplicaPersonaMoral = 1"
|
||||||
|
|
||||||
|
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application("GlobalDTSATUsosCFDI"), DataTable), Tipo, " UsoCFDIDescripcion", DataViewRowState.CurrentRows)
|
||||||
|
GlobalDTSATUsosCFDI = Dv.ToTable
|
||||||
|
Dv.Dispose()
|
||||||
|
Else
|
||||||
|
GlobalDTSATUsosCFDI = DirectCast(HttpContext.Current.Application("GlobalDTSATUsosCFDI"), DataTable)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Get
|
||||||
|
Set(ByVal value As DataTable)
|
||||||
|
HttpContext.Current.Application("GlobalDTSATUsosCFDI") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Property GlobalDTMetodosPago() As DataTable
|
||||||
|
Get
|
||||||
|
GlobalDTMetodosPago = DirectCast(HttpContext.Current.Application("GlobalDTMetodosPago"), DataTable)
|
||||||
|
End Get
|
||||||
|
Set(value As DataTable)
|
||||||
|
HttpContext.Current.Application("GlobalDTMetodosPago") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Public Property GlobalDTSubProyectos(CveProyecto As Integer, Optional CveSubProyecto As Integer = -1, Optional CveEmpresa As Integer = -1, Optional Estatus As Integer = 1) As DataTable
|
||||||
|
Get
|
||||||
|
Dim AppNombre As String = String.Format("GlobalDTSubProyectos-{0}", CveEmpresa)
|
||||||
|
'sino existe, recarga los datos
|
||||||
|
If DirectCast(HttpContext.Current.Application(AppNombre), DataTable) Is Nothing Or (DirectCast(HttpContext.Current.Application(AppNombre), DataTable) IsNot Nothing AndAlso DirectCast(HttpContext.Current.Application(AppNombre), DataTable).Rows.Count = 0) Then
|
||||||
|
Dim P As New ClsSubProyectos
|
||||||
|
If P.GetSubProyectos(CveEmpresa:=CveEmpresa) Then HttpContext.Current.Application(AppNombre) = P.DtResultados
|
||||||
|
P.Dispose()
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveProyecto <> -1 OrElse CveSubProyecto <> -1 OrElse CveEmpresa <> -1 OrElse Estatus <> -1 Then
|
||||||
|
Dim StrSQL As New StringBuilder
|
||||||
|
If CveProyecto <> -1 Then StrSQL.AppendFormat(" AND CveProyecto = {0}", CveProyecto)
|
||||||
|
If CveSubProyecto <> -1 Then StrSQL.AppendFormat(" AND CveSubProyecto = {0}", CveSubProyecto)
|
||||||
|
If Estatus <> -1 Then StrSQL.AppendFormat(" AND CveEstatus = {0}", Estatus)
|
||||||
|
If CveEmpresa <> -1 Then StrSQL.AppendFormat(" AND CveEmpresa = {0}", CveEmpresa)
|
||||||
|
|
||||||
|
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), StrSQL.ToString.Trim.TrimStart("A"c, "N"c, "D"c), "", DataViewRowState.CurrentRows)
|
||||||
|
GlobalDTSubProyectos = Dv.ToTable
|
||||||
|
Dv.Dispose()
|
||||||
|
|
||||||
|
Else
|
||||||
|
GlobalDTSubProyectos = DirectCast(HttpContext.Current.Application(AppNombre), DataTable)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Get
|
||||||
|
Set(ByVal value As DataTable)
|
||||||
|
Dim AppNombre As String = String.Format("GlobalDTSubProyectos-{0}", CveEmpresa)
|
||||||
|
HttpContext.Current.Application(AppNombre) = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
#End Region
|
||||||
|
End Class
|
||||||
@@ -487,14 +487,14 @@
|
|||||||
</asp:DropDownList>
|
</asp:DropDownList>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row" id="TrPeriodo" runat="server" visible="False">
|
<%-- <div class="row" id="TrPeriodo" runat="server" visible="False">
|
||||||
<label class="col-md-2 truncate">
|
<label class="col-md-2 truncate">
|
||||||
<asp:Label ID="Label5" runat="server" Text="Periodo:"></asp:Label></label><div class="col-md-10">
|
<asp:Label ID="Label5" runat="server" Text="Periodo:"></asp:Label></label><div class="col-md-10">
|
||||||
<asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="True" DataTextField="Nombre" DataValueField="CvePeriodo" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
|
<asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="True" DataTextField="Nombre" DataValueField="CvePeriodo" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
|
||||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
</asp:DropDownList>
|
</asp:DropDownList>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>--%>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label class="col-md-2 truncate">Fecha Inicial:</label>
|
<label class="col-md-2 truncate">Fecha Inicial:</label>
|
||||||
@@ -575,14 +575,6 @@
|
|||||||
<asp:TextBox ID="TxtTotal" runat="server" MaxLength="12" Width="100px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender8" runat="server" TargetControlID="TxtTotal" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
|
<asp:TextBox ID="TxtTotal" runat="server" MaxLength="12" Width="100px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender8" runat="server" TargetControlID="TxtTotal" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row" id="DvObservaciones" runat="server" visible="false">
|
|
||||||
<label class="col-md-2 truncate ">Observación de Facturación:</label>
|
|
||||||
<div class="col-md-10">
|
|
||||||
<asp:TextBox ID="TxtObservaciones" runat="server" Width="400px" TextMode="MultiLine" Rows="2"></asp:TextBox>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -816,12 +808,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row" style="display: none;">
|
<div class="row" style="display: none;">
|
||||||
<label class="col-md-2 truncate">Importe:</label>
|
<label class="col-md-2 truncate">Importe:</label>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
@@ -1933,7 +1919,110 @@
|
|||||||
</asp:GridView>
|
</asp:GridView>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</ajax:TabPanel>
|
</ajax:TabPanel>
|
||||||
|
<ajax:TabPanel ID="TabFacCiclica" runat="server" HeaderText="Facturación Ciclica">
|
||||||
|
<ContentTemplate>
|
||||||
|
<asp:UpdatePanel ID="UpFacCiclica" runat="server" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<br />
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="portlet smmallpadding light bordered">
|
||||||
|
<div class="portlet-title">
|
||||||
|
<div class="tools">
|
||||||
|
<a href="javascript;" data-idchekbox="C_chkexpand" class=" collapse" data-original-title="" title=""></a><span class="hidden">
|
||||||
|
<input id="C_chkexpand" type="checkbox" name="ctl00$C$chkexpand" checked="checked"></span>
|
||||||
|
</div>
|
||||||
|
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Datos de Facturación</div>
|
||||||
|
</div>
|
||||||
|
<div class="portlet-body rowpadding">
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-md-3 truncate ">Aplica Facturación Ciclica:</label>
|
||||||
|
<div class="col-md-9">
|
||||||
|
<asp:CheckBox ID="ChkAplicaFacCiclica" AutoPostBack="True" OnCheckedChanged="ChkAplicaFacCiclica_CheckedChanged" runat="server"></asp:CheckBox>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row" id="DivFacCiclica" runat="server" visible="false">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-md-3 truncate">
|
||||||
|
<asp:Label ID="Label6" runat="server" Text="Periodo:"></asp:Label></label>
|
||||||
|
<div class="col-md-9">
|
||||||
|
<asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="True" AutoPostBack="true" OnSelectedIndexChanged="DdlPeriodo_SelectedIndexChanged" DataTextField="Nombre" DataValueField="CvePeriodo" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
|
||||||
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-md-3 truncate">
|
||||||
|
<asp:Label ID="Label5" runat="server" Text="Dia del mes:"></asp:Label></label>
|
||||||
|
<div class="col-md-9">
|
||||||
|
<asp:DropDownList ID="DdlDiaFact" runat="server" AppendDataBoundItems="True" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
|
||||||
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-md-3 truncate ">Facturación Automatica:</label>
|
||||||
|
<div class="col-md-9">
|
||||||
|
<asp:CheckBox ID="ChkFacAutomatica" runat="server"></asp:CheckBox>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-md-3 truncate ">Observación de Facturación:</label>
|
||||||
|
<div class="col-md-9">
|
||||||
|
<asp:TextBox ID="TxtObservaciones" runat="server" Width="400px" TextMode="MultiLine" Rows="2"></asp:TextBox>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="portlet smmallpadding light bordered" id="DivCiclosComerciales" runat="server" visible="false">
|
||||||
|
<div class="portlet-title">
|
||||||
|
<div class="tools">
|
||||||
|
<a href="javascript;" data-idchekbox="C_chkexpand" class=" collapse" data-original-title="" title=""></a><span class="hidden">
|
||||||
|
<input id="C_chkexpand" type="checkbox" name="ctl00$C$chkexpand" checked="checked"></span>
|
||||||
|
</div>
|
||||||
|
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Ciclos de facturación</div>
|
||||||
|
</div>
|
||||||
|
<div class="portlet-body rowpadding">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12" align="right">
|
||||||
|
<input type="text" id="TxtFiltraCiclos" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtFiltraCiclos','{0}')", GvCiclosComerciales.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||||
|
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtFiltraCiclos','{0}')", GvDatosAvance.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<asp:GridView ID="GvCiclosComerciales" ClientIDMode="Static" ShowHeader="true" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron documentos." CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
|
||||||
|
<Columns>
|
||||||
|
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVenc" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
|
||||||
|
<asp:BoundField HeaderText="Fue Facturado" DataField="FueFacturadoTexto" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
|
||||||
|
<%-- <asp:BoundField HeaderText="Periodo" DataField="Periodo" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />--%>
|
||||||
|
<asp:HyperLinkField HeaderText="Serie-Folio" DataTextField="VentaFacturada" Target="_blank" ItemStyle-Width="10%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveVentaFacturada" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
|
||||||
|
<asp:BoundField HeaderText="Moneda" DataField="MonedaVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
|
||||||
|
<asp:BoundField HeaderText="Fecha Facturación" DataField="FechaIngVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
|
||||||
|
<%-- <asp:BoundField HeaderText="SubTotal" DataField="SubTotalVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
|
||||||
|
<asp:BoundField HeaderText="IVA" DataField="IVAVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
|
||||||
|
<asp:BoundField HeaderText="IEPS" DataField="IVAVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />--%>
|
||||||
|
<asp:BoundField HeaderText="Total" DataField="TotalVenta" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
|
||||||
|
</Columns>
|
||||||
|
</asp:GridView>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</ContentTemplate>
|
||||||
|
</ajax:TabPanel>
|
||||||
<ajax:TabPanel ID="TabSistema" runat="server" HeaderText="Sistema">
|
<ajax:TabPanel ID="TabSistema" runat="server" HeaderText="Sistema">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
|
|||||||
@@ -366,7 +366,7 @@ Partial Class Contratos_Default
|
|||||||
'TxtArchivo.Visible = True
|
'TxtArchivo.Visible = True
|
||||||
|
|
||||||
CargaDatos()
|
CargaDatos()
|
||||||
|
CargaCiclosComerciales()
|
||||||
CargaDatosAvance()
|
CargaDatosAvance()
|
||||||
CargaDatosAvancePorDocumento()
|
CargaDatosAvancePorDocumento()
|
||||||
CargaInventarios()
|
CargaInventarios()
|
||||||
@@ -810,11 +810,14 @@ Partial Class Contratos_Default
|
|||||||
cargaClientes()
|
cargaClientes()
|
||||||
Else
|
Else
|
||||||
CargaContratista()
|
CargaContratista()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
CargaPeriodos()
|
||||||
|
DdlPeriodo_SelectedIndexChanged(DdlPeriodo, EventArgs.Empty)
|
||||||
|
|
||||||
If DdlTipoContrato.SelectedValue = "14" Then
|
If DdlTipoContrato.SelectedValue = "14" Then
|
||||||
TrCtaEquipo.Visible = True
|
TrCtaEquipo.Visible = True
|
||||||
TrPeriodo.Visible = True
|
'TrPeriodo.Visible = True
|
||||||
RFVEstatus.ValidationGroup = ""
|
RFVEstatus.ValidationGroup = ""
|
||||||
RequiredFieldValidator1.ValidationGroup = ""
|
RequiredFieldValidator1.ValidationGroup = ""
|
||||||
DvMin.Visible = True
|
DvMin.Visible = True
|
||||||
@@ -824,34 +827,31 @@ Partial Class Contratos_Default
|
|||||||
RowEstatus.Visible = False
|
RowEstatus.Visible = False
|
||||||
RowPorcentajeComision.Visible = False
|
RowPorcentajeComision.Visible = False
|
||||||
dvAddendum.Visible = False
|
dvAddendum.Visible = False
|
||||||
CargaPeriodos()
|
|
||||||
CargaPlantillas()
|
CargaPlantillas()
|
||||||
TrContratoPlantilla.Visible = True
|
TrContratoPlantilla.Visible = True
|
||||||
TabPres.HeaderText = "Partidas"
|
TabPres.HeaderText = "Partidas"
|
||||||
Else
|
|
||||||
DtPeriodo = Nothing
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If DdlTipoContrato.SelectedValue = "25" Then
|
'If DdlTipoContrato.SelectedValue = "25" Then
|
||||||
trLicitacion.Visible = False
|
' trLicitacion.Visible = False
|
||||||
divResponsable.Visible = False
|
' divResponsable.Visible = False
|
||||||
TrPeriodo.Visible = True
|
' 'TrPeriodo.Visible = True
|
||||||
CargaPeriodos()
|
' trIva.Visible = False
|
||||||
trIva.Visible = False
|
' trAnticipo.Visible = False
|
||||||
trAnticipo.Visible = False
|
' trAmortizacion.Visible = False
|
||||||
trAmortizacion.Visible = False
|
' trPorGarantia.Visible = False
|
||||||
trPorGarantia.Visible = False
|
' DvMin.Visible = False
|
||||||
DvMin.Visible = False
|
' RowFlexible.Visible = False
|
||||||
RowFlexible.Visible = False
|
' RowPorcentajeComision.Visible = False
|
||||||
RowPorcentajeComision.Visible = False
|
' DvMax.Visible = False
|
||||||
DvMax.Visible = False
|
' DvTotal.Visible = False
|
||||||
DvTotal.Visible = False
|
' RowEstatus.Visible = False
|
||||||
RowEstatus.Visible = False
|
' TabPres.HeaderText = "Partidas"
|
||||||
TabPres.HeaderText = "Partidas"
|
' DdlSubProyectoContrato.AutoPostBack = True
|
||||||
DdlSubProyectoContrato.AutoPostBack = True
|
' 'DvObservaciones.Visible = True
|
||||||
DvObservaciones.Visible = True
|
'End If
|
||||||
End If
|
|
||||||
|
|
||||||
Dim CveTipoContrato = DdlTipoContrato.SelectedValue
|
Dim CveTipoContrato = DdlTipoContrato.SelectedValue
|
||||||
|
|
||||||
@@ -879,9 +879,9 @@ Partial Class Contratos_Default
|
|||||||
End If
|
End If
|
||||||
ObjFolios.Dispose()
|
ObjFolios.Dispose()
|
||||||
UpGral.Update()
|
UpGral.Update()
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region " CARGA DATOS "
|
#Region " CARGA DATOS "
|
||||||
Private Sub CargaDatos()
|
Private Sub CargaDatos()
|
||||||
Dim ObjContratos As New ClsContratos()
|
Dim ObjContratos As New ClsContratos()
|
||||||
@@ -935,10 +935,11 @@ Partial Class Contratos_Default
|
|||||||
CargaContratoPadre()
|
CargaContratoPadre()
|
||||||
CargaContratoAddendum()
|
CargaContratoAddendum()
|
||||||
|
|
||||||
|
|
||||||
If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 14 Then
|
If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 14 Then
|
||||||
CargaPeriodos()
|
|
||||||
TrCtaEquipo.Visible = True
|
TrCtaEquipo.Visible = True
|
||||||
TrPeriodo.Visible = True
|
'TrPeriodo.Visible = True
|
||||||
RFVEstatus.ValidationGroup = ""
|
RFVEstatus.ValidationGroup = ""
|
||||||
RequiredFieldValidator1.ValidationGroup = ""
|
RequiredFieldValidator1.ValidationGroup = ""
|
||||||
DvMin.Visible = True
|
DvMin.Visible = True
|
||||||
@@ -957,54 +958,69 @@ Partial Class Contratos_Default
|
|||||||
TabPres.HeaderText = "Partidas"
|
TabPres.HeaderText = "Partidas"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 25 Then
|
'If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 25 Then
|
||||||
trLicitacion.Visible = False
|
' trLicitacion.Visible = False
|
||||||
divResponsable.Visible = False
|
' divResponsable.Visible = False
|
||||||
TrPeriodo.Visible = True
|
' 'TrPeriodo.Visible = True
|
||||||
CargaPeriodos()
|
' CargaPeriodos()
|
||||||
trIva.Visible = False
|
' trIva.Visible = False
|
||||||
trAnticipo.Visible = False
|
' trAnticipo.Visible = False
|
||||||
trAmortizacion.Visible = False
|
' trAmortizacion.Visible = False
|
||||||
trPorGarantia.Visible = False
|
' trPorGarantia.Visible = False
|
||||||
DvMin.Visible = False
|
' DvMin.Visible = False
|
||||||
DvMax.Visible = False
|
' DvMax.Visible = False
|
||||||
DvTotal.Visible = False
|
' DvTotal.Visible = False
|
||||||
TabPVInsumos.Visible = False
|
' TabPVInsumos.Visible = False
|
||||||
RowEstatus.Visible = False
|
' RowEstatus.Visible = False
|
||||||
TabPres.HeaderText = "Partidas"
|
' TabPres.HeaderText = "Partidas"
|
||||||
thOcCliente.Style.Add("display", "none")
|
' thOcCliente.Style.Add("display", "none")
|
||||||
tdOcCliente.Style.Add("display", "none")
|
' tdOcCliente.Style.Add("display", "none")
|
||||||
thNoIdentificacionv.Style.Add("display", "none")
|
' thNoIdentificacionv.Style.Add("display", "none")
|
||||||
thLimitar.Style.Add("display", "none")
|
' thLimitar.Style.Add("display", "none")
|
||||||
tdLimitar2.Style.Add("display", "none")
|
' tdLimitar2.Style.Add("display", "none")
|
||||||
tdNoIdentificacionv.Style.Add("display", "none")
|
' tdNoIdentificacionv.Style.Add("display", "none")
|
||||||
RowFlexible.Visible = False
|
' RowFlexible.Visible = False
|
||||||
TableDatosCabecera.Visible = False
|
' TableDatosCabecera.Visible = False
|
||||||
TabAvanveDocumento.Visible = False
|
' TabAvanveDocumento.Visible = False
|
||||||
TabSistema.Visible = False
|
' TabSistema.Visible = False
|
||||||
RowPorcentajeComision.Visible = False
|
' RowPorcentajeComision.Visible = False
|
||||||
TabContratosGastos.Visible = False
|
' TabContratosGastos.Visible = False
|
||||||
tdCveInterna.Text = ""
|
' tdCveInterna.Text = ""
|
||||||
tdLimitar.Text = ""
|
' tdLimitar.Text = ""
|
||||||
tdOC.Text = ""
|
' tdOC.Text = ""
|
||||||
THAvance.Visible = False
|
' THAvance.Visible = False
|
||||||
THAvance.Style.Add("display", "none")
|
' THAvance.Style.Add("display", "none")
|
||||||
TDAvance.Style.Add("display", "none")
|
' TDAvance.Style.Add("display", "none")
|
||||||
TxtOCInterna.Visible = False
|
' TxtOCInterna.Visible = False
|
||||||
TxtNoIdentificacionv.Visible = False
|
' TxtNoIdentificacionv.Visible = False
|
||||||
ChkLimitarVenta.Visible = False
|
' ChkLimitarVenta.Visible = False
|
||||||
DvObservaciones.Visible = True
|
' 'DvObservaciones.Visible = True
|
||||||
TDObservacion.Visible = True
|
' TDObservacion.Visible = True
|
||||||
tdObservaciones.Visible = True
|
' tdObservaciones.Visible = True
|
||||||
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
|
' TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
|
||||||
Gv.Columns(6).Visible = True
|
' Gv.Columns(6).Visible = True
|
||||||
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString)
|
' DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString)
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
If ObjContratos.DtResultados.Rows(0)("CveVendedor").ToString.ToEntero > 0 Then
|
If ObjContratos.DtResultados.Rows(0)("CveVendedor").ToString.ToEntero > 0 Then
|
||||||
DdlVendedor.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CveVendedor"))
|
DdlVendedor.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CveVendedor"))
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
ChkAplicaFacCiclica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCicilica"))
|
||||||
|
|
||||||
|
If ChkAplicaFacCiclica.Checked Then
|
||||||
|
CargaPeriodos()
|
||||||
|
|
||||||
|
ChkFacAutomatica.Checked = CBool(ObjContratos.DtResultados.Rows(0)("FacturacionCiclicaAutomatico"))
|
||||||
|
|
||||||
|
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo"))
|
||||||
|
DdlPeriodo_SelectedIndexChanged(DdlPeriodo, EventArgs.Empty)
|
||||||
|
|
||||||
|
DdlDiaFact.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("DiaMesFacturacion").ToString())
|
||||||
|
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
|
||||||
|
ChkAplicaFacCiclica_CheckedChanged(ChkAplicaFacCiclica, EventArgs.Empty)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
If (DdlAlmacenDestino.Items.FindByValue(ObjContratos.CveAlmacen.ToString()) Is Nothing) Then
|
If (DdlAlmacenDestino.Items.FindByValue(ObjContratos.CveAlmacen.ToString()) Is Nothing) Then
|
||||||
Dim dr As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", ObjContratos.CveAlmacen))
|
Dim dr As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", ObjContratos.CveAlmacen))
|
||||||
@@ -1224,10 +1240,10 @@ Partial Class Contratos_Default
|
|||||||
Maximo = txtMaximo.Text.ToDouble
|
Maximo = txtMaximo.Text.ToDouble
|
||||||
Total = TxtTotal.Text.ToDouble
|
Total = TxtTotal.Text.ToDouble
|
||||||
|
|
||||||
If DdlTipoContrato.SelectedValue = "25" AndAlso DdlPeriodo.SelectedValue.ToEntero() <= 0 Then
|
'If DdlTipoContrato.SelectedValue = "25" AndAlso DdlPeriodo.SelectedValue.ToEntero() <= 0 Then
|
||||||
Alert("Debe seleccionar el periodo de facturación.", TipoMensaje.MsgAdvertencia)
|
' Alert("Debe seleccionar el periodo de facturación.", TipoMensaje.MsgAdvertencia)
|
||||||
Exit Sub
|
' Exit Sub
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
If DdlMoneda.SelectedIndex > 0 Then
|
If DdlMoneda.SelectedIndex > 0 Then
|
||||||
If TxtTipoCambio.Text.Trim.Length = 0 Or TxtTipoCambio.Text.Trim.ToDouble = 0.0 Then
|
If TxtTipoCambio.Text.Trim.Length = 0 Or TxtTipoCambio.Text.Trim.ToDouble = 0.0 Then
|
||||||
@@ -1246,207 +1262,195 @@ Partial Class Contratos_Default
|
|||||||
Dim ObjContratos As New ClsContratos
|
Dim ObjContratos As New ClsContratos
|
||||||
Dim ObjInventarios As New ClsInventarios(ObjContratos.IniciaTransacSQL)
|
Dim ObjInventarios As New ClsInventarios(ObjContratos.IniciaTransacSQL)
|
||||||
|
|
||||||
'Crear Contrato
|
Try
|
||||||
If Not CveContrato > 0 Then
|
'Crear Contrato
|
||||||
|
If Not CveContrato > 0 Then
|
||||||
|
|
||||||
|
CveContrato = ObjContratos.AddContratos(TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
|
||||||
|
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
|
||||||
|
TxtPorGarantia.Text.ToDouble, "." & Session("FileExtension").ToString, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total,
|
||||||
|
DdlMoneda.SelectedValue.ToEntero, ModalidadDetalle, If(DdlTipoContrato.SelectedValue.ToEntero = 25 OrElse UsuarioActual.Empresa.CvePlataforma = 3, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato,
|
||||||
|
TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero, CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero,
|
||||||
|
PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero, TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero,
|
||||||
|
CvePeriodo:=DdlPeriodo.SelectedValue.ToEntero, CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero,
|
||||||
|
Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(),
|
||||||
|
FacturacionCicilica:=ChkAplicaFacCiclica.Checked, FacturacionCiclicaAutomatico:=ChkFacAutomatica.Checked, DiaMesFacturacion:=DdlDiaFact.SelectedValue.ToEntero())
|
||||||
|
|
||||||
|
|
||||||
|
TieneError = Not GuardaFianzas(ObjContratos)
|
||||||
|
|
||||||
|
|
||||||
|
If CveContrato > 0 AndAlso Not TieneError Then
|
||||||
|
'Renombrar archivo
|
||||||
|
If ViewState("extencion") IsNot Nothing Then
|
||||||
|
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
|
||||||
|
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
|
||||||
|
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
|
||||||
|
End If
|
||||||
|
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
|
||||||
|
|
||||||
|
'ViewState("extencion") = FileExtension
|
||||||
|
'ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", "Temp", ViewState("FName").ToString)
|
||||||
|
Try
|
||||||
|
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
|
||||||
|
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
||||||
|
End If
|
||||||
|
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
'If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
|
||||||
|
' Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
|
||||||
|
' Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
|
||||||
|
' Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
|
||||||
|
' Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
|
||||||
|
' Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
|
||||||
|
' For Ciclo As Integer = 1 To CiclosComerciales
|
||||||
|
' If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
|
||||||
|
' Next
|
||||||
|
'End If
|
||||||
|
|
||||||
|
If ChkAplicaFacCiclica.Checked Then
|
||||||
|
TieneError = Not GenerarCiclosComerciales(CveContrato, False, ObjContratos)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If TxtNumeroContrato.Text = FolioSugerido Then
|
||||||
|
Dim ObjFolios As New ClsGralFolios
|
||||||
|
If Not ObjFolios.UpdateFolioActual(DdlSubProyectoContrato.SelectedValue.ToEntero, "Con", True, UsuarioActual.CveEmpresa) Then
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
ObjFolios.Dispose()
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ChkImpuestosLocales.Checked Then
|
||||||
|
Dim count As Integer = 0
|
||||||
|
|
||||||
|
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
||||||
|
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
||||||
|
count = count + 1
|
||||||
|
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
If count = 0 Then
|
||||||
|
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
Modificado = True
|
||||||
|
|
||||||
|
Dim ArchivoUpdate As String = "-1"
|
||||||
|
|
||||||
|
If Session("FileExtension").ToString <> "" Then
|
||||||
|
ArchivoUpdate = "." & Session("FileExtension").ToString
|
||||||
|
Else
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjContratos.UpdateContratos(CveContrato, TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
|
||||||
|
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
|
||||||
|
TxtPorGarantia.Text.ToDouble, ArchivoUpdate, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total, DdlMoneda.SelectedValue.ToEntero,
|
||||||
|
ModalidadDetalle, If(UsuarioActual.Empresa.CvePlataforma = 3 OrElse CveTipoContrato = 25, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato, TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero,
|
||||||
|
CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero,
|
||||||
|
TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero,
|
||||||
|
CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked,
|
||||||
|
CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), FacturacionCicilica:=ChkAplicaFacCiclica.Checked, FacturacionCiclicaAutomatico:=ChkFacAutomatica.Checked, DiaMesFacturacion:=DdlDiaFact.SelectedValue.ToEntero(), CvePeriodo:=DdlPeriodo.SelectedValue.ToEntero()) Then
|
||||||
|
|
||||||
|
|
||||||
|
TieneError = Not GuardaFianzas(ObjContratos)
|
||||||
|
|
||||||
|
'Renombrar archivo
|
||||||
|
If Not TieneError Then
|
||||||
|
|
||||||
|
'If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
|
||||||
|
|
||||||
|
' If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
|
||||||
|
' TieneError = True
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' Dim FechaIN As DateTime = TxtFechaInicial.Text.ToDateTime
|
||||||
|
' Dim FechaFN As DateTime = TxtFechaFinal.Text.ToDateTime
|
||||||
|
' Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
|
||||||
|
' Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
|
||||||
|
' Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
|
||||||
|
' For Ciclo As Integer = 1 To CiclosComerciales
|
||||||
|
' If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
|
||||||
|
' Next
|
||||||
|
'End If
|
||||||
|
|
||||||
|
If ChkAplicaFacCiclica.Checked Then
|
||||||
|
TieneError = Not GenerarCiclosComerciales(CveContrato, True, ObjContratos)
|
||||||
|
Else
|
||||||
|
|
||||||
|
If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ViewState("extencion") IsNot Nothing Then
|
||||||
|
|
||||||
|
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
|
||||||
|
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
|
||||||
|
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
|
||||||
|
End If
|
||||||
|
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
|
||||||
|
|
||||||
|
Try
|
||||||
|
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
|
||||||
|
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
||||||
|
End If
|
||||||
|
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
' System.IO.File.Move(Archivo, String.Format("{0}{1}{2}", Ruta, CveContrato.ToString, Extension))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ChkImpuestosLocales.Checked Then
|
||||||
|
Dim count As Integer = 0
|
||||||
|
ObjContratos.LimpiaImpuestosLocales(CveContrato)
|
||||||
|
|
||||||
|
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
||||||
|
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
||||||
|
count = count + 1
|
||||||
|
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
If count = 0 Then
|
||||||
|
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
ObjContratos.LimpiaImpuestosLocales(CveContrato)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
TieneError = True
|
||||||
|
OnError("Ocurrió un error al guardar el contrato.", ex)
|
||||||
|
End Try
|
||||||
|
|
||||||
CveContrato = ObjContratos.AddContratos(TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
|
|
||||||
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
|
|
||||||
TxtPorGarantia.Text.ToDouble, "." & Session("FileExtension").ToString, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total,
|
|
||||||
DdlMoneda.SelectedValue.ToEntero, ModalidadDetalle, If(DdlTipoContrato.SelectedValue.ToEntero = 25 OrElse UsuarioActual.Empresa.CvePlataforma = 3, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato,
|
|
||||||
TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero, CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero,
|
|
||||||
PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero, TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero,
|
|
||||||
CvePeriodo:=DdlPeriodo.SelectedValue.ToEntero, CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero,
|
|
||||||
Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim())
|
|
||||||
|
|
||||||
|
|
||||||
TieneError = Not GuardaFianzas(ObjContratos)
|
|
||||||
|
|
||||||
|
|
||||||
If CveContrato > 0 AndAlso Not TieneError Then
|
|
||||||
'Renombrar archivo
|
|
||||||
If ViewState("extencion") IsNot Nothing Then
|
|
||||||
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
|
|
||||||
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
|
|
||||||
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
|
|
||||||
End If
|
|
||||||
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
|
|
||||||
|
|
||||||
'ViewState("extencion") = FileExtension
|
|
||||||
'ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", "Temp", ViewState("FName").ToString)
|
|
||||||
Try
|
|
||||||
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
|
|
||||||
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
|
||||||
End If
|
|
||||||
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
|
||||||
Catch ex As Exception
|
|
||||||
|
|
||||||
End Try
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
|
|
||||||
Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
|
|
||||||
Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
|
|
||||||
Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
|
|
||||||
Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
|
|
||||||
Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
|
|
||||||
For Ciclo As Integer = 1 To CiclosComerciales
|
|
||||||
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
|
|
||||||
Next
|
|
||||||
ElseIf DdlTipoContrato.SelectedValue = "25" Then
|
|
||||||
Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
|
|
||||||
Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
|
|
||||||
If FechaI >= DateTime.Today Then
|
|
||||||
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI) Then TieneError = True
|
|
||||||
End If
|
|
||||||
Dim Periodo As Integer = DtPeriodo.FiltroPrimeroValor("Meses", $"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").ToEntero
|
|
||||||
Dim VigenciaMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
|
|
||||||
Dim CiclosComerciales As Integer = Math.Ceiling(VigenciaMeses / Periodo).ToEntero
|
|
||||||
For Ciclo As Integer = 1 To CiclosComerciales
|
|
||||||
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, If(FechaI.AddMonths(Periodo * Ciclo) > FechaF, FechaF, FechaI.AddMonths(Periodo * Ciclo))) Then TieneError = True : Exit For
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
|
|
||||||
If TxtNumeroContrato.Text = FolioSugerido Then
|
|
||||||
Dim ObjFolios As New ClsGralFolios
|
|
||||||
If Not ObjFolios.UpdateFolioActual(DdlSubProyectoContrato.SelectedValue.ToEntero, "Con", True, UsuarioActual.CveEmpresa) Then
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
ObjFolios.Dispose()
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ChkImpuestosLocales.Checked Then
|
|
||||||
Dim count As Integer = 0
|
|
||||||
|
|
||||||
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
|
||||||
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
|
||||||
count = count + 1
|
|
||||||
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
If count = 0 Then
|
|
||||||
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
|
||||||
Modificado = True
|
|
||||||
|
|
||||||
Dim ArchivoUpdate As String = "-1"
|
|
||||||
|
|
||||||
If Session("FileExtension").ToString <> "" Then
|
|
||||||
ArchivoUpdate = "." & Session("FileExtension").ToString
|
|
||||||
Else
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ObjContratos.UpdateContratos(CveContrato, TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
|
|
||||||
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
|
|
||||||
TxtPorGarantia.Text.ToDouble, ArchivoUpdate, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total, DdlMoneda.SelectedValue.ToEntero,
|
|
||||||
ModalidadDetalle, If(UsuarioActual.Empresa.CvePlataforma = 3 OrElse CveTipoContrato = 25, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato, TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero,
|
|
||||||
CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero,
|
|
||||||
TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero,
|
|
||||||
CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked,
|
|
||||||
CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim()) Then
|
|
||||||
|
|
||||||
|
|
||||||
TieneError = Not GuardaFianzas(ObjContratos)
|
|
||||||
|
|
||||||
'Renombrar archivo
|
|
||||||
If Not TieneError Then
|
|
||||||
|
|
||||||
If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
|
|
||||||
Dim FechaIN As DateTime = TxtFechaInicial.Text.ToDateTime
|
|
||||||
Dim FechaFN As DateTime = TxtFechaFinal.Text.ToDateTime
|
|
||||||
Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
|
|
||||||
Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
|
|
||||||
Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
|
|
||||||
For Ciclo As Integer = 1 To CiclosComerciales
|
|
||||||
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
|
|
||||||
Next
|
|
||||||
ElseIf CveTipoContrato = 25 Then
|
|
||||||
Dim FechaIN As DateTime = TxtFechaInicial.Text.ToDateTime
|
|
||||||
Dim FechaFN As DateTime = TxtFechaFinal.Text.ToDateTime
|
|
||||||
If FechaFN <> FechaF OrElse FechaI <> FechaIN Then
|
|
||||||
If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
If Not TieneError Then
|
|
||||||
If FechaIN >= DateTime.Today Then
|
|
||||||
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaIN) Then TieneError = True
|
|
||||||
End If
|
|
||||||
Dim Periodo As Integer = DtPeriodo.FiltroPrimeroValor("Meses", $"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").ToEntero
|
|
||||||
Dim VigenciaMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
|
|
||||||
Dim CiclosComerciales As Integer = Math.Ceiling(VigenciaMeses / Periodo).ToEntero
|
|
||||||
For Ciclo As Integer = 1 To CiclosComerciales
|
|
||||||
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, If(FechaIN.AddMonths(Periodo * Ciclo) > FechaFN, FechaFN, FechaIN.AddMonths(Periodo * Ciclo))) Then TieneError = True : Exit For
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ViewState("extencion") IsNot Nothing Then
|
|
||||||
|
|
||||||
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
|
|
||||||
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
|
|
||||||
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
|
|
||||||
End If
|
|
||||||
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
|
|
||||||
|
|
||||||
Try
|
|
||||||
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
|
|
||||||
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
|
||||||
End If
|
|
||||||
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
|
||||||
Catch ex As Exception
|
|
||||||
|
|
||||||
End Try
|
|
||||||
' System.IO.File.Move(Archivo, String.Format("{0}{1}{2}", Ruta, CveContrato.ToString, Extension))
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ChkImpuestosLocales.Checked Then
|
|
||||||
Dim count As Integer = 0
|
|
||||||
ObjContratos.LimpiaImpuestosLocales(CveContrato)
|
|
||||||
|
|
||||||
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
|
||||||
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
|
||||||
count = count + 1
|
|
||||||
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
If count = 0 Then
|
|
||||||
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
ObjContratos.LimpiaImpuestosLocales(CveContrato)
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
If TieneError Then
|
If TieneError Then
|
||||||
ObjContratos.RollBack()
|
ObjContratos.RollBack()
|
||||||
Else
|
Else
|
||||||
ObjContratos.Commit()
|
ObjContratos.Commit()
|
||||||
|
|
||||||
If ObjContratos.GetContratos(-1, -1) Then
|
|
||||||
Application("GlobalDTContratos") = ObjContratos.DtResultados
|
|
||||||
End If
|
|
||||||
|
|
||||||
Limpiar()
|
Limpiar()
|
||||||
If Modificado Then
|
If Modificado Then
|
||||||
Alert("El Contrato se modificó Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
Alert("El Contrato se modificó Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
||||||
@@ -1454,10 +1458,104 @@ Partial Class Contratos_Default
|
|||||||
Alert("El Contrato se registró Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
Alert("El Contrato se registró Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
UpGral.Update()
|
|
||||||
ObjContratos.Dispose()
|
ObjContratos.Dispose()
|
||||||
|
UpGral.Update()
|
||||||
|
|
||||||
|
RecargaGlobalContratos()
|
||||||
|
End Sub
|
||||||
|
Private Function GenerarCiclosComerciales(CveContrato As Integer, EsActualizacion As Boolean, ByRef ObjContratos As ClsContratos) As Boolean
|
||||||
|
Dim TieneError As Boolean = False
|
||||||
|
|
||||||
|
Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
|
||||||
|
Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
|
||||||
|
|
||||||
|
If EsActualizacion Then
|
||||||
|
Dim DtCiclos As DataTable = Nothing
|
||||||
|
If ObjContratos.CicloComercialGet(Me.CveContrato, -1, -1, UsuarioActual.CveEmpresa, MinFecha, MaxFecha) Then
|
||||||
|
Dim RowCiclo As DataRow = ObjContratos.DtResultados.FiltroPrimero("FueFacturado = 1", Orderby:="FechaVenc DESC")
|
||||||
|
If RowCiclo IsNot Nothing Then
|
||||||
|
FechaI = RowCiclo("FechaVenc").ToString().ToDateTime()
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Dim PeriodoMeses As Integer = DtPeriodo.FiltroPrimeroValor("Meses", $"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").ToEntero
|
||||||
|
|
||||||
|
Dim PeriodoDias As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
|
||||||
|
|
||||||
|
If PeriodoMeses > 0 AndAlso PeriodoDias <= 0 Then
|
||||||
|
Dim VigenciaMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
|
||||||
|
Dim CiclosComercialesEnMeses As Integer = Math.Ceiling(VigenciaMeses / PeriodoMeses).ToEntero
|
||||||
|
|
||||||
|
For Ciclo As Integer = 1 To CiclosComercialesEnMeses
|
||||||
|
Dim FechaRef As DateTime = FechaI.AddMonths(PeriodoMeses * Ciclo)
|
||||||
|
Dim lastDayOfMonth = DateTime.DaysInMonth(FechaRef.Year, FechaRef.Month)
|
||||||
|
Dim DiaMes As Integer = If(FechaRef.Day < DdlDiaFact.SelectedValue.ToEntero(), lastDayOfMonth, DdlDiaFact.SelectedValue.ToEntero())
|
||||||
|
|
||||||
|
Dim FechaFact = New DateTime(FechaRef.Year, FechaRef.Month, DiaMes)
|
||||||
|
FechaFact = If(FechaFact > FechaF, FechaF, FechaFact)
|
||||||
|
|
||||||
|
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaFact) Then TieneError = True : Exit For
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
If PeriodoDias > 0 AndAlso PeriodoMeses <= 0 Then
|
||||||
|
Dim VigenciaEnMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
|
||||||
|
Dim CiclosComercialesEnDias As Integer = VigenciaEnMeses.ToEntero()
|
||||||
|
|
||||||
|
'RECORRE LOS MESES QUE VA A FACTURAR
|
||||||
|
For CicloMes As Integer = 1 To CiclosComercialesEnDias
|
||||||
|
|
||||||
|
Dim FechaRef As DateTime = FechaI.AddMonths(CicloMes)
|
||||||
|
Dim CiclosPorMesDecimal As Double = (FechaRef.LastDayOfMonth().Day.ToString().ToDouble() / PeriodoDias.ToString().ToDouble())
|
||||||
|
|
||||||
|
Dim CiclosPorMes As Integer = Math.Truncate(CiclosPorMesDecimal).ToEntero()
|
||||||
|
Dim DecimalPart As Double = CiclosPorMesDecimal - CiclosPorMes.ToString().ToDouble()
|
||||||
|
|
||||||
|
If DecimalPart > 0.7D Then
|
||||||
|
CiclosPorMes += 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim DiaAnterior As Integer = 0
|
||||||
|
|
||||||
|
For CicloDias = 1 To CiclosPorMes
|
||||||
|
Dim DiaMes As Integer = 0
|
||||||
|
|
||||||
|
If CicloDias = 1 Then
|
||||||
|
DiaMes = DdlDiaFact.SelectedValue.ToEntero()
|
||||||
|
Else
|
||||||
|
DiaMes = DiaAnterior + PeriodoDias
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim FechaFact As DateTime = New DateTime(FechaRef.Year, FechaRef.Month, If(DiaMes > FechaRef.LastDayOfMonth().Day, FechaRef.LastDayOfMonth().Day, DiaMes))
|
||||||
|
|
||||||
|
DiaAnterior = FechaFact.Day
|
||||||
|
|
||||||
|
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaFact) Then TieneError = True : Exit For
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return Not TieneError
|
||||||
|
End Function
|
||||||
|
Private Sub RecargaGlobalContratos()
|
||||||
|
Using ObjContratos As New ClsContratos
|
||||||
|
If ObjContratos.GetContratos(-1, -1) Then
|
||||||
|
Application("GlobalDTContratos") = ObjContratos.DtResultados
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
@@ -3468,13 +3566,54 @@ Partial Class Contratos_Default
|
|||||||
End If
|
End If
|
||||||
DdlPeriodo.DataSource = DtPeriodo
|
DdlPeriodo.DataSource = DtPeriodo
|
||||||
ObjContratos.Dispose()
|
ObjContratos.Dispose()
|
||||||
|
|
||||||
DdlPeriodo.DataBind()
|
DdlPeriodo.DataBind()
|
||||||
UpGral.Update()
|
UpGral.Update()
|
||||||
End Sub
|
End Sub
|
||||||
|
Protected Sub DdlPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
If DtPeriodo IsNot Nothing Then
|
||||||
|
If DdlPeriodo.SelectedValue.ToEntero() > 0 Then
|
||||||
|
Dim PeriodoDias As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
|
||||||
|
If PeriodoDias > 0 Then
|
||||||
|
CargaDiasMes(PeriodoDias)
|
||||||
|
Else
|
||||||
|
CargaDiasMes()
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
CargaDiasMes()
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
CargaDiasMes()
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
Private Sub CargaDiasMes(Optional NumMaxDias As Integer = 31)
|
||||||
|
DdlDiaFact.Items.Clear()
|
||||||
|
For i = 1 To NumMaxDias
|
||||||
|
DdlDiaFact.Items.Add(New ListItem(i.ToString(), i.ToString()))
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CargaCiclosComerciales()
|
||||||
|
If ChkAplicaFacCiclica.Checked Then
|
||||||
|
DivCiclosComerciales.Visible = True
|
||||||
|
Using ObjContratos As New ClsContratos
|
||||||
|
If ObjContratos.CicloComercialGet(Me.CveContrato, -1, -1, UsuarioActual.CveEmpresa, MinFecha, MaxFecha) Then
|
||||||
|
GvCiclosComerciales.DataSource = ObjContratos.DtResultados.FiltraParametros("", Orderby:="FechaVenc ASC")
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
Else
|
||||||
|
DivCiclosComerciales.Visible = False
|
||||||
|
End If
|
||||||
|
GvCiclosComerciales.DataBind()
|
||||||
|
UpFacCiclica.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region " IMPRESION "
|
#Region " IMPRESION "
|
||||||
|
|
||||||
#Region " IMPRIMIR AVANCE POR DOCUMENTO "
|
#Region " IMPRIMIR AVANCE POR DOCUMENTO "
|
||||||
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles LBImprimir.Click
|
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles LBImprimir.Click
|
||||||
GenerarPDF()
|
GenerarPDF()
|
||||||
@@ -4339,15 +4478,22 @@ Partial Class Contratos_Default
|
|||||||
ObjContratos.Dispose()
|
ObjContratos.Dispose()
|
||||||
GvImpuestosLocales.DataBind()
|
GvImpuestosLocales.DataBind()
|
||||||
UpImpuestos.Update()
|
UpImpuestos.Update()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Protected Sub ChkAplicaFacCiclica_CheckedChanged(sender As Object, e As EventArgs)
|
||||||
|
DivFacCiclica.Visible = ChkAplicaFacCiclica.Checked
|
||||||
|
DivCiclosComerciales.Visible = ChkAplicaFacCiclica.Checked
|
||||||
|
|
||||||
|
UpFacCiclica.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -157,8 +157,30 @@
|
|||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
|
<asp:UpdatePanel ID="UpAccionesPresupuestos" runat="server" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton ID="LnkModalAddPSVentas" Visible="false" runat="server" OnClick="LnkModalAddPSVentas_Click"> <i class="fa fa-plus" style="font-weight:bold;" ></i>Agregar PS Venta</asp:LinkButton>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton ID="LnkModalAddPSControl" Visible="false" runat="server" OnClick="LnkModalAddPSControl_Click"> <i class="fa fa-plus" style="font-weight:bold;"></i>Agregar PS Control</asp:LinkButton>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton ID="LnkModalAddPresupuestoVentas" Visible="false" runat="server" OnClick="LnkModalAddPresupuestoVentas_Click"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i>Agregar Presupuesto Venta</asp:LinkButton>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton ID="LnkModalAddPresupuestoControl" Visible="false" runat="server" OnClick="LnkModalAddPresupuestoControl_Click"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i>Agregar Presupuesto Control</asp:LinkButton>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
@@ -890,71 +912,10 @@
|
|||||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}');sumagvx();", Gv.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}');sumagvx();", Gv.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table class="table Widthall">
|
|
||||||
<tr class="Titulos">
|
|
||||||
<td runat="server" id="thOcCliente" style="width: 75px">
|
|
||||||
<asp:Literal Text="OC <br/> Cliente" ID="tdOC" runat="server" />
|
|
||||||
</td>
|
|
||||||
<td style="width: 150px">Cantidad</td>
|
|
||||||
<td runat="server" id="thLimitar" style="width: 75px">
|
|
||||||
<asp:Literal Text="Limitar" runat="server" ID="tdLimitar" /></td>
|
|
||||||
<td runat="server" id="thNoIdentificacionv" style="width: 75px">
|
|
||||||
<asp:Literal Text="Clave Interna Cliente" ID="tdCveInterna" runat="server" /></td>
|
|
||||||
<td style="width: 400px">Producto/Servicio</td>
|
|
||||||
<td style="width: 100px">U. M.</td>
|
|
||||||
<td style="width: 150px" runat="server" id="TDObservacion" visible="false">Observación</td>
|
|
||||||
<td style="width: 150px">Precio Unitario</td>
|
|
||||||
<td style="width: 150px">Total</td>
|
|
||||||
<td style="width: 150px" id="THAvance" runat="server" visible="false">Permite Avance</td>
|
|
||||||
<%-- <td style="width: 150px" id="tdCol7" runat="server">Permite Estimación </td>--%>
|
|
||||||
<td style="width: 100px">Comandos</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="Titulos">
|
|
||||||
<td runat="server" id="tdOcCliente">
|
|
||||||
<asp:TextBox ID="TxtOCInterna" runat="server" MaxLength="15" Width="70px"></asp:TextBox>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<asp:TextBox ID="TxtCantidad" runat="server" Width="70px"></asp:TextBox>
|
|
||||||
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
|
|
||||||
<asp:RequiredFieldValidator ID="RFVCantidad" runat="server" ControlToValidate="TxtCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAgregar"></asp:RequiredFieldValidator><ajax:ValidatorCalloutExtender ID="CVECantidad" runat="server" HighlightCssClass="vco" TargetControlID="RFVCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
||||||
</td>
|
|
||||||
<td runat="server" id="tdLimitar2">
|
|
||||||
<asp:CheckBox ID="ChkLimitarVenta" runat="server" />
|
|
||||||
</td>
|
|
||||||
<td runat="server" id="tdNoIdentificacionv">
|
|
||||||
<asp:TextBox ID="TxtNoIdentificacionv" runat="server" MaxLength="15" Width="70px"></asp:TextBox>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div style="max-width: 550px;">
|
|
||||||
<asp:DropDownList ID="DdlClasificacionAdd" runat="server" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="table-group-action-input form-control input-inline input-sm select2me" Style="width: 100%;"></asp:DropDownList>
|
|
||||||
<br />
|
|
||||||
<ADS:Dropdownlost runat="server" ID="DdlProductows" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<td>
|
|
||||||
<asp:DropDownList ID="DdlUM" runat="server" AutoPostBack="true" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" CssClass="table-group-action-input form-control input-inline input-small input-sm" Style="width: 100px !important;"></asp:DropDownList>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td runat="server" id="tdObservaciones" visible="false">
|
|
||||||
<asp:TextBox ID="TxtObservacionesDetalles" runat="server" Width="100px"></asp:TextBox>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
<td style="width: 75px">
|
|
||||||
<asp:TextBox ID="TxtPU" runat="server" Width="70px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender2" runat="server" TargetControlID="TxtPU" FilterType="Custom, Numbers" ValidChars="." />
|
|
||||||
<asp:RequiredFieldValidator ID="RFVPU" runat="server" ControlToValidate="TxtPU" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''P.U.''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAgregar"></asp:RequiredFieldValidator><ajax:ValidatorCalloutExtender ID="CVEPU" runat="server" HighlightCssClass="vco" TargetControlID="RFVPU" Width="300px"></ajax:ValidatorCalloutExtender>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<td></td>
|
|
||||||
<td id="TDAvance" runat="server" visible="false"></td>
|
|
||||||
<td>
|
|
||||||
<asp:Button Text="Agregar" runat="server" ID="BtnAgregarDetalle" Width="100px" OnClick="BtnAgregarDetalle_Click" ValidationGroup="GrpAgregar" class="btn btn-default" /></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
|
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
@@ -965,122 +926,134 @@
|
|||||||
<asp:UpdatePanel ID="UpGV" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UpGV" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
<asp:GridView ID="Gv" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron Conceptos" DataKeyNames="CveContratoDetalle,CveUM, CvePS, Cantidad, PU,CveTipoPresupuesto,CveClasificacion" ShowHeader="true" SelectedRowStyle-BackColor="#66CCFF" CssClass="table table-striped table-hover Widthall mysmallbtn" GridLines="None">
|
<div class="row">
|
||||||
<Columns>
|
<div class="col-md-12">
|
||||||
<asp:TemplateField HeaderText="OC <br/> Cliente">
|
<asp:GridView ID="Gv" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron Conceptos"
|
||||||
<ItemTemplate>
|
DataKeyNames="CveContratoDetalle,CveUM, CvePS, Cantidad, PU,CveTipoPresupuesto,CveClasificacion,CodigoPS,LimitarCantidad,PS,OCInterna,NoIdentificacion"
|
||||||
<asp:Literal ID="LbOCInternaEdit" Text='<%# Eval("OCInterna")%>' runat="server"></asp:Literal>
|
ShowHeader="true" SelectedRowStyle-BackColor="#66CCFF" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None">
|
||||||
</ItemTemplate>
|
<Columns>
|
||||||
<EditItemTemplate>
|
<asp:TemplateField HeaderText="OC <br/> Cliente">
|
||||||
<asp:TextBox ID="TxtOCInternaEdit" MaxLength="15" runat="server" Text='<%# Eval("OCInterna") %>' Width="70px"></asp:TextBox>
|
<ItemTemplate>
|
||||||
</EditItemTemplate>
|
<asp:Literal ID="LbOCInternaEdit" Text='<%# Eval("OCInterna")%>' runat="server"></asp:Literal>
|
||||||
<ItemStyle Width="75px" />
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
<EditItemTemplate>
|
||||||
<asp:TemplateField HeaderText="Cantidad">
|
<asp:TextBox ID="TxtOCInternaEdit" MaxLength="15" runat="server" Text='<%# Eval("OCInterna") %>' Width="70px"></asp:TextBox>
|
||||||
<ItemTemplate>
|
</EditItemTemplate>
|
||||||
<asp:Literal ID="LtCantidad" Text='<%# Eval("CantidadContratada")%>' runat="server"></asp:Literal>
|
<ItemStyle Width="75px" />
|
||||||
</ItemTemplate>
|
</asp:TemplateField>
|
||||||
<EditItemTemplate>
|
<asp:TemplateField HeaderText="Cantidad">
|
||||||
<asp:TextBox ID="TxtCantidad" runat="server" Text='<%# Eval("CantidadContratada") %>' Width="90px"></asp:TextBox>
|
<ItemTemplate>
|
||||||
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtenderCantidad" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
|
<asp:Literal ID="LtCantidad" Text='<%# Eval("CantidadContratada")%>' runat="server"></asp:Literal>
|
||||||
</EditItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
<EditItemTemplate>
|
||||||
</asp:TemplateField>
|
<asp:TextBox ID="TxtCantidad" runat="server" Text='<%# Eval("CantidadContratada") %>' Width="90px"></asp:TextBox>
|
||||||
<asp:TemplateField HeaderText="Limitar">
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtenderCantidad" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
|
||||||
<ItemTemplate>
|
</EditItemTemplate>
|
||||||
<asp:Literal ID="LblLimitar" Text='<%# If(Eval("LimitarCantidad").ToString = "True", "Si", "No")%>' runat="server"></asp:Literal>
|
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
||||||
</ItemTemplate>
|
</asp:TemplateField>
|
||||||
<EditItemTemplate>
|
<asp:TemplateField HeaderText="Limitar">
|
||||||
<asp:CheckBox ID="ChkLimitarCantidad" runat="server" Checked='<%# Eval("LimitarCantidad").ToString%>'></asp:CheckBox>
|
<ItemTemplate>
|
||||||
</EditItemTemplate>
|
<asp:Literal ID="LblLimitar" Text='<%# If(Eval("LimitarCantidad").ToString = "True", "Si", "No")%>' runat="server"></asp:Literal>
|
||||||
<ItemStyle Width="75px" HorizontalAlign="Center" />
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
<EditItemTemplate>
|
||||||
<asp:TemplateField HeaderText="Clave <br/> Interna <br/> Cliente">
|
<asp:CheckBox ID="ChkLimitarCantidad" runat="server" Checked='<%# Eval("LimitarCantidad").ToString%>'></asp:CheckBox>
|
||||||
<ItemTemplate>
|
</EditItemTemplate>
|
||||||
<asp:Literal ID="LblNoIdentificacion" Text='<%# Eval("NoIdentificacion")%>' runat="server"></asp:Literal>
|
<ItemStyle Width="75px" HorizontalAlign="Center" />
|
||||||
</ItemTemplate>
|
</asp:TemplateField>
|
||||||
<EditItemTemplate>
|
<asp:TemplateField HeaderText="Clave Int. Cliente">
|
||||||
<asp:TextBox ID="TxtNoIdentificacion" MaxLength="15" runat="server" Text='<%# Eval("NoIdentificacion") %>' Width="70px"></asp:TextBox>
|
<ItemTemplate>
|
||||||
</EditItemTemplate>
|
<asp:Literal ID="LblNoIdentificacion" Text='<%# Eval("NoIdentificacion")%>' runat="server"></asp:Literal>
|
||||||
<ItemStyle Width="75px" />
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
<EditItemTemplate>
|
||||||
<asp:TemplateField HeaderText="Producto/Servicio" ItemStyle-HorizontalAlign="Left">
|
<asp:TextBox ID="TxtNoIdentificacion" MaxLength="15" runat="server" Text='<%# Eval("NoIdentificacion") %>' Width="70px"></asp:TextBox>
|
||||||
<ItemTemplate>
|
</EditItemTemplate>
|
||||||
<asp:Literal ID="LtPS" Text='<%# Eval("CodigoPS")%>' runat="server"></asp:Literal>
|
<ItemStyle Width="75px" />
|
||||||
</ItemTemplate>
|
</asp:TemplateField>
|
||||||
<ItemStyle Width="400px" />
|
<asp:TemplateField HeaderText="Producto/Servicio" ItemStyle-HorizontalAlign="Left">
|
||||||
</asp:TemplateField>
|
<ItemTemplate>
|
||||||
<asp:TemplateField HeaderText="U.M.">
|
<asp:Literal ID="LtPS" Text='<%# Eval("CodigoPS")%>' runat="server"></asp:Literal>
|
||||||
<ItemTemplate>
|
</ItemTemplate>
|
||||||
<asp:Literal ID="LtUM" Text='<%# Eval("UM")%>' runat="server"></asp:Literal>
|
<ItemStyle Width="400px" />
|
||||||
</ItemTemplate>
|
</asp:TemplateField>
|
||||||
<EditItemTemplate>
|
<asp:TemplateField HeaderText="U.M.">
|
||||||
<asp:DropDownList ID="DdlUMEdit" runat="server" AutoPostBack="true" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" CssClass="table-group-action-input form-control input-inline input-small input-sm" Style="width: 75px !important;"></asp:DropDownList>
|
<ItemTemplate>
|
||||||
</EditItemTemplate>
|
<asp:Literal ID="LtUM" Text='<%# Eval("UM")%>' runat="server"></asp:Literal>
|
||||||
<ItemStyle Width="100px" />
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
<EditItemTemplate>
|
||||||
|
<asp:DropDownList ID="DdlUMEdit" runat="server" AutoPostBack="true" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" CssClass="table-group-action-input form-control input-inline input-small input-sm" Style="width: 75px !important;"></asp:DropDownList>
|
||||||
|
</EditItemTemplate>
|
||||||
|
<ItemStyle Width="100px" />
|
||||||
|
</asp:TemplateField>
|
||||||
|
|
||||||
|
|
||||||
<asp:TemplateField HeaderText="Observacion" Visible="false">
|
<asp:TemplateField HeaderText="Observacion" Visible="false">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="LblObservacion" Text='<%# Eval("Observacion")%>' runat="server"></asp:Literal>
|
<asp:Literal ID="LblObservacion" Text='<%# Eval("Observacion")%>' runat="server"></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<EditItemTemplate>
|
<EditItemTemplate>
|
||||||
<asp:TextBox ID="TxtObservacion" runat="server" Text='<%# Eval("Observacion") %>' Width="70px"></asp:TextBox>
|
<asp:TextBox ID="TxtObservacion" runat="server" Text='<%# Eval("Observacion") %>' Width="70px"></asp:TextBox>
|
||||||
</EditItemTemplate>
|
</EditItemTemplate>
|
||||||
<ItemStyle Width="75px" />
|
<ItemStyle Width="75px" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<asp:TemplateField HeaderText="Precio Unitario">
|
<asp:TemplateField HeaderText="Precio Unitario">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="LtPU" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' runat="server"></asp:Literal>
|
<asp:Literal ID="LtPU" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' runat="server"></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<EditItemTemplate>
|
<EditItemTemplate>
|
||||||
<asp:TextBox ID="TxtPU" runat="server" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' Width="90px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtenderPU" runat="server" TargetControlID="TxtPU" FilterType="Custom, Numbers" ValidChars=".," />
|
<asp:TextBox ID="TxtPU" runat="server" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' Width="90px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtenderPU" runat="server" TargetControlID="TxtPU" FilterType="Custom, Numbers" ValidChars=".," />
|
||||||
</EditItemTemplate>
|
</EditItemTemplate>
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Total">
|
<asp:TemplateField HeaderText="Total">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Label ID="LtTotal" CssClass="ltltotalgvx" data-value='<%# Eval("Total")%>' Text='<%# Eval("Total", "{0:###,###,##0.00##}")%>' runat="server"></asp:Label>
|
<asp:Label ID="LtTotal" CssClass="ltltotalgvx" data-value='<%# Eval("Total")%>' Text='<%# Eval("Total", "{0:###,###,##0.00##}")%>' runat="server"></asp:Label>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Avance" Visible="false">
|
<asp:TemplateField HeaderText="Avance" Visible="false">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:CheckBox ID="CHKPAvance" Enabled="false" AutoPostBack="true" OnCheckedChanged="AvaClick" runat="server" />
|
<asp:CheckBox ID="CHKPAvance" Enabled="false" AutoPostBack="true" OnCheckedChanged="AvaClick" runat="server" />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<%-- <asp:TemplateField HeaderText="Estimacion">
|
|
||||||
<ItemTemplate>
|
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
||||||
<asp:CheckBox ID="CHKPEstimacion" Enabled="false" AutoPostBack="true" OnCheckedChanged="EstClick" runat="server" />
|
<ItemTemplate>
|
||||||
</ItemTemplate>
|
<asp:LinkButton ID="LnkEditarPresupuestoVentaDetalle" OnClick="LnkEditarPresupuestoVentaDetalle_Click" runat="server" AlternateText="Editar" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
</ItemTemplate>
|
||||||
</asp:TemplateField>--%>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
|
||||||
<EditItemTemplate>
|
<%-- <asp:TemplateField HeaderText="Editar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
||||||
<div style="width: 65px;">
|
<EditItemTemplate>
|
||||||
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update"
|
<div style="width: 65px;">
|
||||||
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" /><asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel"
|
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update"
|
||||||
CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
|
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" /><asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel"
|
||||||
</div>
|
CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
|
||||||
</EditItemTemplate>
|
</div>
|
||||||
<ItemTemplate>
|
</EditItemTemplate>
|
||||||
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit"
|
<ItemTemplate>
|
||||||
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit"
|
||||||
</ItemTemplate>
|
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||||
</asp:TemplateField>
|
</ItemTemplate>
|
||||||
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
</asp:TemplateField>--%>
|
||||||
<ItemTemplate>
|
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
||||||
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red"
|
<ItemTemplate>
|
||||||
Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Esta seguro de eliminar el concepto?" data-btn-ok-label="si" />
|
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red"
|
||||||
</ItemTemplate>
|
Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Esta seguro de eliminar el concepto?" data-btn-ok-label="si" />
|
||||||
</asp:TemplateField>
|
</ItemTemplate>
|
||||||
</Columns>
|
</asp:TemplateField>
|
||||||
</asp:GridView>
|
|
||||||
|
|
||||||
|
|
||||||
|
</Columns>
|
||||||
|
</asp:GridView>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<table class="table Widthall">
|
<table class="table Widthall">
|
||||||
@@ -1117,10 +1090,10 @@
|
|||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</ajax:TabPanel>
|
</ajax:TabPanel>
|
||||||
|
|
||||||
<ajax:TabPanel ID="TabPVInsumos" runat="server" HeaderText="Suministros">
|
<ajax:TabPanel ID="TabPVInsumos" runat="server" HeaderText="Control">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
<asp:UpdatePanel ID="UpTitulosInsumos" runat="server" UpdateMode="Conditional">
|
<%-- <asp:UpdatePanel ID="UpTitulosInsumos" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
<asp:Panel ID="PanelContratosInsumos" runat="server">
|
<asp:Panel ID="PanelContratosInsumos" runat="server">
|
||||||
@@ -1140,7 +1113,7 @@
|
|||||||
<td style="width: 150px">Precio Unitario</td>
|
<td style="width: 150px">Precio Unitario</td>
|
||||||
<td style="width: 150px">Total</td>
|
<td style="width: 150px">Total</td>
|
||||||
<td style="width: 150px" id="THAvanceInsumos" runat="server" visible="false">Permite Avance</td>
|
<td style="width: 150px" id="THAvanceInsumos" runat="server" visible="false">Permite Avance</td>
|
||||||
<%-- <td style="width: 150px" id="tdCol7" runat="server">Permite Estimación </td>--%>
|
|
||||||
<td style="width: 100px">Comandos</td>
|
<td style="width: 100px">Comandos</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="Titulos">
|
<tr class="Titulos">
|
||||||
@@ -1180,109 +1153,126 @@
|
|||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
|
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>--%>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row col-md-12" align="right">
|
||||||
|
<input type="text" id="TxtBusqueda3" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda3','{0}');sumagvx();", GvInsumos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||||
|
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda3','{0}');sumagvx();", GvInsumos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<asp:UpdatePanel ID="UpGVInsumos" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UpGVInsumos" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
<asp:GridView ID="GvInsumos" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron Conceptos" DataKeyNames="CveContratoDetalle,CveUM, CvePS, Cantidad, PU,CveTipoPresupuesto,CveClasificacion" ShowHeader="true" SelectedRowStyle-BackColor="#66CCFF" CssClass="table table-striped table-hover Widthall mysmallbtn" GridLines="None">
|
|
||||||
<Columns>
|
<div class="row">
|
||||||
<asp:TemplateField HeaderText="Cantidad">
|
<div class="col-md-12">
|
||||||
<ItemTemplate>
|
|
||||||
<asp:Literal ID="LtCantidad" Text='<%# Eval("CantidadContratada")%>' runat="server"></asp:Literal>
|
|
||||||
</ItemTemplate>
|
|
||||||
<EditItemTemplate>
|
|
||||||
<asp:TextBox ID="TxtCantidad" runat="server" Text='<%# Eval("CantidadContratada") %>' Width="90px"></asp:TextBox>
|
|
||||||
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtenderCantidad" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
|
|
||||||
</EditItemTemplate>
|
|
||||||
<ItemStyle Width="150px" />
|
|
||||||
</asp:TemplateField>
|
|
||||||
<asp:TemplateField HeaderText="Limitar">
|
|
||||||
<ItemTemplate>
|
|
||||||
<asp:Literal ID="LblLimitar" Text='<%# If(Eval("LimitarCantidad").ToString = "True", "Si", "No")%>' runat="server"></asp:Literal>
|
|
||||||
</ItemTemplate>
|
|
||||||
<EditItemTemplate>
|
|
||||||
<asp:CheckBox ID="ChkLimitarCantidad" runat="server" Checked='<%# Eval("LimitarCantidad").ToString%>'></asp:CheckBox>
|
|
||||||
</EditItemTemplate>
|
|
||||||
<ItemStyle Width="75px" HorizontalAlign="Center" />
|
|
||||||
</asp:TemplateField>
|
|
||||||
<asp:TemplateField HeaderText="Clave <br/> Interna">
|
|
||||||
<ItemTemplate>
|
|
||||||
<asp:Literal ID="LblNoIdentificacion" Text='<%# Eval("NoIdentificacion")%>' runat="server"></asp:Literal>
|
|
||||||
</ItemTemplate>
|
|
||||||
<EditItemTemplate>
|
|
||||||
<asp:TextBox ID="TxtNoIdentificacion" MaxLength="15" runat="server" Text='<%# Eval("NoIdentificacion") %>' Width="70px"></asp:TextBox>
|
|
||||||
</EditItemTemplate>
|
|
||||||
<ItemStyle Width="75px" />
|
|
||||||
</asp:TemplateField>
|
|
||||||
|
|
||||||
<asp:TemplateField HeaderText="Producto/Servicio" ItemStyle-HorizontalAlign="Left">
|
<asp:GridView ID="GvInsumos" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron Conceptos"
|
||||||
<ItemTemplate>
|
DataKeyNames="CveContratoDetalle,CveUM, CvePS, Cantidad, PU,CveTipoPresupuesto,CveClasificacion,CodigoPS,LimitarCantidad,PS,NoIdentificacion" ShowHeader="true" SelectedRowStyle-BackColor="#66CCFF"
|
||||||
<asp:Literal ID="LtPS" Text='<%# Eval("CodigoPS")%>' runat="server"></asp:Literal>
|
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None">
|
||||||
</ItemTemplate>
|
|
||||||
<ItemStyle Width="400px" />
|
|
||||||
</asp:TemplateField>
|
|
||||||
<asp:TemplateField HeaderText="U.M.">
|
|
||||||
<ItemTemplate>
|
|
||||||
<asp:Literal ID="LtUM" Text='<%# Eval("UM")%>' runat="server"></asp:Literal>
|
|
||||||
</ItemTemplate>
|
|
||||||
<EditItemTemplate>
|
|
||||||
<asp:DropDownList ID="DdlUMEdit" runat="server" AutoPostBack="true" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" CssClass="table-group-action-input form-control input-inline input-small input-sm" Style="width: 75px !important;"></asp:DropDownList>
|
|
||||||
</EditItemTemplate>
|
|
||||||
<ItemStyle Width="100px" />
|
|
||||||
</asp:TemplateField>
|
|
||||||
<asp:TemplateField HeaderText="Precio Unitario">
|
|
||||||
<ItemTemplate>
|
|
||||||
<asp:Literal ID="LtPU" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' runat="server"></asp:Literal>
|
|
||||||
</ItemTemplate>
|
|
||||||
<EditItemTemplate>
|
|
||||||
<asp:TextBox ID="TxtPU" runat="server" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' Width="90px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtenderPU" runat="server" TargetControlID="TxtPU" FilterType="Custom, Numbers" ValidChars="." />
|
|
||||||
</EditItemTemplate>
|
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
|
||||||
</asp:TemplateField>
|
|
||||||
|
|
||||||
<asp:TemplateField HeaderText="Total">
|
<Columns>
|
||||||
<ItemTemplate>
|
<asp:TemplateField HeaderText="Cantidad">
|
||||||
<asp:Label ID="LtTotal" CssClass="ltltotalgvx2" data-value='<%# Eval("Total")%>' Text='<%# Eval("Total", "{0:###,###,##0.00##}")%>' runat="server"></asp:Label>
|
<ItemTemplate>
|
||||||
</ItemTemplate>
|
<asp:Literal ID="LtCantidad" Text='<%# Eval("CantidadContratada")%>' runat="server"></asp:Literal>
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
<EditItemTemplate>
|
||||||
|
<asp:TextBox ID="TxtCantidad" runat="server" Text='<%# Eval("CantidadContratada") %>' Width="90px"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtenderCantidad" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
|
||||||
|
</EditItemTemplate>
|
||||||
|
<ItemStyle Width="150px" />
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="Limitar">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LblLimitar" Text='<%# If(Eval("LimitarCantidad").ToString = "True", "Si", "No")%>' runat="server"></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
<EditItemTemplate>
|
||||||
|
<asp:CheckBox ID="ChkLimitarCantidad" runat="server" Checked='<%# Eval("LimitarCantidad").ToString%>'></asp:CheckBox>
|
||||||
|
</EditItemTemplate>
|
||||||
|
<ItemStyle Width="75px" HorizontalAlign="Center" />
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="Clave <br/> Interna">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LblNoIdentificacion" Text='<%# Eval("NoIdentificacion")%>' runat="server"></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
<EditItemTemplate>
|
||||||
|
<asp:TextBox ID="TxtNoIdentificacion" MaxLength="15" runat="server" Text='<%# Eval("NoIdentificacion") %>' Width="70px"></asp:TextBox>
|
||||||
|
</EditItemTemplate>
|
||||||
|
<ItemStyle Width="75px" />
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="Producto/Servicio" ItemStyle-HorizontalAlign="Left">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LtPS" Text='<%# Eval("CodigoPS")%>' runat="server"></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
<ItemStyle Width="400px" />
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="U.M.">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LtUM" Text='<%# Eval("UM")%>' runat="server"></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
<EditItemTemplate>
|
||||||
|
<asp:DropDownList ID="DdlUMEdit" runat="server" AutoPostBack="true" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" CssClass="table-group-action-input form-control input-inline input-small input-sm" Style="width: 75px !important;"></asp:DropDownList>
|
||||||
|
</EditItemTemplate>
|
||||||
|
<ItemStyle Width="100px" />
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="Precio Unitario">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LtPU" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' runat="server"></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
<EditItemTemplate>
|
||||||
|
<asp:TextBox ID="TxtPU" runat="server" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' Width="90px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtenderPU" runat="server" TargetControlID="TxtPU" FilterType="Custom, Numbers" ValidChars="." />
|
||||||
|
</EditItemTemplate>
|
||||||
|
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
||||||
|
</asp:TemplateField>
|
||||||
|
|
||||||
<asp:TemplateField HeaderText="Avance" Visible="false">
|
<asp:TemplateField HeaderText="Total">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:CheckBox ID="CHKPAvance" Enabled="false" AutoPostBack="true" OnCheckedChanged="AvaClick" runat="server" />
|
<asp:Label ID="LtTotal" CssClass="ltltotalgvx2" data-value='<%# Eval("Total")%>' Text='<%# Eval("Total", "{0:###,###,##0.00##}")%>' runat="server"></asp:Label>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<%-- <asp:TemplateField HeaderText="Estimacion">
|
|
||||||
<ItemTemplate>
|
|
||||||
<asp:CheckBox ID="CHKPEstimacion" Enabled="false" AutoPostBack="true" OnCheckedChanged="EstClick" runat="server" />
|
|
||||||
</ItemTemplate>
|
|
||||||
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
|
||||||
</asp:TemplateField>--%>
|
|
||||||
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
|
||||||
<EditItemTemplate>
|
|
||||||
<div style="width: 65px;">
|
|
||||||
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update"
|
|
||||||
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" /><asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel"
|
|
||||||
CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
|
|
||||||
</div>
|
|
||||||
</EditItemTemplate>
|
|
||||||
<ItemTemplate>
|
|
||||||
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit"
|
|
||||||
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
|
||||||
</ItemTemplate>
|
|
||||||
</asp:TemplateField>
|
|
||||||
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
|
||||||
<ItemTemplate>
|
|
||||||
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red"
|
|
||||||
Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Esta seguro de eliminar el concepto?" data-btn-ok-label="si" />
|
|
||||||
</ItemTemplate>
|
|
||||||
</asp:TemplateField>
|
|
||||||
</Columns>
|
|
||||||
</asp:GridView>
|
|
||||||
|
|
||||||
|
<asp:TemplateField HeaderText="Avance" Visible="false">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:CheckBox ID="CHKPAvance" Enabled="false" AutoPostBack="true" OnCheckedChanged="AvaClick" runat="server" />
|
||||||
|
</ItemTemplate>
|
||||||
|
<ItemStyle Width="150px" HorizontalAlign="Right" />
|
||||||
|
</asp:TemplateField>
|
||||||
|
|
||||||
|
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:LinkButton ID="LnkEditarPresupuestoControlDetalle" OnClick="LnkEditarPresupuestoControlDetalle_Click" runat="server" AlternateText="Editar" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
|
||||||
|
|
||||||
|
<%-- <asp:TemplateField HeaderText="Editar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
||||||
|
<EditItemTemplate>
|
||||||
|
<div style="width: 65px;">
|
||||||
|
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update"
|
||||||
|
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" /><asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel"
|
||||||
|
CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
|
||||||
|
</div>
|
||||||
|
</EditItemTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit"
|
||||||
|
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>--%>
|
||||||
|
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red"
|
||||||
|
Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Esta seguro de eliminar el concepto?" data-btn-ok-label="si" />
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
</Columns>
|
||||||
|
</asp:GridView>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<table class="table Widthall">
|
<table class="table Widthall">
|
||||||
<tr class="Titulos">
|
<tr class="Titulos">
|
||||||
@@ -2233,6 +2223,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<%--MODAL UPLOAD--%>
|
<%--MODAL UPLOAD--%>
|
||||||
|
|
||||||
<div id="ModalUpload" class="modal ADS fade" role="dialog">
|
<div id="ModalUpload" class="modal ADS fade" role="dialog">
|
||||||
<div class="modal-dialog">
|
<div class="modal-dialog">
|
||||||
|
|
||||||
@@ -2449,13 +2440,6 @@
|
|||||||
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker" style="position: relative;">
|
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker" style="position: relative;">
|
||||||
<div class="row ">
|
<div class="row ">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="col-md-5" style="position: relative; margin-left: 10px!important">
|
<div class="col-md-5" style="position: relative; margin-left: 10px!important">
|
||||||
<asp:TextBox ID="txtFechaI4" Style="margin-top: 10px!important" CssClass="form-control " runat="server" MaxLength="50" CausesValidation="true"></asp:TextBox>
|
<asp:TextBox ID="txtFechaI4" Style="margin-top: 10px!important" CssClass="form-control " runat="server" MaxLength="50" CausesValidation="true"></asp:TextBox>
|
||||||
|
|
||||||
@@ -2519,6 +2503,222 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<%-- Modal Ventas presupuestos Agregar--%>
|
||||||
|
<div id="ModalVentasAddPS" class="modal ADS fade" role="dialog">
|
||||||
|
<div class="modal-dialog" style="width: 450px;">
|
||||||
|
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalVentasAddPS" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
|
||||||
|
<div class="modal-header ">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title">
|
||||||
|
<asp:Literal ID="LtlModalVentasPSTitulo" runat="server"></asp:Literal></h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtOCInterna" CssClass="form-control" runat="server" MaxLength="100" CausesValidation="true"></asp:TextBox>
|
||||||
|
<label for="<%= TxtOCInterna.ClientID.ToString()%>">OC:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtCantidad" runat="server" CssClass="form-control" ></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
|
||||||
|
<asp:RequiredFieldValidator ID="RFVCantidad" runat="server" ControlToValidate="TxtCantidad" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddPSVentas"> </asp:RequiredFieldValidator>
|
||||||
|
<label for="<%= TxtCantidad.ClientID.ToString()%>">Cantidad:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:CheckBox ID="ChkLimitarVenta" runat="server" CssClass="form-control" />
|
||||||
|
<label for="<%= ChkLimitarVenta.ClientID.ToString()%>">Limitar:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtNoIdentificacionv" runat="server" MaxLength="15" CssClass="form-control" ></asp:TextBox>
|
||||||
|
<label for="<%= TxtNoIdentificacionv.ClientID.ToString()%>">Clave Interna Cliente:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlClasificacionAdd" runat="server" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="table-group-action-input form-control input-inline input-sm select2me" Style="width: 100%;"></asp:DropDownList>
|
||||||
|
<label for="<%= DdlClasificacionAdd.ClientID.ToString()%>">Clasificación:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<ADS:Dropdownlost runat="server" ID="DdlProductows" CssStyle="width: 100%;" CssClassDdl="form-control select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||||
|
<label for="<%= DdlProductows.ClientID.ToString()%>">Producto:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlUM" runat="server" AutoPostBack="true" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" CssClass="form-control select2me" ></asp:DropDownList>
|
||||||
|
<label for="<%= DdlUM.ClientID.ToString()%>">U. M.:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtPU" runat="server" Width="70px" CssClass="form-control"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender2" runat="server" TargetControlID="TxtPU" FilterType="Custom, Numbers" ValidChars="." />
|
||||||
|
<asp:RequiredFieldValidator ID="RFVPU" runat="server" ControlToValidate="TxtPU" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''P.U.''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddPSVentas"></asp:RequiredFieldValidator>
|
||||||
|
<label for="<%= TxtPU.ClientID.ToString()%>">P.U.:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright" style="text-align:right!important">
|
||||||
|
<asp:CheckBox ID="ChkContinualAgregandoVentas" runat="server" TextAlign="Left" Text="Continuar agregando" CssClass="form-control" Checked="true" />
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<td id="TDAvance" runat="server" visible="false"></td>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-footer">
|
||||||
|
|
||||||
|
<asp:Button Text="Guardar" runat="server" ID="BtnAgregarDetalle" Width="100px" OnClick="BtnAgregarDetalle_Click" ValidationGroup="GrpAddPSVentas" class="btn btn-success" /></td>
|
||||||
|
<button id="Button5" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<%--MODAL CONTROL PRESUPUESTOS AGREGAR--%>
|
||||||
|
<div id="ModalControlAddPS" class="modal ADS fade" role="dialog">
|
||||||
|
<div class="modal-dialog" style="width: 450px;">
|
||||||
|
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalControlAddPS" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
|
||||||
|
<div class="modal-header ">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title">
|
||||||
|
<asp:Literal ID="LtlModalControlPSTitulo" runat="server"></asp:Literal></h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtCantidadInsumos" runat="server" CssClass="form-control" ></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender ID="FETxtCantidadInsumos" runat="server" TargetControlID="TxtCantidadInsumos" FilterType="Custom, Numbers" ValidChars="." />
|
||||||
|
<asp:RequiredFieldValidator ID="RFVTxtCantidadInsumos" runat="server" ControlToValidate="TxtCantidadInsumos" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddPSControl"> </asp:RequiredFieldValidator>
|
||||||
|
<label for="<%= TxtCantidadInsumos.ClientID.ToString()%>">Cantidad:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:CheckBox ID="ChkLimitarInsumos" runat="server" CssClass="form-control" />
|
||||||
|
<label for="<%= ChkLimitarInsumos.ClientID.ToString()%>">Limitar:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtNoIdentificacionvInsumos" runat="server" MaxLength="15" CssClass="form-control" ></asp:TextBox>
|
||||||
|
<label for="<%= TxtNoIdentificacionvInsumos.ClientID.ToString()%>">Clave Interna:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlClasificacionAddInsumos" runat="server" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" CssClass="table-group-action-input form-control input-inline input-sm select2me" Style="width: 100%;"></asp:DropDownList>
|
||||||
|
<label for="<%= DdlClasificacionAddInsumos.ClientID.ToString()%>">Clasificación:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<label for="<%= DdlProductowsInsumos.ClientID.ToString()%>">Producto:</label>
|
||||||
|
<ADS:Dropdownlost runat="server" ID="DdlProductowsInsumos" CssStyle="width: 100%;" CssClassDdl="form-control select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlUMInsumos" runat="server" AutoPostBack="true" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" CssClass="form-control select2me" ></asp:DropDownList>
|
||||||
|
<label for="<%= DdlUMInsumos.ClientID.ToString()%>">U. M.:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtPUInsumos" runat="server" Width="70px" CssClass="form-control"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender ID="FETxtPUInsumos" runat="server" TargetControlID="TxtPUInsumos" FilterType="Custom, Numbers" ValidChars="." />
|
||||||
|
<asp:RequiredFieldValidator ID="RFVTxtPUInsumos" runat="server" ControlToValidate="TxtPUInsumos" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''P.U.''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddPSControl"></asp:RequiredFieldValidator>
|
||||||
|
<label for="<%= TxtPUInsumos.ClientID.ToString()%>">P.U.:</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright" style="text-align:right!important">
|
||||||
|
<asp:CheckBox ID="ChkContinualAgregandoControl" runat="server" TextAlign="Left" Text="Continuar agregando" CssClass="form-control" Checked="true" />
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<td id="TD1" runat="server" visible="false"></td>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:Button Text="Guardar" runat="server" ID="BtnAgregarDetalleInsumos" Width="100px" OnClick="BtnAgregarDetalleInsumos_Click" ValidationGroup="GrpAddPSControl" class="btn btn-success" />
|
||||||
|
<button id="Button4" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<%--Modal Carga Presupuesto--%>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpModalCargaPresupuesto">
|
||||||
|
<ContentTemplate>
|
||||||
|
|
||||||
|
<div id="ModalUploadPresupuesto" class="modal ADS fade" role="dialog">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header ">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title"><asp:Label runat="server" ID="LnlModalcargaPresupuestoTitulo"></asp:Label></h4>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-body">
|
||||||
|
<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<asp:TextBox ID="TxtModalCargaPresupuesto" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:UpdatePanel runat="server">
|
||||||
|
<ContentTemplate>
|
||||||
|
|
||||||
|
<asp:Button ID="BtnCargaPresupuesto" runat="server" ClientIDMode="Static" Text="Guardar" CssClass="btn btn-primary" OnClick="BtnCargaPresupuesto_Click" />
|
||||||
|
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<iframe id="my_iframe" style="display: none;"></iframe>
|
<iframe id="my_iframe" style="display: none;"></iframe>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|||||||
@@ -394,7 +394,17 @@ Partial Class Contratos_ContratoObra
|
|||||||
'Configuración de Modalidad Update
|
'Configuración de Modalidad Update
|
||||||
BtnGuardar.Text = "Guardar Cambios"
|
BtnGuardar.Text = "Guardar Cambios"
|
||||||
|
|
||||||
If Request("Opt") IsNot Nothing AndAlso IsNumeric(Request("Opt")) Then TAB.ActiveTabIndex = Request("Opt").ToEntero
|
If Request("Opt") IsNot Nothing AndAlso IsNumeric(Request("Opt")) Then Tab.ActiveTabIndex = Request("Opt").ToEntero
|
||||||
|
|
||||||
|
If CveContrato > 0 Then
|
||||||
|
|
||||||
|
LnkModalAddPSVentas.Visible = True
|
||||||
|
LnkModalAddPSControl.Visible = True
|
||||||
|
LnkModalAddPresupuestoVentas.Visible = True
|
||||||
|
LnkModalAddPresupuestoControl.Visible = True
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
'Configuración de Modalidad Insert
|
'Configuración de Modalidad Insert
|
||||||
LblFechaCaptura.Text = Now.ToShortDateString()
|
LblFechaCaptura.Text = Now.ToShortDateString()
|
||||||
@@ -1001,30 +1011,30 @@ Partial Class Contratos_ContratoObra
|
|||||||
TabPVInsumos.Visible = False
|
TabPVInsumos.Visible = False
|
||||||
RowEstatus.Visible = False
|
RowEstatus.Visible = False
|
||||||
TabPres.HeaderText = "Partidas"
|
TabPres.HeaderText = "Partidas"
|
||||||
thOcCliente.Style.Add("display", "none")
|
'thOcCliente.Style.Add("display", "none")
|
||||||
tdOcCliente.Style.Add("display", "none")
|
'tdOcCliente.Style.Add("display", "none")
|
||||||
thNoIdentificacionv.Style.Add("display", "none")
|
'thNoIdentificacionv.Style.Add("display", "none")
|
||||||
thLimitar.Style.Add("display", "none")
|
'thLimitar.Style.Add("display", "none")
|
||||||
tdLimitar2.Style.Add("display", "none")
|
'tdLimitar2.Style.Add("display", "none")
|
||||||
tdNoIdentificacionv.Style.Add("display", "none")
|
'tdNoIdentificacionv.Style.Add("display", "none")
|
||||||
'RowFlexible.Visible = False
|
'RowFlexible.Visible = False
|
||||||
TableDatosCabecera.Visible = False
|
TableDatosCabecera.Visible = False
|
||||||
TabAvanveDocumento.Visible = False
|
TabAvanveDocumento.Visible = False
|
||||||
TabSistema.Visible = False
|
TabSistema.Visible = False
|
||||||
'RowPorcentajeComision.Visible = False
|
'RowPorcentajeComision.Visible = False
|
||||||
TabContratosGastos.Visible = False
|
TabContratosGastos.Visible = False
|
||||||
tdCveInterna.Text = ""
|
'tdCveInterna.Text = ""
|
||||||
tdLimitar.Text = ""
|
'tdLimitar.Text = ""
|
||||||
tdOC.Text = ""
|
'tdOC.Text = ""
|
||||||
THAvance.Visible = False
|
'THAvance.Visible = False
|
||||||
THAvance.Style.Add("display", "none")
|
'THAvance.Style.Add("display", "none")
|
||||||
TDAvance.Style.Add("display", "none")
|
TDAvance.Style.Add("display", "none")
|
||||||
TxtOCInterna.Visible = False
|
TxtOCInterna.Visible = False
|
||||||
TxtNoIdentificacionv.Visible = False
|
TxtNoIdentificacionv.Visible = False
|
||||||
ChkLimitarVenta.Visible = False
|
ChkLimitarVenta.Visible = False
|
||||||
DvObservaciones.Visible = True
|
DvObservaciones.Visible = True
|
||||||
TDObservacion.Visible = True
|
'TDObservacion.Visible = True
|
||||||
tdObservaciones.Visible = True
|
'tdObservaciones.Visible = True
|
||||||
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
|
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
|
||||||
Gv.Columns(6).Visible = True
|
Gv.Columns(6).Visible = True
|
||||||
'DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString)
|
'DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString)
|
||||||
@@ -1768,6 +1778,9 @@ Partial Class Contratos_ContratoObra
|
|||||||
DdlProductows.SelectedText = "Seleccione"
|
DdlProductows.SelectedText = "Seleccione"
|
||||||
DdlProductows.SelectedValue = "-1"
|
DdlProductows.SelectedValue = "-1"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
UpModalVentasAddPS.Update()
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CargaPSInsumos()
|
Private Sub CargaPSInsumos()
|
||||||
@@ -1852,53 +1865,123 @@ Partial Class Contratos_ContratoObra
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub BtnAgregarDetalle_Click(sender As Object, e As EventArgs)
|
Protected Sub BtnAgregarDetalle_Click(sender As Object, e As EventArgs)
|
||||||
Dim Row As DataRow = TmpDT.NewRow()
|
|
||||||
Row("Cantidad") = TxtCantidad.Text.ToDouble.FormatoNumero
|
|
||||||
Row("CantidadContratada") = TxtCantidad.Text.ToDouble.FormatoNumero
|
|
||||||
Row("CveUM") = DdlUM.SelectedValue.ToEntero
|
|
||||||
Row("UM") = DdlUM.SelectedItem
|
|
||||||
Row("CveClasificacion") = DdlClasificacionAdd.SelectedValue
|
|
||||||
Row("Clasificacion") = DdlClasificacionAdd.SelectedItem
|
|
||||||
Row("CvePS") = DdlProductows.SelectedValue.ToEntero
|
|
||||||
Row("PS") = DdlProductows.SelectedText
|
|
||||||
Row("CodigoPS") = DdlProductows.SelectedText
|
|
||||||
Row("PU") = TxtPU.Text.ToDouble.FormatoNumero
|
|
||||||
Row("Total") = (TxtCantidad.Text.ToDouble * TxtPU.Text.ToDouble).FormatoNumero
|
|
||||||
Row("CveTipoPresupuesto") = 2
|
|
||||||
Row("NoIdentificacion") = TxtNoIdentificacionv.Text.Trim
|
|
||||||
Row("OCInterna") = TxtOCInterna.Text.Trim
|
|
||||||
Row("LimitarCantidad") = If(ChkLimitarVenta.Checked, 1, 0)
|
|
||||||
Row("Observacion") = TxtObservacionesDetalles.Text
|
|
||||||
|
|
||||||
Dim ObjContratos As New ClsContratos
|
|
||||||
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), Row("OCInterna").ToString, Observacion:=Row("Observacion").ToString) Then
|
|
||||||
If Autorizado Then
|
|
||||||
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
|
||||||
guardarBitacora(msj)
|
|
||||||
End If
|
|
||||||
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
|
||||||
TmpDT.Rows.Add(Row)
|
|
||||||
TmpDT.AcceptChanges()
|
|
||||||
Dim TotalRow = Row("Total").ToString.ToDouble
|
|
||||||
|
|
||||||
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
If CveContratoDetalleEditar = -1 Then
|
||||||
|
|
||||||
UpGV.Update()
|
Dim Row As DataRow = TmpDT.NewRow()
|
||||||
TxtCantidad.Text = ""
|
Row("Cantidad") = TxtCantidad.Text.ToDouble.FormatoNumero
|
||||||
TxtOCInterna.Text = ""
|
Row("CantidadContratada") = TxtCantidad.Text.ToDouble.FormatoNumero
|
||||||
TxtNoIdentificacionv.Text = ""
|
Row("CveUM") = DdlUM.SelectedValue.ToEntero
|
||||||
TxtObservacionesDetalles.Text = ""
|
Row("UM") = DdlUM.SelectedItem
|
||||||
TxtPU.Text = ""
|
Row("CveClasificacion") = DdlClasificacionAdd.SelectedValue
|
||||||
DdlClasificacionAdd.SelectedValue = "-1"
|
Row("Clasificacion") = DdlClasificacionAdd.SelectedItem
|
||||||
LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
Row("CvePS") = DdlProductows.SelectedValue.ToEntero
|
||||||
LblImporte.Text = LbTotalGeneral.Text
|
Row("PS") = DdlProductows.SelectedText
|
||||||
TxtCantidad.Focus()
|
Row("CodigoPS") = DdlProductows.SelectedText
|
||||||
UpGral.Update()
|
Row("PU") = TxtPU.Text.ToDouble.FormatoNumero
|
||||||
Else
|
Row("Total") = (TxtCantidad.Text.ToDouble * TxtPU.Text.ToDouble).FormatoNumero
|
||||||
Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
|
Row("CveTipoPresupuesto") = 2
|
||||||
End If
|
Row("NoIdentificacion") = TxtNoIdentificacionv.Text.Trim
|
||||||
|
Row("OCInterna") = TxtOCInterna.Text.Trim
|
||||||
ObjContratos.Dispose()
|
Row("LimitarCantidad") = If(ChkLimitarVenta.Checked, 1, 0)
|
||||||
|
Row("Observacion") = "" 'TxtObservacionesDetalles.Text
|
||||||
|
|
||||||
|
Dim ObjContratos As New ClsContratos
|
||||||
|
|
||||||
|
|
||||||
|
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), Row("OCInterna").ToString, Observacion:=Row("Observacion").ToString) Then
|
||||||
|
|
||||||
|
If Autorizado Then
|
||||||
|
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
||||||
|
guardarBitacora(msj)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
||||||
|
TmpDT.Rows.Add(Row)
|
||||||
|
TmpDT.AcceptChanges()
|
||||||
|
Dim TotalRow = Row("Total").ToString.ToDouble
|
||||||
|
|
||||||
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
||||||
|
|
||||||
|
UpGV.Update()
|
||||||
|
LimpiarModalVentas()
|
||||||
|
|
||||||
|
LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
||||||
|
LblImporte.Text = LbTotalGeneral.Text
|
||||||
|
TxtCantidad.Focus()
|
||||||
|
UpGral.Update()
|
||||||
|
|
||||||
|
|
||||||
|
If Not ChkContinualAgregandoVentas.Checked Then
|
||||||
|
RegistraScript("$('#ModalVentasAddPS').modal('hide')")
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
|
||||||
|
End If
|
||||||
|
|
||||||
|
ObjContratos.Dispose()
|
||||||
|
Else
|
||||||
|
|
||||||
|
|
||||||
|
Dim Cantidad, PU As Double : Dim CvePS, CveUM As Integer
|
||||||
|
Dim NoIdentificacion As String = ""
|
||||||
|
Dim OCInterna As String = ""
|
||||||
|
Dim LimitarCantidad As Boolean
|
||||||
|
Dim Observaciones As String = ""
|
||||||
|
|
||||||
|
Cantidad = TxtCantidad.Text.ToDouble
|
||||||
|
PU = TxtPU.Text.ToDouble
|
||||||
|
CvePS = DdlProductows.SelectedValue.ToEntero
|
||||||
|
CveUM = DdlUM.SelectedValue.ToEntero
|
||||||
|
NoIdentificacion = TxtNoIdentificacionv.Text.Trim
|
||||||
|
OCInterna = TxtOCInterna.Text.Trim
|
||||||
|
LimitarCantidad = If(ChkLimitarVenta.Checked, True, False)
|
||||||
|
Observaciones = ""
|
||||||
|
|
||||||
|
Dim row = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalleEditar))(0)
|
||||||
|
Dim LimitarCantidadValidator As Boolean = row("LimitarCantidad").ToString = "True"
|
||||||
|
|
||||||
|
|
||||||
|
Dim ObjContratos As New ClsContratos
|
||||||
|
If ObjContratos.UpdateContratosDetalle(CveContratoDetalleEditar, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, NoIdentificacion, LimitarCantidad, OCInterna, Observaciones) Then
|
||||||
|
|
||||||
|
If Autorizado Then
|
||||||
|
Dim msj As String = String.Format("Se realizaron los siguientes cambios, el Presupuesto Interno se modificó: {1} {0} {2:C2} a {3} {0} {4:C2}",
|
||||||
|
row("PS").ToString, row("Cantidad").ToString, row("PU").ToString, Cantidad, PU)
|
||||||
|
guardarBitacora(msj)
|
||||||
|
End If
|
||||||
|
|
||||||
|
row("Cantidad") = Cantidad
|
||||||
|
row("CantidadContratada") = Cantidad
|
||||||
|
row("PU") = PU
|
||||||
|
row("Total") = Cantidad * PU
|
||||||
|
row("CveUM") = CveUM
|
||||||
|
row("UM") = DdlUM.SelectedItem.Text
|
||||||
|
row("NoIdentificacion") = NoIdentificacion
|
||||||
|
row("OCInterna") = OCInterna
|
||||||
|
row("LimitarCantidad") = LimitarCantidad
|
||||||
|
row("Observacion") = Observaciones
|
||||||
|
|
||||||
|
TmpDT.AcceptChanges()
|
||||||
|
Alert("Cambios realizados correctamente.", TipoMensaje.MsgInformacion)
|
||||||
|
RegistraScript("$('#ModalVentasAddPS').modal('hide')")
|
||||||
|
Else
|
||||||
|
Alert("Error al Actualizar Detalle", TipoMensaje.MsgError)
|
||||||
|
End If
|
||||||
|
ObjContratos.Dispose()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gv.EditIndex = -1
|
||||||
|
LbTotalGeneral.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero
|
||||||
|
LblImporte.Text = LbTotalGeneral.Text
|
||||||
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CargaDatosPresup()
|
Private Sub CargaDatosPresup()
|
||||||
@@ -2069,7 +2152,8 @@ Partial Class Contratos_ContratoObra
|
|||||||
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
||||||
TmpDT.Rows.Remove(DbRow)
|
TmpDT.Rows.Remove(DbRow)
|
||||||
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
||||||
LbTotalGeneral.Text = Gv.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLabel("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
LbTotalGeneral.Text = Gv.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLabel("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
||||||
|
Alert("Detalle eliminado eliminado correctamente.")
|
||||||
Else
|
Else
|
||||||
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgError)
|
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgError)
|
||||||
End If
|
End If
|
||||||
@@ -2100,48 +2184,112 @@ Partial Class Contratos_ContratoObra
|
|||||||
UpGVInsumos.Update()
|
UpGVInsumos.Update()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub BtnAgregarDetalleInsumos_Click(sender As Object, e As EventArgs)
|
Protected Sub BtnAgregarDetalleInsumos_Click(sender As Object, e As EventArgs)
|
||||||
Dim Row As DataRow = TmpDT.NewRow()
|
|
||||||
Row("Cantidad") = TxtCantidadInsumos.Text.ToDouble.FormatoNumero
|
If CveContratoDetalleEditar = -1 Then
|
||||||
Row("CantidadContratada") = TxtCantidadInsumos.Text.ToDouble.FormatoNumero
|
|
||||||
Row("CveUM") = DdlUMInsumos.SelectedValue.ToEntero
|
Dim Row As DataRow = TmpDT.NewRow()
|
||||||
Row("UM") = DdlUMInsumos.SelectedItem
|
Row("Cantidad") = TxtCantidadInsumos.Text.ToDouble.FormatoNumero
|
||||||
Row("CveClasificacion") = DdlClasificacionAddInsumos.SelectedValue
|
Row("CantidadContratada") = TxtCantidadInsumos.Text.ToDouble.FormatoNumero
|
||||||
Row("Clasificacion") = DdlClasificacionAddInsumos.SelectedItem
|
Row("CveUM") = DdlUMInsumos.SelectedValue.ToEntero
|
||||||
Row("CvePS") = DdlProductowsInsumos.SelectedValue.ToEntero
|
Row("UM") = DdlUMInsumos.SelectedItem
|
||||||
Row("PS") = DdlProductowsInsumos.SelectedText
|
Row("CveClasificacion") = DdlClasificacionAddInsumos.SelectedValue
|
||||||
Row("CodigoPS") = DdlProductowsInsumos.SelectedText
|
Row("Clasificacion") = DdlClasificacionAddInsumos.SelectedItem
|
||||||
Row("PU") = TxtPUInsumos.Text.ToDouble.FormatoNumero
|
Row("CvePS") = DdlProductowsInsumos.SelectedValue.ToEntero
|
||||||
Row("Total") = (TxtCantidadInsumos.Text.ToDouble * TxtPUInsumos.Text.ToDouble).FormatoNumero
|
Row("PS") = DdlProductowsInsumos.SelectedText
|
||||||
Row("CveTipoPresupuesto") = 1
|
Row("CodigoPS") = DdlProductowsInsumos.SelectedText
|
||||||
Row("NoIdentificacion") = TxtNoIdentificacionvInsumos.Text.Trim
|
Row("PU") = TxtPUInsumos.Text.ToDouble.FormatoNumero
|
||||||
Row("LimitarCantidad") = If(ChkLimitar.Checked, 1, 0)
|
Row("Total") = (TxtCantidadInsumos.Text.ToDouble * TxtPUInsumos.Text.ToDouble).FormatoNumero
|
||||||
|
Row("CveTipoPresupuesto") = 1
|
||||||
|
Row("NoIdentificacion") = TxtNoIdentificacionvInsumos.Text.Trim
|
||||||
|
Row("LimitarCantidad") = If(ChkLimitarInsumos.Checked, 1, 0)
|
||||||
|
|
||||||
|
Dim ObjContratos As New ClsContratos
|
||||||
|
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), "") Then
|
||||||
|
If Autorizado Then
|
||||||
|
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
||||||
|
guardarBitacora(msj)
|
||||||
|
End If
|
||||||
|
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
||||||
|
TmpDT.Rows.Add(Row)
|
||||||
|
Dim TotalRow = Row("Total").ToString.ToDouble
|
||||||
|
|
||||||
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
||||||
|
|
||||||
|
UpGVInsumos.Update()
|
||||||
|
LimpiarModalControl()
|
||||||
|
LbTotalGeneralInsumos.Text = (LbTotalGeneralInsumos.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
||||||
|
'LblImporte.Text = LbTotalGeneral.Text
|
||||||
|
TxtCantidadInsumos.Focus()
|
||||||
|
UpGral.Update()
|
||||||
|
|
||||||
|
|
||||||
|
If Not ChkContinualAgregandoControl.Checked Then
|
||||||
|
RegistraScript("$('#ModalControlAddPS').modal('hide')")
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
|
||||||
|
End If
|
||||||
|
|
||||||
|
ObjContratos.Dispose()
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
Dim Cantidad, PU As Double
|
||||||
|
Dim CvePS, CveUM As Integer
|
||||||
|
Dim NoIdentificacion As String = ""
|
||||||
|
Dim LimitarCantidad As Boolean
|
||||||
|
|
||||||
|
Cantidad = TxtCantidadInsumos.Text.ToDouble
|
||||||
|
PU = TxtPUInsumos.Text.ToDouble
|
||||||
|
CvePS = DdlProductowsInsumos.SelectedValue.ToEntero
|
||||||
|
CveUM = DdlUMInsumos.SelectedValue.ToEntero
|
||||||
|
NoIdentificacion = TxtNoIdentificacionvInsumos.Text.Trim
|
||||||
|
LimitarCantidad = If(ChkLimitarInsumos.Checked, True, False)
|
||||||
|
|
||||||
|
Dim row = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalleEditar))(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dim ObjContratos As New ClsContratos
|
||||||
|
If ObjContratos.UpdateContratosDetalle(CveContratoDetalleEditar, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, NoIdentificacion, LimitarCantidad, "") Then
|
||||||
|
|
||||||
|
If Autorizado Then
|
||||||
|
Dim msj As String = String.Format("Se realizaron los siguientes cambios, el Presupuesto Interno se modificó: {1} {0} {2:C2} a {3} {0} {4:C2}",
|
||||||
|
row("PS").ToString, row("Cantidad").ToString, row("PU").ToString, Cantidad, PU)
|
||||||
|
guardarBitacora(msj)
|
||||||
|
End If
|
||||||
|
|
||||||
|
row("Cantidad") = Cantidad
|
||||||
|
row("CantidadContratada") = Cantidad
|
||||||
|
row("PU") = PU
|
||||||
|
row("Total") = Cantidad * PU
|
||||||
|
row("CveUM") = CveUM
|
||||||
|
row("UM") = DdlUMInsumos.SelectedItem.Text
|
||||||
|
row("NoIdentificacion") = NoIdentificacion
|
||||||
|
row("LimitarCantidad") = LimitarCantidad
|
||||||
|
TmpDT.AcceptChanges()
|
||||||
|
Alert("Cambios realizados correctamente.", TipoMensaje.MsgInformacion)
|
||||||
|
RegistraScript("$('#ModalControlAddPS').modal('hide')")
|
||||||
|
Else
|
||||||
|
Alert("Error al Actualizar Detalle", TipoMensaje.MsgError)
|
||||||
|
End If
|
||||||
|
ObjContratos.Dispose()
|
||||||
|
|
||||||
|
|
||||||
|
GvInsumos.EditIndex = -1
|
||||||
|
LbTotalGeneralInsumos.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero
|
||||||
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dim ObjContratos As New ClsContratos
|
|
||||||
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), "") Then
|
|
||||||
If Autorizado Then
|
|
||||||
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
|
||||||
guardarBitacora(msj)
|
|
||||||
End If
|
|
||||||
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
|
||||||
TmpDT.Rows.Add(Row)
|
|
||||||
Dim TotalRow = Row("Total").ToString.ToDouble
|
|
||||||
|
|
||||||
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
|
||||||
|
|
||||||
UpGVInsumos.Update()
|
|
||||||
TxtCantidadInsumos.Text = ""
|
|
||||||
TxtPUInsumos.Text = ""
|
|
||||||
DdlClasificacionAddInsumos.SelectedValue = "-1"
|
|
||||||
LbTotalGeneralInsumos.Text = (LbTotalGeneralInsumos.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
|
||||||
'LblImporte.Text = LbTotalGeneral.Text
|
|
||||||
TxtCantidadInsumos.Focus()
|
|
||||||
UpGral.Update()
|
|
||||||
Else
|
|
||||||
Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
|
|
||||||
End If
|
|
||||||
|
|
||||||
ObjContratos.Dispose()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#Region "GV PRESUPUESTOS"
|
#Region "GV PRESUPUESTOS"
|
||||||
@@ -2251,7 +2399,8 @@ Partial Class Contratos_ContratoObra
|
|||||||
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
||||||
TmpDT.Rows.Remove(DbRow)
|
TmpDT.Rows.Remove(DbRow)
|
||||||
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
||||||
LbTotalGeneralInsumos.Text = GvInsumos.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLiteral("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
LbTotalGeneralInsumos.Text = GvInsumos.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLabel("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
||||||
|
Alert("Detalle eliminado eliminado correctamente.")
|
||||||
Else
|
Else
|
||||||
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgError)
|
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgError)
|
||||||
End If
|
End If
|
||||||
@@ -2284,7 +2433,7 @@ Partial Class Contratos_ContratoObra
|
|||||||
Row("Total") = (TxtCantidadInt.Text.ToDouble * TxtPUInt.Text.ToDouble).FormatoNumero
|
Row("Total") = (TxtCantidadInt.Text.ToDouble * TxtPUInt.Text.ToDouble).FormatoNumero
|
||||||
Row("CveTipoPresupuesto") = 1
|
Row("CveTipoPresupuesto") = 1
|
||||||
Row("NoIdentificacion") = TxtNoIdentificacionv.Text.Trim
|
Row("NoIdentificacion") = TxtNoIdentificacionv.Text.Trim
|
||||||
Row("LimitarCantidad") = ChkLimitar.Checked
|
Row("LimitarCantidad") = False 'ChkLimitar.Checked <-- Estaba usando un checkbox de un logar muy diferente a donde esta ese formilario, posiblemente se copio codigo y se fue por equivocacion
|
||||||
|
|
||||||
Dim ObjContratos As New ClsContratos
|
Dim ObjContratos As New ClsContratos
|
||||||
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Row("LimitarCantidad").ToString.ToEntero = 1, "") Then
|
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Row("LimitarCantidad").ToString.ToEntero = 1, "") Then
|
||||||
@@ -4408,6 +4557,473 @@ Partial Class Contratos_ContratoObra
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Property ModalVentasPSAdd As Boolean
|
||||||
|
Get
|
||||||
|
If ViewState("ModalVentasAdd") Is Nothing Then
|
||||||
|
Return False
|
||||||
|
Else
|
||||||
|
Return Boolean.Parse(ViewState("ModalVentasAdd").ToString)
|
||||||
|
End If
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
ViewState("ModalVentasAdd") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
|
||||||
|
Property ModalControlPSAdd As Boolean
|
||||||
|
Get
|
||||||
|
If ViewState("ModalControlPSAdd") Is Nothing Then
|
||||||
|
Return False
|
||||||
|
Else
|
||||||
|
Return Boolean.Parse(ViewState("ModalControlPSAdd").ToString)
|
||||||
|
End If
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
ViewState("ModalControlPSAdd") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Property Carga As Boolean
|
||||||
|
Get
|
||||||
|
If ViewState("ModalControlPSAdd") Is Nothing Then
|
||||||
|
Return False
|
||||||
|
Else
|
||||||
|
Return Boolean.Parse(ViewState("ModalControlPSAdd").ToString)
|
||||||
|
End If
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
ViewState("ModalControlPSAdd") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Enum EnumTipoCargaPresupuesto
|
||||||
|
Ventas
|
||||||
|
Control
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Property TipoCargaPresupuesto As EnumTipoCargaPresupuesto
|
||||||
|
Get
|
||||||
|
If ViewState("TipoCargaPresupuesto") Is Nothing Then
|
||||||
|
Return EnumTipoCargaPresupuesto.Ventas
|
||||||
|
Else
|
||||||
|
Return DirectCast(ViewState("TipoCargaPresupuesto"), EnumTipoCargaPresupuesto)
|
||||||
|
End If
|
||||||
|
End Get
|
||||||
|
Set(value As EnumTipoCargaPresupuesto)
|
||||||
|
ViewState("TipoCargaPresupuesto") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
|
||||||
|
Property CveContratoDetalleEditar As Integer
|
||||||
|
Get
|
||||||
|
|
||||||
|
If ViewState("CveContratoDetalleEditar") Is Nothing Then
|
||||||
|
Return -1
|
||||||
|
Else
|
||||||
|
Return ViewState("CveContratoDetalleEditar").ToString.ToEntero
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
ViewState("CveContratoDetalleEditar") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Protected Sub LnkModalAddPresupuestoVentas_Click(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
LnlModalcargaPresupuestoTitulo.Text = "Carga Presupuesto Ventas"
|
||||||
|
UpModalCargaPresupuesto.Update()
|
||||||
|
RegistraScript("$('#ModalUploadPresupuesto').modal('show')")
|
||||||
|
TipoCargaPresupuesto = EnumTipoCargaPresupuesto.Ventas
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub LnkModalAddPresupuestoControl_Click(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
LnlModalcargaPresupuestoTitulo.Text = "Carga Presupuesto Control"
|
||||||
|
UpModalCargaPresupuesto.Update()
|
||||||
|
RegistraScript("$('#ModalUploadPresupuesto').modal('show')")
|
||||||
|
TipoCargaPresupuesto = EnumTipoCargaPresupuesto.Control
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub LnkModalAddPSVentas_Click(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
ModalVentasPSAdd = True
|
||||||
|
ChkContinualAgregandoVentas.Visible = True
|
||||||
|
ChkContinualAgregandoVentas.Checked = True
|
||||||
|
LimpiarModalVentas()
|
||||||
|
RegistraScript("$('#ModalVentasAddPS').modal('show')")
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub LnkModalAddPSControl_Click(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
ModalControlPSAdd = True
|
||||||
|
ChkContinualAgregandoControl.Visible = True
|
||||||
|
ChkContinualAgregandoControl.Checked = True
|
||||||
|
LimpiarModalControl()
|
||||||
|
RegistraScript("$('#ModalControlAddPS').modal('show')")
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Protected Sub LnkEditarPresupuestoVentaDetalle_Click(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
||||||
|
LimpiarModalVentas()
|
||||||
|
|
||||||
|
'CveContratoDetalle,CveUM,CvePS,Cantidad,PU,CveTipoPresupuesto,CveClasificacion,CodigoPS,LimitarCantidad
|
||||||
|
|
||||||
|
CveContratoDetalleEditar = GvRow.DataKey("CveContratoDetalle").ToEntero
|
||||||
|
|
||||||
|
|
||||||
|
TxtOCInterna.Text = GvRow.DataKey("OCInterna")
|
||||||
|
TxtCantidad.Text = GvRow.DataKey("Cantidad").ToDouble.ToString
|
||||||
|
|
||||||
|
ChkLimitarVenta.Checked = Boolean.Parse(GvRow.DataKey("LimitarCantidad"))
|
||||||
|
|
||||||
|
TxtNoIdentificacionv.Text = GvRow.DataKey("NoIdentificacion").ToDouble.ToString
|
||||||
|
DdlClasificacionAdd.SelectedValueExist(GvRow.DataKey("CveClasificacion").ToEntero)
|
||||||
|
|
||||||
|
DdlProductows.txtText.Value = GvRow.DataKey("PS").ToString
|
||||||
|
DdlProductows.txtValue.Value = GvRow.DataKey("CvePS").ToString
|
||||||
|
|
||||||
|
DdlUM.DataSource = GlobalDTProductosServiciosEquivalencias(DdlProductows.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa)
|
||||||
|
DdlUM.DataBind()
|
||||||
|
DdlUM.SelectedValueExist(GvRow.DataKey("CveUM").ToDouble.ToString)
|
||||||
|
|
||||||
|
TxtPU.Text = GvRow.DataKey("PU").ToDouble.ToString
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ModalVentasPSAdd = False
|
||||||
|
ChkContinualAgregandoVentas.Visible = False
|
||||||
|
ChkContinualAgregandoVentas.Checked = False
|
||||||
|
|
||||||
|
|
||||||
|
RegistraScript("$('#ModalVentasAddPS').modal('show')")
|
||||||
|
End Sub
|
||||||
|
Protected Sub LnkEditarPresupuestoControlDetalle_Click(sender As Object, e As EventArgs)
|
||||||
|
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
||||||
|
LimpiarModalControl()
|
||||||
|
|
||||||
|
CveContratoDetalleEditar = gvRow.DataKey("CveContratoDetalle").ToEntero
|
||||||
|
|
||||||
|
TxtCantidadInsumos.Text = gvRow.DataKey("Cantidad").ToDouble.ToString
|
||||||
|
ChkLimitarInsumos.Checked = Boolean.Parse(gvRow.DataKey("LimitarCantidad"))
|
||||||
|
TxtNoIdentificacionvInsumos.Text = gvRow.DataKey("NoIdentificacion")
|
||||||
|
|
||||||
|
DdlClasificacionAddInsumos.SelectedValueExist(gvRow.DataKey("CveClasificacion").ToEntero)
|
||||||
|
|
||||||
|
DdlProductowsInsumos.txtText.Value = gvRow.DataKey("PS").ToString
|
||||||
|
DdlProductowsInsumos.txtValue.Value = gvRow.DataKey("CvePS").ToString
|
||||||
|
|
||||||
|
|
||||||
|
DdlUMInsumos.DataSource = GlobalDTProductosServiciosEquivalencias(DdlProductowsInsumos.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa)
|
||||||
|
DdlUMInsumos.DataBind()
|
||||||
|
DdlUMInsumos.SelectedValueExist(gvRow.DataKey("CveUM").ToDouble.ToString)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
TxtPUInsumos.Text = gvRow.DataKey("PU").ToDouble.ToString
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ModalControlPSAdd = False
|
||||||
|
ChkContinualAgregandoControl.Visible = False
|
||||||
|
ChkContinualAgregandoControl.Checked = False
|
||||||
|
|
||||||
|
RegistraScript("$('#ModalControlAddPS').modal('show')")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub LimpiarModalVentas()
|
||||||
|
|
||||||
|
TxtOCInterna.Text = ""
|
||||||
|
TxtCantidad.Text = ""
|
||||||
|
ChkLimitarVenta.Checked = False
|
||||||
|
TxtNoIdentificacionv.Text = ""
|
||||||
|
DdlClasificacionAdd.SelectedValueExist(-1)
|
||||||
|
DdlProductows.txtText.Value = ""
|
||||||
|
DdlProductows.txtValue.Value = ""
|
||||||
|
DdlUM.SelectedValueExist(-1)
|
||||||
|
TxtPU.Text = ""
|
||||||
|
|
||||||
|
|
||||||
|
If ModalVentasPSAdd = True Then
|
||||||
|
LtlModalVentasPSTitulo.Text = "Agregar Producto Presupuesto de Ventas"
|
||||||
|
Else
|
||||||
|
LtlModalVentasPSTitulo.Text = "Editar Producto Presupuesto de Ventas"
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
UpModalVentasAddPS.Update()
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
Private Sub LimpiarModalControl()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
TxtCantidadInsumos.Text = ""
|
||||||
|
ChkLimitarInsumos.Checked = False
|
||||||
|
TxtNoIdentificacionvInsumos.Text = ""
|
||||||
|
|
||||||
|
DdlClasificacionAddInsumos.SelectedValueExist(-1)
|
||||||
|
DdlProductowsInsumos.txtText.Value = ""
|
||||||
|
DdlProductowsInsumos.txtValue.Value = ""
|
||||||
|
DdlUMInsumos.SelectedValueExist(-1)
|
||||||
|
TxtPUInsumos.Text = ""
|
||||||
|
|
||||||
|
|
||||||
|
If ModalControlPSAdd = True Then
|
||||||
|
LtlModalControlPSTitulo.Text = "Agregar Producto Presupuesto Control"
|
||||||
|
Else
|
||||||
|
LtlModalControlPSTitulo.Text = "Editar Producto Presupuesto Control"
|
||||||
|
End If
|
||||||
|
|
||||||
|
UpModalControlAddPS.Update()
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Protected Sub BtnCargaPresupuesto_Click(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
Dim DTCargaPresupuesto As New DataTable
|
||||||
|
DTCargaPresupuesto = CargaPreSupuestoExcel()
|
||||||
|
|
||||||
|
If DTCargaPresupuesto.Rows.Count > 0 Then
|
||||||
|
ProcesaDatosCargaPresupuesto(DTCargaPresupuesto)
|
||||||
|
Else
|
||||||
|
Alert("No se encintraron partidas en el documento", TipoMensaje.MsgAdvertencia)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Private Function CargaPreSupuestoExcel() As DataTable
|
||||||
|
|
||||||
|
Dim FileExtension As String = "-1"
|
||||||
|
Dim Filesgral As List(Of Archivo) = TxtModalCargaPresupuesto.getfiles().Archivos
|
||||||
|
Dim Filename As String = ""
|
||||||
|
Dim DTPS = New DataTable
|
||||||
|
|
||||||
|
For Each fileItem As Archivo In Filesgral
|
||||||
|
|
||||||
|
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
|
||||||
|
|
||||||
|
|
||||||
|
If Not FileExtension.ToUpper.Contiene("XLSX", "XSL") Then
|
||||||
|
Alert("El archivo no es una archivo de Excel", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Dim tempArray() As String
|
||||||
|
tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
|
||||||
|
SpreadsheetInfo.SetLicense(Extensiones.SerialGemBoxSpreadsheet)
|
||||||
|
Dim workbook = ExcelFile.Load(fileItem.FileUrl)
|
||||||
|
Dim worksheet = workbook.Worksheets(0)
|
||||||
|
DTPS = worksheet.CreateDataTable(New CreateDataTableOptions() With
|
||||||
|
{
|
||||||
|
.ColumnHeaders = True,
|
||||||
|
.StartRow = 0,
|
||||||
|
.NumberOfColumns = 4,
|
||||||
|
.NumberOfRows = worksheet.Rows.Count,
|
||||||
|
.Resolution = ColumnTypeResolution.AutoPreferStringCurrentCulture
|
||||||
|
})
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
TxtModalCargaPresupuesto.Text = ""
|
||||||
|
|
||||||
|
RegistraScript("$('#ModalUploadPresupuesto').modal('hide')")
|
||||||
|
|
||||||
|
UpModalCargaPresupuesto.Update()
|
||||||
|
|
||||||
|
Return DTPS
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub ProcesaDatosCargaPresupuesto(DTPresupuesto As DataTable)
|
||||||
|
|
||||||
|
Dim DTPS = New DataTable
|
||||||
|
DTPS.Columns.Add("CveContratoDetalle", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("Cantidad", GetType(Double))
|
||||||
|
DTPS.Columns.Add("CantidadContratada", GetType(Double))
|
||||||
|
DTPS.Columns.Add("CveUM", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("UM", GetType(String))
|
||||||
|
DTPS.Columns.Add("CveClasificacion", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("Clasificacion", GetType(String))
|
||||||
|
DTPS.Columns.Add("CvePS", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("PS", GetType(String))
|
||||||
|
DTPS.Columns.Add("CodigoPS", GetType(String))
|
||||||
|
DTPS.Columns.Add("PU", GetType(Double))
|
||||||
|
DTPS.Columns.Add("Total", GetType(Double))
|
||||||
|
DTPS.Columns.Add("CveTipoPresupuesto", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("PermitirAvance", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("PermitirEstimacion", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("UsuarioAvance", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("Cantidad_Original", GetType(Double))
|
||||||
|
DTPS.Columns.Add("PU_Original", GetType(Double))
|
||||||
|
DTPS.Columns.Add("Total_Original", GetType(Double))
|
||||||
|
DTPS.Columns.Add("NoIdentificacion", GetType(String))
|
||||||
|
DTPS.Columns.Add("LimitarCantidad", GetType(Integer))
|
||||||
|
DTPS.Columns.Add("OCInterna", GetType(String))
|
||||||
|
DTPS.Columns.Add("Observacion", GetType(String))
|
||||||
|
|
||||||
|
Dim RowNoEncontrados As String = ""
|
||||||
|
|
||||||
|
For Each DrowPS As DataRow In DTPresupuesto.Rows
|
||||||
|
|
||||||
|
|
||||||
|
Dim StrArray() As String = GetPS("PS", DrowPS("PS").ToString).Split("|"c)
|
||||||
|
Dim CvePS As Integer
|
||||||
|
Dim CveUM As Integer
|
||||||
|
|
||||||
|
If StrArray.Length > 0 Then
|
||||||
|
If CBool(StrArray(0)) = True Then
|
||||||
|
CvePS = StrArray(1).ToEntero
|
||||||
|
Else
|
||||||
|
RowNoEncontrados &= StrArray(1) & "<\BR>"
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CvePS > 0 And DrowPS("Cantidad").ToString.ToDouble > 0 Then
|
||||||
|
|
||||||
|
CveUM = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveUnidadMedida", "").ToString.ToEntero
|
||||||
|
|
||||||
|
Dim Row As DataRow = DTPS.NewRow()
|
||||||
|
Row("Cantidad") = DrowPS("Cantidad").ToString.ToDouble
|
||||||
|
Row("CantidadContratada") = DrowPS("Cantidad").ToString.ToDouble
|
||||||
|
Row("CveUM") = CveUM
|
||||||
|
Row("UM") = ""
|
||||||
|
Row("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveClasificacion", "").ToString.ToEntero
|
||||||
|
Row("Clasificacion") = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = '{ Row("CveClasificacion").ToString }'").ToString
|
||||||
|
Row("CvePS") = CvePS
|
||||||
|
Row("PS") = DrowPS("PS").ToString
|
||||||
|
Row("CodigoPS") = DrowPS("PS").ToString
|
||||||
|
Row("PU") = DrowPS("PU").ToString.ToDouble
|
||||||
|
Row("Total") = DrowPS("Cantidad").ToString.ToDouble * DrowPS("PU").ToString.ToDouble
|
||||||
|
|
||||||
|
|
||||||
|
Select Case TipoCargaPresupuesto
|
||||||
|
Case EnumTipoCargaPresupuesto.Ventas
|
||||||
|
Row("CveTipoPresupuesto") = 2
|
||||||
|
Exit Select
|
||||||
|
Case EnumTipoCargaPresupuesto.Control
|
||||||
|
Row("CveTipoPresupuesto") = 1
|
||||||
|
Exit Select
|
||||||
|
Case Else
|
||||||
|
Row("CveTipoPresupuesto") = 1
|
||||||
|
End Select
|
||||||
|
|
||||||
|
|
||||||
|
Row("NoIdentificacion") = ""
|
||||||
|
Row("OCInterna") = ""
|
||||||
|
Row("LimitarCantidad") = 0
|
||||||
|
Row("Observacion") = ""
|
||||||
|
|
||||||
|
DTPS.Rows.Add(Row)
|
||||||
|
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dim ErrorProceso = False
|
||||||
|
Dim ObjContratos As New ClsContratos
|
||||||
|
Dim TotalRow As Double = 0
|
||||||
|
ObjContratos.IniciaTransacSQL()
|
||||||
|
|
||||||
|
For Each Row As DataRow In DTPS.Rows
|
||||||
|
|
||||||
|
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), Row("OCInterna").ToString, Observacion:=Row("Observacion").ToString) Then
|
||||||
|
|
||||||
|
If Autorizado Then
|
||||||
|
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
||||||
|
guardarBitacora(msj)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim NrowTmpDT As DataRow = TmpDT.NewRow
|
||||||
|
|
||||||
|
|
||||||
|
NrowTmpDT("Cantidad") = Row("Cantidad")
|
||||||
|
NrowTmpDT("CantidadContratada") = Row("CantidadContratada")
|
||||||
|
NrowTmpDT("CveUM") = Row("CveUM")
|
||||||
|
NrowTmpDT("UM") = Row("UM")
|
||||||
|
NrowTmpDT("CveClasificacion") = Row("CveClasificacion")
|
||||||
|
NrowTmpDT("Clasificacion") = Row("Clasificacion")
|
||||||
|
NrowTmpDT("CvePS") = Row("CvePS")
|
||||||
|
NrowTmpDT("PS") = Row("PS")
|
||||||
|
NrowTmpDT("CodigoPS") = Row("CodigoPS")
|
||||||
|
NrowTmpDT("PU") = Row("PU")
|
||||||
|
NrowTmpDT("Total") = Row("Total")
|
||||||
|
NrowTmpDT("CveTipoPresupuesto") = Row("CveTipoPresupuesto")
|
||||||
|
NrowTmpDT("NoIdentificacion") = Row("NoIdentificacion")
|
||||||
|
NrowTmpDT("OCInterna") = Row("OCInterna")
|
||||||
|
NrowTmpDT("LimitarCantidad") = Row("LimitarCantidad")
|
||||||
|
NrowTmpDT("Observacion") = Row("Observacion")
|
||||||
|
|
||||||
|
|
||||||
|
NrowTmpDT("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
||||||
|
|
||||||
|
TmpDT.Rows.Add(NrowTmpDT)
|
||||||
|
TmpDT.AcceptChanges()
|
||||||
|
|
||||||
|
TotalRow = TotalRow + NrowTmpDT("Total").ToString.ToDouble
|
||||||
|
Else
|
||||||
|
ErrorProceso = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
If ErrorProceso Then
|
||||||
|
ObjContratos.RollBack()
|
||||||
|
Alert("Se presento un error al cargar el presupuesto.", TipoMensaje.MsgError)
|
||||||
|
Else
|
||||||
|
|
||||||
|
ObjContratos.Commit()
|
||||||
|
Alert("Presupuesto Cargado correctamente")
|
||||||
|
|
||||||
|
|
||||||
|
Select Case TipoCargaPresupuesto
|
||||||
|
Case EnumTipoCargaPresupuesto.Ventas
|
||||||
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
||||||
|
UpGV.Update()
|
||||||
|
Exit Select
|
||||||
|
Case EnumTipoCargaPresupuesto.Control
|
||||||
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
||||||
|
UpGVInsumos.Update()
|
||||||
|
Exit Select
|
||||||
|
Case Else
|
||||||
|
|
||||||
|
End Select
|
||||||
|
|
||||||
|
LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
||||||
|
LblImporte.Text = LbTotalGeneral.Text
|
||||||
|
UpGral.Update()
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ObjContratos.Dispose()
|
||||||
|
|
||||||
|
If RowNoEncontrados.Length > 0 Then
|
||||||
|
Alert($"Productos no encontrados <br> {RowNoEncontrados} ")
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -195,7 +195,10 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub btnConsultar_Click(sender As Object, e As EventArgs) Handles BtnCargaAsignados.Click
|
Protected Sub btnConsultar_Click(sender As Object, e As EventArgs) Handles BtnCargaAsignados.Click
|
||||||
CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero)
|
Dim CveContrato As Integer = If(DdlContrato.SelectedValue.ToEntero <= 0, -1, DdlContrato.SelectedValue.ToEntero)
|
||||||
|
Dim CveCliente As Integer = If(DdlCliente.SelectedValue.ToEntero <= 0, -1, DdlCliente.SelectedValue.ToEntero)
|
||||||
|
|
||||||
|
CargaDatos(CveContrato, CveCliente)
|
||||||
RegistraScript("$('#ex').removeClass('expand');$('#ex').addClass('collapse');$('.portlet-body').css('display', '');")
|
RegistraScript("$('#ex').removeClass('expand');$('#ex').addClass('collapse');$('.portlet-body').css('display', '');")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -232,7 +235,10 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
Alert("No se generaron facturas", TipoMensaje.MsgAdvertencia)
|
Alert("No se generaron facturas", TipoMensaje.MsgAdvertencia)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
CargaDatos(DdlContrato.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero)
|
Dim CveContrato As Integer = If(DdlContrato.SelectedValue.ToEntero <= 0, -1, DdlContrato.SelectedValue.ToEntero)
|
||||||
|
Dim CveCliente As Integer = If(DdlCliente.SelectedValue.ToEntero <= 0, -1, DdlCliente.SelectedValue.ToEntero)
|
||||||
|
|
||||||
|
CargaDatos(CveContrato, CveCliente)
|
||||||
RegistraScript("$('#divAgregar').modal('hide')")
|
RegistraScript("$('#divAgregar').modal('hide')")
|
||||||
UpBodyEstatus.Update()
|
UpBodyEstatus.Update()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -245,6 +251,7 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
Dim Resp As New Modelos.Factura.MMensajeFactura
|
Dim Resp As New Modelos.Factura.MMensajeFactura
|
||||||
ViewState("CveCicloComercial") = pCveCicloComercial
|
ViewState("CveCicloComercial") = pCveCicloComercial
|
||||||
CreaObjetosVenta()
|
CreaObjetosVenta()
|
||||||
|
|
||||||
If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then
|
If ObjFactura Is Nothing Or ObjFactura.Cliente Is Nothing Then
|
||||||
Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError)
|
Alert("Ocurrió un error al procesar los datos de la Venta.", TipoMensaje.MsgError)
|
||||||
ObjFactura = Nothing
|
ObjFactura = Nothing
|
||||||
@@ -253,7 +260,7 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
|
|
||||||
|
|
||||||
If ObjFactura.CveCliente > 0 Then
|
If ObjFactura.CveCliente > 0 Then
|
||||||
If DTDetalle.Rows.Count > 0 Then
|
If ObjFactura.DtDetalle.Rows.Count > 0 Then
|
||||||
|
|
||||||
Resp = ObjFactura.EmitirFactura()
|
Resp = ObjFactura.EmitirFactura()
|
||||||
|
|
||||||
@@ -468,9 +475,7 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
TmpDT.Columns.Add("EsCargo", GetType(Boolean))
|
TmpDT.Columns.Add("EsCargo", GetType(Boolean))
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False)
|
Private Sub CreaObjetosVenta(Optional VistaPrevia As Boolean = False)
|
||||||
Dim ObjFolios As New ClsGralFolios()
|
|
||||||
Dim Folio As String = ""
|
|
||||||
Dim Serie As String = ""
|
|
||||||
Dim CveProyecto As String = ""
|
Dim CveProyecto As String = ""
|
||||||
Dim CveSubProyecto As String = ""
|
Dim CveSubProyecto As String = ""
|
||||||
Dim Proyecto As String = ""
|
Dim Proyecto As String = ""
|
||||||
@@ -479,21 +484,21 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
ObjFactura = New Modelos.Factura(UsuarioActual)
|
ObjFactura = New Modelos.Factura(UsuarioActual)
|
||||||
ObjFactura.DirectorioServidor = Server.MapPath("/")
|
ObjFactura.DirectorioServidor = Server.MapPath("/")
|
||||||
ObjFactura.CveCicloComercial = CveCicloComercial
|
ObjFactura.CveCicloComercial = CveCicloComercial
|
||||||
|
|
||||||
Dim DR As DataRow = DTCicloComercial.FiltroPrimero($"CveCicloComercial = {CveCicloComercial}")
|
Dim DR As DataRow = DTCicloComercial.FiltroPrimero($"CveCicloComercial = {CveCicloComercial}")
|
||||||
|
|
||||||
ObjFactura.Version = "3.3"
|
ObjFactura.Version = "3.3"
|
||||||
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
|
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
|
||||||
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
|
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
|
||||||
ObjFactura.TipoCambio = 20
|
ObjFactura.TipoCambio = 1
|
||||||
ObjFactura.ConvertirPesos = False
|
ObjFactura.ConvertirPesos = False
|
||||||
ObjFactura.CveMoneda = DR("CveMoneda").ToString.ToEntero
|
ObjFactura.CveMoneda = DR("CveMoneda").ToString.ToEntero
|
||||||
ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ")
|
ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ")
|
||||||
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DR("CveMoneda").ToString.ToEntero}")
|
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", $"CveMoneda = {DR("CveMoneda").ToString.ToEntero}")
|
||||||
ObjFactura.TipoDocto = "Ing"
|
ObjFactura.TipoDocto = "Ing"
|
||||||
ObjFactura.RefDocto = ""
|
ObjFactura.RefDocto = ""
|
||||||
ObjFactura.Folio = Folio.ToEntero
|
ObjFactura.Folio = -1
|
||||||
'ObjFactura.Folio = If(ExFolioFactura, FolioXML.ToEntero, -1)
|
ObjFactura.Serie = "-1"
|
||||||
ObjFactura.Serie = Serie
|
|
||||||
ObjFactura.CveMesa = -1
|
ObjFactura.CveMesa = -1
|
||||||
ObjFactura.Fecha = DR("FechaVenc").ToString.ToDate
|
ObjFactura.Fecha = DR("FechaVenc").ToString.ToDate
|
||||||
ObjFactura.CvePrePoliza = -1
|
ObjFactura.CvePrePoliza = -1
|
||||||
@@ -533,18 +538,7 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
ObjFactura.CveSubProyectoEjecucion = CveSubProyecto.ToEntero
|
ObjFactura.CveSubProyectoEjecucion = CveSubProyecto.ToEntero
|
||||||
|
|
||||||
|
|
||||||
SubProyecto = DR("SubProyectoContrato").ToString
|
SubProyecto = DR("SubProyectoContrato").ToString
|
||||||
|
|
||||||
|
|
||||||
If ObjFolios.GetFolios("Ing", UsuarioActual.CveEmpresa) Then
|
|
||||||
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format($" Estado = 'Activo' AND CveSubProyecto = {CveSubProyecto} "))
|
|
||||||
If DT.Rows.Count > 0 Then
|
|
||||||
Serie = DT.Rows(0)("Serie").ToString
|
|
||||||
Folio = DT.Rows(0)("FActual").ToString
|
|
||||||
End If
|
|
||||||
DT.Dispose()
|
|
||||||
End If
|
|
||||||
ObjFolios.Dispose()
|
|
||||||
|
|
||||||
Dim objContratos As New ClsContratos
|
Dim objContratos As New ClsContratos
|
||||||
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
|
If objContratos.GetContratosDetalle(DR("CveContrato").ToString.ToEntero) Then
|
||||||
@@ -561,8 +555,6 @@ Partial Class Contratos_FacturacionMasiva
|
|||||||
ObjFactura.RetISR = SUM(DTDetalle, "ImporteRetISR").ToDecimal
|
ObjFactura.RetISR = SUM(DTDetalle, "ImporteRetISR").ToDecimal
|
||||||
ObjFactura.IEPS = SUM(DTDetalle, "ImporteIEPS").ToDecimal
|
ObjFactura.IEPS = SUM(DTDetalle, "ImporteIEPS").ToDecimal
|
||||||
ObjFactura.Total = ObjFactura.SubTotal + ObjFactura.IVA + ObjFactura.IEPS - (ObjFactura.RetIVA + ObjFactura.RetISR)
|
ObjFactura.Total = ObjFactura.SubTotal + ObjFactura.IVA + ObjFactura.IEPS - (ObjFactura.RetIVA + ObjFactura.RetISR)
|
||||||
ObjFactura.Serie = Serie
|
|
||||||
ObjFactura.Folio = Folio.ToEntero
|
|
||||||
|
|
||||||
For Each row As DataRow In DTDetalle.Rows
|
For Each row As DataRow In DTDetalle.Rows
|
||||||
Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("")
|
Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=row("CvePS").ToString().ToEntero()).FiltroPrimero("")
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -205,7 +205,7 @@ public class TareasJam : IHttpHandler
|
|||||||
|
|
||||||
|
|
||||||
DataTable dtCloned = DTVentas.Clone();
|
DataTable dtCloned = DTVentas.Clone();
|
||||||
dtCloned.Columns[3].DataType = typeof(string);
|
dtCloned.Columns[3].DataType = typeof(DateTime);
|
||||||
|
|
||||||
foreach (DataRow row in DTVentas.Rows)
|
foreach (DataRow row in DTVentas.Rows)
|
||||||
{
|
{
|
||||||
@@ -215,7 +215,7 @@ public class TareasJam : IHttpHandler
|
|||||||
DTVentas = dtCloned;
|
DTVentas = dtCloned;
|
||||||
foreach (DataRow dRow in DTVentas.Rows)
|
foreach (DataRow dRow in DTVentas.Rows)
|
||||||
{
|
{
|
||||||
string tmpDate = dRow[3].ToString().ToDate().ToString("yyyy/MM/dd");
|
DateTime tmpDate = dRow[3].ToString().ToDate().ToString("yyyy/MM/dd").ToDate();
|
||||||
dRow[3] = tmpDate;
|
dRow[3] = tmpDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -223,7 +223,7 @@ public class TareasJam : IHttpHandler
|
|||||||
|
|
||||||
|
|
||||||
dtCloned = DTAlmacenes.Clone();
|
dtCloned = DTAlmacenes.Clone();
|
||||||
dtCloned.Columns[3].DataType = typeof(string);
|
dtCloned.Columns[3].DataType = typeof(DateTime);
|
||||||
|
|
||||||
foreach (DataRow row in DTAlmacenes.Rows)
|
foreach (DataRow row in DTAlmacenes.Rows)
|
||||||
{
|
{
|
||||||
@@ -233,7 +233,7 @@ public class TareasJam : IHttpHandler
|
|||||||
DTAlmacenes = dtCloned;
|
DTAlmacenes = dtCloned;
|
||||||
foreach (DataRow dRow in DTAlmacenes.Rows)
|
foreach (DataRow dRow in DTAlmacenes.Rows)
|
||||||
{
|
{
|
||||||
string tmpDate = dRow[3].ToString().ToDate().ToString("yyyy/MM/dd");
|
DateTime tmpDate = dRow[3].ToString().ToDate().ToString("yyyy/MM/dd").ToDate();
|
||||||
dRow[3] = tmpDate;
|
dRow[3] = tmpDate;
|
||||||
}
|
}
|
||||||
DTAlmacenes.AcceptChanges();
|
DTAlmacenes.AcceptChanges();
|
||||||
@@ -249,8 +249,6 @@ public class TareasJam : IHttpHandler
|
|||||||
|
|
||||||
if (!ErrorProceso)
|
if (!ErrorProceso)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
int count = 2;
|
int count = 2;
|
||||||
var wbVentas = new ClosedXML.Excel.XLWorkbook(FormatoVentas);
|
var wbVentas = new ClosedXML.Excel.XLWorkbook(FormatoVentas);
|
||||||
@@ -261,7 +259,7 @@ public class TareasJam : IHttpHandler
|
|||||||
wsVentas.Cell(count, 1).Value = "'" + DRow["systemId"].ToString();
|
wsVentas.Cell(count, 1).Value = "'" + DRow["systemId"].ToString();
|
||||||
wsVentas.Cell(count, 2).Value = DRow["Branch"].ToString();
|
wsVentas.Cell(count, 2).Value = DRow["Branch"].ToString();
|
||||||
wsVentas.Cell(count, 3).Value = "'" + DRow["Code"].ToString();
|
wsVentas.Cell(count, 3).Value = "'" + DRow["Code"].ToString();
|
||||||
wsVentas.Cell(count, 4).Value = "'" + DRow["Sale Date"].ToString();
|
wsVentas.Cell(count, 4).Value = DRow["Sale Date"].ToString();
|
||||||
wsVentas.Cell(count, 5).Value = DRow["Quantity"].ToString();
|
wsVentas.Cell(count, 5).Value = DRow["Quantity"].ToString();
|
||||||
wsVentas.Cell(count, 6).Value = DRow["Amount"].ToString();
|
wsVentas.Cell(count, 6).Value = DRow["Amount"].ToString();
|
||||||
wsVentas.Cell(count, 7).Value = DRow["Transaction ID"].ToString();
|
wsVentas.Cell(count, 7).Value = DRow["Transaction ID"].ToString();
|
||||||
@@ -279,7 +277,7 @@ public class TareasJam : IHttpHandler
|
|||||||
wsAlmacenes.Cell(count, 1).Value = "'" + DRow["Code"].ToString();
|
wsAlmacenes.Cell(count, 1).Value = "'" + DRow["Code"].ToString();
|
||||||
wsAlmacenes.Cell(count, 2).Value = DRow["Quantity"].ToString();
|
wsAlmacenes.Cell(count, 2).Value = DRow["Quantity"].ToString();
|
||||||
wsAlmacenes.Cell(count, 3).Value = DRow["Description"].ToString();
|
wsAlmacenes.Cell(count, 3).Value = DRow["Description"].ToString();
|
||||||
wsAlmacenes.Cell(count, 4).Value = "'" + DRow["Stock Date"].ToString();
|
wsAlmacenes.Cell(count, 4).Value = DRow["Stock Date"].ToString();
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
wbAlmacenes.SaveAs(RutaAlmacenes);
|
wbAlmacenes.SaveAs(RutaAlmacenes);
|
||||||
@@ -455,7 +453,7 @@ public class TareasJam : IHttpHandler
|
|||||||
Ventas.Ruta = RutaVentas;
|
Ventas.Ruta = RutaVentas;
|
||||||
Clientes.Ruta = RutaClientes;
|
Clientes.Ruta = RutaClientes;
|
||||||
Almacenes.Ruta = RutaAlmacenes;
|
Almacenes.Ruta = RutaAlmacenes;
|
||||||
|
|
||||||
ListaArchivos.Add(Productos);
|
ListaArchivos.Add(Productos);
|
||||||
ListaArchivos.Add(Ventas);
|
ListaArchivos.Add(Ventas);
|
||||||
ListaArchivos.Add(Clientes);
|
ListaArchivos.Add(Clientes);
|
||||||
@@ -479,7 +477,7 @@ public class TareasJam : IHttpHandler
|
|||||||
private bool CargarArchivos(FileInfo FInfo, string FTPServer, string FTPUsr, string FTPPass )
|
private bool CargarArchivos(FileInfo FInfo, string FTPServer, string FTPUsr, string FTPPass )
|
||||||
{
|
{
|
||||||
bool Respuesta;
|
bool Respuesta;
|
||||||
|
|
||||||
if (FInfo.Exists)
|
if (FInfo.Exists)
|
||||||
{
|
{
|
||||||
FtpWebRequest request = (FtpWebRequest)WebRequest.Create($"{FTPServer}/{FInfo.Name}");
|
FtpWebRequest request = (FtpWebRequest)WebRequest.Create($"{FTPServer}/{FInfo.Name}");
|
||||||
|
|||||||
@@ -2330,11 +2330,9 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'ENVIO DE FACTURA
|
'ENVIO DE FACTURA
|
||||||
If Not UsuarioActual.CveEmpresa.Contiene(72, 80, 119) Then
|
ChkEnviarFactura.Checked = False
|
||||||
ChkEnviarFactura.Checked = EnviarCorreoCliente
|
ChkEnviarFactura.Visible = True
|
||||||
ChkEnviarFactura.Visible = True
|
LblEnviarMail.Visible = True
|
||||||
LblEnviarMail.Visible = True
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'Modalidad Contrato
|
'Modalidad Contrato
|
||||||
@@ -2565,9 +2563,17 @@ Partial Class Ventas
|
|||||||
ChkEnviarFactura.Visible = False
|
ChkEnviarFactura.Visible = False
|
||||||
LblEnviarMail.Visible = False
|
LblEnviarMail.Visible = False
|
||||||
Else
|
Else
|
||||||
ChkEnviarFactura.Checked = EnviarCorreoCliente
|
If DdlTipoComprobante.SelectedValue.Contiene("Rem", "PeC", "PA", "Pd2") Then
|
||||||
ChkEnviarFactura.Visible = True
|
'ENVIO DE FACTURA
|
||||||
LblEnviarMail.Visible = True
|
ChkEnviarFactura.Checked = False
|
||||||
|
ChkEnviarFactura.Visible = True
|
||||||
|
LblEnviarMail.Visible = True
|
||||||
|
Else
|
||||||
|
ChkEnviarFactura.Checked = EnviarCorreoCliente
|
||||||
|
ChkEnviarFactura.Visible = True
|
||||||
|
LblEnviarMail.Visible = True
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
CargaFletes()
|
CargaFletes()
|
||||||
@@ -5028,9 +5034,16 @@ Partial Class Ventas
|
|||||||
ChkEnviarFactura.Visible = False
|
ChkEnviarFactura.Visible = False
|
||||||
LblEnviarMail.Visible = False
|
LblEnviarMail.Visible = False
|
||||||
Else
|
Else
|
||||||
ChkEnviarFactura.Visible = True
|
If DdlTipoComprobante.SelectedValue.Contiene("Rem", "PeC", "PA", "Pd2") Then
|
||||||
ChkEnviarFactura.Checked = EnviarCorreoCliente
|
'ENVIO DE FACTURA
|
||||||
LblEnviarMail.Visible = True
|
ChkEnviarFactura.Checked = False
|
||||||
|
ChkEnviarFactura.Visible = True
|
||||||
|
LblEnviarMail.Visible = True
|
||||||
|
Else
|
||||||
|
ChkEnviarFactura.Checked = EnviarCorreoCliente
|
||||||
|
ChkEnviarFactura.Visible = True
|
||||||
|
LblEnviarMail.Visible = True
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
ViewState("Mail") = If(DdlTipoComprobante.SelectedValue = "Cot", ObjCliente.MailCotizacion, ObjCliente.Mail)
|
ViewState("Mail") = If(DdlTipoComprobante.SelectedValue = "Cot", ObjCliente.MailCotizacion, ObjCliente.Mail)
|
||||||
@@ -5633,6 +5646,24 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'CUANDO SEA COTIZACION Y SEA COMPUPROVEEDORES (EMPRESA 72) NO DEBE ENVIAR CORREO AL CLIENTE
|
||||||
|
If UsuarioActual.CveEmpresa = 72 AndAlso DdlTipoComprobante.SelectedValue = "Cot" Then
|
||||||
|
ChkEnviarFactura.Checked = False
|
||||||
|
ChkEnviarFactura.Visible = False
|
||||||
|
LblEnviarMail.Visible = False
|
||||||
|
Else
|
||||||
|
If DdlTipoComprobante.SelectedValue.Contiene("Rem", "PeC", "PA", "Pd2") Then
|
||||||
|
'ENVIO DE FACTURA
|
||||||
|
ChkEnviarFactura.Checked = False
|
||||||
|
ChkEnviarFactura.Visible = True
|
||||||
|
LblEnviarMail.Visible = True
|
||||||
|
Else
|
||||||
|
ChkEnviarFactura.Checked = EnviarCorreoCliente
|
||||||
|
ChkEnviarFactura.Visible = True
|
||||||
|
LblEnviarMail.Visible = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
@@ -7462,7 +7493,7 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
|
If CveCicloComercial > 0 AndAlso ErrorList.Count = 0 Then
|
||||||
If Not ObjContr.CicloComercialUpdate(CveCicloComercial, True, UsuarioActual.CveEmpresa) Then
|
If Not ObjContr.CicloComercialUpdate(CveCicloComercial, True, UsuarioActual.CveEmpresa, CveVenta:=ObjFactura.CveVenta) Then
|
||||||
ErrorList.Add("No se pudo actualizar ")
|
ErrorList.Add("No se pudo actualizar ")
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -8063,6 +8094,7 @@ Partial Class Ventas
|
|||||||
Drt("CveVenta") = ObjFactura.CveVenta
|
Drt("CveVenta") = ObjFactura.CveVenta
|
||||||
Drt("Importe") = 0
|
Drt("Importe") = 0
|
||||||
Drt("FolioFiscal") = ObjFactura.FolioFiscal
|
Drt("FolioFiscal") = ObjFactura.FolioFiscal
|
||||||
|
Drt("Folio") = ObjFactura.SerieFolio
|
||||||
DtVentasNC.Rows.Add(Drt)
|
DtVentasNC.Rows.Add(Drt)
|
||||||
DtVentasNC.AcceptChanges()
|
DtVentasNC.AcceptChanges()
|
||||||
End If
|
End If
|
||||||
@@ -8304,6 +8336,7 @@ Partial Class Ventas
|
|||||||
Drt("CveVenta") = ObjFactura.CveVenta
|
Drt("CveVenta") = ObjFactura.CveVenta
|
||||||
Drt("Importe") = 0
|
Drt("Importe") = 0
|
||||||
Drt("FolioFiscal") = ObjFactura.FolioFiscal
|
Drt("FolioFiscal") = ObjFactura.FolioFiscal
|
||||||
|
Drt("Folio") = ObjFactura.SerieFolio
|
||||||
DtVentasNC.Rows.Add(Drt)
|
DtVentasNC.Rows.Add(Drt)
|
||||||
DtVentasNC.AcceptChanges()
|
DtVentasNC.AcceptChanges()
|
||||||
End If
|
End If
|
||||||
@@ -9055,6 +9088,7 @@ Partial Class Ventas
|
|||||||
Drt("CveVenta") = gvr.DataKey("CveVenta")
|
Drt("CveVenta") = gvr.DataKey("CveVenta")
|
||||||
Drt("Importe") = gvr.FCTextBox(String.Format("TxtAnticipo{0}", gvr.RowIndex)).Text
|
Drt("Importe") = gvr.FCTextBox(String.Format("TxtAnticipo{0}", gvr.RowIndex)).Text
|
||||||
Drt("FolioFiscal") = gvr.DataKey("FolioFiscal")
|
Drt("FolioFiscal") = gvr.DataKey("FolioFiscal")
|
||||||
|
Drt("Folio") = gvr.DataKey("Folio")
|
||||||
DtVentasNC.Rows.Add(Drt)
|
DtVentasNC.Rows.Add(Drt)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -14845,11 +14879,10 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'ENVIO DE FACTURA
|
'ENVIO DE FACTURA
|
||||||
If Not UsuarioActual.CveEmpresa.Contiene(72, 80, 119) Then
|
|
||||||
ChkEnviarFactura.Checked = EnviarCorreoCliente
|
ChkEnviarFactura.Checked = False
|
||||||
ChkEnviarFactura.Visible = True
|
ChkEnviarFactura.Visible = True
|
||||||
LblEnviarMail.Visible = True
|
LblEnviarMail.Visible = True
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -14876,7 +14909,6 @@ Partial Class Ventas
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TxtFechaPago.Text = Now.AddDays(PlazoCobranza).ToShortDateString
|
TxtFechaPago.Text = Now.AddDays(PlazoCobranza).ToShortDateString
|
||||||
|
|
||||||
TabAlmacen.Enabled = DdlTipoComprobante.SelectedValue <> "Ant"
|
TabAlmacen.Enabled = DdlTipoComprobante.SelectedValue <> "Ant"
|
||||||
@@ -21907,7 +21939,14 @@ Partial Class Ventas
|
|||||||
Dim Mensaje = UsuarioActual.Empresa.Funcionalidad(152)
|
Dim Mensaje = UsuarioActual.Empresa.Funcionalidad(152)
|
||||||
If Mensaje = "" Then Return 0
|
If Mensaje = "" Then Return 0
|
||||||
|
|
||||||
Dim Celular = ObjFactura.Cliente.CobranzaTelefono
|
Dim Celular As String = ""
|
||||||
|
|
||||||
|
Try
|
||||||
|
Celular = ObjFactura.Cliente.CobranzaTelefono
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
|
|
||||||
If Celular.Length <> 10 Then Return 3
|
If Celular.Length <> 10 Then Return 3
|
||||||
|
|
||||||
'ARMA MENSAJE
|
'ARMA MENSAJE
|
||||||
@@ -24006,12 +24045,14 @@ Partial Class Ventas
|
|||||||
DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "TC", .DataType = GetType(Decimal), .DefaultValue = 1})
|
DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "TC", .DataType = GetType(Decimal), .DefaultValue = 1})
|
||||||
DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "TCCambioValuacion", .DataType = GetType(Decimal), .DefaultValue = 1})
|
DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "TCCambioValuacion", .DataType = GetType(Decimal), .DefaultValue = 1})
|
||||||
DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "CveEstatusFactura", .DataType = GetType(Integer), .DefaultValue = -1})
|
DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "CveEstatusFactura", .DataType = GetType(Integer), .DefaultValue = -1})
|
||||||
|
DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "Folio", .DataType = GetType(String), .DefaultValue = ""})
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CargaNCDT(pCveVenta As Integer, Importe As Decimal, Optional FolioFiscal As String = "", Optional NuevaFactura As Integer = -1, Optional ByRef ObjVentas As ClsVentas = Nothing, Optional TC As Decimal = 1)
|
Private Sub CargaNCDT(pCveVenta As Integer, Importe As Decimal, Optional FolioFiscal As String = "", Optional NuevaFactura As Integer = -1, Optional ByRef ObjVentas As ClsVentas = Nothing, Optional TC As Decimal = 1)
|
||||||
If (pCveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Egs")) OrElse (pCveVenta > 0 AndAlso NuevaFactura = 1) Then
|
If (pCveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Egs")) OrElse (pCveVenta > 0 AndAlso NuevaFactura = 1) Then
|
||||||
Dim CveEstatusFacturaNC As Integer = -1
|
Dim CveEstatusFacturaNC As Integer = -1
|
||||||
Dim TCCambioValuacion As Decimal = 1
|
Dim TCCambioValuacion As Decimal = 1
|
||||||
|
Dim Folio As String = ""
|
||||||
If FolioFiscal = "" Then
|
If FolioFiscal = "" Then
|
||||||
Dim ObjVentasAplicar As ClsVentas
|
Dim ObjVentasAplicar As ClsVentas
|
||||||
If ObjVentas IsNot Nothing Then
|
If ObjVentas IsNot Nothing Then
|
||||||
@@ -24020,6 +24061,7 @@ Partial Class Ventas
|
|||||||
ObjVentasAplicar = New ClsVentas
|
ObjVentasAplicar = New ClsVentas
|
||||||
End If
|
End If
|
||||||
If ObjVentasAplicar.GetVenta(pCveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentasAplicar.DtResultados.Rows.Count > 0 Then
|
If ObjVentasAplicar.GetVenta(pCveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentasAplicar.DtResultados.Rows.Count > 0 Then
|
||||||
|
Folio = ObjVentasAplicar.DtResultados.FiltroPrimeroValor("SerieFolio").ToString()
|
||||||
FolioFiscal = ObjVentasAplicar.DtResultados.FiltroPrimeroValor("FolioFiscal").ToString()
|
FolioFiscal = ObjVentasAplicar.DtResultados.FiltroPrimeroValor("FolioFiscal").ToString()
|
||||||
TC = ObjVentasAplicar.DtResultados.FiltroPrimeroValor("TipoCambio").ToString().ToDecimal()
|
TC = ObjVentasAplicar.DtResultados.FiltroPrimeroValor("TipoCambio").ToString().ToDecimal()
|
||||||
TCCambioValuacion = ObjVentasAplicar.DtResultados.FiltroPrimeroValor("TipoCambioValuacion").ToString().ToDecimal()
|
TCCambioValuacion = ObjVentasAplicar.DtResultados.FiltroPrimeroValor("TipoCambioValuacion").ToString().ToDecimal()
|
||||||
@@ -24040,6 +24082,7 @@ Partial Class Ventas
|
|||||||
Dr("TC") = TC
|
Dr("TC") = TC
|
||||||
Dr("TCCambioValuacion") = TCCambioValuacion
|
Dr("TCCambioValuacion") = TCCambioValuacion
|
||||||
Dr("CveEstatusFactura") = CveEstatusFacturaNC
|
Dr("CveEstatusFactura") = CveEstatusFacturaNC
|
||||||
|
Dr("Folio") = Folio
|
||||||
|
|
||||||
DtVentasNC.Rows.Add(Dr)
|
DtVentasNC.Rows.Add(Dr)
|
||||||
End If
|
End If
|
||||||
|
|||||||
Reference in New Issue
Block a user