Merge branch 'master' of http://jperez@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -3246,7 +3246,7 @@ Public Class ClsContratos
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function GetPresupuestosRepDetalleCompras(CveProyecto As Integer, CveSubProyecto As Integer, CveAgrupador As Integer, CveTipoGasto As Integer, FechaI As Date, FechaF As Date, CveEmpresa As Integer, CveUsuario As Integer) As Boolean
|
||||
Public Function GetPresupuestosRepDetalleCompras(CveProyecto As Integer, CveSubProyecto As Integer, CveAgrupador As Integer, CveTipoGasto As Integer, FechaI As Date, FechaF As Date, CveEmpresa As Integer, CveUsuario As Integer, Optional Comprometido As Boolean = False) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
DataAdapter("PA_Con_PresupuestosRepDetalleCompra")
|
||||
@@ -3259,6 +3259,7 @@ Public Class ClsContratos
|
||||
.Add("@FechaF", SqlDbType.Date).Value = FechaF
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@Comprometido", SqlDbType.Bit).Value = Comprometido
|
||||
End With
|
||||
|
||||
Try
|
||||
|
||||
@@ -1855,7 +1855,8 @@ Partial Class Compras_Compras
|
||||
|
||||
If Validada And Not EnListadoEFOS Then
|
||||
Try
|
||||
XMLDoc.LoadXml(File.ReadAllText(Archivo).Replace("<br>", "").Replace("<", "").Replace("o;?", ""))
|
||||
' &HFEFF, es el código ZERO WIDTH NO-BREAK SPACE
|
||||
XMLDoc.LoadXml(File.ReadAllText(Archivo).Replace("<br>", "").Replace("<", "").Replace("o;?", "").Replace(ChrW(&HFEFF), ""))
|
||||
Catch ex As Exception
|
||||
Try
|
||||
Dim oReader As New StreamReader(Archivo, Encoding.GetEncoding("ISO-8859-1"))
|
||||
@@ -1865,411 +1866,416 @@ Partial Class Compras_Compras
|
||||
GuardaLog("Error al intentar leer el XML del SAT. Error:" & ex2.ToString())
|
||||
End Try
|
||||
End Try
|
||||
|
||||
If XMLDoc.InnerXml = "" Then
|
||||
Alert("No se pudo procesar el archivo xml.", TipoMensaje.MsgError)
|
||||
Return ""
|
||||
End If
|
||||
|
||||
CreaDTConceptos()
|
||||
CargaComprobanteXML(XMLDoc)
|
||||
|
||||
If NuevaValidacionXML = 1 OrElse (Version = "3.3" OrElse Version = "4.0") Then
|
||||
Dim Xml As String
|
||||
Dim nodo As XmlNode = XMLDoc.DocumentElement
|
||||
Dim Version As String = ValorXML(nodo, "version")
|
||||
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
|
||||
Dim cfdVer As String = ""
|
||||
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
|
||||
Dim Xml As String
|
||||
Dim nodo As XmlNode = XMLDoc.DocumentElement
|
||||
Dim Version As String = ValorXML(nodo, "version")
|
||||
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
|
||||
Dim cfdVer As String = ""
|
||||
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
|
||||
|
||||
If Version = "3.2" Then
|
||||
Prefijo = "cfd"
|
||||
cfdVer = "http://www.sat.gob.mx/cfd/2"
|
||||
ElseIf Version = "3.3" Then
|
||||
cfdVer = "http://www.sat.gob.mx/cfd/3"
|
||||
Else ' se considera que es la version 4.0
|
||||
cfdVer = "http://www.sat.gob.mx/cfd/4"
|
||||
If Version = "3.2" Then
|
||||
Prefijo = "cfd"
|
||||
cfdVer = "http://www.sat.gob.mx/cfd/2"
|
||||
ElseIf Version = "3.3" Then
|
||||
cfdVer = "http://www.sat.gob.mx/cfd/3"
|
||||
Else ' se considera que es la version 4.0
|
||||
cfdVer = "http://www.sat.gob.mx/cfd/4"
|
||||
End If
|
||||
|
||||
'If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
|
||||
|
||||
namespaces.AddNamespace(Prefijo, cfdVer)
|
||||
namespaces.AddNamespace("aerolineas", "http://www.sat.gob.mx/aerolineas")
|
||||
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
|
||||
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
|
||||
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
|
||||
|
||||
Dim nodeconceptos As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Conceptos", Prefijo), namespaces)
|
||||
Xml = Replace(nodeconceptos.OuterXml, "<cfdi:", "<")
|
||||
Xml = Xml.Replace("</cfdi:", "</")
|
||||
Xml = Xml.Replace("xmlns:cfdi=""http://www.sat.gob.mx/cfd/3""", "")
|
||||
Xml = Xml.Replace("xmlns:cfdi=""http://www.sat.gob.mx/cfd/4""", "")
|
||||
Xml = Xml.Replace(""", "") 'comillas
|
||||
Xml = System.Web.HttpUtility.HtmlDecode(Xml.ToString)
|
||||
Xml = Xml.Replace(Chr(13), "") 'salto de linea
|
||||
Xml = Xml.Replace(Chr(10), "")
|
||||
Xml = Xml.Replace("<br />", "") 'salto de linea html
|
||||
Xml = Xml.Replace("<br>", "")
|
||||
Xml = Xml.Replace("<", "")
|
||||
Xml = Xml.Replace("&", "") 'adicional, si hay otros
|
||||
|
||||
If ObjeFacturas.GetFacturasComparacionXML(Version, Xml, UsuarioActual.CveEmpresa) Then
|
||||
TmpDT = ObjeFacturas.DtResultados
|
||||
TmpDT.Columns.Add("CveSATPSActualizado")
|
||||
SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL
|
||||
|
||||
If Not TmpDT.Columns.Contains("Amortizacion") Then
|
||||
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
|
||||
End If
|
||||
|
||||
AddPS2(False)
|
||||
|
||||
'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101
|
||||
Dim ProductosCodigoSATNoPermitidos As New StringBuilder("")
|
||||
For Each drr As DataRow In TmpDT.FiltraParametros("ClaveProdServ = '01010101'").Rows
|
||||
ProductosCodigoSATNoPermitidos.AppendFormat("{0}</br>", drr("PS"))
|
||||
Next
|
||||
|
||||
If TmpDT.MAX("RetISRPorcentaje").ToDecimal = 0.0125 Then RetISRResico = True
|
||||
If TmpDT.MAX("RetIVAPorcentaje").ToDecimal = 0.04 Then RetIVAFlete = True
|
||||
|
||||
If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then
|
||||
Dim mensajeAdvertencia As String = String.Format("El XML que intenta registrar contiene partidas o artículos con código SAT ‘01010101’ el cual no es aceptado, hable con su proveedor para cancelar y/o refacturar un XML válido.<br/> Partidas o artículos con código ‘01010101’: </br></br>{0}", ProductosCodigoSATNoPermitidos.ToString)
|
||||
Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia)
|
||||
If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso Not UsuarioActual.CveUsuario.Contiene(1719, 1721) Then BtnGuardar.Enabled = False '' solo se activa para el usuario Sara.JAM
|
||||
BtnGuardar.ToolTip = "No se permite registrar facturas con conceptos con código '01010101'. Solicite al proveedor un nuevo comprobante."
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim SbValRet As New StringBuilder
|
||||
For Each concepto As XmlNode In nodeconceptos
|
||||
' Obtener la descripción del concepto
|
||||
Dim descripcion As String = ValorXML(concepto, "Descripcion")
|
||||
Dim importeValue As Decimal = Decimal.Parse(ValorXML(concepto, "Importe"))
|
||||
|
||||
' Seleccionar el nodo de Impuestos dentro de Concepto, si existe
|
||||
Dim impuestosNode As XmlNode = concepto.SelectSingleNode("cfdi:Impuestos", namespaces)
|
||||
|
||||
If Not impuestosNode Is Nothing Then
|
||||
' Seleccionar los nodos de Retencion dentro de Impuestos
|
||||
Dim retenciones As XmlNodeList = impuestosNode.SelectNodes("cfdi:Retenciones/cfdi:Retencion", namespaces)
|
||||
For Each retencion As XmlNode In retenciones
|
||||
' Obtener los valores de los atributos Base e Importe
|
||||
Dim baseValue As Decimal = Decimal.Parse(ValorXML(retencion, "Base"))
|
||||
Dim impuesto As String = ValorXML(retencion, "Impuesto")
|
||||
|
||||
If impuesto = "001" Then
|
||||
impuesto = "Retención ISR"
|
||||
ElseIf impuesto = "002" Then
|
||||
impuesto = "Retención IVA"
|
||||
ElseIf impuesto = "003" Then
|
||||
impuesto = "IEPS"
|
||||
End If
|
||||
|
||||
|
||||
' Validar si Base coincide con Importe
|
||||
If baseValue <> importeValue Then
|
||||
'SbValRet.Append($"La base e importe de la retención del impuesto {impuesto} no coinciden para {descripcion}. Base: {baseValue.ToString()}, Importe: {importeValue.ToString()} <br>")
|
||||
SbValRet.Append($"Producto: {descripcion} La base e importe del impuesto {impuesto} no coincide Base: {baseValue.ToString()}, Importe Producto: {importeValue.ToString()} <br>")
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
|
||||
If SbValRet.ToString.Trim.Length > 0 Then
|
||||
Alert(SbValRet.ToString, TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Else
|
||||
CargaConceptosXML(XMLDoc)
|
||||
End If
|
||||
|
||||
'If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
|
||||
Select Case TipoComprobante
|
||||
Case "ingreso" : DdlTipoComprobante.SelectedValue = "Fac" : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("NC")) : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
|
||||
Case "egreso" : DdlTipoComprobante.SelectedValue = "NC" : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac")) : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant")) : ChkAplicaNotaCredito.Enabled = False
|
||||
Case "I"
|
||||
DdlTipoComprobante.SelectedValue = "Fac"
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("NC"))
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
|
||||
DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("6"))
|
||||
DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("11"))
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then DdlTipoCompra.Items.Add(New ListItem("Recolección", "14"))
|
||||
Case "E"
|
||||
DdlTipoComprobante.SelectedValue = "NC"
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac"))
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant"))
|
||||
ChkAplicaNotaCredito.Enabled = False
|
||||
|
||||
namespaces.AddNamespace(Prefijo, cfdVer)
|
||||
namespaces.AddNamespace("aerolineas", "http://www.sat.gob.mx/aerolineas")
|
||||
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
|
||||
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
|
||||
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
|
||||
DdlTipoCompra.Items.Clear()
|
||||
DdlTipoCompra.Items.Add(New ListItem("Seleccione", "-1"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("NC Con Productos", "6"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("Apoyo Logístico", "9"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("NC Por Devolución", "11"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("Garantía", "12"))
|
||||
Case "T"
|
||||
DdlTipoCompra.Items.Clear()
|
||||
DdlTipoCompra.Items.Add(New ListItem("Apoyo Logístico", "9"))
|
||||
DdlTipoComprobante.SelectedValue = "Fac"
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("NC"))
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
|
||||
|
||||
Dim nodeconceptos As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Conceptos", Prefijo), namespaces)
|
||||
Xml = Replace(nodeconceptos.OuterXml, "<cfdi:", "<")
|
||||
Xml = Xml.Replace("</cfdi:", "</")
|
||||
Xml = Xml.Replace("xmlns:cfdi=""http://www.sat.gob.mx/cfd/3""", "")
|
||||
Xml = Xml.Replace("xmlns:cfdi=""http://www.sat.gob.mx/cfd/4""", "")
|
||||
Xml = Xml.Replace(""", "") 'comillas
|
||||
Xml = System.Web.HttpUtility.HtmlDecode(Xml.ToString)
|
||||
Xml = Xml.Replace(Chr(13), "") 'salto de linea
|
||||
Xml = Xml.Replace(Chr(10), "")
|
||||
Xml = Xml.Replace("<br />", "") 'salto de linea html
|
||||
Xml = Xml.Replace("<br>", "")
|
||||
Xml = Xml.Replace("<", "")
|
||||
Xml = Xml.Replace("&", "") 'adicional, si hay otros
|
||||
End Select
|
||||
|
||||
If ObjeFacturas.GetFacturasComparacionXML(Version, Xml, UsuarioActual.CveEmpresa) Then
|
||||
TmpDT = ObjeFacturas.DtResultados
|
||||
TmpDT.Columns.Add("CveSATPSActualizado")
|
||||
SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL
|
||||
'DIV ALIAS
|
||||
CargaPSAlias()
|
||||
|
||||
RFC = dr("RFCDe").ToString
|
||||
RFCProveedor = RFC
|
||||
TxtFecha.Text = dr("FechaFactura").ToString.ToDate.ToShortDateString
|
||||
TxtSerie.Text = dr("Serie").ToString
|
||||
TxtFolio.Text = dr("Folio").ToString
|
||||
DdlValidadaSAT.SelectedValue = If(dr("FueValidado").ToString.Contiene("Si", "1"), "Si", "No")
|
||||
DdlValidadaSAT.Enabled = False
|
||||
LblTipoFact.Text = dr("TipoFactura").ToString
|
||||
SerieVieja = dr("Serie").ToString
|
||||
LblMetodoPago.Text = MetodoPago
|
||||
|
||||
Dim SubTotal2, IVA, IEPS As Decimal
|
||||
IVA = TrasladoIVA
|
||||
|
||||
If Not UsuarioActual.TienePermisoProceso(130) Then
|
||||
TxtFolio.Enabled = False
|
||||
TxtSerie.Enabled = False
|
||||
End If
|
||||
|
||||
'PERMISO PARA MODIFICACIÓN DE FECHA AUN CON FACTURA
|
||||
TxtFecha.Enabled = UsuarioActual.TienePermisoProceso(216)
|
||||
ImgFecha.Enabled = UsuarioActual.TienePermisoProceso(216)
|
||||
CEFecha.Enabled = UsuarioActual.TienePermisoProceso(216)
|
||||
|
||||
TxtSubTotal.Enabled = False
|
||||
TxtDescuento.Enabled = False
|
||||
TxtSubTotal2.Enabled = False
|
||||
TxtIVA.Enabled = False
|
||||
TxtTotal.Enabled = False
|
||||
DdlProveedor.Enabled = False
|
||||
|
||||
If TxtFolio.Text.Trim = "" Then TxtFolio.Enabled = True : TxtSerie.Enabled = True
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(112) Then
|
||||
PermisoEdicionManual = True
|
||||
TxtSubTotal.Enabled = True
|
||||
TxtDescuento.Enabled = True
|
||||
TxtSubTotal2.Enabled = True
|
||||
TxtIVA.Enabled = True
|
||||
TxtTotal.Enabled = True
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(118) = "1" AndAlso DdlTipoComprobante.SelectedValue = "Fac" Then
|
||||
VerVales.Visible = True
|
||||
End If
|
||||
|
||||
If TieneAnticiposXML Then 'si tiene anticipos, limpia los descuentos
|
||||
'LblAmortizacion.Text = ImporteAnticipo.FormatoNumero
|
||||
TxtDescuento.Text = "0.00"
|
||||
LblAmortizacion.Text = Descuentos.FormatoNumero
|
||||
'limpia los descuentos
|
||||
For Each drr As DataRow In TmpDT.Rows
|
||||
'drr("Total") = drr("Total").ToString.ToDecimal + drr("Descuento").ToString.ToDecimal
|
||||
drr("Amortizacion") = drr("Descuento") 'pasamos el importe de descuento a amortizacion
|
||||
drr("Descuento") = 0.00
|
||||
Next
|
||||
Amortizaciones = Descuentos
|
||||
Descuentos = 0
|
||||
End If
|
||||
|
||||
Dim Msg As String = ""
|
||||
If Version = "3.3" Or Version = "4.0" Then
|
||||
|
||||
If Not TmpDT.Columns.Contains("Amortizacion") Then
|
||||
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
|
||||
End If
|
||||
TmpDT.AcceptChanges()
|
||||
ValidacionesTotalesXml()
|
||||
Else
|
||||
'PRUEBA
|
||||
'http://rm/Compras/Compras.aspx?CveFactura=122518 Emp: 48
|
||||
|
||||
AddPS2(False)
|
||||
'tTotal = Math.Round(SubTotal2 + IVA - RetencionIVA - RetencionISR + IEPS + OtrosImpuestos, 2)
|
||||
HdnCompraSaldo.Value = Total.ToString
|
||||
CompraSaldo = Total
|
||||
Dim AjustaUltimoConcepto As Boolean = False
|
||||
|
||||
'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101
|
||||
Dim ProductosCodigoSATNoPermitidos As New StringBuilder("")
|
||||
For Each drr As DataRow In TmpDT.FiltraParametros("ClaveProdServ = '01010101'").Rows
|
||||
ProductosCodigoSATNoPermitidos.AppendFormat("{0}</br>", drr("PS"))
|
||||
Next
|
||||
|
||||
If TmpDT.MAX("RetISRPorcentaje").ToDecimal = 0.0125 Then RetISRResico = True
|
||||
If TmpDT.MAX("RetIVAPorcentaje").ToDecimal = 0.04 Then RetIVAFlete = True
|
||||
|
||||
If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then
|
||||
Dim mensajeAdvertencia As String = String.Format("El XML que intenta registrar contiene partidas o artículos con código SAT ‘01010101’ el cual no es aceptado, hable con su proveedor para cancelar y/o refacturar un XML válido.<br/> Partidas o artículos con código ‘01010101’: </br></br>{0}", ProductosCodigoSATNoPermitidos.ToString)
|
||||
Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia)
|
||||
If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso Not UsuarioActual.CveUsuario.Contiene(1719, 1721) Then BtnGuardar.Enabled = False '' solo se activa para el usuario Sara.JAM
|
||||
BtnGuardar.ToolTip = "No se permite registrar facturas con conceptos con código '01010101'. Solicite al proveedor un nuevo comprobante."
|
||||
'AGREGA IEPS COMO CONCEPTO
|
||||
If TrasladoIEPS > 0 And UsuarioActual.Empresa.Funcionalidad(112).ToString.ToEntero > 0 Then
|
||||
AgregarConceptoIEPS(TrasladoIEPS, UsuarioActual.Empresa.Funcionalidad(112).ToString.ToEntero)
|
||||
' TrasladoIEPS = 0
|
||||
End If
|
||||
'en otro impuesto lo esta registrando en ajuste en automatico
|
||||
If OtrosImpuestos > 0 Then
|
||||
AjustaUltimoConcepto = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim SbValRet As New StringBuilder
|
||||
For Each concepto As XmlNode In nodeconceptos
|
||||
' Obtener la descripción del concepto
|
||||
Dim descripcion As String = ValorXML(concepto, "Descripcion")
|
||||
Dim importeValue As Decimal = Decimal.Parse(ValorXML(concepto, "Importe"))
|
||||
|
||||
' Seleccionar el nodo de Impuestos dentro de Concepto, si existe
|
||||
Dim impuestosNode As XmlNode = concepto.SelectSingleNode("cfdi:Impuestos", namespaces)
|
||||
|
||||
If Not impuestosNode Is Nothing Then
|
||||
' Seleccionar los nodos de Retencion dentro de Impuestos
|
||||
Dim retenciones As XmlNodeList = impuestosNode.SelectNodes("cfdi:Retenciones/cfdi:Retencion", namespaces)
|
||||
For Each retencion As XmlNode In retenciones
|
||||
' Obtener los valores de los atributos Base e Importe
|
||||
Dim baseValue As Decimal = Decimal.Parse(ValorXML(retencion, "Base"))
|
||||
Dim impuesto As String = ValorXML(retencion, "Impuesto")
|
||||
|
||||
If impuesto = "001" Then
|
||||
impuesto = "Retención ISR"
|
||||
ElseIf impuesto = "002" Then
|
||||
impuesto = "Retención IVA"
|
||||
ElseIf impuesto = "003" Then
|
||||
impuesto = "IEPS"
|
||||
End If
|
||||
|
||||
|
||||
' Validar si Base coincide con Importe
|
||||
If baseValue <> importeValue Then
|
||||
'SbValRet.Append($"La base e importe de la retención del impuesto {impuesto} no coinciden para {descripcion}. Base: {baseValue.ToString()}, Importe: {importeValue.ToString()} <br>")
|
||||
SbValRet.Append($"Producto: {descripcion} La base e importe del impuesto {impuesto} no coincide Base: {baseValue.ToString()}, Importe Producto: {importeValue.ToString()} <br>")
|
||||
End If
|
||||
Next
|
||||
If RFC = "CFE370814QI0" Then ' RFC de CFE, se hace un ajuste por diferencia para sacar el DAP
|
||||
'OtrosImpuestos = Total - (SubTotal2 + IVA)
|
||||
'este importe lo vamos a meter al gasto
|
||||
'AjustaImporteUltimoConcepto(OtrosImpuestos)
|
||||
OtrosImpuestos = 1
|
||||
AjustaUltimoConcepto = True
|
||||
'SubTotal2 = SubTotal
|
||||
End If
|
||||
Next
|
||||
|
||||
If SbValRet.ToString.Trim.Length > 0 Then
|
||||
Alert(SbValRet.ToString, TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
Dim SubTotalReal As Decimal = 0
|
||||
SubTotalReal = Math.Round(Total + RetencionISR + RetencionIVA - IVA + Descuentos - TrasladoIEPS, 2) ' NO se incluye otros impuestos para ajustar esa cifra
|
||||
Dim DiferenciaTotales As Decimal = SubTotalReal - Math.Round(SubTotalConceptos, 2)
|
||||
|
||||
If DiferenciaTotales <> 0 Then
|
||||
'Verificamos IEPS y Otros Impuestos
|
||||
'restricccion general, que si el subtotal de los conceptos no cuadra con Total + RetISR + RetIVA - IVA <> SubTotalConeptos, ajuste al final
|
||||
If TrasladoIEPS > 0 OrElse OtrosImpuestos > 0 OrElse Math.Abs(DiferenciaTotales) < 1 Then
|
||||
|
||||
'Condicion necesaria cuando hay IVA pero no hay diferencia
|
||||
If DiferenciaTotales <> 0 Then
|
||||
|
||||
Else
|
||||
CargaConceptosXML(XMLDoc)
|
||||
End If
|
||||
If DiferenciaTotales < 50 OrElse AjustaUltimoConcepto = True Then
|
||||
Dim IA As Decimal = Total + RetencionISR + RetencionIVA - IVA - SubTotalConceptos - TrasladoIEPS + Descuentos
|
||||
AjustaImporteUltimoConcepto(IA, True)
|
||||
|
||||
Select Case TipoComprobante
|
||||
Case "ingreso" : DdlTipoComprobante.SelectedValue = "Fac" : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("NC")) : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
|
||||
Case "egreso" : DdlTipoComprobante.SelectedValue = "NC" : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac")) : DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant")) : ChkAplicaNotaCredito.Enabled = False
|
||||
Case "I"
|
||||
DdlTipoComprobante.SelectedValue = "Fac"
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("NC"))
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
|
||||
DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("6"))
|
||||
DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("11"))
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then DdlTipoCompra.Items.Add(New ListItem("Recolección", "14"))
|
||||
Case "E"
|
||||
DdlTipoComprobante.SelectedValue = "NC"
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac"))
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant"))
|
||||
ChkAplicaNotaCredito.Enabled = False
|
||||
ElseIf DiferenciaTotales > 50 Then
|
||||
PnlAjusteProductos.Visible = True
|
||||
Dim Porcentaje As Double = Math.Round((SubTotalConceptos - SubTotalReal) / SubTotalConceptos * 100, 2)
|
||||
TxtAjustePorcentaje.Text = Porcentaje.FormatoNumero
|
||||
Msg &= String.Format("La Factura presenta anomalias en los importes mostrados, estas anomalias impiden que se editen las partidas. Por favor realice el ajuste correspondiente <br>")
|
||||
ImgBtnBuscarOC.Visible = False : TxtOC.Enabled = False
|
||||
|
||||
DdlTipoCompra.Items.Clear()
|
||||
DdlTipoCompra.Items.Add(New ListItem("Seleccione", "-1"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("NC Con Productos", "6"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("Apoyo Logístico", "9"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("NC Por Devolución", "11"))
|
||||
DdlTipoCompra.Items.Add(New ListItem("Garantía", "12"))
|
||||
Case "T"
|
||||
DdlTipoCompra.Items.Clear()
|
||||
DdlTipoCompra.Items.Add(New ListItem("Apoyo Logístico", "9"))
|
||||
DdlTipoComprobante.SelectedValue = "Fac"
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("NC"))
|
||||
DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV"))
|
||||
|
||||
End Select
|
||||
|
||||
'DIV ALIAS
|
||||
CargaPSAlias()
|
||||
|
||||
RFC = dr("RFCDe").ToString
|
||||
RFCProveedor = RFC
|
||||
TxtFecha.Text = dr("FechaFactura").ToString.ToDate.ToShortDateString
|
||||
TxtSerie.Text = dr("Serie").ToString
|
||||
TxtFolio.Text = dr("Folio").ToString
|
||||
DdlValidadaSAT.SelectedValue = If(dr("FueValidado").ToString.Contiene("Si", "1"), "Si", "No")
|
||||
DdlValidadaSAT.Enabled = False
|
||||
LblTipoFact.Text = dr("TipoFactura").ToString
|
||||
SerieVieja = dr("Serie").ToString
|
||||
LblMetodoPago.Text = MetodoPago
|
||||
|
||||
Dim SubTotal2, IVA, IEPS As Decimal
|
||||
IVA = TrasladoIVA
|
||||
|
||||
If Not UsuarioActual.TienePermisoProceso(130) Then
|
||||
TxtFolio.Enabled = False
|
||||
TxtSerie.Enabled = False
|
||||
End If
|
||||
|
||||
'PERMISO PARA MODIFICACIÓN DE FECHA AUN CON FACTURA
|
||||
TxtFecha.Enabled = UsuarioActual.TienePermisoProceso(216)
|
||||
ImgFecha.Enabled = UsuarioActual.TienePermisoProceso(216)
|
||||
CEFecha.Enabled = UsuarioActual.TienePermisoProceso(216)
|
||||
|
||||
TxtSubTotal.Enabled = False
|
||||
TxtDescuento.Enabled = False
|
||||
TxtSubTotal2.Enabled = False
|
||||
TxtIVA.Enabled = False
|
||||
TxtTotal.Enabled = False
|
||||
DdlProveedor.Enabled = False
|
||||
|
||||
If TxtFolio.Text.Trim = "" Then TxtFolio.Enabled = True : TxtSerie.Enabled = True
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(112) Then
|
||||
PermisoEdicionManual = True
|
||||
TxtSubTotal.Enabled = True
|
||||
TxtDescuento.Enabled = True
|
||||
TxtSubTotal2.Enabled = True
|
||||
TxtIVA.Enabled = True
|
||||
TxtTotal.Enabled = True
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(118) = "1" AndAlso DdlTipoComprobante.SelectedValue = "Fac" Then
|
||||
VerVales.Visible = True
|
||||
End If
|
||||
|
||||
If TieneAnticiposXML Then 'si tiene anticipos, limpia los descuentos
|
||||
'LblAmortizacion.Text = ImporteAnticipo.FormatoNumero
|
||||
TxtDescuento.Text = "0.00"
|
||||
LblAmortizacion.Text = Descuentos.FormatoNumero
|
||||
'limpia los descuentos
|
||||
For Each drr As DataRow In TmpDT.Rows
|
||||
'drr("Total") = drr("Total").ToString.ToDecimal + drr("Descuento").ToString.ToDecimal
|
||||
drr("Amortizacion") = drr("Descuento") 'pasamos el importe de descuento a amortizacion
|
||||
drr("Descuento") = 0.00
|
||||
Next
|
||||
Amortizaciones = Descuentos
|
||||
Descuentos = 0
|
||||
End If
|
||||
|
||||
Dim Msg As String = ""
|
||||
If Version = "3.3" Or Version = "4.0" Then
|
||||
|
||||
If Not TmpDT.Columns.Contains("Amortizacion") Then
|
||||
TmpDT.Columns.Add("Amortizacion", GetType(Decimal))
|
||||
End If
|
||||
TmpDT.AcceptChanges()
|
||||
ValidacionesTotalesXml()
|
||||
Else
|
||||
'PRUEBA
|
||||
'http://rm/Compras/Compras.aspx?CveFactura=122518 Emp: 48
|
||||
|
||||
'tTotal = Math.Round(SubTotal2 + IVA - RetencionIVA - RetencionISR + IEPS + OtrosImpuestos, 2)
|
||||
HdnCompraSaldo.Value = Total.ToString
|
||||
CompraSaldo = Total
|
||||
Dim AjustaUltimoConcepto As Boolean = False
|
||||
|
||||
'AGREGA IEPS COMO CONCEPTO
|
||||
If TrasladoIEPS > 0 And UsuarioActual.Empresa.Funcionalidad(112).ToString.ToEntero > 0 Then
|
||||
AgregarConceptoIEPS(TrasladoIEPS, UsuarioActual.Empresa.Funcionalidad(112).ToString.ToEntero)
|
||||
' TrasladoIEPS = 0
|
||||
End If
|
||||
'en otro impuesto lo esta registrando en ajuste en automatico
|
||||
If OtrosImpuestos > 0 Then
|
||||
AjustaUltimoConcepto = True
|
||||
End If
|
||||
|
||||
If RFC = "CFE370814QI0" Then ' RFC de CFE, se hace un ajuste por diferencia para sacar el DAP
|
||||
'OtrosImpuestos = Total - (SubTotal2 + IVA)
|
||||
'este importe lo vamos a meter al gasto
|
||||
'AjustaImporteUltimoConcepto(OtrosImpuestos)
|
||||
OtrosImpuestos = 1
|
||||
AjustaUltimoConcepto = True
|
||||
'SubTotal2 = SubTotal
|
||||
End If
|
||||
|
||||
Dim SubTotalReal As Decimal = 0
|
||||
SubTotalReal = Math.Round(Total + RetencionISR + RetencionIVA - IVA + Descuentos - TrasladoIEPS, 2) ' NO se incluye otros impuestos para ajustar esa cifra
|
||||
Dim DiferenciaTotales As Decimal = SubTotalReal - Math.Round(SubTotalConceptos, 2)
|
||||
|
||||
If DiferenciaTotales <> 0 Then
|
||||
'Verificamos IEPS y Otros Impuestos
|
||||
'restricccion general, que si el subtotal de los conceptos no cuadra con Total + RetISR + RetIVA - IVA <> SubTotalConeptos, ajuste al final
|
||||
If TrasladoIEPS > 0 OrElse OtrosImpuestos > 0 OrElse Math.Abs(DiferenciaTotales) < 1 Then
|
||||
|
||||
'Condicion necesaria cuando hay IVA pero no hay diferencia
|
||||
If DiferenciaTotales <> 0 Then
|
||||
|
||||
If DiferenciaTotales < 50 OrElse AjustaUltimoConcepto = True Then
|
||||
Dim IA As Decimal = Total + RetencionISR + RetencionIVA - IVA - SubTotalConceptos - TrasladoIEPS + Descuentos
|
||||
AjustaImporteUltimoConcepto(IA, True)
|
||||
|
||||
ElseIf DiferenciaTotales > 50 Then
|
||||
PnlAjusteProductos.Visible = True
|
||||
Dim Porcentaje As Double = Math.Round((SubTotalConceptos - SubTotalReal) / SubTotalConceptos * 100, 2)
|
||||
TxtAjustePorcentaje.Text = Porcentaje.FormatoNumero
|
||||
Msg &= String.Format("La Factura presenta anomalias en los importes mostrados, estas anomalias impiden que se editen las partidas. Por favor realice el ajuste correspondiente <br>")
|
||||
ImgBtnBuscarOC.Visible = False : TxtOC.Enabled = False
|
||||
|
||||
'Ocultamos la opcion de Editar y Eliminar hasta que se arreglen las anomalias
|
||||
For Each Row As GridViewRow In GvPS.Rows
|
||||
Row.FCLinkButton("imgE").Visible = False
|
||||
Row.FCLinkButton("imgD").Visible = False
|
||||
Next
|
||||
'Ocultamos la opcion de Editar y Eliminar hasta que se arreglen las anomalias
|
||||
For Each Row As GridViewRow In GvPS.Rows
|
||||
Row.FCLinkButton("imgE").Visible = False
|
||||
Row.FCLinkButton("imgD").Visible = False
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
TrasladoIEPS = 0 : OtrosImpuestos = 0 : SubTotal2 = SubTotal
|
||||
Else
|
||||
PnlAjusteProductos.Visible = True
|
||||
Dim Porcentaje As Double = If(SubTotalConceptos > 0, Math.Round((SubTotalConceptos - SubTotalReal) / SubTotalConceptos * 100, 2), 0)
|
||||
TxtAjustePorcentaje.Text = Porcentaje.FormatoNumero
|
||||
Msg &= String.Format("La Factura presenta anomalias en los importes mostrados, estas anomalias impiden que se editen las partidas. Por favor realice el ajuste correspondiente <br>")
|
||||
ImgBtnBuscarOC.Visible = False : TxtOC.Enabled = False
|
||||
|
||||
'Ocultamos la opcion de Editar y Eliminar hasta que se arreglen las anomalias
|
||||
For Each Row As GridViewRow In GvPS.Rows
|
||||
Row.FCLinkButton("imgE").Visible = False
|
||||
Row.FCLinkButton("imgD").Visible = False
|
||||
Next
|
||||
End If
|
||||
TrasladoIEPS = 0 : OtrosImpuestos = 0 : SubTotal2 = SubTotal
|
||||
Else
|
||||
PnlAjusteProductos.Visible = True
|
||||
Dim Porcentaje As Double = If(SubTotalConceptos > 0, Math.Round((SubTotalConceptos - SubTotalReal) / SubTotalConceptos * 100, 2), 0)
|
||||
TxtAjustePorcentaje.Text = Porcentaje.FormatoNumero
|
||||
Msg &= String.Format("La Factura presenta anomalias en los importes mostrados, estas anomalias impiden que se editen las partidas. Por favor realice el ajuste correspondiente <br>")
|
||||
ImgBtnBuscarOC.Visible = False : TxtOC.Enabled = False
|
||||
|
||||
'Ocultamos la opcion de Editar y Eliminar hasta que se arreglen las anomalias
|
||||
For Each Row As GridViewRow In GvPS.Rows
|
||||
Row.FCLinkButton("imgE").Visible = False
|
||||
Row.FCLinkButton("imgD").Visible = False
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
'Si no hay diferencias pero tenemos descuento, se ofrece la opcion para ajustar el gasto
|
||||
If Descuentos > 0 Then
|
||||
'Si no hay diferencias pero tenemos descuento, se ofrece la opcion para ajustar el gasto
|
||||
If Descuentos > 0 Then
|
||||
|
||||
'[IPP] PARCHE: Factura TELMEX para APH 12/ENERO/2018
|
||||
If CveFactura = 286290 Then
|
||||
'[IPP] PARCHE: Factura TELMEX para APH 12/ENERO/2018
|
||||
If CveFactura = 286290 Then
|
||||
|
||||
Else
|
||||
PnlAjusteProductos.Visible = True
|
||||
Dim Porcentaje As Double = Math.Round((Descuentos) / (SubTotalConceptos) * 100, 4)
|
||||
TxtAjustePorcentaje.Text = Porcentaje.FormatoNumero(4)
|
||||
Msg &= String.Format("La Factura presenta anomalias en los importes mostrados, estas anomalias impiden que se editen las partidas. Por favor realice el ajuste correspondiente <br>")
|
||||
ImgBtnBuscarOC.Visible = False : TxtOC.Enabled = False
|
||||
Else
|
||||
PnlAjusteProductos.Visible = True
|
||||
Dim Porcentaje As Double = Math.Round((Descuentos) / (SubTotalConceptos) * 100, 4)
|
||||
TxtAjustePorcentaje.Text = Porcentaje.FormatoNumero(4)
|
||||
Msg &= String.Format("La Factura presenta anomalias en los importes mostrados, estas anomalias impiden que se editen las partidas. Por favor realice el ajuste correspondiente <br>")
|
||||
ImgBtnBuscarOC.Visible = False : TxtOC.Enabled = False
|
||||
|
||||
'Ocultamos la opcion de Editar y Eliminar hasta que se arreglen las anomalias
|
||||
For Each Row As GridViewRow In GvPS.Rows
|
||||
Row.FCLinkButton("imgE").Visible = False
|
||||
Row.FCLinkButton("imgD").Visible = False
|
||||
Next
|
||||
'Ocultamos la opcion de Editar y Eliminar hasta que se arreglen las anomalias
|
||||
For Each Row As GridViewRow In GvPS.Rows
|
||||
Row.FCLinkButton("imgE").Visible = False
|
||||
Row.FCLinkButton("imgD").Visible = False
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
SubTotal2 = SubTotalReal - Descuentos
|
||||
|
||||
If Descuentos > 0 Then
|
||||
TrDescuento.Visible = True
|
||||
End If
|
||||
|
||||
If Msg <> "" Then
|
||||
Alert(Msg, TipoMensaje.MsgAdvertencia)
|
||||
BtnGuardar.Enabled = False
|
||||
End If
|
||||
'AJUSTAMOS SUBTOTAL EN CASO DE SER DIFERENTE AL SUBTOTAL2 DEL XML (TOTAL - IVA)
|
||||
If SubTotal2 <> SubTotal Then
|
||||
SubTotal = SubTotalConceptos
|
||||
End If
|
||||
|
||||
TxtSubTotal.Text = SubTotal.FormatoNumero
|
||||
TxtDescuento.Text = Descuentos.FormatoNumero
|
||||
TxtSubTotal2.Text = SubTotal2.FormatoNumero
|
||||
TxtIVA.Text = IVA.FormatoNumero
|
||||
TxtTotal.Text = Total.ToString.FormatoNumero
|
||||
|
||||
HfTotalCompra.Value = Total.ToString
|
||||
CompraSaldo = Total
|
||||
|
||||
CalculaTotalPorDevengar()
|
||||
TxtDocumentoImporteFE.Text = Total.ToString
|
||||
RVDocumentoImporte.MaximumValue = Math.Round(Total, 2).ToString
|
||||
RVDocumentoImporteFE.MaximumValue = RVDocumentoImporte.MaximumValue
|
||||
RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue
|
||||
TxtDocumentoImporte.Text = Total.FormatoNumero
|
||||
TxtDocumentoImporteCaja.Text = Total.FormatoNumero
|
||||
TxtRetIVA.Text = RetencionIVA.FormatoNumero
|
||||
TxtRetISR.Text = RetencionISR.FormatoNumero
|
||||
TxtIEPS.Text = IEPS.FormatoNumero
|
||||
If IEPS > 0 Then TrIEPS.Visible = True
|
||||
If RetencionIVA > 0 Then TrRetIVA.Visible = True
|
||||
If RetencionISR > 0 Then TrRetISR.Visible = True
|
||||
TxtOtrosImpuestos.Text = OtrosImpuestos.FormatoNumero
|
||||
If OtrosImpuestos > 0 Then TrOtrosImpuestos.Visible = True
|
||||
|
||||
HFDiferenciaCompra.Value = TxtTotal.Text
|
||||
'ASIGNA VALORES ORIGINALES PARA GUARDAR
|
||||
AsignaValoresOriginales(SubTotal, SubTotal2, IVA, RetencionIVA, RetencionISR, Total)
|
||||
|
||||
End If
|
||||
TxtFechaPago.Text = (TxtFecha.Text.ToDate.AddDays(LblDiasCredito.Text.ToEntero)).ToShortDateString
|
||||
|
||||
SubTotal2 = SubTotalReal - Descuentos
|
||||
|
||||
If Descuentos > 0 Then
|
||||
TrDescuento.Visible = True
|
||||
End If
|
||||
|
||||
If Msg <> "" Then
|
||||
Alert(Msg, TipoMensaje.MsgAdvertencia)
|
||||
BtnGuardar.Enabled = False
|
||||
End If
|
||||
'AJUSTAMOS SUBTOTAL EN CASO DE SER DIFERENTE AL SUBTOTAL2 DEL XML (TOTAL - IVA)
|
||||
If SubTotal2 <> SubTotal Then
|
||||
SubTotal = SubTotalConceptos
|
||||
End If
|
||||
|
||||
TxtSubTotal.Text = SubTotal.FormatoNumero
|
||||
TxtDescuento.Text = Descuentos.FormatoNumero
|
||||
TxtSubTotal2.Text = SubTotal2.FormatoNumero
|
||||
TxtIVA.Text = IVA.FormatoNumero
|
||||
TxtTotal.Text = Total.ToString.FormatoNumero
|
||||
|
||||
HfTotalCompra.Value = Total.ToString
|
||||
CompraSaldo = Total
|
||||
|
||||
CalculaTotalPorDevengar()
|
||||
TxtDocumentoImporteFE.Text = Total.ToString
|
||||
RVDocumentoImporte.MaximumValue = Math.Round(Total, 2).ToString
|
||||
RVDocumentoImporteFE.MaximumValue = RVDocumentoImporte.MaximumValue
|
||||
RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue
|
||||
TxtDocumentoImporte.Text = Total.FormatoNumero
|
||||
TxtDocumentoImporteCaja.Text = Total.FormatoNumero
|
||||
TxtRetIVA.Text = RetencionIVA.FormatoNumero
|
||||
TxtRetISR.Text = RetencionISR.FormatoNumero
|
||||
TxtIEPS.Text = IEPS.FormatoNumero
|
||||
If IEPS > 0 Then TrIEPS.Visible = True
|
||||
If RetencionIVA > 0 Then TrRetIVA.Visible = True
|
||||
If RetencionISR > 0 Then TrRetISR.Visible = True
|
||||
TxtOtrosImpuestos.Text = OtrosImpuestos.FormatoNumero
|
||||
If OtrosImpuestos > 0 Then TrOtrosImpuestos.Visible = True
|
||||
|
||||
HFDiferenciaCompra.Value = TxtTotal.Text
|
||||
'ASIGNA VALORES ORIGINALES PARA GUARDAR
|
||||
AsignaValoresOriginales(SubTotal, SubTotal2, IVA, RetencionIVA, RetencionISR, Total)
|
||||
|
||||
End If
|
||||
TxtFechaPago.Text = (TxtFecha.Text.ToDate.AddDays(LblDiasCredito.Text.ToEntero)).ToShortDateString
|
||||
|
||||
Dim drMon As DataRow = GlobalDTMonedas.FiltroPrimero(String.Format(" (Abreviatura LIKE '%{0}%' OR Moneda LIKE '%{0}%' )", Moneda))
|
||||
|
||||
If drMon IsNot Nothing Then
|
||||
DdlMoneda.SelectedValue = drMon("CveMoneda").ToString
|
||||
CveMoneda = drMon("CveMoneda").ToString.ToEntero
|
||||
Else
|
||||
'sino busco en la tabla de alias
|
||||
drMon = GlobalDTMonedasAlias.FiltroPrimero(String.Format("MonedaAlias LIKE '%{0}%' ", Moneda))
|
||||
Dim drMon As DataRow = GlobalDTMonedas.FiltroPrimero(String.Format(" (Abreviatura LIKE '%{0}%' OR Moneda LIKE '%{0}%' )", Moneda))
|
||||
|
||||
If drMon IsNot Nothing Then
|
||||
DdlMoneda.SelectedValue = drMon("CveMoneda").ToString
|
||||
CveMoneda = drMon("CveMoneda").ToString.ToEntero
|
||||
Else
|
||||
LblMoneda.Text = Moneda
|
||||
LblMoneda.ForeColor = Drawing.Color.Red
|
||||
End If
|
||||
End If
|
||||
'sino busco en la tabla de alias
|
||||
drMon = GlobalDTMonedasAlias.FiltroPrimero(String.Format("MonedaAlias LIKE '%{0}%' ", Moneda))
|
||||
|
||||
If DdlMoneda.SelectedValue.ToEntero > 1 Then
|
||||
If TipoCambio <= 10 Then
|
||||
TipoCambio = GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal
|
||||
If drMon IsNot Nothing Then
|
||||
DdlMoneda.SelectedValue = drMon("CveMoneda").ToString
|
||||
CveMoneda = drMon("CveMoneda").ToString.ToEntero
|
||||
Else
|
||||
LblMoneda.Text = Moneda
|
||||
LblMoneda.ForeColor = Drawing.Color.Red
|
||||
End If
|
||||
End If
|
||||
|
||||
TxtFecha.Attributes.Remove("onblur")
|
||||
If UsuarioActual.Empresa.UsaAC Then
|
||||
TxtFecha.Attributes.Add("onblur", "CambiaFecha();CambiaFechaTC();")
|
||||
Else
|
||||
TxtFecha.Attributes.Add("onblur", "CambiaFechaTC();")
|
||||
If DdlMoneda.SelectedValue.ToEntero > 1 Then
|
||||
If TipoCambio <= 10 Then
|
||||
TipoCambio = GlobalTipoCambio(TxtFecha.Text.ToDate).ToDecimal
|
||||
End If
|
||||
|
||||
TxtFecha.Attributes.Remove("onblur")
|
||||
If UsuarioActual.Empresa.UsaAC Then
|
||||
TxtFecha.Attributes.Add("onblur", "CambiaFecha();CambiaFechaTC();")
|
||||
Else
|
||||
TxtFecha.Attributes.Add("onblur", "CambiaFechaTC();")
|
||||
End If
|
||||
End If
|
||||
|
||||
If TipoCambio > 0 And DdlMoneda.SelectedValue.ToEntero > 1 Then LblTC.Text = String.Format("TC: {0}", TipoCambio.ToString("N4"))
|
||||
|
||||
'DF - 10-04-17
|
||||
If UsuarioActual.TienePermisoProceso(187) Then
|
||||
TxtSerie.Enabled = True
|
||||
End If
|
||||
|
||||
If LblMetodoPago.Text = "" AndAlso TipoComprobante <> "T" Then
|
||||
Alert("El xml no contiene la etiqueta 'método de pago', favor de verificar la emisión con el proveedor.", TipoMensaje.MsgAdvertencia)
|
||||
BtnGuardar.Visible = False
|
||||
End If
|
||||
End If
|
||||
|
||||
If TipoCambio > 0 And DdlMoneda.SelectedValue.ToEntero > 1 Then LblTC.Text = String.Format("TC: {0}", TipoCambio.ToString("N4"))
|
||||
|
||||
'DF - 10-04-17
|
||||
If UsuarioActual.TienePermisoProceso(187) Then
|
||||
TxtSerie.Enabled = True
|
||||
End If
|
||||
|
||||
If LblMetodoPago.Text = "" AndAlso TipoComprobante <> "T" Then
|
||||
Alert("El xml no contiene la etiqueta 'método de pago', favor de verificar la emisión con el proveedor.", TipoMensaje.MsgAdvertencia)
|
||||
BtnGuardar.Visible = False
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
Else
|
||||
Alert("No se Encontró la Factura", TipoMensaje.MsgAdvertencia)
|
||||
BtnGuardar.Visible = False
|
||||
End If
|
||||
@@ -4181,20 +4187,17 @@ Partial Class Compras_Compras
|
||||
|
||||
Protected Sub BtnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click
|
||||
|
||||
|
||||
|
||||
If Not ValidaPresupuesto(2) Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
'------------------ INICIA VALIDACIONES ------------------
|
||||
|
||||
If MetodoPagoOC = 0 AndAlso RBLPago.SelectedValue.ToEntero <> 2 Then
|
||||
If MetodoPagoOC = 0 AndAlso RBLPago.SelectedValue.ToEntero <> 2 AndAlso LblSaldoFactura.Text.ToDecimal > 0 Then
|
||||
Alert("La orden de compra se definió de contado, favor de especificar la compra de contado.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal()
|
||||
|
||||
If Not CveSubProyectoPrincipal > 0 Then
|
||||
@@ -4202,7 +4205,7 @@ Partial Class Compras_Compras
|
||||
End If
|
||||
|
||||
If Not ValidaVinculacionNotaFactura() Then
|
||||
Alert("Se requiere que la nota este aplciada a las facturas", TipoMensaje.MsgAdvertencia)
|
||||
Alert("Se requiere que la nota este aplicada a las facturas", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
@@ -8609,7 +8612,6 @@ Partial Class Compras_Compras
|
||||
'PORCENTAJE IVA
|
||||
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
|
||||
|
||||
|
||||
Dim TmpCveRetIVAConcepto As Integer = If(CveRetIVAConceptoOriginal <> DdlRetIVAConcepto.SelectedValue.ToEntero, DdlRetIVAConcepto.SelectedValue.ToEntero, -1)
|
||||
Dim TmpCveRetISRConcepto As Integer = If(CveRetISRConceptoOriginal <> DdlRetISRConcepto.SelectedValue.ToEntero, DdlRetISRConcepto.SelectedValue.ToEntero, -1)
|
||||
Dim tNoDeducible As Integer = If(ChkEsNoDeducible.Checked, 1, 0)
|
||||
@@ -9265,7 +9267,7 @@ Partial Class Compras_Compras
|
||||
Dim CveProveedorConcepto As Integer = 0, CveIE As Integer = 0, CveCreditoDetalle As Integer = 0
|
||||
Dim ConceptoPersonal As String = "", Concepto As String = ""
|
||||
Dim tUsaInventarios As Boolean = UsuarioActual.Empresa.UsaInventarios
|
||||
If (UsuarioActual.CveEmpresa.Contiene(13, 83)) Then tUsaInventarios = False
|
||||
If (UsuarioActual.CveEmpresa.Contiene(13, 83, 7, 11, 12, 122, 145)) Then tUsaInventarios = False
|
||||
|
||||
If Not ObjConta.GetPrePolizasDetalleCompra(CveCompra, UsuarioActual.CveEmpresa) Then
|
||||
ErrorPrepoliza = True
|
||||
@@ -18533,7 +18535,9 @@ Partial Class Compras_Compras
|
||||
If ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 49, CveCompra, 1) Then
|
||||
If ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 68, CveCompra, 1) Then
|
||||
If ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 6, CveCompra, 1) Then
|
||||
TieneError = False
|
||||
If ObjConta.RemovePrePolizasDetalle(CvePrePoliza, 205, CveCompra, 1) Then
|
||||
TieneError = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -321,7 +321,7 @@ Partial Class ContabilidadC_RegPrePolizaS
|
||||
TxtFechaDocumento.Text = NowADS().ToString("dd/MM/yyyy")
|
||||
TxtFechaelaboracion.Text = NowADS().ToString("dd/MM/yyyy")
|
||||
TxtConcepto.Enabled = True
|
||||
TxtUsuarioElaboro.Text = UsuarioActual.Usuario
|
||||
TxtUsuarioElaboro.Text = UsuarioActual.Nombre
|
||||
End If
|
||||
|
||||
|
||||
@@ -448,7 +448,7 @@ Partial Class ContabilidadC_RegPrePolizaS
|
||||
Folio = dr("FolioPoliza").ToString
|
||||
|
||||
TxtFolio.Text = dr("FolioPoliza").ToString
|
||||
TxtUsuarioElaboro.Text = dr("Usuario").ToString
|
||||
TxtUsuarioElaboro.Text = dr("UsuarioNombre").ToString
|
||||
TxtFechaelaboracion.Text = dr("FechaIng").ToString.ToDate.ToString("dd/MM/yyyy")
|
||||
TxtFechaelaboracion.ToolTip = dr("FechaIng").ToString.ToDate.ToString("HH:mm:ss")
|
||||
CvePlantillaPoliza = dr("CvePlantillaPoliza").ToString.ToEntero
|
||||
|
||||
@@ -208,7 +208,7 @@
|
||||
<div class="col-md-1" style="max-width: 80px">Agrupador:</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlAgrupador" Width="150px" runat="server" CssClass="form-control input-sm select2me">
|
||||
<asp:ListItem Text="Clasificacion" Value="1" />
|
||||
<asp:ListItem Text="Clasificación" Value="1" />
|
||||
<asp:ListItem Text="Centro de Costo" Value="2" Selected="True" />
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
@@ -231,7 +231,7 @@
|
||||
<asp:DropDownList ID="DdlSubProyecto" DataTextField="SubProyecto" AppendDataBoundItems="true" DataValueField="CveSubProyecto" Width="200px" runat="server" CssClass="form-control input-sm select2me">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="col-md-1" style="max-width: 120px">Clasificacion:</div>
|
||||
<div class="col-md-1" style="max-width: 120px">Clasificación:</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlClasificacion" DataTextField="Agrupador" DataValueField="CveAgrupador" Width="200px" runat="server" CssClass="form-control input-sm select2me">
|
||||
</asp:DropDownList>
|
||||
@@ -341,9 +341,9 @@
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="Sin resultados" ShowHeaderWhenEmpty="true" CssClass="table table-striped table-hover Widthall ScrollAD" GridLines="None" data-sort="true">
|
||||
<Columns>
|
||||
<%--<asp:HyperLinkField HeaderText="Descripcion" DataTextField="Agrupador" ItemStyle-Width="20%"--%>
|
||||
<asp:BoundField HeaderText="Descripcion" DataField="Agrupador" ItemStyle-Width="20%" />
|
||||
<asp:BoundField HeaderText="Descripción" DataField="Agrupador" ItemStyle-Width="20%" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Autorizado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Comprometido" DataField="Comprometido" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Comprometido" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Ejercido" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="15%" />
|
||||
<asp:BoundField HeaderText="%" DataField="EjercidoPorcentaje" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="PorEjercer" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="15%" />
|
||||
@@ -383,7 +383,7 @@
|
||||
<asp:GridView ID="GvDatosMensual" OnRowDataBound="GvDatosMensual_RowDataBound" runat="server" AutoGenerateColumns="False" Style="min-width: 2000px; overflow-y: hidden" Width="4740px" EmptyDataText="Sin resultados" ShowHeaderWhenEmpty="true" CssClass="table table-striped table-hover" GridLines="None" data-sort="true">
|
||||
<Columns>
|
||||
|
||||
<asp:BoundField HeaderText="Descripcion" DataField="Agrupador" ItemStyle-Width="200px" />
|
||||
<asp:BoundField HeaderText="Descripción" DataField="Agrupador" ItemStyle-Width="200px" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Autorizado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="120px" />
|
||||
|
||||
<asp:BoundField HeaderText="Autorizado" DataField="EneroAutorizado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" />
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
<div class="col-md-1" style="max-width: 80px">Agrupador:</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlAgrupador" Width="150px" runat="server" CssClass="form-control input-sm select2me">
|
||||
<asp:ListItem Text="Clasificacion" Value="1" />
|
||||
<asp:ListItem Text="Clasificación" Value="1" />
|
||||
<asp:ListItem Text="Centro de Costo" Value="2" Selected="True" />
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
@@ -224,7 +224,7 @@
|
||||
<asp:DropDownList ID="DdlSubProyecto" DataTextField="SubProyecto" AppendDataBoundItems="true" DataValueField="CveSubProyecto" Width="200px" runat="server" CssClass="form-control input-sm select2me">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="col-md-1" style="max-width: 120px">Clasificacion:</div>
|
||||
<div class="col-md-1" style="max-width: 120px">Clasificación:</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlClasificacion" DataTextField="Agrupador" DataValueField="CveAgrupador" Width="200px" runat="server" CssClass="form-control input-sm select2me">
|
||||
</asp:DropDownList>
|
||||
@@ -259,9 +259,9 @@
|
||||
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="Sin resultados" ShowHeaderWhenEmpty="true" CssClass="table table-striped table-hover Widthall ScrollAD" GridLines="None" data-sort="true">
|
||||
<Columns>
|
||||
<%--<asp:HyperLinkField HeaderText="Descripcion" DataTextField="Agrupador" ItemStyle-Width="20%"--%>
|
||||
<asp:BoundField HeaderText="Descripcion" DataField="Agrupador" ItemStyle-Width="20%" />
|
||||
<asp:BoundField HeaderText="Descripción" DataField="Agrupador" ItemStyle-Width="20%" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Autorizado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Comprometido" DataField="Comprometido" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Comprometido" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Ejercido" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="15%" />
|
||||
<asp:BoundField HeaderText="%" DataField="EjercidoPorcentaje" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="PorEjercer" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="15%" />
|
||||
@@ -299,7 +299,7 @@
|
||||
</table>
|
||||
<asp:GridView ID="GvDatosMensual" OnRowDataBound="GvDatosMensual_RowDataBound" runat="server" AutoGenerateColumns="False" Style="min-width: 2000px; overflow-y: hidden" Width="4740px" EmptyDataText="Sin resultados" ShowHeaderWhenEmpty="true" CssClass="table table-striped table-hover" GridLines="None" data-sort="true">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Descripcion" DataField="Agrupador" ItemStyle-Width="200px" />
|
||||
<asp:BoundField HeaderText="Descripción" DataField="Agrupador" ItemStyle-Width="200px" />
|
||||
<asp:BoundField HeaderText="Importe" DataField="Autorizado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="120px" />
|
||||
|
||||
<asp:BoundField HeaderText="Autorizado" DataField="EneroAutorizado" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="100px" />
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
<div class="portlet-body" style="display: none;" id="idnecesaria2">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-1" style="max-width: 120px">Clasificacion:</div>
|
||||
<div class="col-md-1" style="max-width: 120px">Clasificación:</div>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlClasificacion" DataTextField="Agrupador" AppendDataBoundItems="true" DataValueField="CveAgrupador" Width="200px" runat="server" CssClass="form-control input-sm select2me">
|
||||
</asp:DropDownList>
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
Option Strict On
|
||||
Imports System.Data
|
||||
Imports Extensiones
|
||||
Imports Org.BouncyCastle.Asn1.Ocsp
|
||||
Partial Class Contratos_RepPresupuestosDetalleCompras
|
||||
Inherits ClsPaginas
|
||||
|
||||
Inherits ClsPaginas
|
||||
|
||||
|
||||
|
||||
#Region "P R O P I E D A D E S"
|
||||
|
||||
|
||||
Public Property Gpo() As Integer
|
||||
Get
|
||||
Return DirectCast(ViewState("Gpo"), Integer)
|
||||
@@ -14,8 +17,20 @@ Partial Class Contratos_RepPresupuestosDetalleCompras
|
||||
Set(ByVal value As Integer)
|
||||
ViewState("Gpo") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
End Property
|
||||
|
||||
Public Property Comprometido As Boolean
|
||||
Get
|
||||
If ViewState("Comprometido") Is Nothing Then
|
||||
ViewState("Comprometido") = False
|
||||
End If
|
||||
Return Boolean.Parse(ViewState("Comprometido").ToString)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
ViewState("Comprometido") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
@@ -25,8 +40,8 @@ Partial Class Contratos_RepPresupuestosDetalleCompras
|
||||
CargaDatos()
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Sub
|
||||
|
||||
#Region " INICIALIZA VALORES "
|
||||
Private Sub InicializaValores()
|
||||
|
||||
@@ -71,7 +86,11 @@ Partial Class Contratos_RepPresupuestosDetalleCompras
|
||||
Dim CveProyecto = IfNull(Request("CveProyecto"), -1).ToString.ToEntero
|
||||
Dim CveSubProyecto = IfNull(Request("CveSubProyecto"), -1).ToString.ToEntero
|
||||
Dim CveTipoGasto = IfNull(Request("CveTipoGasto"), -1).ToString.ToEntero
|
||||
Dim Agrupador = IfNull(Request("Agrupador"), -1).ToString.ToEntero
|
||||
Dim Agrupador = IfNull(Request("Agrupador"), -1).ToString.ToEntero
|
||||
|
||||
Comprometido = If(Request("Comprometido") IsNot Nothing AndAlso Request("Comprometido").ToEntero = 1, True, False)
|
||||
|
||||
|
||||
Gpo = IfNull(Request("CveAgrupador"), -1).ToString.ToEntero
|
||||
Dim EsProyecto = CBool(IfNull(Request("EsProyecto"), False))
|
||||
If Agrupador = 1 Then Agrupador = 2 Else Agrupador = 1
|
||||
@@ -106,7 +125,8 @@ Partial Class Contratos_RepPresupuestosDetalleCompras
|
||||
End Sub
|
||||
Private Sub CargaDatos()
|
||||
Dim ObjPresupuestos As New ClsContratos
|
||||
If ObjPresupuestos.GetPresupuestosRepDetalleCompras(DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlTipoGasto.SelectedValue.ToEntero, TxtFiltrosFechaInicio.Text.ToDate, TxtFiltrosFechaFin.Text.ToDate, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
|
||||
If ObjPresupuestos.GetPresupuestosRepDetalleCompras(DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlTipoGasto.SelectedValue.ToEntero, TxtFiltrosFechaInicio.Text.ToDate,
|
||||
TxtFiltrosFechaFin.Text.ToDate, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, Comprometido:=Comprometido) Then
|
||||
GvDatos.DataSource = ObjPresupuestos.DtResultados
|
||||
End If
|
||||
ObjPresupuestos.Dispose()
|
||||
@@ -131,15 +151,21 @@ Partial Class Contratos_RepPresupuestosDetalleCompras
|
||||
Dim Liga = ""
|
||||
Dim Css = "Texto"
|
||||
|
||||
Dim TipoAgrupador As Integer = e.Row.DBCampo("TipoAgrupador").ToEntero()
|
||||
Select Case TipoAgrupador
|
||||
Case 1
|
||||
Liga = $"/Compras/Compras.aspx?&CveCompra={e.Row.DBCampo("CveCompra")}"
|
||||
Case 2
|
||||
Liga = $"/Contabilidad/RegPrePoliza.aspx?&CvePrePoliza={e.Row.DBCampo("CveCompra")}"
|
||||
Case Else
|
||||
|
||||
If Comprometido Then
|
||||
Liga = $"/OC/OC.aspx?OC={e.Row.DBCampo("CveOrdenCompra")}"
|
||||
Else
|
||||
Dim TipoAgrupador As Integer = e.Row.DBCampo("TipoAgrupador").ToEntero()
|
||||
Select Case TipoAgrupador
|
||||
Case 1
|
||||
Liga = $"/Compras/Compras.aspx?&CveCompra={e.Row.DBCampo("CveCompra")}"
|
||||
Case 2
|
||||
Liga = $"/Contabilidad/RegPrePoliza.aspx?&CvePrePoliza={e.Row.DBCampo("CveCompra")}"
|
||||
Case Else
|
||||
|
||||
End Select
|
||||
End If
|
||||
|
||||
End Select
|
||||
e.Row.Cells(0).Text = "<a target=""_blank"" class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells(0).Text + "</a>"
|
||||
End If
|
||||
End If
|
||||
|
||||
@@ -3946,7 +3946,9 @@ Partial Class Inventarios_EntradasSalidas
|
||||
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
|
||||
Dim DTOCs As DataTable = DtCostos.FiltraParametros("", "", {"CveOrdenCompraDetalle"})
|
||||
Dim ConceptoPoliza As String = String.Format("{0}-{1}", DdlConcepto.SelectedItem.Text, If(DdlConcepto.SelectedValue.ToEntero.Contiene(3), HplVenta.Text, TxtFolio.Text))
|
||||
Dim Contabilizable As Boolean = True
|
||||
Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacen.SelectedValue.ToEntero).FiltroPrimeroValor("CveModalidad").ToEntero()
|
||||
|
||||
Dim Contabilizable As Boolean = (CveModalidad = 1)
|
||||
|
||||
If tmpCostos.Rows.Count > 0 Then
|
||||
Dim Concepto As String = If(TxtObservaciones.Text = "", ConceptoPoliza, $" {TxtObservaciones.Text}")
|
||||
@@ -3955,7 +3957,7 @@ Partial Class Inventarios_EntradasSalidas
|
||||
|
||||
If HplCompra.Visible AndAlso HplCompra.Text <> "" Then
|
||||
ValorInventario = DtCostos.SUMD("Total")
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ValorInventario, ValorInventario, 205, Concepto, Concepto, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteME:=ValorInventario, CveCompra:=HdnCveCompra.Value.ToEntero, TipoCambio:=LbTipoCambio.Text.ToDecimal) Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ValorInventario, ValorInventario, 205, Concepto, Concepto, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteME:=ValorInventario, CveCompra:=HdnCveCompra.Value.ToEntero, TipoCambio:=LbTipoCambio.Text.ToDecimal, Contabilizable:=Contabilizable) Then
|
||||
ErrorMovInv = True
|
||||
End If
|
||||
' ValorInventario = ValorInventario - ValorInventarioME
|
||||
|
||||
@@ -3927,7 +3927,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
if (frow != null)
|
||||
{
|
||||
|
||||
TxtInfoValor.Text = String.Format("{0:###,###.##}", frow["Importe"]);
|
||||
TxtInfoValor.Text = String.Format("{0:###,###.####}", frow["Importe"]);
|
||||
DdlInfoTipoAplicacion.SelectedValueExist(frow["TipoAplicacion"].ToString());
|
||||
|
||||
TxtInfoDescripcion.Text = String.Format("{0}", frow["Descripcion02"]);
|
||||
|
||||
@@ -2239,7 +2239,7 @@
|
||||
<div class="row">
|
||||
<label class="col-md-2">Solicitar a:</label>
|
||||
<div class="col-md-9">
|
||||
<asp:DropDownList ID="DdlSAUsuario" CssClass="form-control input-sm select2me" DataTextField="Nombre" DataValueField="CveUsuario" runat="server" Width="100%"></asp:DropDownList>
|
||||
<asp:DropDownList ID="DdlSAUsuario" CssClass="form-control input-sm select2me" DataTextField="Nombre" DataValueField="CveUsuario" runat="server" Width="100%" CausesValidation="true"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVSAUsuario" runat="server" InitialValue="-1" ControlToValidate="DdlSAUsuario" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Usuario''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalSolicitarAnticipo"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCESAUsuario" runat="server" HighlightCssClass="vco" TargetControlID="RFVSAUsuario" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
|
||||
@@ -5464,28 +5464,46 @@ Partial Class OC_OC
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub EnviaCorreoSolicitudAnticipo(CveEvento As Integer, Optional ImporteAnticipo As Decimal = 0)
|
||||
Dim Param As New List(Of String)
|
||||
|
||||
Dim DtPara As DataTable = GlobalDTUsuarios(DdlSAUsuario.SelectedValue.ToString.ToEntero, CveEmpresaActual)
|
||||
|
||||
If DdlMetodoPago.SelectedValue.ToEntero = 0 Then
|
||||
|
||||
DtPara = GlobalDTUsuarios(DdlSAUsuarioContado.SelectedValue.ToString.ToEntero, CveEmpresaActual)
|
||||
|
||||
If DtPara Is Nothing Then
|
||||
DtPara = GlobalDTUsuarios(DdlSAUsuario.SelectedValue.ToString.ToEntero, CveEmpresaActual)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Param.Add(DtPara.Rows(0)("Correo").ToString()) 'Para
|
||||
Param.Add("Solicitud de anticipo de Orden de Compra") 'Asunto
|
||||
Try
|
||||
If DtPara IsNot Nothing AndAlso DtPara.Rows.Count > 0 Then
|
||||
|
||||
Param.Add(DtPara.Rows(0)("Correo").ToString()) 'Para
|
||||
Param.Add("Solicitud de anticipo de Orden de Compra") 'Asunto
|
||||
|
||||
|
||||
If ImporteAnticipo = 0 Then
|
||||
ImporteAnticipo = TxtSAImporte.Text.ToDecimal
|
||||
End If
|
||||
If ImporteAnticipo = 0 Then
|
||||
ImporteAnticipo = TxtSAImporte.Text.ToDecimal
|
||||
End If
|
||||
|
||||
|
||||
Param.Add(GeneraCorreoAnticipo(lblFolio.Text, DtPara.Rows(0)("Nombre").ToString(), String.Format("http://sig.adssistemas.mx/OI/EventoDetalle.aspx?CveTipoEvento=1&CveEvento={0}", CveEvento), ImporteAnticipo.ToString, DdlProveedores.SelectedText))
|
||||
Param.Add(String.Format("{0}PDF\OC-{1}.pdf", UsuarioActual.Empresa.Ruta, CveOrdenCompra))
|
||||
Dim Hilo As New Threading.Thread(AddressOf MandaCorreoAnticipo)
|
||||
Hilo.Start(Param)
|
||||
Param.Add(GeneraCorreoAnticipo(lblFolio.Text, DtPara.Rows(0)("Nombre").ToString(), String.Format("http://sig.adssistemas.mx/OI/EventoDetalle.aspx?CveTipoEvento=1&CveEvento={0}", CveEvento), ImporteAnticipo.ToString, DdlProveedores.SelectedText))
|
||||
Param.Add(String.Format("{0}PDF\OC-{1}.pdf", UsuarioActual.Empresa.Ruta, CveOrdenCompra))
|
||||
Dim Hilo As New Threading.Thread(AddressOf MandaCorreoAnticipo)
|
||||
Hilo.Start(Param)
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub EnviaCorreoSolicitudAnticipoCancelado()
|
||||
'If Not CveIEAnticipo > 0 Then 'SI NO SE HA REALIZADO EL ANTICIPO NOTIFICA QUE SE HA CANCELADO
|
||||
Dim ObjOC As New ClsOC
|
||||
|
||||
@@ -1343,8 +1343,9 @@ Partial Class Sistemas_UsuarioDetalle
|
||||
|
||||
Private Sub RecargaGlobales(TieneError As Boolean, ObjSubProyectos As ClsSubProyectos, ObjBancos As ClsBancos, ObjOC As ClsOC, ObjUsuarios As ClsSisUsuarios)
|
||||
'RECARGA GLOBAL SUBPROYECTOS
|
||||
Dim tCveEmpresa As Integer = DdlEmpresaAsignaciones.SelectedValue.ToEntero
|
||||
If Not TieneError Then
|
||||
GlobalDTSubProyectosUsuarios(-1, -1, UsuarioActual.CveEmpresa) = Nothing
|
||||
GlobalDTSubProyectosUsuarios(-1, -1, tCveEmpresa) = Nothing
|
||||
|
||||
'If ObjSubProyectos.GetSubProyectosUsuarios Then
|
||||
' Application("GlobalDTSubProyectosUsuarios") = ObjSubProyectos.DtResultados
|
||||
@@ -1355,7 +1356,7 @@ Partial Class Sistemas_UsuarioDetalle
|
||||
End If
|
||||
|
||||
If Not TieneError Then
|
||||
GlobalDTProyectosUsuarios(-1, -1, UsuarioActual.CveEmpresa, -1) = Nothing
|
||||
GlobalDTProyectosUsuarios(-1, -1, tCveEmpresa, -1) = Nothing
|
||||
'If ObjSubProyectos.GetSubProyectosUsuarios Then
|
||||
' Application("GlobalDTProyectosUsuarios") = ObjSubProyectos.DtResultados.FiltraParametros("", "", {"Proyecto", "CveProyecto", "CveUsuario", "CveEmpresa", "CveEstatusProyecto"})
|
||||
'Else
|
||||
@@ -1366,23 +1367,23 @@ Partial Class Sistemas_UsuarioDetalle
|
||||
|
||||
'RECARGA GLOBAL BANCOS
|
||||
'If ObjBancos.GetBancosCuentasUsuarios(-1) Then
|
||||
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing 'ObjBancos.DtResultados
|
||||
GlobalDTBancosCuentas(-1, CveEmpresa:=tCveEmpresa) = Nothing 'ObjBancos.DtResultados
|
||||
' End If
|
||||
|
||||
'RECARGA GLOBAL ESTATUS
|
||||
GlobalDTOCEstatusUsuarios(UsuarioActual.CveEmpresa) = Nothing
|
||||
GlobalDTOCEstatusUsuarios(tCveEmpresa) = Nothing
|
||||
|
||||
'If ObjOC.GetEstatusUsuarios(-1, -1, -1, -1, -1) Then Application("GlobalDTOCEstatusUsuarios") = ObjOC.DtResultados Else Application("GlobalDTOCEstatusUsuarios") = Nothing
|
||||
|
||||
|
||||
'RECARGA GLOBAL ALMACEN
|
||||
'If ObjUsuarios.GetAlmacen(-1, UsuarioActual.CveEmpresa) Then Application("GlobalDTAlmacenUsuarios") = ObjUsuarios.DtResultados Else Application("GlobalDTAlmacenUsuarios") = Nothing
|
||||
GlobalDTAlmacenUsuarios(-1, UsuarioActual.CveEmpresa) = Nothing
|
||||
GlobalDTAlmacenUsuarios(-1, tCveEmpresa) = Nothing
|
||||
|
||||
'RECARGA GLOBAL EMPRESAS USUARIOS
|
||||
GlobalDTAlmacenUsuarios(-1, UsuarioActual.CveEmpresa) = Nothing
|
||||
GlobalDTUsuarioResponsable(UsuarioActual.CveEmpresa) = Nothing
|
||||
GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
|
||||
GlobalDTAlmacenUsuarios(-1, tCveEmpresa) = Nothing
|
||||
GlobalDTUsuarioResponsable(tCveEmpresa) = Nothing
|
||||
GlobalDTUsuarios(CveEmpresa:=tCveEmpresa) = Nothing
|
||||
GlobalDTUsuarios(CveEmpresa:=-1) = Nothing
|
||||
|
||||
|
||||
|
||||
@@ -80,6 +80,9 @@
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkGenerarEtiqueta" runat="server" data-toggle="tooltip" data-placement="left" title="Generar Etiqueta" Visible="false" OnClick="LnkGenerarEtiqueta_Click" Text="<i class='fa fa-qrcode'></i> Imprimir Etiqueta"></asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkEquivalenciaAdd" runat="server" data-toggle="tooltip" data-placement="left" title="Agregar Equivalencia" OnClick="LnkEquivalenciaAdd_Click" Text="<i class='fa fa-plus'></i> Agregar Equivalencia"></asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
|
||||
</asp:UpdatePanel>
|
||||
@@ -355,6 +358,7 @@
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
a
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -2086,6 +2090,46 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="divEquivalenciaModal" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UPPEquiv" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title" id="H1" runat="server">Equivalencia</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlEquivalenciaUM" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" Width="206px">
|
||||
</asp:DropDownList>
|
||||
<label for="<%= DdlEquivalenciaUM.ClientID.ToString()%>">Unidad de Medida:</label>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlEquivalenciaUM" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Unidad de medida''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEliminarPS"></asp:RequiredFieldValidator>
|
||||
<i></i>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtCantidadEquivalencia" runat="server" Width="60" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<label for="<%= TxtCantidadEquivalencia.ClientID.ToString()%>">Cantidad:</label>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtDescripcion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEliminarPS"></asp:RequiredFieldValidator>
|
||||
<i></i>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<asp:UpdatePanel ID="UpdatePanel5" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:LinkButton ID="LnkAgregarEquivalencia" runat="server" CssClass="btn btn-primary" OnClick="LnkAgregarEquivalencia_Click"> Guardar</asp:LinkButton>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="ModalCodigoBarrasQR" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
|
||||
@@ -3689,4 +3689,24 @@ Partial Class ProductosyServicios
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkEquivalenciaAdd_Click(sender As Object, e As EventArgs)
|
||||
DdlEquivalenciaUM.Items.Clear()
|
||||
DdlEquivalenciaUM.DataSource = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa)
|
||||
DdlEquivalenciaUM.DataBind()
|
||||
UPPEquiv.Update()
|
||||
RegistraScript(String.Format("$('#{0}').modal('show');", "divEquivalenciaModal"))
|
||||
End Sub
|
||||
|
||||
Protected Sub LnkAgregarEquivalencia_Click(sender As Object, e As EventArgs)
|
||||
Dim Ps As New ClsProductosServicios
|
||||
|
||||
If Ps.AddPSEquivalencias(CvePS, DdlEquivalenciaUM.SelectedValue.ToEntero, TxtCantidadEquivalencia.Text.ToDecimal, False, 0, UsuarioActual.CveUsuario) Then
|
||||
Alert("Equivalencia registrada correctamente.", TipoMensaje.ToastInformacion)
|
||||
CargaEquivalencias()
|
||||
RegistraScript(String.Format("$('#{0}').modal('hide');", "divEquivalenciaModal"))
|
||||
End If
|
||||
|
||||
Ps.Dispose()
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
|
||||
<asp:Literal runat="server" ID="LtlEncabezado" Text="Reporte Lineas Adicionales"></asp:Literal>
|
||||
<asp:Literal runat="server" ID="LtlEncabezado" Text="Reporte Vencimientos"></asp:Literal>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
|
||||
</asp:Content>
|
||||
@@ -38,17 +38,45 @@
|
||||
</div>
|
||||
<div class="titlefiltros caption">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-1 truncate" runat="server" id="DVProveedor1" visible="false">Comercializador:</div>
|
||||
<div class="col-md-2" runat="server" id="DVProveedor2" visible="false">
|
||||
<ADS:Dropdownlost ID="DdlProveedor" SelectedText="-" runat="server" CssStyle="width: 100%; selected2me; " Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="select2me"></ADS:Dropdownlost>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-1 truncate" >Cliente:</div>
|
||||
<div class="col-md-2 ">
|
||||
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente" UsaWebService="true" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"></ADS:Dropdownlost>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 truncate">
|
||||
Fecha Inicio:
|
||||
</div>
|
||||
<div class="col-md-1" style="min-width: 115px">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<div class="col-md-1 truncate">
|
||||
Fecha Fin:
|
||||
</div>
|
||||
<div class="col-md-1" style="min-width: 115px">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<div class="col-md-1 truncate" >Estatus:</div>
|
||||
<div class="col-md-1 ">
|
||||
<asp:DropDownList runat="server" ID="DdlEstatus" CssClass="select2me" Width="100%">
|
||||
@@ -88,8 +116,8 @@
|
||||
|
||||
<div class="row " runat="server" visible ="false" id="DvLinea">
|
||||
<div class=" col-md-12" style="text-align: right!important">
|
||||
<input type="text" id="TxtBuscarLineaAdicional" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBuscarLineaAdicional','{0}')", GvLineasAdicionales.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBuscarLineaAdicional','{0}')", GvLineasAdicionales.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
<input type="text" id="TxtBuscarLineaAdicional" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBuscarLineaAdicional','{0}')", GvD.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBuscarLineaAdicional','{0}')", GvD.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -104,7 +132,7 @@
|
||||
<div class="row ">
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvLineasAdicionales" Width="100%" runat="server" GridLines="None" Visible="false"
|
||||
<asp:GridView ID="GvD" Width="100%" runat="server" GridLines="None" Visible="false"
|
||||
DataKeyNames="CveLineaAdicional,LineaAdicional,CveCliente,CveProveedor,TipoLinea,Importe,CveMoneda,FechaVencimiento,CveUsuario,CveCategoria,FechaIng,CveLineaAdicionalEstatus,Proveedor,LineaAdicionalComprobante,DiasVencimiento,CveVenta"
|
||||
CssClass="table table-striped table-advance table-hover ScrollAD input-sm " ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
|
||||
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
|
||||
|
||||
@@ -27,17 +27,17 @@ public partial class Ventas_RepVencimientosCredito : ClsPaginas
|
||||
|
||||
private int TipoLinea
|
||||
{
|
||||
get { return (ViewState["TipoLinea"] == null) ? 1: int.Parse(ViewState["TipoLinea"].ToString()); }
|
||||
get { return (ViewState["TipoLinea"] == null) ? 1: int.Parse(ViewState["TipoLinea"].ToString()); }
|
||||
set { ViewState["TipoLinea"] = (int)value; }
|
||||
}
|
||||
|
||||
private DataTable DTDatosGvLineasAdicionales
|
||||
private DataTable DTDatosGvD
|
||||
{
|
||||
get
|
||||
get
|
||||
{
|
||||
if (ViewState["DTDatosGvLineasAdicionales"] == null)
|
||||
if (ViewState["DTDatosGvD"] == null)
|
||||
{
|
||||
ViewState["DTDatosGvLineasAdicionales"] = new DataTable();
|
||||
ViewState["DTDatosGvD"] = new DataTable();
|
||||
}
|
||||
return (DataTable)ViewState["DTDatosGvD"];
|
||||
}
|
||||
@@ -66,45 +66,14 @@ public partial class Ventas_RepVencimientosCredito : ClsPaginas
|
||||
InicializaValores();
|
||||
CargaDatos();
|
||||
}
|
||||
}
|
||||
|
||||
private void InicializaValores()
|
||||
{
|
||||
|
||||
if (Request["OP"] != null && Request["OP"].ToString() == "PO")
|
||||
{
|
||||
DVProveedor1.Visible = true;
|
||||
DVProveedor2.Visible = true;
|
||||
TipoLinea = 2;
|
||||
LtlEncabezado.Text = "Reporte PO";
|
||||
GvLAPO.Visible = true;
|
||||
DvLineaPO.Visible = true;
|
||||
DVAgrupador1.Visible = true;
|
||||
DVAgrupador2.Visible = true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
DvLinea.Visible = true;
|
||||
GvLineasAdicionales.Visible = true;
|
||||
}
|
||||
|
||||
|
||||
if(UsuarioActual.Empresa.Funcionalidad(105) == "1") {
|
||||
DdlProveedor.setEsWebService(true);
|
||||
DdlProveedor.Attributes.Add("data-metodo", "getproveedores");
|
||||
DdlProveedor.SelectedText = "Todos";
|
||||
DdlProveedor.SelectedValue = "-1";
|
||||
}else {
|
||||
DdlProveedor.setEsWebService(false);
|
||||
DdlProveedor.ddl.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
|
||||
}
|
||||
|
||||
private void InicializaValores()
|
||||
{
|
||||
txtFechaI.Text = NowADS().FirstDayOfMonth().ToShortDateString();
|
||||
txtFechaF.Text = NowADS().ToShortDateString();
|
||||
|
||||
DdlClientes.setEsWebService(true);
|
||||
DdlClientes.Attributes.Add("data-metodo", "getcliente");
|
||||
DdlClientes.SelectedText = "Todos";
|
||||
DdlClientes.setEsWebService(true);
|
||||
DdlClientes.Attributes.Add("data-metodo", "getcliente");
|
||||
DdlClientes.SelectedText = "Todos";
|
||||
DdlClientes.SelectedValue = "-1";
|
||||
@@ -115,29 +84,29 @@ public partial class Ventas_RepVencimientosCredito : ClsPaginas
|
||||
protected void BtnConsultar_Click(object sender, EventArgs e)
|
||||
{
|
||||
CargaDatos();
|
||||
}
|
||||
}
|
||||
|
||||
private void CargaDatos()
|
||||
{
|
||||
DTDatosGvD = new DataTable();
|
||||
LnkDescargaExcel.Visible = false;
|
||||
LnkDescargaExcel.Visible = false;
|
||||
|
||||
ClsVentas objVentas = new ClsVentas();
|
||||
|
||||
int CveProveedor = DdlProveedor.SelectedValue.ToEntero() > 0 ? DdlProveedor.SelectedValue.ToEntero() : -1;
|
||||
int CveProveedor = -1;
|
||||
|
||||
if(TipoLinea == 1)
|
||||
if(TipoLinea == 1)
|
||||
{
|
||||
if (objVentas.GetLineasAdicionalesVencimientos( DdlClientes.SelectedValue.ToEntero(), 1, txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 1, UsuarioActual.CveEmpresa))
|
||||
{
|
||||
GvLineasAdicionales.DataSource = objVentas.DtResultados;
|
||||
GvD.DataSource = objVentas.DtResultados;
|
||||
|
||||
if (objVentas.DtResultados.Rows.Count > 0)
|
||||
{
|
||||
DTDatosGvD = objVentas.DtResultados;
|
||||
LnkDescargaExcel.Visible = true;
|
||||
UpAcciones.Update();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -157,7 +126,7 @@ public partial class Ventas_RepVencimientosCredito : ClsPaginas
|
||||
|
||||
if (objVentas.RepLineasAdicionales(DdlAgrupador.SelectedValue.ToEntero(), -1, DdlClientes.SelectedValue.ToEntero(), CveProveedor, 2, -1, MinFecha, MaxFecha, DdlEstatus.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa))
|
||||
{
|
||||
GvLAPO.DataSource = objVentas.DtResultados;
|
||||
GvLAPO.DataSource = objVentas.DtResultados;
|
||||
|
||||
if (objVentas.DtResultados.Rows.Count > 0)
|
||||
{
|
||||
@@ -169,7 +138,7 @@ public partial class Ventas_RepVencimientosCredito : ClsPaginas
|
||||
else
|
||||
{
|
||||
GvLAPO.DataSource = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
objVentas.Dispose();
|
||||
@@ -301,7 +270,7 @@ public partial class Ventas_RepVencimientosCredito : ClsPaginas
|
||||
objVentas.Dispose();
|
||||
}
|
||||
|
||||
protected void LnkDescargaExcel_Click(object sender, EventArgs e)
|
||||
protected void LnkDescargaExcel_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(TipoLinea == 1)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user