Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -742,7 +742,7 @@ Namespace Modelos
|
|||||||
|
|
||||||
Return Not ErrorPrePolizas
|
Return Not ErrorPrePolizas
|
||||||
End Function
|
End Function
|
||||||
Public Function EmitirFactura(Optional Timbrar As Boolean = True, Optional Transac As SqlClient.SqlTransaction = Nothing, Optional Modulo As String = "Modelos/GuardarVentaM") As MMensajeFactura
|
Public Function EmitirFactura(Optional Timbrar As Boolean = True, Optional Transac As SqlClient.SqlTransaction = Nothing, Optional Modulo As String = "Modelos/GuardarVentaM", Optional MostrarURL As Boolean = False) As MMensajeFactura
|
||||||
Dim Retorno As New MMensajeFactura()
|
Dim Retorno As New MMensajeFactura()
|
||||||
|
|
||||||
If Me.Version = "3.3" AndAlso Not Me.TipoDocto.Contiene("Ped", "PeC") Then
|
If Me.Version = "3.3" AndAlso Not Me.TipoDocto.Contiene("Ped", "PeC") Then
|
||||||
@@ -843,51 +843,51 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'SI ES REFACTURACION
|
'SI ES REFACTURACION
|
||||||
Dim ObjNC As List(Of Object) = Nothing
|
'Dim ObjNC As List(Of Object) = Nothing
|
||||||
If ErrorList.Count = 0 Then
|
'If ErrorList.Count = 0 Then
|
||||||
If NuevaFactura = 1 AndAlso FacturaDevolucion IsNot Nothing Then
|
' If NuevaFactura = 1 AndAlso FacturaDevolucion IsNot Nothing Then
|
||||||
|
|
||||||
ObjNC = GeneraNC(ObjVentas, ObjConta, ObjInventario, ObjContr, FacturaDevolucion, ObjBancos, ObjEventos)
|
' ObjNC = GeneraNC(ObjVentas, ObjConta, ObjInventario, ObjContr, FacturaDevolucion, ObjBancos, ObjEventos)
|
||||||
|
|
||||||
If ObjNC Is Nothing Then
|
' If ObjNC Is Nothing Then
|
||||||
ErrorList.Add("No se pudo Cancelar la Factura")
|
' ErrorList.Add("No se pudo Cancelar la Factura")
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
'Esquema viejo, evitamos que aparezca por surtir
|
' 'Esquema viejo, evitamos que aparezca por surtir
|
||||||
If ErrorList.Count = 0 Then
|
' If ErrorList.Count = 0 Then
|
||||||
If Not ObjInventario.ActualizarEsDevolucionVenta(CveVenta, 2) Then
|
' If Not ObjInventario.ActualizarEsDevolucionVenta(CveVenta, 2) Then
|
||||||
ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura")
|
' ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura")
|
||||||
End If
|
' End If
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
End If
|
' End If
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
'SI ES amortizacion 3.3
|
'SI ES amortizacion 3.3
|
||||||
Dim Obj2 As New List(Of Object)
|
'Dim Obj2 As New List(Of Object)
|
||||||
|
|
||||||
If ErrorList.Count = 0 Then
|
'If ErrorList.Count = 0 Then
|
||||||
' cambiar la condicion para saber si hay seleccionado
|
' ' cambiar la condicion para saber si hay seleccionado
|
||||||
If TieneAnticipo AndAlso Me.CveTipoAmortizacionAnticipo = 2 Then
|
' If TieneAnticipo AndAlso Me.CveTipoAmortizacionAnticipo = 2 Then
|
||||||
|
|
||||||
If TieneAnticipo Then
|
' If TieneAnticipo Then
|
||||||
Try
|
' Try
|
||||||
'DESCOMENTAR
|
' 'DESCOMENTAR
|
||||||
If RegistrarNCAmortizacion(ObjVentas, ObjConta, ObjInventario, ObjContr, FacturaDevolucion, ObjBancos, Nothing, Nothing) Then
|
' If RegistrarNCAmortizacion(ObjVentas, ObjConta, ObjInventario, ObjContr, FacturaDevolucion, ObjBancos, Nothing, Nothing) Then
|
||||||
Obj2.Add(FacturaDevolucion)
|
' Obj2.Add(FacturaDevolucion)
|
||||||
End If
|
' End If
|
||||||
Catch ex As Exception
|
' Catch ex As Exception
|
||||||
ErrorList.Add("No se pudo generarse la nota de crédito de amortización")
|
' ErrorList.Add("No se pudo generarse la nota de crédito de amortización")
|
||||||
End Try
|
' End Try
|
||||||
|
|
||||||
|
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
If Obj2 Is Nothing AndAlso Obj2.Count = 0 Then
|
' If Obj2 Is Nothing AndAlso Obj2.Count = 0 Then
|
||||||
ErrorList.Add("No se pudo generarse la nota de crédito de amortización")
|
' ErrorList.Add("No se pudo generarse la nota de crédito de amortización")
|
||||||
End If
|
' End If
|
||||||
End If
|
' End If
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
'MARCA PARA NO SURTIR VENTA DE COTNRATO DE CONSIGNACION DE VENTA | [IPP] : PARCHE
|
'MARCA PARA NO SURTIR VENTA DE COTNRATO DE CONSIGNACION DE VENTA | [IPP] : PARCHE
|
||||||
If ErrorList.Count = 0 Then
|
If ErrorList.Count = 0 Then
|
||||||
@@ -1059,15 +1059,15 @@ Namespace Modelos
|
|||||||
SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, Me, CvePACEspecial:=CvePAC)
|
SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, Me, CvePACEspecial:=CvePAC)
|
||||||
|
|
||||||
'NOTA DE CREDITO - REFACTURADA - CASO ESPECIAL, TIMBRADO E IMPRESION
|
'NOTA DE CREDITO - REFACTURADA - CASO ESPECIAL, TIMBRADO E IMPRESION
|
||||||
If Not IsNothing(Obj2) AndAlso Obj2.Count > 0 Then
|
'If Not IsNothing(Obj2) AndAlso Obj2.Count > 0 Then
|
||||||
Dim ofa As Modelos.Factura = CType(Obj2(0), Modelos.Factura)
|
' Dim ofa As Modelos.Factura = CType(Obj2(0), Modelos.Factura)
|
||||||
'asigna el foliofiscal del ingreso que se acaba de timbrar, cuando es amortización de anticipo con NC
|
' 'asigna el foliofiscal del ingreso que se acaba de timbrar, cuando es amortización de anticipo con NC
|
||||||
If TieneAnticipo AndAlso CveTipoAmortizacionAnticipo = 2 Then
|
' If TieneAnticipo AndAlso CveTipoAmortizacionAnticipo = 2 Then
|
||||||
ofa.Timbre.CFDIRelacionados.UUID.Clear()
|
' ofa.Timbre.CFDIRelacionados.UUID.Clear()
|
||||||
ofa.Timbre.CFDIRelacionados.UUID.Add(ObjTimbrado.UUID)
|
' ofa.Timbre.CFDIRelacionados.UUID.Add(ObjTimbrado.UUID)
|
||||||
End If
|
' End If
|
||||||
ObjTimbrado.TimbrarFactura(UsuarioActual, ofa)
|
' ObjTimbrado.TimbrarFactura(UsuarioActual, ofa)
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
If SeTimbro AndAlso Me.TipoDocto.Contiene("Ing") Then
|
If SeTimbro AndAlso Me.TipoDocto.Contiene("Ing") Then
|
||||||
EstatusSMS = EnviarSMSTimbrado(ObjEventos)
|
EstatusSMS = EnviarSMSTimbrado(ObjEventos)
|
||||||
@@ -1080,12 +1080,12 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'NOTA DE CREDITO DE REFACTURACION
|
'NOTA DE CREDITO DE REFACTURACION
|
||||||
If RefacturacionGeneroNC Then
|
'If RefacturacionGeneroNC Then
|
||||||
If Not IsNothing(ObjNC) AndAlso ObjNC.Count > 0 Then
|
' If Not IsNothing(ObjNC) AndAlso ObjNC.Count > 0 Then
|
||||||
Dim ofa As Modelos.Factura = CType(ObjNC(0), Modelos.Factura)
|
' Dim ofa As Modelos.Factura = CType(ObjNC(0), Modelos.Factura)
|
||||||
SeTimbroNC = ObjTimbrado.TimbrarFactura(UsuarioActual, ofa)
|
' SeTimbroNC = ObjTimbrado.TimbrarFactura(UsuarioActual, ofa)
|
||||||
End If
|
' End If
|
||||||
End If
|
'End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -1117,8 +1117,12 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'MENSAJE PRINCIPAL
|
'MENSAJE PRINCIPAL
|
||||||
MensajeAlert.AppendFormat(String.Format("<br/>La {0}: <b>{1}</b> se generó correctamente.<br/><br/>", If(Me.TipoDocumento = "Ingresos", "Factura", Me.TipoDocumento), Me.SerieFolio))
|
|
||||||
|
|
||||||
|
If MostrarURL Then
|
||||||
|
MensajeAlert.AppendFormat("<br/>La {0}: <a class=""Texto"" target=""_blank"" href=""/Ventas/Ventas.aspx?CveVenta={2}""><b></b>{1}</a> se generó correctamente.<br/><br/>", If(Me.TipoDocumento = "Ingresos", "Factura", Me.TipoDocumento), Me.SerieFolio, Me.CveVenta)
|
||||||
|
Else
|
||||||
|
MensajeAlert.AppendFormat(String.Format("<br/>La {0}: <b>{1}</b> se generó correctamente.<br/><br/>", If(Me.TipoDocumento = "Ingresos", "Factura", Me.TipoDocumento), Me.SerieFolio))
|
||||||
|
End If
|
||||||
|
|
||||||
' DESCARGA XML - SI SE TIMBRA MANDA CORREO CON FACTURA
|
' DESCARGA XML - SI SE TIMBRA MANDA CORREO CON FACTURA
|
||||||
If SeTimbro Then
|
If SeTimbro Then
|
||||||
@@ -1158,9 +1162,9 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
'ERROR DE NO TIMBRADO NC
|
'ERROR DE NO TIMBRADO NC
|
||||||
If Not IsNothing(ObjNC) AndAlso ObjNC.Count > 0 AndAlso Not SeTimbroNC Then
|
'If Not IsNothing(ObjNC) AndAlso ObjNC.Count > 0 AndAlso Not SeTimbroNC Then
|
||||||
MensajeAlert.AppendFormat("<br/>La NC <b>#{0}</b> no se pudo timbrar.</b> Por favor intentelo de nuevo a traves del boton Emitir.", CType(ObjNC(0), Modelos.Factura).SerieFolio)
|
' MensajeAlert.AppendFormat("<br/>La NC <b>#{0}</b> no se pudo timbrar.</b> Por favor intentelo de nuevo a traves del boton Emitir.", CType(ObjNC(0), Modelos.Factura).SerieFolio)
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
'NOTIFICACION DE SMS
|
'NOTIFICACION DE SMS
|
||||||
Select Case EstatusSMS
|
Select Case EstatusSMS
|
||||||
@@ -1194,9 +1198,9 @@ Namespace Modelos
|
|||||||
MensajeAlert.AppendFormat("<br/><br/><b><a target='_blank' class='Texto' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">Movimiento de Almacén</a></b><br/>", Me.Inv_CveMovimiento)
|
MensajeAlert.AppendFormat("<br/><br/><b><a target='_blank' class='Texto' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">Movimiento de Almacén</a></b><br/>", Me.Inv_CveMovimiento)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If TieneAnticipo AndAlso CveTipoAmortizacionAnticipo = 2 Then
|
'If TieneAnticipo AndAlso CveTipoAmortizacionAnticipo = 2 Then
|
||||||
MensajeAlert.AppendFormat("<br/><br/><b> Se generó una Nota de crédito Folio: {0} amortizando el anticipo </b><br/>", FacturaDevolucion.Folio)
|
' MensajeAlert.AppendFormat("<br/><br/><b> Se generó una Nota de crédito Folio: {0} amortizando el anticipo </b><br/>", FacturaDevolucion.Folio)
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
If SeTimbro AndAlso CveFacturacionAcarreo > 0 Then
|
If SeTimbro AndAlso CveFacturacionAcarreo > 0 Then
|
||||||
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" target=""_blank"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", CveVenta)))
|
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" target=""_blank"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1", CveVenta)))
|
||||||
@@ -1901,110 +1905,110 @@ Namespace Modelos
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
#Region " GUARDAR - VENTA, PREPOLIZAS, INV, NC , ESTIMACIONES, AC, NOTA DE CRÉDITO "
|
#Region " GUARDAR - VENTA, PREPOLIZAS, INV, NC , ESTIMACIONES, AC, NOTA DE CRÉDITO "
|
||||||
Private Function RegistrarNCAmortizacion(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjInventario As ClsInventarios, ObjContr As ClsContratos, ByVal factura As Modelos.Factura, ObjBancos As ClsBancos, TmpDTconceptos As DataTable, ByRef ObjEventos As ClsOIEventos) As Boolean
|
'Private Function RegistrarNCAmortizacion(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjInventario As ClsInventarios, ObjContr As ClsContratos, ByVal factura As Modelos.Factura, ObjBancos As ClsBancos, TmpDTconceptos As DataTable, ByRef ObjEventos As ClsOIEventos) As Boolean
|
||||||
Dim ProcesoCorrecto As Boolean = True
|
' Dim ProcesoCorrecto As Boolean = True
|
||||||
|
|
||||||
'Generamos el nuevo folio
|
' 'Generamos el nuevo folio
|
||||||
Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
|
' Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
|
||||||
|
|
||||||
If ObjFolios.GetFolios(factura.TipoDocto, UsuarioActual.CveEmpresa) Then
|
' If ObjFolios.GetFolios(factura.TipoDocto, UsuarioActual.CveEmpresa) Then
|
||||||
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", Me.CveSubProyecto))
|
' Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", Me.CveSubProyecto))
|
||||||
If DT.Rows.Count > 0 Then
|
' If DT.Rows.Count > 0 Then
|
||||||
factura.Folio = DT.Rows(0)("FActual").ToString.ToEntero
|
' factura.Folio = DT.Rows(0)("FActual").ToString.ToEntero
|
||||||
Else
|
' Else
|
||||||
ProcesoCorrecto = False
|
' ProcesoCorrecto = False
|
||||||
End If
|
' End If
|
||||||
DT.Dispose()
|
' DT.Dispose()
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
'** genero los datos de la NC
|
' '** genero los datos de la NC
|
||||||
Dim tmpcon As DataTable = DtDetalle.Clone
|
' Dim tmpcon As DataTable = DtDetalle.Clone
|
||||||
tmpcon.Clear()
|
' tmpcon.Clear()
|
||||||
|
|
||||||
Dim drpss As DataRow = ClsPaginas.GlobalDTPS(UsuarioActual.CveEmpresa, SATClavePS:="84111506").FiltroPrimero("SATClavePS = '84111506'")
|
' Dim drpss As DataRow = ClsPaginas.GlobalDTPS(UsuarioActual.CveEmpresa, SATClavePS:="84111506").FiltroPrimero("SATClavePS = '84111506'")
|
||||||
|
|
||||||
If drpss IsNot Nothing Then
|
' If drpss IsNot Nothing Then
|
||||||
Dim ii As Integer = 1
|
' Dim ii As Integer = 1
|
||||||
Dim CveVentaP As Integer = 0
|
' Dim CveVentaP As Integer = 0
|
||||||
For Each gvrt As DataRow In DtAnticipos.Rows
|
' For Each gvrt As DataRow In DtAnticipos.Rows
|
||||||
Dim CveSub As Integer = DtDetalle.FiltroPrimeroValor("CveSubProyecto").ToEntero
|
' Dim CveSub As Integer = DtDetalle.FiltroPrimeroValor("CveSubProyecto").ToEntero
|
||||||
Dim dr As DataRow = tmpcon.NewRow
|
' Dim dr As DataRow = tmpcon.NewRow
|
||||||
Dim Cantidad As Decimal = 1
|
' Dim Cantidad As Decimal = 1
|
||||||
Dim PU As Decimal = gvrt("Importe").ToString().ToDecimal()
|
' Dim PU As Decimal = gvrt("Importe").ToString().ToDecimal()
|
||||||
Dim TotalCalculableImpuestos As Decimal = (Cantidad * (PU))
|
' Dim TotalCalculableImpuestos As Decimal = (Cantidad * (PU))
|
||||||
dr("CvePS") = drpss("CvePS")
|
' dr("CvePS") = drpss("CvePS")
|
||||||
dr("PS") = drpss("PS")
|
' dr("PS") = drpss("PS")
|
||||||
dr("OBS") = drpss("PS")
|
' dr("OBS") = drpss("PS")
|
||||||
dr("PU") = PU
|
' dr("PU") = PU
|
||||||
dr("Cantidad") = Cantidad
|
' dr("Cantidad") = Cantidad
|
||||||
dr("CveUM") = drpss("CveUnidadMedida")
|
' dr("CveUM") = drpss("CveUnidadMedida")
|
||||||
dr("SATClaveProdServ") = "84111506"
|
' dr("SATClaveProdServ") = "84111506"
|
||||||
dr("SATClaveUM") = "ACT"
|
' dr("SATClaveUM") = "ACT"
|
||||||
dr("Consec") = ii
|
' dr("Consec") = ii
|
||||||
|
|
||||||
If drpss("IVA").ToString = "-1" Then
|
' If drpss("IVA").ToString = "-1" Then
|
||||||
dr("PorcentajeIVA") = SubProyectoPorcentajeIVA
|
' dr("PorcentajeIVA") = SubProyectoPorcentajeIVA
|
||||||
Else
|
' Else
|
||||||
dr("PorcentajeIVA") = drpss("IVA")
|
' dr("PorcentajeIVA") = drpss("IVA")
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
dr("IVA") = dr("PorcentajeIVA")
|
' dr("IVA") = dr("PorcentajeIVA")
|
||||||
dr("ImporteIVA") = Math.Round(dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, 2)
|
' dr("ImporteIVA") = Math.Round(dr("PorcentajeIVA").ToString.ToDecimal * TotalCalculableImpuestos, 2)
|
||||||
|
|
||||||
dr("ImporteRetIVA") = Math.Round(Me.Cliente.RetIVA * TotalCalculableImpuestos, 2)
|
' dr("ImporteRetIVA") = Math.Round(Me.Cliente.RetIVA * TotalCalculableImpuestos, 2)
|
||||||
dr("ImporteRetISR") = Math.Round(Me.Cliente.RetIVA * TotalCalculableImpuestos, 2)
|
' dr("ImporteRetISR") = Math.Round(Me.Cliente.RetIVA * TotalCalculableImpuestos, 2)
|
||||||
dr("PorcentajeRetIVA") = Me.Cliente.RetIVA
|
' dr("PorcentajeRetIVA") = Me.Cliente.RetIVA
|
||||||
dr("PorcentajeRetISR") = Me.Cliente.RetISR
|
' dr("PorcentajeRetISR") = Me.Cliente.RetISR
|
||||||
dr("PorcentajeIEPS") = 0 ' DrPS("IEPSPorcentaje")
|
' dr("PorcentajeIEPS") = 0 ' DrPS("IEPSPorcentaje")
|
||||||
dr("ImporteIEPS") = 0 'Math.Round(DrPS("IEPSPorcentaje").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
|
' dr("ImporteIEPS") = 0 'Math.Round(DrPS("IEPSPorcentaje").ToString.ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
|
||||||
dr("IEPS") = dr("ImporteIEPS")
|
' dr("IEPS") = dr("ImporteIEPS")
|
||||||
dr("Descuento") = Math.Round(0, 2)
|
' dr("Descuento") = Math.Round(0, 2)
|
||||||
dr("TipoDescuento") = TipoDescuento
|
' dr("TipoDescuento") = TipoDescuento
|
||||||
dr("Total") = (Cantidad * PU)
|
' dr("Total") = (Cantidad * PU)
|
||||||
dr("CveClasificacion") = drpss("CveClasificacion")
|
' dr("CveClasificacion") = drpss("CveClasificacion")
|
||||||
dr("CveSubProyecto") = CveSub
|
' dr("CveSubProyecto") = CveSub
|
||||||
dr("TotalImporte") = Math.Round(Cantidad * PU, 2)
|
' dr("TotalImporte") = Math.Round(Cantidad * PU, 2)
|
||||||
CveVentaP = gvrt("CveVenta").ToString().ToEntero()
|
' CveVentaP = gvrt("CveVenta").ToString().ToEntero()
|
||||||
tmpcon.Rows.Add(dr)
|
' tmpcon.Rows.Add(dr)
|
||||||
ii += 1
|
' ii += 1
|
||||||
|
|
||||||
Next
|
' Next
|
||||||
|
|
||||||
'**** impuestos locales
|
' '**** impuestos locales
|
||||||
|
|
||||||
|
|
||||||
factura.DtDetalle = tmpcon
|
' factura.DtDetalle = tmpcon
|
||||||
Dim TotalSubTotal As Decimal = tmpcon.SUM("TotalImporte")
|
' Dim TotalSubTotal As Decimal = tmpcon.SUM("TotalImporte")
|
||||||
Dim TotalDescuentos As Decimal = tmpcon.SUM("Descuento")
|
' Dim TotalDescuentos As FunctionDecimal = tmpcon.SUM("Descuento")
|
||||||
|
|
||||||
Dim TotalIVA As Decimal = tmpcon.SUM("ImporteIVA")
|
' Dim TotalIVA As Decimal = tmpcon.SUM("ImporteIVA")
|
||||||
Dim TotalIEPS As Decimal = tmpcon.SUM("ImporteIEPS")
|
' Dim TotalIEPS As Decimal = tmpcon.SUM("ImporteIEPS")
|
||||||
Dim TotalRetIVA As Decimal = tmpcon.SUM("ImporteRetIVA")
|
' Dim TotalRetIVA As Decimal = tmpcon.SUM("ImporteRetIVA")
|
||||||
Dim TotalRetISR As Decimal = tmpcon.SUM("ImporteRetISR")
|
' Dim TotalRetISR As Decimal = tmpcon.SUM("ImporteRetISR")
|
||||||
Dim Total As Decimal = 0
|
' Dim Total As Decimal = 0
|
||||||
Dim TotalImpuestosLocales As Decimal = 0
|
' Dim TotalImpuestosLocales As Decimal = 0
|
||||||
Total = (TotalSubTotal - TotalDescuentos + TotalIVA + TotalIEPS - TotalRetIVA - TotalRetISR - TotalImpuestosLocales)
|
' Total = (TotalSubTotal - TotalDescuentos + TotalIVA + TotalIEPS - TotalRetIVA - TotalRetISR - TotalImpuestosLocales)
|
||||||
|
|
||||||
factura.SubTotal = TotalSubTotal
|
' factura.SubTotal = TotalSubTotal
|
||||||
factura.Descuento = 0
|
' factura.Descuento = 0
|
||||||
factura.IVA = TotalIVA
|
' factura.IVA = TotalIVA
|
||||||
factura.IEPS = TotalIEPS
|
' factura.IEPS = TotalIEPS
|
||||||
factura.RetIVA = TotalRetIVA
|
' factura.RetIVA = TotalRetIVA
|
||||||
factura.RetISR = TotalRetISR
|
' factura.RetISR = TotalRetISR
|
||||||
factura.Total = Total
|
' factura.Total = Total
|
||||||
factura.CveVentaPadre = CveVentaP
|
' factura.CveVentaPadre = CveVentaP
|
||||||
|
|
||||||
'Registramos la venta
|
' 'Registramos la venta
|
||||||
GuardarVenta(factura, ObjVentas, ObjConta, ObjInventario, ObjContr, tmpcon, -1, ObjBancos)
|
' GuardarVenta(factura, ObjVentas, ObjConta, ObjInventario, ObjContr, tmpcon, -1, ObjBancos)
|
||||||
|
|
||||||
''Timbramos
|
' ''Timbramos
|
||||||
Else
|
' Else
|
||||||
ErrorList.Add("No se encontró un producto para generar la nota de crédito")
|
' ErrorList.Add("No se encontró un producto para generar la nota de crédito")
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
|
|
||||||
Return ProcesoCorrecto
|
' Return ProcesoCorrecto
|
||||||
End Function
|
'End
|
||||||
Private Sub EnviarNotificacionAvance(NumeroContrato As String, DescripcionContrato As String, ContratoTipo As String, Cliente As String, CorreoVendedor As String, Optional MontoMaximo As Double = 0)
|
Private Sub EnviarNotificacionAvance(NumeroContrato As String, DescripcionContrato As String, ContratoTipo As String, Cliente As String, CorreoVendedor As String, Optional MontoMaximo As Double = 0)
|
||||||
|
|
||||||
Dim ObjMail As New ClsSisMail()
|
Dim ObjMail As New ClsSisMail()
|
||||||
@@ -3505,6 +3509,39 @@ Namespace Modelos
|
|||||||
Pago.Referencia = Concepto
|
Pago.Referencia = Concepto
|
||||||
|
|
||||||
ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(ventaRef, Pago, ObjFactura.CvePrePoliza, ObjConta)
|
ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(ventaRef, Pago, ObjFactura.CvePrePoliza, ObjConta)
|
||||||
|
|
||||||
|
If Not ErrorPrepoliza AndAlso ObjFactura.CveTipoAmortizacionAnticipo = 2 AndAlso ObjFactura.EsNCAmortizacion AndAlso ObjFactura.TipoDocto.Contiene("Egs") AndAlso ObjFactura.DtAnticiposAplicados IsNot Nothing Then
|
||||||
|
|
||||||
|
For Each row2 As DataRow In ObjFactura.DtAnticiposAplicados.Rows
|
||||||
|
If row2("CveConceptoContable").ToString().ToEntero() = 3 Then
|
||||||
|
CveIEAnticipo = row2("CveIE").ToString().ToEntero()
|
||||||
|
|
||||||
|
importeMovimiento = row2("Importe").ToString().ToDecimal() '- ((row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal) * row2.DataKey("IVAAnticipo").ToDecimal)
|
||||||
|
|
||||||
|
Dim ImporteAnticipo As Decimal = importeMovimiento
|
||||||
|
Dim CveMonedaAnticipo As Integer = row2("CveMoneda").ToString().ToEntero()
|
||||||
|
|
||||||
|
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
||||||
|
|
||||||
|
If ObjFactura.CveTipoAmortizacionAnticipo = 2 Then
|
||||||
|
Dim DescuentosAnticipos As Decimal = row2("Descuentos").ToString().ToDecimal
|
||||||
|
ImporteAnticipo = ImporteAnticipo / (row2("TotalAnticipo").ToString().ToDecimal - DescuentosAnticipos) * row2("SubTotalAnticipo").ToString().ToDecimal
|
||||||
|
ImporteAnticipo = ImporteAnticipo.RoundSQL(2)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim Importe11MX As Decimal = ImporteAnticipo
|
||||||
|
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||||
|
|
||||||
|
If importeMovimiento <> 0 Then
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, Importe11MX, Importe11MX, 11, Referencia, Concepto, CveVenta:=row2("CveVenta").ToString().ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5) Then
|
If ObjConta.ValidacionesPrePoliza(ObjFactura.CvePrePoliza, UsuarioActual, Opcion:=5) Then
|
||||||
@@ -3517,6 +3554,9 @@ Namespace Modelos
|
|||||||
' Dim DtTest = ObjConta.DtResultados
|
' Dim DtTest = ObjConta.DtResultados
|
||||||
'End If
|
'End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
importeMovimiento = 0
|
||||||
|
importeMX = 0
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If ErrorPrepoliza Then
|
If ErrorPrepoliza Then
|
||||||
@@ -3667,30 +3707,31 @@ Namespace Modelos
|
|||||||
' cuando es amortización de nota de crédito, y es la nc
|
' cuando es amortización de nota de crédito, y es la nc
|
||||||
' cuando es amortización por descuento, y es el ingreso
|
' cuando es amortización por descuento, y es el ingreso
|
||||||
' cuando es amortización en cero
|
' cuando es amortización en cero
|
||||||
If (ObjFactura.CveTipoAmortizacionAnticipo = 2 AndAlso ObjFactura.TipoDocto.Contiene("Egs") OrElse
|
If (ObjFactura.CveTipoAmortizacionAnticipo = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse ObjFactura.CveTipoAmortizacionAnticipo = 3) Then
|
||||||
ObjFactura.CveTipoAmortizacionAnticipo = 1 AndAlso ObjFactura.TipoDocto.Contiene("Ing") OrElse
|
If DtAnticipos IsNot Nothing Then
|
||||||
ObjFactura.CveTipoAmortizacionAnticipo = 3) Then
|
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
|
||||||
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
|
If row2("CveConceptoContable").ToString().ToEntero = 11 Then
|
||||||
If row2("CveConceptoContable").ToString().ToEntero = 11 Then
|
CveIEAnticipo = -1
|
||||||
CveIEAnticipo = -1
|
importeMovimiento = row2("Importe").ToString().ToDecimal()
|
||||||
importeMovimiento = row2("Importe").ToString().ToDecimal()
|
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
||||||
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
|
|
||||||
|
|
||||||
CveSubProyectoContabilizar = CveSubProyectoVenta
|
CveSubProyectoContabilizar = CveSubProyectoVenta
|
||||||
|
|
||||||
If importeMovimiento <> 0 Then
|
If importeMovimiento <> 0 Then
|
||||||
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, ConceptoContable, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta,
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, ConceptoContable, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta,
|
||||||
CveVentaAmortizacion:=row2("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo,
|
CveVentaAmortizacion:=row2("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo,
|
||||||
ImporteME:=If(tipoCambio = 1, 0, importeMovimiento),
|
ImporteME:=If(tipoCambio = 1, 0, importeMovimiento),
|
||||||
CveSubProyecto:=CveSubProyectoContabilizar) Then
|
CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||||
ErrorPrepoliza = True
|
ErrorPrepoliza = True
|
||||||
Exit For
|
Exit For
|
||||||
Else
|
Else
|
||||||
ObjFactura.SeGuardoPrePoliza = True
|
ObjFactura.SeGuardoPrePoliza = True
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
Next
|
||||||
Next
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -3851,8 +3892,8 @@ Namespace Modelos
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
If ObjFactura.DtAnticipos IsNot Nothing Then
|
If ObjFactura.DtAnticiposAplicados IsNot Nothing Then
|
||||||
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
|
For Each row2 As DataRow In ObjFactura.DtAnticiposAplicados.Rows
|
||||||
|
|
||||||
If row2("CveConceptoContable").ToString().ToEntero = 12 Then
|
If row2("CveConceptoContable").ToString().ToEntero = 12 Then
|
||||||
importeMovimiento = row2("Importe").ToString().ToDecimal()
|
importeMovimiento = row2("Importe").ToString().ToDecimal()
|
||||||
@@ -3874,6 +3915,32 @@ Namespace Modelos
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'SI ES PAGO CON DEVOLUCION
|
||||||
|
If ObjFactura.CveTipoAmortizacionAnticipo = 4 Then
|
||||||
|
If row2("CveConceptoContable").ToString().ToEntero = 277 Then
|
||||||
|
|
||||||
|
importeMovimiento = row2("Importe").ToString().ToDecimal()
|
||||||
|
importeMX = importeMovimiento * tipoCambio
|
||||||
|
sumaAmorticaciones += importeMovimiento
|
||||||
|
|
||||||
|
If importeMovimiento <> 0 Then
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, 150, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=-1, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveClasificacion:=ObjFactura.DtDetalle.MAX("CveClasificacion").ToEntero(), CveSubProyecto:=ObjFactura.CveSubProyecto, Contabilizable:=Contabilizable) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento * -1, importeMX * -1, 277, Referencia, Concepto, CveVenta:=row2("CveVenta").ToString().ToEntero(), CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento * -1, importeMX * -1, 278, Referencia, Concepto, CveVenta:=row2("CveVenta").ToString().ToEntero(), CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
ErrorPrepoliza = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
If sumaAmorticaciones <> 0 Then
|
If sumaAmorticaciones <> 0 Then
|
||||||
@@ -4166,6 +4233,42 @@ Namespace Modelos
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'APLICA PAGO SI SELECCIONA IxC
|
||||||
|
If Not ErrorPrepoliza AndAlso ValorMultiplicador = 1 AndAlso ObjFactura.CveTipoAmortizacionAnticipo = 4 Then
|
||||||
|
|
||||||
|
Dim VentaActual As New ClsPaginas.Venta(ObjFactura, UsuarioActual)
|
||||||
|
|
||||||
|
For Each row2 As DataRow In DtAnticiposAplicados.Rows
|
||||||
|
|
||||||
|
If row2("CveConceptoContable").ToString().ToEntero() = 66 Then
|
||||||
|
|
||||||
|
importeMovimiento = row2("Importe").ToString().ToDecimal
|
||||||
|
|
||||||
|
If importeMovimiento <> 0 Then
|
||||||
|
|
||||||
|
Dim Pago As New ClsPaginas.VentaPago
|
||||||
|
Pago.Fecha = Now
|
||||||
|
Pago.FechaDocumentoRelacionado = row2("Fecha").ToString().ToDateTime()
|
||||||
|
Pago.ImportePagoVenta = importeMovimiento
|
||||||
|
Pago.ImportePago = importeMovimiento
|
||||||
|
Pago.CveIE = row2("CveIE").ToString().ToEntero()
|
||||||
|
Pago.CveMonedaPago = row2("CveMoneda").ToString().ToEntero()
|
||||||
|
Pago.TCPago = row2("TipoCambioPago").ToString().ToDecimal()
|
||||||
|
Pago.AplicaTraslado = False
|
||||||
|
Pago.Referencia = row2("Folio").ToString()
|
||||||
|
Pago.CveVentaAmortizacion = -1
|
||||||
|
Pago.TipoPago = "I"
|
||||||
|
Pago.CveClientePago = ObjFactura.CveCliente
|
||||||
|
|
||||||
|
ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(VentaActual, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=True)
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
If ObjFactura.RemisionesLista.Count = 0 AndAlso (DtRemisionesRelacionadas IsNot Nothing AndAlso DtRemisionesRelacionadas.Rows.Count > 0) Then
|
If ObjFactura.RemisionesLista.Count = 0 AndAlso (DtRemisionesRelacionadas IsNot Nothing AndAlso DtRemisionesRelacionadas.Rows.Count > 0) Then
|
||||||
For Each Row As DataRow In DtRemisionesRelacionadas.Rows
|
For Each Row As DataRow In DtRemisionesRelacionadas.Rows
|
||||||
ObjFactura.RemisionesLista.Add(Row("CveVenta").ToString().ToEntero())
|
ObjFactura.RemisionesLista.Add(Row("CveVenta").ToString().ToEntero())
|
||||||
@@ -6697,7 +6800,7 @@ Namespace Modelos
|
|||||||
If Not ObjVentas.UpdateEstatusOCRelacionada(ObjFactura.CveVenta, CveEstatusCancelacion, ObjFactura.CveEmpresa) Then
|
If Not ObjVentas.UpdateEstatusOCRelacionada(ObjFactura.CveVenta, CveEstatusCancelacion, ObjFactura.CveEmpresa) Then
|
||||||
ErrorCancelar = True
|
ErrorCancelar = True
|
||||||
MensajeError = "Ocurrió un error al cancelar la orden de servicio"
|
MensajeError = "Ocurrió un error al cancelar la orden de servicio"
|
||||||
else
|
Else
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -7601,6 +7704,7 @@ Namespace Modelos
|
|||||||
Public Property DtDocumentosRelacionados As Data.DataTable
|
Public Property DtDocumentosRelacionados As Data.DataTable
|
||||||
Public Property DtNCVinculadas As Data.DataTable
|
Public Property DtNCVinculadas As Data.DataTable
|
||||||
Public Property DtAnticipos As Data.DataTable
|
Public Property DtAnticipos As Data.DataTable
|
||||||
|
Public Property DtAnticiposAplicados As Data.DataTable
|
||||||
Public Property DtPromociones As Data.DataTable
|
Public Property DtPromociones As Data.DataTable
|
||||||
Public Property DtImpuestosLocales As Data.DataTable
|
Public Property DtImpuestosLocales As Data.DataTable
|
||||||
Public Property DtPagos As Data.DataTable
|
Public Property DtPagos As Data.DataTable
|
||||||
|
|||||||
@@ -2137,7 +2137,7 @@
|
|||||||
|
|
||||||
<asp:UpdatePanel ID="UpTitulosAFInsumos" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UpTitulosAFInsumos" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<table border="0" rules="none" class="table table-striped table-hover table-advance Widthall">
|
<%-- <table border="0" rules="none" class="table table-striped table-hover table-advance Widthall">
|
||||||
<tr class="Titulos TextTab">
|
<tr class="Titulos TextTab">
|
||||||
<td style="width: 20px">#</td>
|
<td style="width: 20px">#</td>
|
||||||
<td style="width: 60px">Cantidad</td>
|
<td style="width: 60px">Cantidad</td>
|
||||||
@@ -2149,7 +2149,7 @@
|
|||||||
<td style="width: 90px">Mantenimiento</td>
|
<td style="width: 90px">Mantenimiento</td>
|
||||||
<td style="width: 90px">Dividir</td>
|
<td style="width: 90px">Dividir</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>--%>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
@@ -2159,27 +2159,36 @@
|
|||||||
<asp:HiddenField ID="HdnTxtAFMedida" runat="server" />
|
<asp:HiddenField ID="HdnTxtAFMedida" runat="server" />
|
||||||
<asp:Button ID="BtnAFMedida" runat="server" Style="display: none;" OnClick="BtnAFMedida_Click" />
|
<asp:Button ID="BtnAFMedida" runat="server" Style="display: none;" OnClick="BtnAFMedida_Click" />
|
||||||
|
|
||||||
<asp:GridView ID="GvAFInsumos" ClientIDMode="AutoID" runat="server" DataKeyNames="Consec,CveClasificacion" ShowHeader="false" AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros" CssClass="table table-striped table-hover table-advance Widthall gridconheader" RowStyle-VerticalAlign="Middle" RowStyle-HorizontalAlign="Center" GridLines="none">
|
<asp:GridView ID="GvAFInsumos" ClientIDMode="AutoID" runat="server" DataKeyNames="Consec,CveClasificacion" ShowHeader="true" AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros" CssClass="table table-striped table-hover table-advance Widthall gridconheader" RowStyle-VerticalAlign="Middle" RowStyle-HorizontalAlign="Center" GridLines="none">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>
|
||||||
|
#
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Label ID="LtlConsecutivo" runat="server" Text='<%# Eval("Consec", "{0:N0}") %>' Font-Size="6pt"></asp:Label></label>
|
<asp:Label ID="LtlConsecutivo" runat="server" Text='<%# Eval("Consec", "{0:N0}") %>' Font-Size="6pt"></asp:Label></label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>
|
||||||
|
Cantidad
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="LtlCantidad" runat="server" Text='<%# Eval("Cantidad", "{0:#,##0.00##}") %>'></asp:Literal>
|
<asp:Literal ID="LtlCantidad" runat="server" Text='<%# Eval("Cantidad", "{0:#,##0.00##}") %>'></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>
|
||||||
|
Unidad
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="LtlUnidadMedida" runat="server" Text='<%# Eval("UM") %>'></asp:Literal>
|
<asp:Literal ID="LtlUnidadMedida" runat="server" Text='<%# Eval("UM") %>'></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
|
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
|
||||||
|
<HeaderTemplate>
|
||||||
|
Producto
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<div class="truncate" style="width: 200px;">
|
<div class="truncate" style="width: 200px;">
|
||||||
<asp:HyperLink Style="display: initial;" ID="HplPS" NavigateUrl='<%# If(CInt(Eval("CvePS").ToString) > 0, String.Format("/Ventas/ProductosServicios.aspx?CvePS={0}&Ret=Comp&Popup=1&TB_iframe=true&height=500&width=950&Ret=Comp", Eval("CvePS")), "")%>' CssClass='<%# If(CInt(Eval("CvePS").ToString) > 0, "Texto thickbox", "") %>' runat="server" Text='<%# Eval("PS") %>'></asp:HyperLink>
|
<asp:HyperLink Style="display: initial;" ID="HplPS" NavigateUrl='<%# If(CInt(Eval("CvePS").ToString) > 0, String.Format("/Ventas/ProductosServicios.aspx?CvePS={0}&Ret=Comp&Popup=1&TB_iframe=true&height=500&width=950&Ret=Comp", Eval("CvePS")), "")%>' CssClass='<%# If(CInt(Eval("CvePS").ToString) > 0, "Texto thickbox", "") %>' runat="server" Text='<%# Eval("PS") %>'></asp:HyperLink>
|
||||||
@@ -2187,6 +2196,9 @@
|
|||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
|
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
|
||||||
|
<HeaderTemplate>
|
||||||
|
Observación
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<div class="truncate" style="width: 200px;">
|
<div class="truncate" style="width: 200px;">
|
||||||
<asp:Literal ID="LtlObservacion" runat="server" Text='<%# Eval("Obs") %>'></asp:Literal>
|
<asp:Literal ID="LtlObservacion" runat="server" Text='<%# Eval("Obs") %>'></asp:Literal>
|
||||||
@@ -2194,6 +2206,9 @@
|
|||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField>
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>
|
||||||
|
Vinculación
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Label runat="server" Visible="false" ID="LbCveAF" Text='<%# Eval("CodAF")%>'></asp:Label>
|
<asp:Label runat="server" Visible="false" ID="LbCveAF" Text='<%# Eval("CodAF")%>'></asp:Label>
|
||||||
<asp:TextBox ID="LblCodigo" Text='<%# Eval("CodAF")%>' runat="server" Width="80px" Visible="true"></asp:TextBox>
|
<asp:TextBox ID="LblCodigo" Text='<%# Eval("CodAF")%>' runat="server" Width="80px" Visible="true"></asp:TextBox>
|
||||||
@@ -2207,11 +2222,17 @@
|
|||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField ItemStyle-Width="100px">
|
<asp:TemplateField ItemStyle-Width="100px">
|
||||||
|
<HeaderTemplate>
|
||||||
|
Horómetro /<br> Odómetro
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtAFMedida" runat="server" Width="60px" Text='<%# Eval("AFMedida")%>'></asp:TextBox>
|
<asp:TextBox ID="TxtAFMedida" runat="server" Width="60px" Text='<%# Eval("AFMedida")%>'></asp:TextBox>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Left">
|
<asp:TemplateField ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Left">
|
||||||
|
<HeaderTemplate>
|
||||||
|
Mantenimiento
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:DropDownList ID="DdlTipoMantemiento" runat="server" CssClass="form-control select2me" Width="100px" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoMantemiento_SelectedIndexChanged">
|
<asp:DropDownList ID="DdlTipoMantemiento" runat="server" CssClass="form-control select2me" Width="100px" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoMantemiento_SelectedIndexChanged">
|
||||||
<asp:ListItem Selected="True" Text="-" Value="-1"></asp:ListItem>
|
<asp:ListItem Selected="True" Text="-" Value="-1"></asp:ListItem>
|
||||||
@@ -2221,6 +2242,9 @@
|
|||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField ItemStyle-Width="80px">
|
<asp:TemplateField ItemStyle-Width="80px">
|
||||||
|
<HeaderTemplate>
|
||||||
|
Dividir
|
||||||
|
</HeaderTemplate>
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox runat="server" ID="TxtDividir" Width="30px"></asp:TextBox>
|
<asp:TextBox runat="server" ID="TxtDividir" Width="30px"></asp:TextBox>
|
||||||
<ajax:FilteredTextBoxExtender ID="SoloNumeros2" runat="server" TargetControlID="TxtDividir" FilterType="Custom, Numbers" ValidChars="." />
|
<ajax:FilteredTextBoxExtender ID="SoloNumeros2" runat="server" TargetControlID="TxtDividir" FilterType="Custom, Numbers" ValidChars="." />
|
||||||
|
|||||||
@@ -1800,7 +1800,7 @@ Partial Class General_SaldosIniciales
|
|||||||
Dim dtsubp As DataTable = GlobalDTSubProyectos(UsuarioActual.CveEmpresa)
|
Dim dtsubp As DataTable = GlobalDTSubProyectos(UsuarioActual.CveEmpresa)
|
||||||
|
|
||||||
If UsuarioActual.CveEmpresa = 189 Then
|
If UsuarioActual.CveEmpresa = 189 Then
|
||||||
For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
|
For Each Row As DataRow In dt.Rows
|
||||||
Dim SubTotal = Row("SubTotal").ToString().ToDecimal.RoundSQL
|
Dim SubTotal = Row("SubTotal").ToString().ToDecimal.RoundSQL
|
||||||
Dim IVA = Row("IVA").ToString().ToDecimal.RoundSQL
|
Dim IVA = Row("IVA").ToString().ToDecimal.RoundSQL
|
||||||
Dim Total = Row("Total").ToString().ToDecimal.RoundSQL
|
Dim Total = Row("Total").ToString().ToDecimal.RoundSQL
|
||||||
@@ -1810,8 +1810,16 @@ Partial Class General_SaldosIniciales
|
|||||||
If Total - SubTotal - IVA <> 0 Then
|
If Total - SubTotal - IVA <> 0 Then
|
||||||
Row("PU") = (Total - IVA) / Cantidad
|
Row("PU") = (Total - IVA) / Cantidad
|
||||||
Row("SubTotal") = Row("PU").ToString.ToDecimal * Cantidad
|
Row("SubTotal") = Row("PU").ToString.ToDecimal * Cantidad
|
||||||
|
|
||||||
|
PU = Row("PU").ToString.ToDecimal
|
||||||
|
SubTotal = Row("SubTotal").ToString().ToDecimal.RoundSQL
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ((Cantidad * PU) - SubTotal) <> 0 Then
|
||||||
|
Row("PU") = SubTotal / Cantidad
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
dt.AcceptChanges()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim CountRow As Integer = 1
|
Dim CountRow As Integer = 1
|
||||||
|
|||||||
@@ -195,6 +195,7 @@
|
|||||||
<asp:ListItem Text="No" Value="0" Selected="True"></asp:ListItem>
|
<asp:ListItem Text="No" Value="0" Selected="True"></asp:ListItem>
|
||||||
<asp:ListItem Text="Si (Origen)" Value="1"></asp:ListItem>
|
<asp:ListItem Text="Si (Origen)" Value="1"></asp:ListItem>
|
||||||
<asp:ListItem Text="Si (Destino)" Value="2"></asp:ListItem>
|
<asp:ListItem Text="Si (Destino)" Value="2"></asp:ListItem>
|
||||||
|
<asp:ListItem Text="Separado(Destino)" Value="3" />
|
||||||
</asp:DropDownList>
|
</asp:DropDownList>
|
||||||
<%--<asp:CheckBox ID="ChkIncluyeTransitorios" runat="server" Checked="false" />--%>
|
<%--<asp:CheckBox ID="ChkIncluyeTransitorios" runat="server" Checked="false" />--%>
|
||||||
</div>
|
</div>
|
||||||
@@ -228,11 +229,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<asp:Label runat="server" ID="LblProyectado" Text="Incluir Proyectados" class="col-md-1 truncate" />
|
<asp:Label runat="server" ID="LblProyectado" Text="Incluir Proyectados" class="col-md-1 truncate" />
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<asp:DropDownList ID="DdlProyeccionFiltro" runat="server" CssClass="select2me" Width="100%" >
|
<asp:DropDownList ID="DdlProyeccionFiltro" runat="server" CssClass="select2me" Width="100%" >
|
||||||
<asp:ListItem Text="Todos (Entradas/Salidas)" Value="3" />
|
<asp:ListItem Text="Todos (Entradas/Salidas)" Value="3" />
|
||||||
<asp:ListItem Text="Entradas" Value="1" />
|
<asp:ListItem Text="Entradas" Value="1" />
|
||||||
<asp:ListItem Text="Salidas" Value="2" />
|
<asp:ListItem Text="Salidas" Value="2" />
|
||||||
<asp:ListItem Text="No" Value="0" Selected="True" />
|
<asp:ListItem Text="No" Value="0" Selected="True" />
|
||||||
</asp:DropDownList>
|
</asp:DropDownList>
|
||||||
</div>
|
</div>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
|
|||||||
@@ -1038,11 +1038,14 @@ Partial Class Inventarios_RecepcionAlmacen
|
|||||||
' HplCargaExcel.Enabled = True
|
' HplCargaExcel.Enabled = True
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dim CargaSoloUsados As Boolean = False
|
Dim CargaSoloUsados As Boolean = False
|
||||||
|
|
||||||
If ObjInventario.RecepcionAlmacenGet(pCveCompra, BuscaEntregaDirecta, -1, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
|
If ObjInventario.RecepcionAlmacenGet(pCveCompra, BuscaEntregaDirecta, -1, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
|
||||||
Dim DtRecepcion As DataTable = ObjInventario.DtResultados.Copy()
|
Dim DtRecepcion As DataTable = ObjInventario.DtResultados.Copy()
|
||||||
DtInv = DtRecepcion
|
DtInv = DtRecepcion
|
||||||
|
|
||||||
Dim NumUsados As Integer = ObjInventario.DtResultados.COUNT("EsUsado", "EsUsado = True").ToEntero()
|
Dim NumUsados As Integer = ObjInventario.DtResultados.COUNT("EsUsado", "EsUsado = True").ToEntero()
|
||||||
Dim NumProductos As Integer = ObjInventario.DtResultados.COUNT("EsUsado", "EsUsado = False").ToEntero()
|
Dim NumProductos As Integer = ObjInventario.DtResultados.COUNT("EsUsado", "EsUsado = False").ToEntero()
|
||||||
Dim CveSubProyecto As Integer
|
Dim CveSubProyecto As Integer
|
||||||
@@ -1093,6 +1096,14 @@ Partial Class Inventarios_RecepcionAlmacen
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
If Not UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||||
|
If ObjCompras.GetCompraDetalle(pCveCompra, UsuarioActual.CveEmpresa) Then
|
||||||
|
TotalCompraOC = ObjCompras.DtResultados.SUM("Total", "CveTipoPS = 2")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
CveSubProyecto = DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero
|
CveSubProyecto = DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero
|
||||||
|
|
||||||
CveAlmacenDevolucionProveedor = DtRecepcion.Rows(0)("CveAlmacenDevolucionProveedor").ToString.ToEntero
|
CveAlmacenDevolucionProveedor = DtRecepcion.Rows(0)("CveAlmacenDevolucionProveedor").ToString.ToEntero
|
||||||
|
|||||||
@@ -410,8 +410,9 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
|
|
||||||
|
|
||||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||||
If Not IsPostBack Then
|
If Not IsPostBack Then
|
||||||
|
|
||||||
|
|
||||||
ViewState("Orden") = ""
|
ViewState("Orden") = ""
|
||||||
ViewState("CveEmpresa") = "-1"
|
ViewState("CveEmpresa") = "-1"
|
||||||
'ViewState("CveSucursal") = ""
|
'ViewState("CveSucursal") = ""
|
||||||
@@ -1404,8 +1405,13 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
' Application("GlobalDTUsuarioResponsable") = ObjUsuarios.DtResultados.FiltraParametros("ProveedoresResponsables > 0")
|
' Application("GlobalDTUsuarioResponsable") = ObjUsuarios.DtResultados.FiltraParametros("ProveedoresResponsables > 0")
|
||||||
'End If
|
'End If
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub EnviaCorreo()
|
Private Sub EnviaCorreo()
|
||||||
|
|
||||||
|
Dim UrlsitioUrlActual As String = ObtenerUrlCompleta()
|
||||||
|
|
||||||
|
Dim Solicitud As HttpRequest = HttpContext.Current.Request
|
||||||
|
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Dim Para As String = TxtCorreo.Text.Trim
|
Dim Para As String = TxtCorreo.Text.Trim
|
||||||
Dim Asunto As String = "ALTA DE CUENTA"
|
Dim Asunto As String = "ALTA DE CUENTA"
|
||||||
@@ -1438,7 +1444,7 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
SBBody.Append("</div>")
|
SBBody.Append("</div>")
|
||||||
SBBody.Append("<div>")
|
SBBody.Append("<div>")
|
||||||
SBBody.Append("<div class='col1'> Acceso </div>")
|
SBBody.Append("<div class='col1'> Acceso </div>")
|
||||||
SBBody.AppendFormat("<div class='col2'><a href='{0}login.aspx'>sig.adssistemas.mx</a></div>", UrlSitio)
|
SBBody.AppendFormat("<div class='col2'><a href='{0}login.aspx'>{1}</a></div>", UrlsitioUrlActual, Solicitud.Url.Host)
|
||||||
SBBody.Append("</div>")
|
SBBody.Append("</div>")
|
||||||
SBBody.Append("</div>")
|
SBBody.Append("</div>")
|
||||||
SBBody.Append("</div>")
|
SBBody.Append("</div>")
|
||||||
@@ -1447,7 +1453,7 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
SBBody.Append("<div Class='nota'>")
|
SBBody.Append("<div Class='nota'>")
|
||||||
SBBody.Append("Nota Favor de NO responder este correo. ")
|
SBBody.Append("Nota Favor de NO responder este correo. ")
|
||||||
SBBody.Append("</div><br/><br/>")
|
SBBody.Append("</div><br/><br/>")
|
||||||
SBBody.AppendFormat("<div class='logo'><img src='{0}Imagenes/LogoSinFondo.png' style='width:30px;'/>ADSistemas </div>", UrlSitio)
|
SBBody.AppendFormat("<div class='logo'><img src='{0}Imagenes/LogoSinFondo.png' style='width:30px;'/>ADSistemas </div>", UrlsitioUrlActual)
|
||||||
SBBody.Append("</div>")
|
SBBody.Append("</div>")
|
||||||
SBBody.Append("</div>")
|
SBBody.Append("</div>")
|
||||||
'Termino Cuerpo del correo
|
'Termino Cuerpo del correo
|
||||||
@@ -1458,6 +1464,27 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
OnError("Ocurrió error al mandar MAIL", ex)
|
OnError("Ocurrió error al mandar MAIL", ex)
|
||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Public Function ObtenerUrlCompleta() As String
|
||||||
|
|
||||||
|
Dim Solicitud As HttpRequest = HttpContext.Current.Request
|
||||||
|
Dim url As String = Solicitud.Url.Scheme & "://" & Solicitud.Url.Host
|
||||||
|
|
||||||
|
If (Solicitud.Url.Port <> 80 AndAlso Solicitud.Url.Port <> 443) Then
|
||||||
|
url &= ":" & Solicitud.Url.Port
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
url &= Solicitud.ApplicationPath
|
||||||
|
|
||||||
|
If Not url.EndsWith("/") Then
|
||||||
|
url &= "/"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return url
|
||||||
|
End Function
|
||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -411,6 +411,10 @@
|
|||||||
<div class="col-md-1" style="text-align: right;">
|
<div class="col-md-1" style="text-align: right;">
|
||||||
<asp:LinkButton ID="LnkLiberar" runat="server" CssClass="btn btn-xs btn-success" Text="Liberar" OnClick="LnkLiberar_Click" />
|
<asp:LinkButton ID="LnkLiberar" runat="server" CssClass="btn btn-xs btn-success" Text="Liberar" OnClick="LnkLiberar_Click" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-1" style="text-align: right;">
|
||||||
|
<asp:LinkButton ID="ImgAntiPend" Visible="false" OnClick="ImgAntiPend_Click" runat="server" Text=" <i class='fa fa-money'></i> " AlternateText="Aplicación de anticipos" Style="cursor: pointer;" />
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -524,6 +528,24 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="chequesie1" id="DivAnticipo" runat="server" visible="false">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-2">
|
||||||
|
<label>Anticipos.:</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4 input-icon">
|
||||||
|
<i style="margin: 0px;">$</i>
|
||||||
|
<asp:TextBox ID="TxtNCDev" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" Enabled="false" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender ID="FTEAnticipo" runat="server" TargetControlID="TxtNCDev" FilterType="Custom, Numbers" ValidChars=".," />
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label>
|
||||||
|
<asp:Literal ID="LtlTipoAnticipo" runat="server"></asp:Literal></label>
|
||||||
|
<asp:HiddenField ID="HdnTipoAmortizacion" runat="server" Value="" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="chequesie1" runat="server" id="DivContadoOtros" visible="false">
|
<div class="chequesie1" runat="server" id="DivContadoOtros" visible="false">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
||||||
@@ -563,21 +585,21 @@
|
|||||||
|
|
||||||
<div class="chequesie2">
|
<div class="chequesie2">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<label class="col-md-2">Total:</label>
|
<label class="col-md-1">Total:</label>
|
||||||
<div class="col-md-3 input-icon">
|
<div class="col-md-3 input-icon">
|
||||||
<i style="margin: 0px;">$</i>
|
<i style="margin: 0px;">$</i>
|
||||||
<asp:TextBox ID="TxtImporteContado" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ReadOnly="true" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
<asp:TextBox ID="TxtImporteContado" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ReadOnly="true" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
||||||
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" TargetControlID="TxtImporteContado" FilterType="Custom, Numbers" ValidChars=".," />
|
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" TargetControlID="TxtImporteContado" FilterType="Custom, Numbers" ValidChars=".," />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<label id="lblCambio" class="col-md-2">Cambio:</label>
|
<label id="lblCambio" class="col-md-1">Cambio:</label>
|
||||||
<div class="col-md-3 input-icon">
|
<div class="col-md-3 input-icon">
|
||||||
<i style="margin: 0px;">$</i>
|
<i style="margin: 0px;">$</i>
|
||||||
<asp:TextBox ID="TxtCambio" CssClass="form-control input-sm " Enabled="false" runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
<asp:TextBox ID="TxtCambio" CssClass="form-control input-sm " Enabled="false" runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
||||||
<ajax:FilteredTextBoxExtender ID="FTBECambio" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
|
<ajax:FilteredTextBoxExtender ID="FTBECambio" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
<label id="lblCambio2" class="col-md-2">Sob/falt:</label>
|
<label id="lblCambio2" class="col-md-1">Sob/falt:</label>
|
||||||
<div class="col-md-3 input-icon">
|
<div class="col-md-3 input-icon">
|
||||||
<i style="margin: 0px;">$</i>
|
<i style="margin: 0px;">$</i>
|
||||||
<asp:TextBox ID="TxtFaltante" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
<asp:TextBox ID="TxtFaltante" CssClass="form-control input-sm " runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
|
||||||
@@ -1008,7 +1030,6 @@
|
|||||||
|
|
||||||
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalPago" UpdateMode="Conditional">
|
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalPago" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header ">
|
<div class="modal-header ">
|
||||||
<h4 class="modal-title">
|
<h4 class="modal-title">
|
||||||
@@ -1016,9 +1037,6 @@
|
|||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-md-12 form-md-line-input">
|
<div class="form-group col-md-12 form-md-line-input">
|
||||||
<asp:DropDownList ID="DdlTipoTransaccion" CssClass="form-control input-sm select2me" ClientIDMode="Static" runat="server" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpGuardarPago" Width="100%">
|
<asp:DropDownList ID="DdlTipoTransaccion" CssClass="form-control input-sm select2me" ClientIDMode="Static" runat="server" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpGuardarPago" Width="100%">
|
||||||
@@ -1093,6 +1111,162 @@
|
|||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="DivAnticipos" class="modal ADS fade" role="dialog">
|
||||||
|
<asp:UpdatePanel runat="server" ID="UpAnticipos" UpdateMode="Conditional" RenderMode="Inline">
|
||||||
|
<ContentTemplate>
|
||||||
|
<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">Anticipos/NC del Cliente: <asp:Literal ID="LtlCliente" runat="server"></asp:Literal></asp:Label>
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row" runat="server" id="divAmortizacionTipo" visible="false">
|
||||||
|
<div class="col-md-4">
|
||||||
|
Tipo Amortización:
|
||||||
|
</div>
|
||||||
|
<div class="col-md-8">
|
||||||
|
<asp:DropDownList ID="DdlTipoAmortizacionAnticipo" runat="server" AutoPostBack="true" Width="250px" CssClass="select2me" CausesValidation="true" OnSelectedIndexChanged="DdlTipoAmortizacionAnticipo_SelectedIndexChanged">
|
||||||
|
<asp:ListItem Text="Seleccionar" Value="-1"></asp:ListItem>
|
||||||
|
<asp:ListItem Text="Amortización anticipo con nota de crédito" Value="2"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<asp:RequiredFieldValidator ID="RfvDdlTipoAmortizacionAnticipo" runat="server" Display="None" ControlToValidate="DdlTipoAmortizacionAnticipo" InitialValue="-1" ErrorMessage="Debe Seleccionarse un tipo" ValidationGroup="VGAnticiposClientes"></asp:RequiredFieldValidator>
|
||||||
|
<ajax:ValidatorCalloutExtender ID="CEDdlTipoAmortizacionAnticipo" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlTipoAmortizacionAnticipo" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||||
|
<div class="row" style="text-align: center;" runat="server" id="divAnticipoMsg" visible="false">
|
||||||
|
<asp:Label ID="Label2" runat="server" Text="Se aplicará descuento por el total de las amortizaciones en los productos" CssClass="alert alert-warning" Style="padding: 5px; margin-bottom: 5px; padding-right: 25px;"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row" id="divAmortizacionTipoRelacion" runat="server" visible="false">
|
||||||
|
<div class="col-md-4">
|
||||||
|
Tipo Relación:
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-8">
|
||||||
|
<asp:DropDownList ID="DdlTipoRelacionAnticipo" runat="server" Width="250px" CssClass="select2me">
|
||||||
|
<asp:ListItem Text="07 - CFDI por aplicación de anticipo" Value="7"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row" id="DivConceptoNC" runat="server" visible="false">
|
||||||
|
<div class="col-md-4">
|
||||||
|
Concepto:
|
||||||
|
</div>
|
||||||
|
<div class="col-md-8">
|
||||||
|
<asp:DropDownList ID="DdlNCPSAnt" runat="server" DataTextField="PSCodigo" DataValueField="CvePS" Width="250px" CssClass="select2me"></asp:DropDownList>
|
||||||
|
<asp:RequiredFieldValidator ID="RFVNCPSAnt" runat="server" InitialValue="-1" ControlToValidate="DdlNCPSAnt" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="VGAnticiposClientes"></asp:RequiredFieldValidator>
|
||||||
|
<ajax:ValidatorCalloutExtender ID="VCERFVNCPSAnt" runat="server" HighlightCssClass="vco" TargetControlID="RFVNCPSAnt" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row" id="DivFechaAnticipoCliente" runat="server" visible="false">
|
||||||
|
<b>
|
||||||
|
<label class="col-md-2">Fecha:</label></b>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 80% !important; padding: 0px;">
|
||||||
|
<asp:TextBox ID="TxtFechaAnticipoCliente" runat="server" ClientIDMode="Static" CssClass="form-control" CausesValidation="true" MaxLength="10" AutoPostBack="true" OnTextChanged="TxtFechaAnticipoCliente_TextChanged"></asp:TextBox>
|
||||||
|
<span class="input-group-btn ">
|
||||||
|
<asp:LinkButton ID="ImgFechaAnticipoCliente" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||||
|
</span>
|
||||||
|
<ajax:MaskedEditExtender ID="MEEFechaAnticipoCliente" runat="server" TargetControlID="TxtFechaAnticipoCliente" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||||
|
<ajax:CalendarExtender runat="server" ID="CEFechaAnticipoCliente" TargetControlID="TxtFechaAnticipoCliente" PopupButtonID="ImgFechaAnticipoCliente" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||||
|
<asp:CompareValidator ID="CvFechaAnticipoCliente" runat="server" ControlToValidate="TxtFechaAnticipoCliente" Display="None" Operator="DataTypeCheck" Type="Date" ValidationGroup="VGAnticiposClientes" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."></asp:CompareValidator>
|
||||||
|
<ajax:ValidatorCalloutExtender ID="VcoFechaAnticipoCliente" runat="server" Enabled="True" HighlightCssClass="vco" TargetControlID="CvFechaAnticipoCliente" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<div style="max-height: 300px; overflow-y: auto;">
|
||||||
|
<div class="row" style="margin-left: 0px; text-align: right" align="left">
|
||||||
|
<div class="col-md-2">
|
||||||
|
<asp:LinkButton ID="LnkRecargaAnticipos" NavigateUrl="#" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-refresh'></i> Actualizar" runat="server" OnClick="LnkRecargaAnticipos_Click" />
|
||||||
|
</div>
|
||||||
|
<div style="margin-right: 15px">
|
||||||
|
<input type="text" id="TxtBusquedaAnticipos" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaAnticipos','{0}')", GVAnticipos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||||
|
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaAnticipos','{0}')", GVAnticipos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<asp:GridView ID="GVAnticipos" runat="server" AutoGenerateColumns="False" ClientIDMode="Static" EmptyDataText="No se encontraron Anticipos del Cliente"
|
||||||
|
ToolTip="Listado de Anticipos" CssClass="GVAnticipos table table-striped table-hover Widthall mysmallbtn" data-height="300" Style="text-align: center;" GridLines="None"
|
||||||
|
DataKeyNames="ISTotal,Saldo,CveIE,Folio,Tipo,CveVenta,CveConceptoContable,CveConceptoContableAmor, TotalAnticipo, SubTotalAnticipo, IVAAnticipo,IEPS, ImpuestosLocalesAnticipo, SubTotalAmortizacion, SubTotal, Original, IVA, RetIVA, RetISR, FolioFiscal, CveClasificacionNC, TipoCambio,TipoCambioPago,TipoCambioHoy, CveMoneda,Fecha,SaldoSubTotal,SaldoConImpuestos,RegresarImpuesto,DevolucionImportePagado,CveCliente,Descuentos">
|
||||||
|
<Columns>
|
||||||
|
<asp:TemplateField>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:CheckBox ID="Chk" runat="server" />
|
||||||
|
<asp:LinkButton ID="LnkSolicitarActivarAnticipo" Visible="false" NavigateUrl="#" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-check'></i>" ToolTip="Solicitar activar anticipo" runat="server" OnClick="LnkSolicitarActivarAnticipo_Click" />
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>Folio</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LtlFactura" runat="server"></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>Fecha</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}") %>'></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>Saldo</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LtlAnticipos" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField Visible="false">
|
||||||
|
<HeaderTemplate>Moneda Venta</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="MonedaVenta" runat="server"></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>Moneda</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal ID="LtlAbreviatura" runat="server" Text='<%# Eval("Abreviatura") %>'></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField Visible="false">
|
||||||
|
<HeaderTemplate>Atención A</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Literal runat="server" Text='<%# Eval("AtencionA") %>'></asp:Literal>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField>
|
||||||
|
<HeaderTemplate>Amort. Ant.</HeaderTemplate>
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Label ID="LblTotalAnticipos" runat="server" ClientIDMode="Static" Text="0.00" Visible="false"></asp:Label>
|
||||||
|
<asp:TextBox ID="TxtAnticipo" CssClass="CSGATxtAnticipo" runat="server" CausesValidation="true" MaxLength="12" Width="76px"></asp:TextBox>
|
||||||
|
<asp:CompareValidator ID="CVAmortAnti" runat="server" ControlToValidate="TxtAnticipo" Display="None" ErrorMessage="El campo <b>''Amortización de Anticipos''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." Operator="DataTypeCheck" Type="Currency" ValidationGroup="VGAnticiposClientes"></asp:CompareValidator>
|
||||||
|
<ajax:ValidatorCalloutExtender ID="VCOAmortAnti" runat="server" HighlightCssClass="vco" TargetControlID="CVAmortAnti" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="T.C." Visible="false">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:TextBox ID="TxtTC" runat="server" Width="50px" Enabled="false"></asp:TextBox>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
</Columns>
|
||||||
|
</asp:GridView>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:Button ID="BtnAceptarAnticipos" runat="server" Text="Aceptar" class="btn btn-primary" ValidationGroup="VGAnticiposClientes" />
|
||||||
|
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||||
@@ -1101,21 +1275,124 @@
|
|||||||
//function impresionDirecta(urlPDF) {
|
//function impresionDirecta(urlPDF) {
|
||||||
// printJS({ printable: urlPDF, type: 'pdf', showModal: true });
|
// printJS({ printable: urlPDF, type: 'pdf', showModal: true });
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
function chkAnt(t, txt, importe, AmorContrato = 0) {
|
||||||
|
let totalAnt = 0;
|
||||||
|
|
||||||
|
let TipoAnticipo = $('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').val();
|
||||||
|
|
||||||
|
//si es con.nc,es.el.total
|
||||||
|
let Total = ToDouble($get("C_LtlSaldo").value);
|
||||||
|
|
||||||
|
let SaldoCompra = parseFloat(parseFloat($get("C_LtlSaldo").value).toFixed(2));
|
||||||
|
|
||||||
|
if (t.checked) {
|
||||||
|
|
||||||
|
if (SaldoCompra > 0) {
|
||||||
|
|
||||||
|
if (AmorContrato > 0) {
|
||||||
|
txt.value = AmorContrato.toFixed(2);
|
||||||
|
} else {
|
||||||
|
txt.value = importe.toFixed(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
totalAnt = FnSumaValoresAnt();
|
||||||
|
|
||||||
|
if (totalAnt > SaldoCompra) {
|
||||||
|
txt.value = FormatoNumero(importe - (totalAnt - SaldoCompra), 2);
|
||||||
|
//$get('HdnVentaSaldo').value = 0.00;
|
||||||
|
alert("El Importe no debe de exceder a el saldo");
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
t.checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
//$get('HdnVentaSaldo').value = parseFloat(SaldoCompra) + parseFloat(txt.value);
|
||||||
|
txt.value = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(), 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function FnCambiaAnt(chk, txt, saldo) {
|
||||||
|
|
||||||
|
let Total = ToDouble($get("C_LtlSaldo").value);// ToDouble($get('TxtSubTotal').value);
|
||||||
|
|
||||||
|
let TipoAnticipo = $('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').val();
|
||||||
|
let importeTxt = parseFloat(txt.value.replace(/,/g, ''));
|
||||||
|
|
||||||
|
if (TipoAnticipo == '4') {
|
||||||
|
Total = ToDouble($get("C_LtlSaldo").value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isNaN(importeTxt)) {
|
||||||
|
importeTxt = 0;
|
||||||
|
} else {
|
||||||
|
if (importeTxt <= 0) {
|
||||||
|
importeTxt = 0;
|
||||||
|
chk.checked = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
saldo = (importeTxt > saldo) ? saldo : importeTxt;
|
||||||
|
|
||||||
|
|
||||||
|
var SaldoCompra = (Total - FnSumaValoresAnt() + ToDouble(txt.value)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnVentaSaldo').value).toFixed(2));
|
||||||
|
if (SaldoCompra < 0) txt.value = SaldoCompra - txt.value;
|
||||||
|
//minimo entre saldocompra y el saldoanticipo
|
||||||
|
if (SaldoCompra < saldo) saldo = SaldoCompra;
|
||||||
|
|
||||||
|
if (ToDouble(txt.value) > 0) {
|
||||||
|
chk.checked = true;
|
||||||
|
} else {
|
||||||
|
chk.checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ToDouble(txt.value) > saldo) {
|
||||||
|
txt.value = saldo;
|
||||||
|
alert("El Importe no debe de exceder a el saldo");
|
||||||
|
}
|
||||||
|
|
||||||
|
$("#LblTotalAnticipos").text(FormatoNumero(FnSumaValoresAnt(), 2));
|
||||||
|
|
||||||
|
// $get('HdnVentaSaldo').value = Total - FnSumaValoresAnt();
|
||||||
|
}
|
||||||
|
|
||||||
|
function FnSumaValoresAnt() {
|
||||||
|
let totalPoints = 0;
|
||||||
|
let t = '';
|
||||||
|
|
||||||
|
$('input[name*=TxtAnticipo]').each(function () {
|
||||||
|
totalPoints += ToDouble($(this).val());
|
||||||
|
});
|
||||||
|
|
||||||
|
return Math.round(totalPoints * 100) / 100;
|
||||||
|
}
|
||||||
|
|
||||||
function impresionBase64(pdfBase64) {
|
function impresionBase64(pdfBase64) {
|
||||||
printJS({ printable: pdfBase64, type: 'pdf', showModal: true, base64: true });
|
printJS({ printable: pdfBase64, type: 'pdf', showModal: true, base64: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
function CalculaTotalPagoContado() {
|
function CalculaTotalPagoContado() {
|
||||||
debugger;
|
let totalEfectivo = ToDouble($get("TxtImporteEfectivo").value);
|
||||||
var totalEfectivo = ToDouble($get("TxtImporteEfectivo").value);
|
let totalCredito = ToDouble($get("TxtImporteCredito").value);
|
||||||
var totalCredito = ToDouble($get("TxtImporteCredito").value);
|
let totalDebito = ToDouble($get("TxtImporteDebito").value);
|
||||||
var totalDebito = ToDouble($get("TxtImporteDebito").value);
|
let totalCheque = ToDouble($get("TxtImporteCheque").value);
|
||||||
var totalCheque = ToDouble($get("TxtImporteCheque").value);
|
let totalTransferencia = ToDouble($get("TxtImporteTransferencia").value);
|
||||||
var totalTransferencia = ToDouble($get("TxtImporteTransferencia").value);
|
let TotalOtrosContado = 0;
|
||||||
var TotalOtrosContado = 0;
|
|
||||||
var total = totalEfectivo + totalCredito + totalDebito + totalCheque + totalTransferencia + TotalOtrosContado;
|
let total = totalEfectivo + totalCredito + totalDebito + totalCheque + totalTransferencia + TotalOtrosContado;
|
||||||
var totalVenta = ToDouble($get('HdnTotal').value);// - ToDouble($get('HdnTotal').value);
|
|
||||||
|
if (<%= If(UsuarioActual.Empresa.CveEmpresa = 189, 1, 0)%> == 1) {
|
||||||
|
let totalAnticipos = ToDouble($get("TxtNCDev").value);
|
||||||
|
total = total + totalAnticipos;
|
||||||
|
}
|
||||||
|
|
||||||
|
let totalVenta = ToDouble($get('HdnTotal').value);// - ToDouble($get('HdnTotal').value);
|
||||||
|
|
||||||
if (total > totalVenta) {
|
if (total > totalVenta) {
|
||||||
lblCambio.innerHTML = "Cambio:";
|
lblCambio.innerHTML = "Cambio:";
|
||||||
@@ -1131,14 +1408,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function CalculaDiferencia() {
|
function CalculaDiferencia() {
|
||||||
;
|
let total = 0;
|
||||||
var total = 0
|
|
||||||
total = ToDouble($('#C_TxtEfectivoEnCaja').val()) - ToDouble($('#C_LblEfectivoEsperado').text());
|
total = ToDouble($('#C_TxtEfectivoEnCaja').val()) - ToDouble($('#C_LblEfectivoEsperado').text());
|
||||||
$('#C_LblDiferenciaCaja').text(FormatoNumero(total));
|
$('#C_LblDiferenciaCaja').text(FormatoNumero(total));
|
||||||
}
|
}
|
||||||
|
|
||||||
function CalculaDiferenciaBloqueo() {
|
function CalculaDiferenciaBloqueo() {
|
||||||
var total = 0;
|
let total = 0;
|
||||||
total = ToDouble($('#C_TxtEfectivoCajaBloqueo').val()) - ToDouble($('#C_LblEfectivoBloqueo').text());
|
total = ToDouble($('#C_TxtEfectivoCajaBloqueo').val()) - ToDouble($('#C_LblEfectivoBloqueo').text());
|
||||||
$('#C_LblDiferenciaCajaBloqueo').val(FormatoNumero(total));
|
$('#C_LblDiferenciaCajaBloqueo').val(FormatoNumero(total));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,40 @@ Option Strict On
|
|||||||
Imports System.Data
|
Imports System.Data
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports Extensiones
|
Imports Extensiones
|
||||||
|
Imports Modelos.Factura
|
||||||
|
|
||||||
Partial Class Ventas_PVCobranza
|
Partial Class Ventas_PVCobranza
|
||||||
Inherits ClsPaginas
|
Inherits ClsPaginas
|
||||||
|
|
||||||
|
Private Property CveCliente As Integer
|
||||||
|
Get
|
||||||
|
If ViewState("CveCliente") Is Nothing Then
|
||||||
|
ViewState("CveCliente") = -1
|
||||||
|
End If
|
||||||
|
Return ViewState("CveCliente").ToString.ToEntero
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
ViewState("CveCliente") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private Property TmpDTAnticiposNCIxCCliente As DataTable
|
||||||
|
Get
|
||||||
|
Return If(IsNothing(ViewState("TmpDTAnticiposNCIxCCliente")), Nothing, CType(ViewState("TmpDTAnticiposNCIxCCliente"), DataTable))
|
||||||
|
End Get
|
||||||
|
Set(value As DataTable)
|
||||||
|
ViewState("TmpDTAnticiposNCIxCCliente") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private Property ListaAnticiposAplicados As List(Of Modelos.MAnticipoRelacionado)
|
||||||
|
Get
|
||||||
|
Return If(IsNothing(ViewState("ListaAnticiposAplicados")), Nothing, CType(ViewState("ListaAnticiposAplicados"), List(Of Modelos.MAnticipoRelacionado)))
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of Modelos.MAnticipoRelacionado))
|
||||||
|
ViewState("ListaAnticiposAplicados") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
Private Property CveCorte As Integer
|
Private Property CveCorte As Integer
|
||||||
Get
|
Get
|
||||||
@@ -270,16 +301,6 @@ Partial Class Ventas_PVCobranza
|
|||||||
ObjMovtos.Dispose()
|
ObjMovtos.Dispose()
|
||||||
GvDatos.DataBind()
|
GvDatos.DataBind()
|
||||||
|
|
||||||
TxtImporteEfectivo.Text = ""
|
|
||||||
TxtImporteCredito.Text = ""
|
|
||||||
TxtImporteDebito.Text = ""
|
|
||||||
TxtImporteCheque.Text = ""
|
|
||||||
TxtImporteTransferencia.Text = ""
|
|
||||||
TxtImporteOtrosContado.Text = ""
|
|
||||||
TxtCambio.Text = ""
|
|
||||||
TxtClaveAutorizacion.Text = ""
|
|
||||||
TxtAutorizo.Text = ""
|
|
||||||
|
|
||||||
UpL.Update()
|
UpL.Update()
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
@@ -296,6 +317,7 @@ Partial Class Ventas_PVCobranza
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
|
||||||
|
LimpiarDatos()
|
||||||
|
|
||||||
If ChkMostrarSoloPagados.Checked Then
|
If ChkMostrarSoloPagados.Checked Then
|
||||||
DVCobraza.Visible = False
|
DVCobraza.Visible = False
|
||||||
@@ -343,6 +365,8 @@ Partial Class Ventas_PVCobranza
|
|||||||
|
|
||||||
Private Sub GvDatos_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvDatos.RowCommand
|
Private Sub GvDatos_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvDatos.RowCommand
|
||||||
If e.CommandName = "Cobrar" Then
|
If e.CommandName = "Cobrar" Then
|
||||||
|
LimpiarDatos()
|
||||||
|
|
||||||
Dim ImgBtn As LinkButton = DirectCast(e.CommandSource, LinkButton)
|
Dim ImgBtn As LinkButton = DirectCast(e.CommandSource, LinkButton)
|
||||||
Dim GvRow As GridViewRow = DirectCast(ImgBtn.BindingContainer, GridViewRow)
|
Dim GvRow As GridViewRow = DirectCast(ImgBtn.BindingContainer, GridViewRow)
|
||||||
Dim TieneError As Boolean = False
|
Dim TieneError As Boolean = False
|
||||||
@@ -380,6 +404,12 @@ Partial Class Ventas_PVCobranza
|
|||||||
LtlNombre.Text = GvRow.DataKey("AtencionA")
|
LtlNombre.Text = GvRow.DataKey("AtencionA")
|
||||||
LtlFolio.Text = GvRow.DataKey("SerieFolio")
|
LtlFolio.Text = GvRow.DataKey("SerieFolio")
|
||||||
LtlSaldo.Text = GvRow.DataKey("Saldo").ToDecimal.FormatoNumero
|
LtlSaldo.Text = GvRow.DataKey("Saldo").ToDecimal.FormatoNumero
|
||||||
|
|
||||||
|
If UsuarioActual.CveEmpresa = 189 AndAlso GvRow.DataKey("TipoDocto") = "Rem" Then
|
||||||
|
DivAnticipo.Visible = True
|
||||||
|
ImgAntiPend.Visible = True
|
||||||
|
End If
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
TieneError = True
|
TieneError = True
|
||||||
End Try
|
End Try
|
||||||
@@ -404,7 +434,7 @@ Partial Class Ventas_PVCobranza
|
|||||||
'registrar pago
|
'registrar pago
|
||||||
|
|
||||||
'validaciones
|
'validaciones
|
||||||
Dim Pagado As Decimal = TxtImporteEfectivo.Text.ToDecimal + TxtImporteCredito.Text.ToDecimal + TxtImporteDebito.Text.ToDecimal + TxtImporteCheque.Text.ToDecimal + TxtImporteTransferencia.Text.ToDecimal
|
Dim Pagado As Decimal = TxtImporteEfectivo.Text.ToDecimal + TxtImporteCredito.Text.ToDecimal + TxtImporteDebito.Text.ToDecimal + TxtImporteCheque.Text.ToDecimal + TxtImporteTransferencia.Text.ToDecimal + TxtNCDev.Text.ToDecimal()
|
||||||
If Pagado = 0 Then
|
If Pagado = 0 Then
|
||||||
Alert("Favor de especificar importe", TipoMensaje.ToastAdventencia)
|
Alert("Favor de especificar importe", TipoMensaje.ToastAdventencia)
|
||||||
Exit Sub
|
Exit Sub
|
||||||
@@ -436,7 +466,8 @@ Partial Class Ventas_PVCobranza
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Dim CveVenta As Integer = HdnCveVenta.Value.ToEntero
|
Dim CveVenta As Integer = HdnCveVenta.Value.ToEntero
|
||||||
|
Dim CveVentaRemision As Integer = -1
|
||||||
|
|
||||||
Dim DbRowVenta As DataRow = Nothing
|
Dim DbRowVenta As DataRow = Nothing
|
||||||
Dim ObjVentas As New ClsVentas
|
Dim ObjVentas As New ClsVentas
|
||||||
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
@@ -463,6 +494,7 @@ Partial Class Ventas_PVCobranza
|
|||||||
VentaActual.PorcentajeIVA = DbRowVenta("PorcentajeIVA").ToString.ToDecimal
|
VentaActual.PorcentajeIVA = DbRowVenta("PorcentajeIVA").ToString.ToDecimal
|
||||||
VentaActual.UsuarioActual = UsuarioActual
|
VentaActual.UsuarioActual = UsuarioActual
|
||||||
VentaActual.CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero
|
VentaActual.CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero
|
||||||
|
|
||||||
If tCveCorte <= 0 AndAlso DbRowVenta("CveCorte").ToString.ToEntero > 0 Then tCveCorte = DbRowVenta("CveCorte").ToString.ToEntero
|
If tCveCorte <= 0 AndAlso DbRowVenta("CveCorte").ToString.ToEntero > 0 Then tCveCorte = DbRowVenta("CveCorte").ToString.ToEntero
|
||||||
|
|
||||||
Dim CvePrePoliza As Integer
|
Dim CvePrePoliza As Integer
|
||||||
@@ -479,10 +511,14 @@ Partial Class Ventas_PVCobranza
|
|||||||
Dim ObjClientes As New ClsClientes(ObjVentas2.IniciaTransacSQL())
|
Dim ObjClientes As New ClsClientes(ObjVentas2.IniciaTransacSQL())
|
||||||
|
|
||||||
Dim respFactura As Modelos.Factura.MMensajeFactura = Nothing
|
Dim respFactura As Modelos.Factura.MMensajeFactura = Nothing
|
||||||
|
Dim respNC As Modelos.Factura.MMensajeFactura = Nothing
|
||||||
|
|
||||||
Try
|
Try
|
||||||
'FACTURAR LA REMISION PARA HACER EL PAGO
|
'FACTURAR LA REMISION PARA HACER EL PAGO
|
||||||
If UsuarioActual.CveEmpresa.Contiene(189, 197) AndAlso VentaActual.TipoDocto = "Rem" Then
|
If UsuarioActual.CveEmpresa.Contiene(189, 197) AndAlso VentaActual.TipoDocto = "Rem" Then
|
||||||
|
|
||||||
|
CveVentaRemision = HdnCveVenta.Value.ToEntero
|
||||||
|
|
||||||
respFactura = GenerarFactura(VentaActual, ObjVentas2, ObjClientes)
|
respFactura = GenerarFactura(VentaActual, ObjVentas2, ObjClientes)
|
||||||
|
|
||||||
If respFactura Is Nothing Then
|
If respFactura Is Nothing Then
|
||||||
@@ -493,6 +529,36 @@ Partial Class Ventas_PVCobranza
|
|||||||
'REALIZAR EL PAGO EN LA FACTURA
|
'REALIZAR EL PAGO EN LA FACTURA
|
||||||
If respFactura IsNot Nothing AndAlso Not respFactura.TieneError Then
|
If respFactura IsNot Nothing AndAlso Not respFactura.TieneError Then
|
||||||
CveVenta = respFactura.CveVenta
|
CveVenta = respFactura.CveVenta
|
||||||
|
|
||||||
|
If HdnTipoAmortizacion.Value = "4" Then
|
||||||
|
If respFactura.Factura.DtAnticiposAplicados IsNot Nothing Then
|
||||||
|
PagoAplicado += respFactura.Factura.DtAnticiposAplicados.SUM("Importe")
|
||||||
|
SaldoPendiente = SaldoPendiente - PagoAplicado
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
'GENERAR NC PARA AMORTIZACION
|
||||||
|
If MsgError = "" AndAlso UsuarioActual.CveEmpresa.Contiene(189) AndAlso HdnTipoAmortizacion.Value = "2" Then
|
||||||
|
respNC = GenerarNC(VentaActual, ObjVentas2)
|
||||||
|
|
||||||
|
If respNC IsNot Nothing Then
|
||||||
|
If respNC.TieneError Then
|
||||||
|
CveVenta = -1
|
||||||
|
|
||||||
|
If respNC.Mensajes.Count > 0 Then
|
||||||
|
MsgError = respNC.Mensajes(0)
|
||||||
|
Else
|
||||||
|
MsgError = "Ocurrió un error al generar la nota de crédito"
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
PagoAplicado += respNC.Factura.Total
|
||||||
|
SaldoPendiente = SaldoPendiente - PagoAplicado
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
MsgError = "Ocurrió un error al generar la nota de crédito"
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -546,14 +612,22 @@ Partial Class Ventas_PVCobranza
|
|||||||
MsgError = "Tiene saldo pendiente por aplicar"
|
MsgError = "Tiene saldo pendiente por aplicar"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaCorte(CveVenta, UsuarioActual.CveEmpresa, tCveCorte) Then
|
If UsuarioActual.CveRol <> 1 Then
|
||||||
MsgError = "Error al aplicar el corte"
|
If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaCorte(CveVenta, UsuarioActual.CveEmpresa, tCveCorte) Then
|
||||||
|
MsgError = "Error al aplicar el corte"
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaTicketImpreso(CveVenta, 0) Then
|
If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaTicketImpreso(CveVenta, 0) Then
|
||||||
MsgError = "No se pudo desmarcar la impresión"
|
MsgError = "No se pudo desmarcar la impresión"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If CveVentaRemision > 0 Then
|
||||||
|
If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaTicketImpreso(CveVentaRemision, 0) Then
|
||||||
|
MsgError = "No se pudo desmarcar la impresión"
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
MsgError = "Error al registrar prepólizas"
|
MsgError = "Error al registrar prepólizas"
|
||||||
End If
|
End If
|
||||||
@@ -567,17 +641,24 @@ Partial Class Ventas_PVCobranza
|
|||||||
ObjVentas2.Commit()
|
ObjVentas2.Commit()
|
||||||
Dim msBuild As New StringBuilder()
|
Dim msBuild As New StringBuilder()
|
||||||
'SI SE GENERO FACTURA DE INGRESO, TIMBRARLA DESPUES DE REALIZAR EL PAGO
|
'SI SE GENERO FACTURA DE INGRESO, TIMBRARLA DESPUES DE REALIZAR EL PAGO
|
||||||
If respFactura IsNot Nothing Then
|
'If respFactura IsNot Nothing Then
|
||||||
If Not respFactura.Factura.TimbrarFactura() Then
|
' If Not respFactura.Factura.TimbrarFactura() Then
|
||||||
msBuild.Append("La factura no se pudo timbrar<br/> ")
|
' msBuild.Append("La factura no se pudo timbrar<br/> ")
|
||||||
End If
|
' End If
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
If respFactura IsNot Nothing Then
|
If respFactura IsNot Nothing Then
|
||||||
msBuild.Append($"Pago Registrado correctamente.")
|
msBuild.Append($"Pago Registrado correctamente.")
|
||||||
For Each m In respFactura.Mensajes
|
For Each m In respFactura.Mensajes
|
||||||
msBuild.AppendFormat("<br/> {0}", m)
|
msBuild.AppendFormat("<br/> {0}", m)
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
If respNC IsNot Nothing Then
|
||||||
|
For Each m In respNC.Mensajes
|
||||||
|
msBuild.AppendFormat("<br/> {0}", m)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
msBuild.Append($"Pago Registrado correctamente.<br/><br/> <a href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&TICKET=1®ENERAR=1", CveVenta))}"" class='Texto'>Imprimir ticket</a>")
|
msBuild.Append($"Pago Registrado correctamente.<br/><br/> <a href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&TICKET=1®ENERAR=1", CveVenta))}"" class='Texto'>Imprimir ticket</a>")
|
||||||
End If
|
End If
|
||||||
@@ -599,8 +680,8 @@ Partial Class Ventas_PVCobranza
|
|||||||
ImpresionDirectaPDF(CveVenta)
|
ImpresionDirectaPDF(CveVenta)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
PnlContado.Visible = False
|
LimpiarDatos()
|
||||||
HdnCveVenta.Value = ""
|
|
||||||
CargaDatos()
|
CargaDatos()
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
GuardaLog(ex.ToString())
|
GuardaLog(ex.ToString())
|
||||||
@@ -612,6 +693,38 @@ Partial Class Ventas_PVCobranza
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub LimpiarDatos()
|
||||||
|
PnlContado.Visible = False
|
||||||
|
TxtImporteEfectivo.Text = ""
|
||||||
|
TxtImporteCredito.Text = ""
|
||||||
|
TxtImporteDebito.Text = ""
|
||||||
|
TxtImporteCheque.Text = ""
|
||||||
|
TxtImporteTransferencia.Text = ""
|
||||||
|
TxtImporteOtrosContado.Text = ""
|
||||||
|
TxtCambio.Text = ""
|
||||||
|
TxtClaveAutorizacion.Text = ""
|
||||||
|
TxtAutorizo.Text = ""
|
||||||
|
TxtNCDev.Text = ""
|
||||||
|
LtlTipoAnticipo.Text = ""
|
||||||
|
HdnTipoAmortizacion.Value = ""
|
||||||
|
CveCliente = -1
|
||||||
|
|
||||||
|
If TmpDTAnticiposNCIxCCliente IsNot Nothing Then
|
||||||
|
TmpDTAnticiposNCIxCCliente.Clear()
|
||||||
|
TmpDTAnticiposNCIxCCliente = Nothing
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ListaAnticiposAplicados IsNot Nothing Then
|
||||||
|
ListaAnticiposAplicados.Clear()
|
||||||
|
ListaAnticiposAplicados = Nothing
|
||||||
|
End If
|
||||||
|
|
||||||
|
ImgAntiPend.Visible = False
|
||||||
|
DivAnticipo.Visible = False
|
||||||
|
|
||||||
|
UpL.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
Private Function GenerarFactura(ByRef VentaRemision As Venta, ByRef ObjVentas As ClsVentas, ByRef ObjClientes As ClsClientes) As Modelos.Factura.MMensajeFactura
|
Private Function GenerarFactura(ByRef VentaRemision As Venta, ByRef ObjVentas As ClsVentas, ByRef ObjClientes As ClsClientes) As Modelos.Factura.MMensajeFactura
|
||||||
Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing
|
Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing
|
||||||
|
|
||||||
@@ -685,15 +798,51 @@ Partial Class Ventas_PVCobranza
|
|||||||
|
|
||||||
|
|
||||||
ObjFactura.CalculaTotales()
|
ObjFactura.CalculaTotales()
|
||||||
|
|
||||||
ObjFactura.PreparaTimbre()
|
ObjFactura.PreparaTimbre()
|
||||||
|
|
||||||
|
If HdnTipoAmortizacion.Value = "4" Then
|
||||||
|
Dim DtAnticipos As New DataTable()
|
||||||
|
DtAnticipos.Columns.Add("CveVenta", GetType(Integer))
|
||||||
|
DtAnticipos.Columns.Add("Importe", GetType(Decimal))
|
||||||
|
DtAnticipos.Columns.Add("CveConceptoContable", GetType(Integer))
|
||||||
|
DtAnticipos.Columns.Add("CveIE", GetType(Integer))
|
||||||
|
DtAnticipos.Columns.Add("FolioFiscal", GetType(String))
|
||||||
|
DtAnticipos.Columns.Add("Descuentos", GetType(Decimal))
|
||||||
|
DtAnticipos.Columns.Add("TotalAnticipo", GetType(Decimal))
|
||||||
|
DtAnticipos.Columns.Add("SubTotalAnticipo", GetType(Decimal))
|
||||||
|
DtAnticipos.Columns.Add("CveMoneda", GetType(Decimal))
|
||||||
|
|
||||||
|
For Each GvRow As GridViewRow In GVAnticipos.Rows
|
||||||
|
If GvRow.FCCheckBox("Chk" & GvRow.RowIndex) IsNot Nothing AndAlso GvRow.FCCheckBox("Chk" & GvRow.RowIndex).Checked Then
|
||||||
|
Dim CveVenta = GvRow.DataKey("CveVenta").ToEntero()
|
||||||
|
Dim Importe = GvRow.FCTextBox(String.Format("TxtAnticipo{0}", GvRow.RowIndex)).Text.ToDecimal()
|
||||||
|
Dim CveConceptoContable = GvRow.DataKey("CveConceptoContable").ToEntero()
|
||||||
|
Dim CveIE = GvRow.DataKey("CveIE").ToEntero()
|
||||||
|
|
||||||
|
Dim FolioFiscal = GvRow.DataKey("FolioFiscal")
|
||||||
|
Dim Descuentos As Decimal = GvRow.DataKey("Descuentos").ToDecimal()
|
||||||
|
Dim TotalAnticipo As Decimal = GvRow.DataKey("TotalAnticipo").ToDecimal()
|
||||||
|
Dim SubTotalAnticipo As Decimal = GvRow.DataKey("SubTotalAnticipo").ToDecimal()
|
||||||
|
Dim CveMoneda As Integer = GvRow.DataKey("CveMoneda").ToEntero()
|
||||||
|
|
||||||
|
DtAnticipos.Rows.Add(CveVenta, Importe, CveConceptoContable, CveIE, FolioFiscal, Descuentos, TotalAnticipo, SubTotalAnticipo, CveMoneda)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
ObjFactura.EsNCAmortizacion = True
|
||||||
|
ObjFactura.CveTipoAmortizacionAnticipo = 4
|
||||||
|
ObjFactura.DtAnticiposAplicados = DtAnticipos
|
||||||
|
End If
|
||||||
|
|
||||||
Dim SbAlert As New StringBuilder()
|
Dim SbAlert As New StringBuilder()
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Retorno = ObjFactura.EmitirFactura(False, Transac:=ObjVentas.IniciaTransacSQL(), Modulo:="Cobranza/GuardarVenta")
|
Retorno = ObjFactura.EmitirFactura(False, Transac:=ObjVentas.IniciaTransacSQL(), Modulo:="Cobranza/GuardarVenta", MostrarURL:=True)
|
||||||
Retorno.Factura = ObjFactura
|
Retorno.Factura = ObjFactura
|
||||||
|
|
||||||
If Retorno IsNot Nothing AndAlso Retorno.CveVenta > 0 Then
|
If Retorno IsNot Nothing AndAlso Retorno.CveVenta > 0 Then
|
||||||
|
|
||||||
For Each msg In Retorno.Mensajes
|
For Each msg In Retorno.Mensajes
|
||||||
SbAlert.AppendFormat("{0} <br/>", msg)
|
SbAlert.AppendFormat("{0} <br/>", msg)
|
||||||
Next
|
Next
|
||||||
@@ -756,6 +905,97 @@ Partial Class Ventas_PVCobranza
|
|||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Private Function GenerarNC(ByRef Venta As Venta, ByRef ObjVentas As ClsVentas) As Modelos.Factura.MMensajeFactura
|
||||||
|
Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing
|
||||||
|
Dim ObjNC = Modelos.Factura.CrearVentaNueva(UsuarioActual, Venta.CveSubProyecto, Venta.CveCliente, Venta.CveMoneda, "Egs")
|
||||||
|
|
||||||
|
Dim Total As Decimal = TxtNCDev.Text.ToDecimal()
|
||||||
|
Dim subTotal As Decimal = (Total / (1D + Venta.PorcentajeIVA))
|
||||||
|
'Dim IVA = (subTotal * Factura.PorcentajeIVA).RoundSQL(2)
|
||||||
|
Dim PU As Decimal = subTotal
|
||||||
|
Dim Cantidad As Decimal = 1D
|
||||||
|
Dim Descuento As Decimal = 0
|
||||||
|
Dim Obs = ""
|
||||||
|
|
||||||
|
ObjNC.AgregarPS(DdlNCPSAnt.SelectedValue.ToEntero(), Cantidad, PU, Descuento, Obs, CveSubProyecto:=Venta.CveSubProyecto, PorcentajeIVA:=Venta.PorcentajeIVA)
|
||||||
|
ObjNC.CalculaTotales()
|
||||||
|
|
||||||
|
Dim DtVentasNC = New DataTable
|
||||||
|
DtVentasNC.Columns.Add("CveVenta", GetType(Integer))
|
||||||
|
DtVentasNC.Columns.Add("Importe", GetType(Decimal))
|
||||||
|
DtVentasNC.Columns.Add("FolioFiscal", GetType(String))
|
||||||
|
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 = "CveEstatusFactura", .DataType = GetType(Integer), .DefaultValue = -1})
|
||||||
|
DtVentasNC.Columns.Add(New DataColumn With {.ColumnName = "Folio", .DataType = GetType(String), .DefaultValue = ""})
|
||||||
|
|
||||||
|
DtVentasNC.Rows.Add(Venta.CveVenta, Total, "")
|
||||||
|
|
||||||
|
ObjNC.DtVentasNC = DtVentasNC
|
||||||
|
|
||||||
|
Dim DtVentasRelacionadas As New DataTable()
|
||||||
|
DtVentasRelacionadas.Columns.Add("CveVenta", GetType(Integer))
|
||||||
|
DtVentasRelacionadas.Rows.Add(Venta.CveVenta)
|
||||||
|
|
||||||
|
ObjNC.DtVentasRelacionadas = DtVentasRelacionadas
|
||||||
|
|
||||||
|
Dim DtAnticipos As New DataTable()
|
||||||
|
DtAnticipos.Columns.Add("CveVenta", GetType(Integer))
|
||||||
|
DtAnticipos.Columns.Add("Importe", GetType(Decimal))
|
||||||
|
DtAnticipos.Columns.Add("CveConceptoContable", GetType(Integer))
|
||||||
|
DtAnticipos.Columns.Add("CveIE", GetType(Integer))
|
||||||
|
DtAnticipos.Columns.Add("FolioFiscal", GetType(String))
|
||||||
|
DtAnticipos.Columns.Add("Descuentos", GetType(Decimal))
|
||||||
|
DtAnticipos.Columns.Add("TotalAnticipo", GetType(Decimal))
|
||||||
|
DtAnticipos.Columns.Add("SubTotalAnticipo", GetType(Decimal))
|
||||||
|
DtAnticipos.Columns.Add("CveMoneda", GetType(Decimal))
|
||||||
|
|
||||||
|
For Each GvRow As GridViewRow In GVAnticipos.Rows
|
||||||
|
If GvRow.FCCheckBox("Chk" & GvRow.RowIndex) IsNot Nothing AndAlso GvRow.FCCheckBox("Chk" & GvRow.RowIndex).Checked Then
|
||||||
|
Dim CveVenta = GvRow.DataKey("CveVenta").ToEntero()
|
||||||
|
Dim Importe = GvRow.FCTextBox(String.Format("TxtAnticipo{0}", GvRow.RowIndex)).Text.ToDecimal()
|
||||||
|
Dim CveConceptoContable = GvRow.DataKey("CveConceptoContable").ToEntero()
|
||||||
|
Dim CveIE = GvRow.DataKey("CveIE").ToEntero()
|
||||||
|
|
||||||
|
Dim FolioFiscal = GvRow.DataKey("FolioFiscal")
|
||||||
|
Dim Descuentos As Decimal = GvRow.DataKey("Descuentos").ToDecimal()
|
||||||
|
Dim TotalAnticipo As Decimal = GvRow.DataKey("TotalAnticipo").ToDecimal()
|
||||||
|
Dim SubTotalAnticipo As Decimal = GvRow.DataKey("SubTotalAnticipo").ToDecimal()
|
||||||
|
Dim CveMoneda As Integer = GvRow.DataKey("CveMoneda").ToEntero()
|
||||||
|
|
||||||
|
DtAnticipos.Rows.Add(CveVenta, Importe, CveConceptoContable, CveIE, FolioFiscal, Descuentos, TotalAnticipo, SubTotalAnticipo, CveMoneda)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
ObjNC.EsNCAmortizacion = True
|
||||||
|
ObjNC.CveTipoAmortizacionAnticipo = 2
|
||||||
|
ObjNC.DtAnticiposAplicados = DtAnticipos
|
||||||
|
|
||||||
|
ObjNC.PreparaTimbre()
|
||||||
|
|
||||||
|
Dim SbAlert As New StringBuilder()
|
||||||
|
|
||||||
|
Try
|
||||||
|
Retorno = ObjNC.EmitirFactura(False, Transac:=ObjVentas.IniciaTransacSQL(), Modulo:="Cobranza/GuardarVenta", MostrarURL:=True)
|
||||||
|
Retorno.Factura = ObjNC
|
||||||
|
|
||||||
|
If Retorno IsNot Nothing AndAlso Retorno.CveVenta > 0 Then
|
||||||
|
|
||||||
|
For Each msg In Retorno.Mensajes
|
||||||
|
SbAlert.AppendFormat("{0} <br/>", msg)
|
||||||
|
Next
|
||||||
|
|
||||||
|
SbAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF Factura</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", Retorno.CveVenta)))
|
||||||
|
Else
|
||||||
|
SbAlert.Append("Ocurrió un error al generar la nota de crédito")
|
||||||
|
End If
|
||||||
|
Catch ex As Exception
|
||||||
|
SbAlert.Append("Ocurrió un error al generar el documento")
|
||||||
|
GuardaLog(ex.ToString())
|
||||||
|
End Try
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas, tCveCorte As Integer, Optional Obs As String = "", Optional CveAutorizacion As String = "", Optional CveSubProyecto As Integer = -1) As String
|
Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas, tCveCorte As Integer, Optional Obs As String = "", Optional CveAutorizacion As String = "", Optional CveSubProyecto As Integer = -1) As String
|
||||||
Dim Retorno As String = ""
|
Dim Retorno As String = ""
|
||||||
Dim CveIEPago As Integer = 0
|
Dim CveIEPago As Integer = 0
|
||||||
@@ -1078,8 +1318,7 @@ Partial Class Ventas_PVCobranza
|
|||||||
Dim ObjVentas As New ClsVentas
|
Dim ObjVentas As New ClsVentas
|
||||||
|
|
||||||
If ObjVentas.UpdateAsignaVentaCobranza(HdnCveVenta.Value.ToEntero, -1, -1, -1, "", Now) Then
|
If ObjVentas.UpdateAsignaVentaCobranza(HdnCveVenta.Value.ToEntero, -1, -1, -1, "", Now) Then
|
||||||
PnlContado.Visible = False
|
LimpiarDatos()
|
||||||
HdnCveVenta.Value = ""
|
|
||||||
CargaDatos()
|
CargaDatos()
|
||||||
End If
|
End If
|
||||||
ObjVentas.Dispose()
|
ObjVentas.Dispose()
|
||||||
@@ -1132,9 +1371,7 @@ Partial Class Ventas_PVCobranza
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CargaDdlPagos()
|
||||||
|
|
||||||
Sub CargaDdlPagos()
|
|
||||||
|
|
||||||
DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros("Tipo='Ing' AND Estatus = 1")
|
DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros("Tipo='Ing' AND Estatus = 1")
|
||||||
DdlTipoTransaccion.DataBind()
|
DdlTipoTransaccion.DataBind()
|
||||||
@@ -1223,4 +1460,361 @@ Partial Class Ventas_PVCobranza
|
|||||||
RegistraScript("$('#DVModalCobrosEnTranscurso').modal('show');")
|
RegistraScript("$('#DVModalCobrosEnTranscurso').modal('show');")
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub ImgAntiPend_Click(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
|
Dim CveVenta As Integer = HdnCveVenta.Value.ToEntero()
|
||||||
|
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||||
|
If DdlTipoAmortizacionAnticipo.Items.FindByValue("4") Is Nothing Then
|
||||||
|
DdlTipoAmortizacionAnticipo.Items.Insert(1, New ListItem("Pago con devolución", "4"))
|
||||||
|
End If
|
||||||
|
DdlTipoAmortizacionAnticipo.SelectedValueExist("4")
|
||||||
|
|
||||||
|
DdlTipoRelacionAnticipo.SelectedValueExist("-1")
|
||||||
|
|
||||||
|
divAmortizacionTipoRelacion.Visible = False
|
||||||
|
|
||||||
|
DdlTipoAmortizacionAnticipo_SelectedIndexChanged(DdlTipoAmortizacionAnticipo, EventArgs.Empty)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveCliente <= 0 Then
|
||||||
|
Dim DbRowVenta As DataRow = Nothing
|
||||||
|
Dim ObjVentas As New ClsVentas
|
||||||
|
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
|
DbRowVenta = ObjVentas.DtResultados.Copy().FiltroPrimero("")
|
||||||
|
End If
|
||||||
|
ObjVentas.Dispose()
|
||||||
|
|
||||||
|
If DbRowVenta IsNot Nothing Then
|
||||||
|
CveCliente = DbRowVenta("CveCliente").ToString().ToEntero()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveCliente > 0 Then
|
||||||
|
CargaAnticipos(CveCliente)
|
||||||
|
End If
|
||||||
|
|
||||||
|
UpAnticipos.Update()
|
||||||
|
|
||||||
|
RegistraScript("$('#DivAnticipos').modal();", "AE")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CargaAnticipos(CveCliente As Integer)
|
||||||
|
If CveCliente > 0 Then
|
||||||
|
'QUE NO SE PUEDA REALIZAR AMORTIZACIÓN DE ANTICIPO POR DESCUENTO
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||||
|
If DdlTipoAmortizacionAnticipo.Items.FindByValue("1") IsNot Nothing Then
|
||||||
|
DdlTipoAmortizacionAnticipo.Items.Remove(DdlTipoAmortizacionAnticipo.Items.FindByValue("1"))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim ObjMovtos As New ClsMovimientos()
|
||||||
|
If ObjMovtos.GetAnticiposNCIxCCliente(CveCliente) Then
|
||||||
|
Me.TmpDTAnticiposNCIxCCliente = ObjMovtos.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
|
||||||
|
'AGREGAR LOS ANTICIPOS, DEV, IxC QUE ESTEN EN PUBLICO GENERAL
|
||||||
|
If Me.TmpDTAnticiposNCIxCCliente IsNot Nothing AndAlso UsuarioActual.CveEmpresa.Contiene(189, 190, 192, 195, 197) Then
|
||||||
|
Dim CveClientePublicoGeneral = UsuarioActual.Empresa.Funcionalidad(714).ToEntero()
|
||||||
|
If CveClientePublicoGeneral > 0 Then
|
||||||
|
If CveCliente <> CveClientePublicoGeneral Then
|
||||||
|
If ObjMovtos.GetAnticiposNCIxCCliente(CveClientePublicoGeneral) Then
|
||||||
|
For Each DrGeneral As DataRow In ObjMovtos.DtResultados.Rows
|
||||||
|
Me.TmpDTAnticiposNCIxCCliente.Rows.Add(DrGeneral.ItemArray)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
ObjMovtos.Dispose()
|
||||||
|
|
||||||
|
If Me.TmpDTAnticiposNCIxCCliente IsNot Nothing Then
|
||||||
|
Dim DtMovtos As DataTable = Me.TmpDTAnticiposNCIxCCliente.FiltraParametros($"Saldo > 0 AND Tipo IN('NC','IxC','Ant') ")
|
||||||
|
|
||||||
|
If DdlTipoAmortizacionAnticipo.SelectedValue = "4" Then
|
||||||
|
GVAnticipos.DataSource = DtMovtos.FiltraParametros("Tipo IN('NC','IxC')")
|
||||||
|
Else
|
||||||
|
GVAnticipos.DataSource = DtMovtos.FiltraParametros("Tipo IN('Ant')")
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
GVAnticipos.DataSource = Nothing
|
||||||
|
End If
|
||||||
|
|
||||||
|
divAmortizacionTipo.Visible = True
|
||||||
|
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(343) = "1" Then
|
||||||
|
DdlTipoAmortizacionAnticipo.Items.Remove(DdlTipoAmortizacionAnticipo.Items.FindByValue("1"))
|
||||||
|
End If
|
||||||
|
|
||||||
|
GVAnticipos.Columns(4).Visible = False
|
||||||
|
GVAnticipos.Columns(8).Visible = False
|
||||||
|
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
|
||||||
|
GVAnticipos.Columns(6).Visible = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
GVAnticipos.DataBind()
|
||||||
|
End If
|
||||||
|
UpAnticipos.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub TxtFechaAnticipoCliente_TextChanged(sender As Object, e As EventArgs)
|
||||||
|
Dim CveVenta As Integer = HdnCveVenta.Value.ToEntero()
|
||||||
|
|
||||||
|
If CveCliente <= 0 Then
|
||||||
|
Dim DbRowVenta As DataRow = Nothing
|
||||||
|
Dim ObjVentas As New ClsVentas
|
||||||
|
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
|
DbRowVenta = ObjVentas.DtResultados.Copy().FiltroPrimero("")
|
||||||
|
End If
|
||||||
|
ObjVentas.Dispose()
|
||||||
|
|
||||||
|
If DbRowVenta IsNot Nothing Then
|
||||||
|
CveCliente = DbRowVenta("CveCliente").ToString().ToEntero()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveCliente > 0 Then
|
||||||
|
CargaAnticipos(CveCliente)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
Protected Sub LnkRecargaAnticipos_Click(sender As Object, e As EventArgs)
|
||||||
|
Dim CveVenta As Integer = HdnCveVenta.Value.ToEntero()
|
||||||
|
|
||||||
|
If CveCliente <= 0 Then
|
||||||
|
Dim DbRowVenta As DataRow = Nothing
|
||||||
|
Dim ObjVentas As New ClsVentas
|
||||||
|
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
|
DbRowVenta = ObjVentas.DtResultados.Copy().FiltroPrimero("")
|
||||||
|
End If
|
||||||
|
ObjVentas.Dispose()
|
||||||
|
|
||||||
|
If DbRowVenta IsNot Nothing Then
|
||||||
|
CveCliente = DbRowVenta("CveCliente").ToString().ToEntero()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveCliente > 0 Then
|
||||||
|
CargaAnticipos(CveCliente)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub LnkSolicitarActivarAnticipo_Click(sender As Object, e As EventArgs)
|
||||||
|
Dim CveCliente As Integer = -1
|
||||||
|
'falta sacar a los usuarios a notificar.
|
||||||
|
Dim gvr As GridViewRow = DirectCast(DirectCast(sender, LinkButton).BindingContainer, GridViewRow)
|
||||||
|
Dim Folio As String = gvr.DataKey("Folio")
|
||||||
|
Dim dtt As DataTable = Nothing
|
||||||
|
|
||||||
|
Dim ObjProceso As New ClsSisProcesos
|
||||||
|
If ObjProceso.GetUsuariosconProceso(379, UsuarioActual.CveEmpresa) Then 'proceso para autorizar
|
||||||
|
dtt = ObjProceso.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
ObjProceso.Dispose()
|
||||||
|
|
||||||
|
If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then
|
||||||
|
For Each dr As DataRow In dtt.Rows
|
||||||
|
ClsSisNotificaciones.EnviarAlerta("Solicitud de Anticipo", $"Solicitud de activación de anticipo Folio: {Folio} <br/><a href='/Ventas/Clientes.aspx?CveCliente={CveCliente}&op=ant'>Ir Activar</a>", dr("CveUsuario").ToString, Tipo:=TipoNotificacion.ToastInformacionB)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
UpAnticipos.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub GVAnticipos_RowCreated(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GVAnticipos.RowCreated
|
||||||
|
If e.Row.RowType = DataControlRowType.Header Then
|
||||||
|
e.Row.ClientIDMode = ClientIDMode.Static
|
||||||
|
e.Row.ID = String.Format("TrH{0}", e.Row.RowIndex)
|
||||||
|
ElseIf e.Row.RowType = DataControlRowType.DataRow Then
|
||||||
|
e.Row.ClientIDMode = ClientIDMode.Static
|
||||||
|
e.Row.ID = String.Format("Tr{0}", e.Row.RowIndex)
|
||||||
|
e.Row.FCCheckBox("Chk").ID = "Chk" & e.Row.RowIndex
|
||||||
|
e.Row.FCTextBox("TxtAnticipo").ID = "TxtAnticipo" & e.Row.RowIndex
|
||||||
|
e.Row.FCTextBox("TxtTC").ID = "TxtTC" & e.Row.RowIndex
|
||||||
|
DirectCast(e.Row.FindControl("CVAmortAnti"), CompareValidator).ID = "CVAmortAnti" & e.Row.RowIndex
|
||||||
|
DirectCast(e.Row.FindControl("VCOAmortAnti"), AjaxControlToolkit.ValidatorCalloutExtender).ID = "VCOAmortAnti" & e.Row.RowIndex
|
||||||
|
DirectCast(e.Row.FindControl("CVAmortAnti"), CompareValidator).ControlToValidate = "TxtAnticipo" & e.Row.RowIndex
|
||||||
|
DirectCast(e.Row.FindControl("VCOAmortAnti"), AjaxControlToolkit.ValidatorCalloutExtender).TargetControlID = "CVAmortAnti" & e.Row.RowIndex
|
||||||
|
|
||||||
|
'SI NO TIENE PERMISO, NO PERMITIR APLICAR ANTICIPOS PUNTUALES
|
||||||
|
If GVAnticipos.DataSource IsNot Nothing Then
|
||||||
|
If CBool(e.Row.DBCampo("AnticipoPuntual")) AndAlso Not UsuarioActual.TienePermisoProceso(377) Then
|
||||||
|
e.Row.FCCheckBox("Chk").Enabled = False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub GVAnticipos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GVAnticipos.RowDataBound
|
||||||
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||||
|
'Dim Pagado As Decimal = TxtImporteEfectivo.Text.ToDecimal + TxtImporteCredito.Text.ToDecimal + TxtImporteDebito.Text.ToDecimal + TxtImporteCheque.Text.ToDecimal + TxtImporteTransferencia.Text.ToDecimal
|
||||||
|
|
||||||
|
If e.Row.RowIndex = 0 Then
|
||||||
|
e.Row.Cells(1).Width = Unit.Pixel(60)
|
||||||
|
e.Row.Cells(2).Width = Unit.Pixel(100)
|
||||||
|
e.Row.Cells(3).Width = Unit.Pixel(80)
|
||||||
|
e.Row.Cells(4).Width = Unit.Pixel(80)
|
||||||
|
End If
|
||||||
|
|
||||||
|
e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Right
|
||||||
|
|
||||||
|
If e.Row.DataKey("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red
|
||||||
|
If e.Row.DataKey("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = ""
|
||||||
|
|
||||||
|
Dim saldo As Decimal = 0
|
||||||
|
Dim tipoCambio As Decimal = 0
|
||||||
|
Dim total As Decimal = LtlSaldo.Text.ToDecimal() '- Pagado
|
||||||
|
|
||||||
|
saldo = e.Row.DataKey("Saldo").ToString().ToDecimal
|
||||||
|
|
||||||
|
If DdlTipoAmortizacionAnticipo.SelectedValue.Contiene("4") Then
|
||||||
|
saldo = e.Row.DataKey("Saldo").ToString().ToDecimal
|
||||||
|
Else
|
||||||
|
saldo = e.Row.DataKey("SaldoConImpuestos").ToString().ToDecimal
|
||||||
|
End If
|
||||||
|
|
||||||
|
e.Row.FCLiteral("LtlAnticipos").Text = saldo.FormatoNumero
|
||||||
|
|
||||||
|
saldo = saldo.RoundSQL()
|
||||||
|
|
||||||
|
Dim maxsaldo As Decimal = 0
|
||||||
|
If total > saldo Then
|
||||||
|
maxsaldo = saldo
|
||||||
|
Else
|
||||||
|
maxsaldo = total
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim AmortizacionSujeridaContrato As Decimal = 0
|
||||||
|
|
||||||
|
e.Row.FCLiteral("MonedaVenta").Text = saldo.FormatoNumero(2)
|
||||||
|
e.Row.FCCheckBox("Chk" & e.Row.RowIndex).Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo" & e.Row.RowIndex).ClientID, saldo, AmortizacionSujeridaContrato))
|
||||||
|
e.Row.FCTextBox("TxtAnticipo" & e.Row.RowIndex).Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1});", e.Row.FCCheckBox("Chk" & e.Row.RowIndex).ClientID, saldo))
|
||||||
|
e.Row.FCTextBox("TxtTC" & e.Row.RowIndex).Attributes.Add("onKeyUp", String.Format("CambioTipoMoneda({0},{1},{2},{3},{4});", e.Row.FCCheckBox("Chk" & e.Row.RowIndex).ClientID, e.Row.DataKey("Saldo"), e.Row.FCTextBox("TxtAnticipo" & e.Row.RowIndex).ClientID, e.Row.FCTextBox("TxtTC" & e.Row.RowIndex).ClientID, e.Row.DataKey("CveMoneda")))
|
||||||
|
|
||||||
|
If e.Row.DataKey("CveIE").ToString().ToEntero() > 0 Then
|
||||||
|
e.Row.FCLiteral("LtlFactura").Text = String.Format("<a class=""Texto"" href=""/Bancos/IE.aspx?CveIE={0}"">{1}</a>", e.Row.DataKey("CveIE"), e.Row.DataKey("Folio"))
|
||||||
|
Else
|
||||||
|
e.Row.FCLiteral("LtlFactura").Text = String.Format("<a class=""Texto"" href=""/Ventas/Ventas.aspx?CveVenta={0}"">{1}</a>", e.Row.DataKey("CveVenta"), e.Row.DataKey("Folio"))
|
||||||
|
End If
|
||||||
|
|
||||||
|
If e.Row.DataKey("ISTotal") = "1" Then
|
||||||
|
e.Row.Cells(0).Visible = False
|
||||||
|
e.Row.Cells(1).ColumnSpan = 3
|
||||||
|
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Right
|
||||||
|
e.Row.FCLiteral("LtlFactura").Text = String.Format("Total {0} ", e.Row.DataKey("Tipo"))
|
||||||
|
e.Row.BackColor = Drawing.Color.LightGray
|
||||||
|
e.Row.Cells(2).Visible = False
|
||||||
|
e.Row.FCTextBox("TxtAnticipo" & e.Row.RowIndex).Visible = False
|
||||||
|
e.Row.FCTextBox("TxtTC" & e.Row.RowIndex).Visible = False
|
||||||
|
e.Row.FCLabel("LblTotalAnticipos").Visible = True
|
||||||
|
e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Right
|
||||||
|
End If
|
||||||
|
|
||||||
|
If UsuarioActual.Empresa.Funcionalidad(185) = "1" Then
|
||||||
|
If e.Row.DBCampo("Tipo").ToString().Contiene("Ant", "IxC") AndAlso Not CBool(e.Row.DBCampo("AnticipoAutorizado")) Then
|
||||||
|
e.Row.FCCheckBox("Chk" & e.Row.RowIndex).Enabled = False
|
||||||
|
e.Row.FCCheckBox("Chk" & e.Row.RowIndex).ToolTip = "Anticipo Bloqueado"
|
||||||
|
e.Row.FCLinkButton("LnkSolicitarActivarAnticipo").Visible = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If e.Row.DBCampo("CveMoneda").ToString().ToEntero() = 1 Then
|
||||||
|
e.Row.FCTextBox("TxtTC" & e.Row.RowIndex).Visible = False
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub BtnAceptarAnticipos_Click(sender As Object, e As System.EventArgs) Handles BtnAceptarAnticipos.Click
|
||||||
|
|
||||||
|
If DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero() <= 0 Then
|
||||||
|
Alert("Debe seleccionar un tipo de amortización", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim Amortizacion As Decimal = 0
|
||||||
|
|
||||||
|
If ListaAnticiposAplicados Is Nothing Then
|
||||||
|
ListaAnticiposAplicados = New List(Of Modelos.MAnticipoRelacionado)
|
||||||
|
Else
|
||||||
|
ListaAnticiposAplicados.Clear()
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Dim SbObs As New StringBuilder
|
||||||
|
For Each gvr As GridViewRow In GVAnticipos.Rows
|
||||||
|
If gvr.FCCheckBox("Chk" & gvr.RowIndex) IsNot Nothing AndAlso gvr.FCCheckBox("Chk" & gvr.RowIndex).Checked Then
|
||||||
|
If gvr.FCTextBox(String.Format("TxtAnticipo{0}", gvr.RowIndex)).Text.ToDecimal > 0 Then
|
||||||
|
Amortizacion += gvr.FCTextBox(String.Format("TxtAnticipo{0}", gvr.RowIndex)).Text.ToDecimal()
|
||||||
|
|
||||||
|
If DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then
|
||||||
|
ListaAnticiposAplicados.Add(New Modelos.MAnticipoRelacionado() With {.CveVenta = gvr.DataKey("CveVenta").ToEntero(), .FolioFiscal = gvr.DataKey("FolioFiscal")})
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
If Amortizacion > 0 Then
|
||||||
|
TxtNCDev.Text = Amortizacion.ToString()
|
||||||
|
LtlTipoAnticipo.Text = DdlTipoAmortizacionAnticipo.SelectedItem.Text
|
||||||
|
HdnTipoAmortizacion.Value = DdlTipoAmortizacionAnticipo.SelectedValue
|
||||||
|
Else
|
||||||
|
TxtNCDev.Text = ""
|
||||||
|
LtlTipoAnticipo.Text = ""
|
||||||
|
HdnTipoAmortizacion.Value = ""
|
||||||
|
End If
|
||||||
|
|
||||||
|
RegistraScript("$('#DivAnticipos').modal('hide');CalculaTotalPagoContado()", "AE")
|
||||||
|
UpL.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub DdlTipoAmortizacionAnticipo_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||||
|
divAmortizacionTipoRelacion.Visible = DdlTipoAmortizacionAnticipo.SelectedValue = "2"
|
||||||
|
|
||||||
|
If DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then
|
||||||
|
CargaDdlNCPS()
|
||||||
|
DivConceptoNC.Visible = True
|
||||||
|
Else
|
||||||
|
DivConceptoNC.Visible = False
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveCliente <= 0 Then
|
||||||
|
Dim CveVenta As Integer = HdnCveVenta.Value.ToEntero
|
||||||
|
Dim DbRowVenta As DataRow = Nothing
|
||||||
|
Dim ObjVentas As New ClsVentas
|
||||||
|
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
|
DbRowVenta = ObjVentas.DtResultados.Copy().FiltroPrimero("")
|
||||||
|
End If
|
||||||
|
ObjVentas.Dispose()
|
||||||
|
|
||||||
|
If DbRowVenta IsNot Nothing Then
|
||||||
|
CveCliente = DbRowVenta("CveCliente").ToString().ToEntero()
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CveCliente > 0 Then
|
||||||
|
CargaAnticipos(CveCliente)
|
||||||
|
End If
|
||||||
|
|
||||||
|
UpAnticipos.Update()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub CargaDdlNCPS()
|
||||||
|
Dim CveSATNC As String = "84111506"
|
||||||
|
Dim dtt As New DataTable
|
||||||
|
dtt = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CodigoSATPS:=CveSATNC, AplicaParaVenta:=1) ', SATClavePS:=CveSATNC
|
||||||
|
|
||||||
|
If dtt IsNot Nothing Then
|
||||||
|
|
||||||
|
DdlNCPSAnt.DataSource = dtt
|
||||||
|
DdlNCPSAnt.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||||
|
DdlNCPSAnt.DataBind()
|
||||||
|
dtt.Dispose()
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
Reference in New Issue
Block a user