This commit is contained in:
Oscar Irigoyen
2023-05-02 10:46:58 -07:00
7 changed files with 162 additions and 253 deletions

View File

@@ -1625,7 +1625,7 @@ Partial Class Bancos_PopIECompras
Dim StrMsg As New StringBuilder Dim StrMsg As New StringBuilder
StrMsg.Append("El Documento se guardó correctamente.<br/>") StrMsg.Append("El Documento se guardó correctamente.<br/>")
If TipoTransaccion = "Egs" AndAlso CveIE > 0 Then GeneraChequePDF(CveIE, UsuarioActual.Empresa) If TipoTransaccion = "Egs" AndAlso CveIE > 0 Then GeneraChequePDF(CveIE, UsuarioActual.Empresa)
If IdPoliza > 0 Then StrMsg.AppendFormat("<br/><a Class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", IdPoliza) If IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then StrMsg.AppendFormat("<br/><a Class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", IdPoliza)
If RBLContado.SelectedValue.ToEntero = 6 And ChkEmitirComplementoPago.Checked Then GeneraTimbre(CvePrePoliza) Else Alert(StrMsg.ToString, TipoMensaje.MsgInformacion, "self.parent.tb_remove();self.parent.location.reload();") If RBLContado.SelectedValue.ToEntero = 6 And ChkEmitirComplementoPago.Checked Then GeneraTimbre(CvePrePoliza) Else Alert(StrMsg.ToString, TipoMensaje.MsgInformacion, "self.parent.tb_remove();self.parent.location.reload();")

View File

@@ -4845,7 +4845,7 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<asp:GridView ID="GvFacturaNC" OnRowDataBound="GvFacturaNC_RowDataBound" <asp:GridView ID="GvFacturaNC" OnRowDataBound="GvFacturaNC_RowDataBound"
DataKeyNames="CveCompra,TipoCambio,CveTipoConcepto,UUID,Saldo,SerieFolio,Fecha,CveMoneda" runat="server" AutoGenerateColumns="false" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD"> DataKeyNames="CveCompra,TipoCambio,CveTipoConcepto,UUID,Saldo,SerieFolio,Fecha,CveMoneda,Total,CveProveedor" runat="server" AutoGenerateColumns="false" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD">
<Columns> <Columns>
<asp:TemplateField> <asp:TemplateField>
<ItemTemplate> <ItemTemplate>
@@ -5880,46 +5880,34 @@
} }
function chkAnt(t, txt, importe, TotalSaldo, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal) { function chkAnt(t, txt, importe, TotalSaldoCompra, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, TCCompra) {
var Total = ToDouble($get('TxtTotal').value); var Total = ToDouble($get('TxtTotal').value);
//TotalSaldo = Total; debugger;
var txtvalue = ToDouble(txt.value); var txtvalue = ToDouble(txt.value);
var ImportePago, ImporteCompra;
var TCC = TCCompra / TCAnticipo;
var importevalue = ToDouble(importe); var importevalue = ToDouble(importe);
if (CveMonedaAnticipo = 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
importevalue = ToDouble(importevalue / TCAnticipo);
} else if (CveMonedaAnticipo = 2 && CveMonedaOriginal == 1) {
txtvalue = ToDouble(txtvalue * TCAnticipo);
importevalue = ToDouble(importevalue * TCAnticipo);
}
//var SaldoCompra = parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); if (CveMonedaAnticipo != CveMonedaOriginal) {
var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + txtvalue).toFixed(2); // le agrego lo del valor actual para validarlo if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo);
importevalue = ToDouble(importevalue / TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
if (t.checked) { txtvalue = ToDouble(txtvalue * TCAnticipo);
importevalue = ToDouble(importevalue * TCAnticipo);
if (SaldoCompra > 0) {
if (SaldoCompra > importevalue) {
txt.value = ToDouble(importevalue).toFixed(2);
//SaldoCompra = SaldoCompra - importe;
//$get('HdnCompraSaldo').value = SaldoCompra;
} else {
txt.value = ToDouble(SaldoCompra).toFixed(2);
//SaldoCompra = 0.00;
//$get('HdnCompraSaldo').value = SaldoCompra;
}
} else {
t.checked = false;
txt.value = "";
//SaldoCompra = SaldoCompra - importe;
} }
}
var DifSaldo = (TotalSaldoCompra - FnSumaValoresAnt()).toFixed(2); // le agrego lo del valor actual para validarlo
} else { if (t.checked)
//$get('HdnCompraSaldo').value = parseFloat(SaldoCompra) + parseFloat(txt.value); {
if (DifSaldo > importevalue) {
txt.value = ToDouble(importevalue*TCC).toFixed(2);
} else {
txt.value = ToDouble(DifSaldo*TCC).toFixed(2);
}
} else {
txt.value = ""; txt.value = "";
} }
@@ -5935,6 +5923,7 @@
var Total = ToDouble($get('TxtTotal').value); var Total = ToDouble($get('TxtTotal').value);
let txtComisionImporte = 0; let txtComisionImporte = 0;
debugger;
if (txtComision != null) { if (txtComision != null) {
if (!isNaN(txtComision.value)) { if (!isNaN(txtComision.value)) {
@@ -5952,8 +5941,7 @@
} }
return; return;
} }
debugger;
if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) {
txtvalue = ToDouble(txtvalue / TCAnticipo); txtvalue = ToDouble(txtvalue / TCAnticipo);
} else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) {
@@ -5961,7 +5949,7 @@
} }
var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txtvalue)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txtvalue)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2));
alert(txtvalue);
if (SaldoCompra < 0) txt.value = SaldoCompra - txtvalue; if (SaldoCompra < 0) txt.value = SaldoCompra - txtvalue;
//minimo entre saldocompra y el saldoanticipo //minimo entre saldocompra y el saldoanticipo
if (SaldoCompra < saldo) saldo = SaldoCompra; if (SaldoCompra < saldo) saldo = SaldoCompra;

View File

@@ -9,9 +9,6 @@ Imports System.IO
Imports System.Threading.Tasks Imports System.Threading.Tasks
Imports Newtonsoft.Json Imports Newtonsoft.Json
Imports Extensiones Imports Extensiones
Imports System.Activities.Expressions
Imports iText.Barcodes.Dmcode
Imports Microsoft.Reporting.WebForms
Imports MoreLinq Imports MoreLinq
Partial Class Compras_Compras Partial Class Compras_Compras
@@ -490,14 +487,6 @@ Partial Class Compras_Compras
ViewState("CompraSaldo") = value ViewState("CompraSaldo") = value
End Set End Set
End Property End Property
Private Property Saldo As Double
Get
Return ViewState("Saldo").ToString.ToDouble
End Get
Set(value As Double)
ViewState("Saldo") = value
End Set
End Property
Private Property CveMoneda As Integer Private Property CveMoneda As Integer
Get Get
@@ -1234,7 +1223,7 @@ Partial Class Compras_Compras
CierrePeriodo = False CierrePeriodo = False
NCDevolucion = False NCDevolucion = False
CompraCargada = False CompraCargada = False
Saldo = 0 CompraSaldo = 0
SubTotalOriginal = 0 SubTotalOriginal = 0
CveConceptoContableAlmacen = 0 CveConceptoContableAlmacen = 0
EsNoDeducible = False EsNoDeducible = False
@@ -1418,8 +1407,6 @@ Partial Class Compras_Compras
InicializaAplicaNCFact() InicializaAplicaNCFact()
End If End If
If UsuarioActual.Empresa.UsaAC Then If UsuarioActual.Empresa.UsaAC Then
CambiaEjercicioAC() CambiaEjercicioAC()
End If End If
@@ -1509,7 +1496,7 @@ Partial Class Compras_Compras
End If End If
'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
LblSaldoFactura.Text = If(CveCompra > 0, Saldo.FormatoNumero, TxtTotal.Text.FormatoNumero) LblSaldoFactura.Text = If(CveCompra > 0, CompraSaldo.FormatoNumero, TxtTotal.Text.FormatoNumero)
'cuando es factura con amortizacion, el importe a descontar es el saldo que se debe de aplicar para la amortizacion 'cuando es factura con amortizacion, el importe a descontar es el saldo que se debe de aplicar para la amortizacion
If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 Then If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 Then
LblSaldoFactura.Text = TmpDT.SUMD("Descuento").ToString LblSaldoFactura.Text = TmpDT.SUMD("Descuento").ToString
@@ -2425,12 +2412,6 @@ Partial Class Compras_Compras
End If End If
End If End If
Dim MostrarRetIva6 As Boolean = False
TxtSubTotal.Text = SubtotalTemp.FormatoNumero TxtSubTotal.Text = SubtotalTemp.FormatoNumero
TxtDescuento.Text = DescuentosTemp.FormatoNumero TxtDescuento.Text = DescuentosTemp.FormatoNumero
TxtSubTotal2.Text = Subtotal2Temp.FormatoNumero TxtSubTotal2.Text = Subtotal2Temp.FormatoNumero
@@ -2476,23 +2457,6 @@ Partial Class Compras_Compras
'ASIGNA VALORES ORIGINALES PARA GUARDAR 'ASIGNA VALORES ORIGINALES PARA GUARDAR
AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total) AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total)
'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then
' If RetencionIVA = 0 And IVAOriginal > 0 Then
' For Each dRow As DataRow In TmpDT.Rows
' If dRow("CveTipoPS").ToString.ToEntero = 1 Then
' 'comentado para reubicar el boton
' 'tdIVA6.Visible = True
' Exit For
' End If
' Next
' End If
'End If
End Sub End Sub
@@ -2592,7 +2556,7 @@ Partial Class Compras_Compras
'CargaProveedor 'CargaProveedor
Dim dr As DataRow = ObjCompra.DtResultados.Rows(0) Dim dr As DataRow = ObjCompra.DtResultados.Rows(0)
Saldo = dr("Saldo").ToString.ToDecimal CompraSaldo = dr("Saldo").ToString.ToDecimal
RBLPago.Visible = False RBLPago.Visible = False
Dim CveProveedor As Integer = dr("CveProveedor").ToString.ToEntero Dim CveProveedor As Integer = dr("CveProveedor").ToString.ToEntero
@@ -2689,7 +2653,6 @@ Partial Class Compras_Compras
TxtTotal.Text = dr("Total").ToString.FormatoNumero(2) TxtTotal.Text = dr("Total").ToString.FormatoNumero(2)
HfTotalCompra.Value = TxtTotal.Text HfTotalCompra.Value = TxtTotal.Text
CompraSaldo = TxtTotal.Text.ToDouble
TipoCambio = dr("TipoCambio").ToString.ToDecimal TipoCambio = dr("TipoCambio").ToString.ToDecimal
Dim TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDouble Dim TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDouble
@@ -2797,29 +2760,7 @@ Partial Class Compras_Compras
'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250,-250); $('#DivEventoBitacora').show(1000); ") 'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250,-250); $('#DivEventoBitacora').show(1000); ")
ImgAddObs.Visible = True ImgAddObs.Visible = True
ChkAplicaNotaCredito.Checked = CBool(dr("AplicaNotaCredito").ToString) ChkAplicaNotaCredito.Checked = CBool(dr("AplicaNotaCredito").ToString)
'RBLPago.Enabled = False
'If dr("CveIE").ToString.ToEntero > 0 Then
' RBLPago.SelectedValue = "2"
' 'cargo los datos del pago
' 'PnlPago.Visible = True
' 'PnlChkFuncionariosEmpleados.Visible = True
' Dim ObjIE As New ClsBancos()
' If ObjIE.GetBancosIE(dr("CveIE").ToString.ToEntero, UsuarioActual.CveEmpresa) Then
' If ObjIE.DtResultados.Rows.Count > 0 Then
' DdlTipoTransaccion.SelectedValue = ObjIE.CveTipoTransaccion.ToString
' DdlCuenta.SelectedValue = ObjIE.CveCuenta.ToString
' TxtDocumentoFolio.Text = ObjIE.Folio
' TxtDocumentoImporte.Text = ObjIE.Importe.FormatoNumero
' TxtDocumentoObservaciones.Text = ObjIE.Observaciones
' End If
' End If
' ObjIE.Dispose()
'End If
CompraSaldo = TotalGeneral - LblAmortizacion.Text.ToDouble CompraSaldo = TotalGeneral - LblAmortizacion.Text.ToDouble
If EmpresaPrueba Then If EmpresaPrueba Then
CompraSaldo = dr("Saldo").ToString.ToDouble CompraSaldo = dr("Saldo").ToString.ToDouble
@@ -7208,19 +7149,27 @@ Partial Class Compras_Compras
Pago.TipoPago = "NC" Pago.TipoPago = "NC"
Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
Dim CompraPago As New Compra
'datos de la compra tipodocto:Fac, para sobreescribirlos 'datos de la compra tipodocto:Fac, para sobreescribirlos
CompraActual.CveCompra = Gvr.DataKey("CveCompra").ToEntero CompraPago.CveCompra = Gvr.DataKey("CveCompra").ToEntero
CompraActual.SerieFolio = Gvr.DataKey("SerieFolio") CompraPago.CveProveedor = Gvr.DataKey("CveProveedor").ToEntero
CompraActual.TC = Gvr.DataKey("TipoCambio").ToDecimal CompraPago.SerieFolio = Gvr.DataKey("SerieFolio")
CompraActual.Fecha = Gvr.DataKey("Fecha").ToDate CompraPago.TC = Gvr.DataKey("TipoCambio").ToDecimal
CompraActual.CveMoneda = Gvr.DataKey("CveMoneda").ToEntero CompraPago.Fecha = Gvr.DataKey("Fecha").ToDate
CompraPago.CveMoneda = Gvr.DataKey("CveMoneda").ToEntero
ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) CompraPago.Total = Gvr.DataKey("Total").ToDecimal
CompraPago.CveTipoConceptoProveedor = Gvr.DataKey("CveTipoConcepto").ToEntero
CompraPago.CveSubProyecto = CompraActual.CveSubProyecto
ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta)
If ErrorPrepoliza Then
Exit For
End If
End If End If
Next Next
If ErrorPrepoliza Then If ErrorPrepoliza Then
ErrorMovtosCxP = True
Exit Select Exit Select
End If End If
@@ -8091,6 +8040,12 @@ Partial Class Compras_Compras
Dim Msg As New StringBuilder Dim Msg As New StringBuilder
Msg.Append("La compra se registró correctamente") Msg.Append("La compra se registró correctamente")
If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
ErrorPrepolizaDescuadre = True
End If
End If
@@ -8146,8 +8101,6 @@ Partial Class Compras_Compras
Dim TempParametros = Encripta(String.Format("OP=PREPO&CvePrePoliza={0}", CvePrePoliza)) Dim TempParametros = Encripta(String.Format("OP=PREPO&CvePrePoliza={0}", CvePrePoliza))
Msg.Append($" <a class='Texto' target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={TempParametros}""> <i class='fa fa-file-pdf-o' aria-hidden='true'></i> Imprimir </a>") Msg.Append($" <a class='Texto' target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={TempParametros}""> <i class='fa fa-file-pdf-o' aria-hidden='true'></i> Imprimir </a>")
End If End If
If CveMovimientoInventario > 0 Then If CveMovimientoInventario > 0 Then
@@ -8174,7 +8127,6 @@ Partial Class Compras_Compras
End If End If
End If End If
If Not TieneError Then If Not TieneError Then
ObjCompras.Commit() ObjCompras.Commit()
If ObjContaAC IsNot Nothing Then ObjContaAC.Commit() If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
@@ -8625,6 +8577,7 @@ Partial Class Compras_Compras
Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal
Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal
Dim Pago As New CompraPago Dim Pago As New CompraPago
Pago.TipoPago = gvr.DataKey("TipoDocto") Pago.TipoPago = gvr.DataKey("TipoDocto")
Pago.ImportePago = ImporteAnt Pago.ImportePago = ImporteAnt
@@ -8633,6 +8586,10 @@ Partial Class Compras_Compras
Pago.TCPago = TipoCambioAnt Pago.TCPago = TipoCambioAnt
Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
If CompraActual.CveMoneda = 1 AndAlso Pago.CveMonedaPago = 2 Then
CompraActual.TC = Pago.TCPago
End If
Select Case gvr.DataKey("TipoDocto") Select Case gvr.DataKey("TipoDocto")
Case "NC", "DEV" Case "NC", "DEV"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 60, 60) CveConceptoCompra = If(CveMonedaAnticipo = 1, 60, 60)
@@ -8642,8 +8599,8 @@ Partial Class Compras_Compras
CveIE = -1 CveIE = -1
Pago.AplicaAcreditable = False Pago.AplicaAcreditable = False
Case "Egsc" Case "Egsc"
CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21) 'CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21)
CveConceptoCompraComplementaria = 266 'CveConceptoCompraComplementaria = 266
IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera) IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera)
IdCtaContableComp = CtaProveedorAnticiposComplementaria IdCtaContableComp = CtaProveedorAnticiposComplementaria
@@ -9795,68 +9752,6 @@ Partial Class Compras_Compras
importeMovimiento = 0 importeMovimiento = 0
IdCtaContable = 0 IdCtaContable = 0
' Case 5 'Proveedores
' Dim TieneConceptoProveedorAcreedor As Boolean = False
' Dim CveIE As Integer = -1
' 'If Not ObjConta.GetPrePolizasDetalleCompra(CveCompra, UsuarioActual.CveEmpresa) Then
' ' ErrorPrepoliza = True
' 'Else
' ' If ObjConta.DtResultados.FiltraParametros("CveConceptoContable IN (5,305)").Rows.Count > 0 Then
' ' TieneConceptoProveedorAcreedor = True
' ' CveIE = ObjConta.DtResultados.FiltraParametros("CveConceptoContable = 6 OR CveConceptoContable = 68 OR CveConceptoContable = 49 OR CveConceptoContable = 205 OR CveConceptoContable = 176").Rows(0)("CveIE").ToString.ToEntero
' ' End If
' 'End If
' If TieneConceptoProveedorAcreedor Then
' If CveTipoConcepto = 2 Then ConceptoContable = 305 'cuando es acreedor
' Dim UsaComplementaria As Boolean = True
' If tipoCambioActual <> 1 Then
' Select Case ConceptoContable
' Case 5
' ConceptoContable = 311
' Case 305
' ConceptoContable = 306
' Case Else
' End Select
' End If
' Dim importeProv As Decimal = 0
' importeProv = TxtTotal.Text.ToDecimal
' If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then
' importeMovimiento = importeProv
' importeMN = importeMovimiento * tipoCambioActual * Multiplicador
' If tipoCambioActual > 1 Then Referencia += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
' Dim CveConceptoContableComplementaria As Integer = 201
' If CveTipoConcepto = 2 Then CveConceptoContableComplementaria = 307
' If tipoCambioActual = 1 Then
' IdCtaContable = If(CveTipoConcepto = 2, CtaProveedorAcreedores, CtaProveedor)
' Dim Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}"
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveSubProyecto:=-1, CveProveedor:=CveProveedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=-1, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual) Then
' ErrorPrepoliza = True
' Exit For
' End If
' Else
' IdCtaContable = CtaProveedorComplementaria
' If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsaComplementaria) Then 'Cuando tiene complementaria lo dividimos en dos Then
' importeMN = importeMovimiento
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Referencia, CveConceptoContableComplementaria, Referencia, FechaMovimiento, IdCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=importeMovimiento * tipoCambioActual - importeMovimiento, ImporteME:=importeMovimiento, TipoCambio:=tipoCambioActual) Then
' ErrorPrepoliza = True
' End If
' End If
' IdCtaContable = CtaProveedorExtranjera
' End If
' End If
' End If
End Select End Select
Next Next
End If End If
@@ -10158,17 +10053,25 @@ Partial Class Compras_Compras
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red
If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = "" If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = ""
Dim ImporteAmortizacion As Decimal = If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDecimal) Dim ImporteAmortizacion As Decimal = If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDecimal)
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
Dim tTCFecha As Double = If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble) Dim tTCFecha As Double = If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble)
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2},{3},{4},{5},{6});",
e.Row.FCTextBox("TxtAnticipo").ClientID,
e.Row.DBCampo("Saldo"),
If(CveCompra > 0, CompraSaldo, ImporteAmortizacion),
e.Row.DBCampo("CveMoneda"),
tTCFecha,
DdlMoneda.SelectedValue,
IIf(DdlMoneda.SelectedValue = "1", 1, TxtTC.Text))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
If UsuarioActual.Empresa.CveEmpresa.Contiene(13, 83) Then If UsuarioActual.Empresa.CveEmpresa.Contiene(13, 83) Then
e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5},{6});", e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5},{6});",
e.Row.FCCheckBox("Chk").ClientID, e.Row.FCCheckBox("Chk").ClientID,
e.Row.DBCampo("Saldo"), e.Row.DBCampo("Saldo"),
If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero,
tTCFecha, tTCFecha,
DdlMoneda.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero,
e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
@@ -10176,7 +10079,7 @@ Partial Class Compras_Compras
e.Row.FCTextBox("TxtComision").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},{6},{1},{2},{3},{4},{5},this);", e.Row.FCTextBox("TxtComision").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},{6},{1},{2},{3},{4},{5},this);",
e.Row.FCCheckBox("Chk").ClientID, e.Row.FCCheckBox("Chk").ClientID,
e.Row.DBCampo("Saldo"), e.Row.DBCampo("Saldo"),
If(CveCompra > 0, Saldo, ImporteAmortizacion), If(CveCompra > 0, CompraSaldo, ImporteAmortizacion),
e.Row.DBCampo("CveMoneda").ToEntero, e.Row.DBCampo("CveMoneda").ToEntero,
tTCFecha, tTCFecha,
DdlMoneda.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero,
@@ -10185,7 +10088,7 @@ Partial Class Compras_Compras
e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5});", e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5});",
e.Row.FCCheckBox("Chk").ClientID, e.Row.FCCheckBox("Chk").ClientID,
e.Row.DBCampo("Saldo"), e.Row.DBCampo("Saldo"),
If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero,
tTCFecha, tTCFecha,
DdlMoneda.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero,
e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO
@@ -10193,7 +10096,7 @@ Partial Class Compras_Compras
e.Row.FCTextBox("TxtComision").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},{6},{1},{2},{3},{4},{5},this);", e.Row.FCTextBox("TxtComision").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},{6},{1},{2},{3},{4},{5},this);",
e.Row.FCCheckBox("Chk").ClientID, e.Row.FCCheckBox("Chk").ClientID,
e.Row.DBCampo("Saldo"), e.Row.DBCampo("Saldo"),
If(CveCompra > 0, Saldo, ImporteAmortizacion), If(CveCompra > 0, CompraSaldo, ImporteAmortizacion),
e.Row.DBCampo("CveMoneda").ToEntero, e.Row.DBCampo("CveMoneda").ToEntero,
tTCFecha, tTCFecha,
DdlMoneda.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero,
@@ -20428,7 +20331,7 @@ Partial Class Compras_Compras
Dim MensajeProducto As String = "" Dim MensajeProducto As String = ""
Dim MensajeCantidad As String = "" Dim MensajeCantidad As String = ""
Dim MensajeImporte As String = "" Dim MensajeImporte As String = ""
If objContratos.ValidaPSContrato(TempPS) Then If TempPS <> "" AndAlso objContratos.ValidaPSContrato(TempPS) Then
If objContratos.DtResultados.Rows.Count > 0 Then If objContratos.DtResultados.Rows.Count > 0 Then
MensajeProducto = "Los siguientes productos no pertenece al contrato seleccionado: " MensajeProducto = "Los siguientes productos no pertenece al contrato seleccionado: "
MensajeCantidad = "Los siguientes productos sobrepasan la cantidad faltante del contrato seleccionado: " MensajeCantidad = "Los siguientes productos sobrepasan la cantidad faltante del contrato seleccionado: "
@@ -20465,7 +20368,7 @@ Partial Class Compras_Compras
If DtPS.MAX("CveSubProyecto", "CveSubProyecto IS NOT NULL").ToEntero > 0 AndAlso DtPS.MAX("CvePS", "CvePS IS NOT NULL").ToEntero > 0 Then If DtPS.MAX("CveSubProyecto", "CveSubProyecto IS NOT NULL").ToEntero > 0 AndAlso DtPS.MAX("CvePS", "CvePS IS NOT NULL").ToEntero > 0 Then
Dim TempPS As String = JsonConvert.SerializeObject(DtPS).ToString Dim TempPS As String = JsonConvert.SerializeObject(DtPS).ToString
If ObjContratos.GetPSContratoDetalle(CveContrato, TempPS) Then If TempPS <> "" AndAlso ObjContratos.GetPSContratoDetalle(CveContrato, TempPS) Then
DtpsTemp = ObjContratos.DtResultados DtpsTemp = ObjContratos.DtResultados
End If End If
ObjContratos.Dispose() ObjContratos.Dispose()

View File

@@ -45,26 +45,26 @@
<label class="col-md-1 truncate" style="margin-top: 10px; margin-left: 5px;">Tipo de Pago:</label> <label class="col-md-1 truncate" style="margin-top: 10px; margin-left: 5px;">Tipo de Pago:</label>
<div class="col-md-2" style="margin-top: 5px;"> <div class="col-md-2" style="margin-top: 5px;">
<asp:DropDownList ID="DdlTipoPago" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="NombreComercial" DataValueField="CveCliente" OnSelectedIndexChanged="DdlTipoPago_SelectedIndexChanged"> <asp:DropDownList ID="DdlTipoPago" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="NombreComercial" DataValueField="CveCliente" OnSelectedIndexChanged="DdlTipoPago_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="Seleccione un Tipo de Pago" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="Viaticos - Personal" Value="1"></asp:ListItem> <asp:ListItem Text="Viáticos - Personal" Value="1"></asp:ListItem>
<asp:ListItem Text="Caja Chica" Value="2"></asp:ListItem> <asp:ListItem Text="Caja Chica" Value="2"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoPago" runat="server" ControlToValidate="DdlTipoPago" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar un <b>Tipo de Pago</b>." InitialValue="-1" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVTipoPago" runat="server" ControlToValidate="DdlTipoPago" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar un <b>Tipo de Pago</b>." InitialValue="-1" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipoPago" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoPago" Width="300px" BehaviorID="VCETipoPago"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCETipoPago" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoPago" Width="300px" BehaviorID="VCETipoPago"></ajax:ValidatorCalloutExtender>
</div> </div>
<div class="col-md-5"> <div class="col-md-4">
<ul class="list-inline"> <ul class="list-inline">
<li> <li>
<asp:Literal ID="LtTituloPago" runat="server" /> <asp:Literal ID="LtTituloPago" runat="server" />
</li> </li>
<li> <li>
<asp:DropDownList ID="DdlPersonal" CssClass="form-control select2me" Width="100%" Visible="false" runat="server" AppendDataBoundItems="true" DataTextField="NombreCompletoNombre" DataValueField="CvePersonal"> <asp:DropDownList ID="DdlPersonal" CssClass="form-control select2me" Width="275px" Visible="false" runat="server" AppendDataBoundItems="true" DataTextField="NombreCompletoNombre" DataValueField="CvePersonal">
<asp:ListItem Selected="True" Text="Seleccione" Value="-2"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-2"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVPersonal" runat="server" ControlToValidate="DdlPersonal" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar un <b>Personal</b>." InitialValue="-2" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVPersonal" runat="server" ControlToValidate="DdlPersonal" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar un <b>Personal</b>." InitialValue="-2" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEPersonal" runat="server" HighlightCssClass="vco" TargetControlID="RFVPersonal" Width="300px" BehaviorID="VCEPersonal"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCEPersonal" runat="server" HighlightCssClass="vco" TargetControlID="RFVPersonal" Width="300px" BehaviorID="VCEPersonal"></ajax:ValidatorCalloutExtender>
<asp:DropDownList ID="DdlCajaChica" CssClass="form-control select2me" Width="100%" Visible="false" runat="server" AppendDataBoundItems="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta"> <asp:DropDownList ID="DdlCajaChica" CssClass="form-control select2me" Width="275px" Visible="false" runat="server" AppendDataBoundItems="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta">
<asp:ListItem Selected="True" Text="Seleccione una Cuenta" Value="-2"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione una Cuenta" Value="-2"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCajaChica" runat="server" ControlToValidate="DdlCajaChica" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar una <b>Cuenta</b>." InitialValue="-2" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVCajaChica" runat="server" ControlToValidate="DdlCajaChica" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar una <b>Cuenta</b>." InitialValue="-2" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator>
@@ -74,7 +74,7 @@
</div> </div>
<label class="col-md-1 truncate" style="margin-top: 10px; width: 110px;">No. Reembolso:</label> <label class="col-md-1 truncate" style="margin-top: 10px; width: 110px;">No. Reembolso:</label>
<div class="col-md-2"> <div class="col-md-2">
<asp:TextBox ID="TxtNumeroReembolso" ClientIDMode="Static" CssClass="form-control input-sm" Width="90px" runat="server" Style="margin-top: 5px;" /> <asp:TextBox ID="TxtNumeroReembolso" ClientIDMode="Static" CssClass="form-control input-sm" Width="110px" runat="server" Style="margin-top: 5px;" />
<%--<ajax:FilteredTextBoxExtender ID="SoloNumeros" runat="server" TargetControlID="TxtNumeroReembolso" FilterType="Numbers" />--%> <%--<ajax:FilteredTextBoxExtender ID="SoloNumeros" runat="server" TargetControlID="TxtNumeroReembolso" FilterType="Numbers" />--%>
</div> </div>
</div> </div>
@@ -117,6 +117,7 @@
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:CheckBox runat="server" ID="ChkReembolsarSinBancos" OnCheckedChanged="ChkReembolsarSinBancos_CheckedChanged" AutoPostBack="true" Text="Comprobación sin bancos" Visible="false" Checked="false" /> <asp:CheckBox runat="server" ID="ChkReembolsarSinBancos" OnCheckedChanged="ChkReembolsarSinBancos_CheckedChanged" AutoPostBack="true" Text="Comprobación sin bancos" Visible="false" Checked="false" />
<asp:CheckBox runat="server" ID="ChkMesSiguiente" AutoPostBack="true" Text="Comprobación en mes siguiente" Visible="false" Checked="false" />
<asp:CheckBox ID="ChkOtrosIngresosCheque" runat="server" Text="Otros Ingresos" AutoPostBack="true" OnCheckedChanged="ChkOtrosIngresosCheque_CheckedChanged" /> <asp:CheckBox ID="ChkOtrosIngresosCheque" runat="server" Text="Otros Ingresos" AutoPostBack="true" OnCheckedChanged="ChkOtrosIngresosCheque_CheckedChanged" />
</div> </div>

View File

@@ -122,20 +122,17 @@ Partial Class Compras_ReembolsosComprobaciones
DdlCajaChica.DataSource = dt DdlCajaChica.DataSource = dt
DdlCajaChica.DataBind() DdlCajaChica.DataBind()
Dim ObjPersonal As New ClsRH
ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa)
If UsuarioActual.CveEmpresa.Contiene(119, 158) Then If UsuarioActual.CveEmpresa.Contiene(119, 158) Then
DdlPersonal.DataSource = ObjPersonal.DtResultados DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
Else Else
DdlPersonal.DataSource = ObjPersonal.DtResultados.FiltraParametros("CveEstatusPersonal = 1") DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("CveEstatusPersonal = 1")
End If End If
ObjPersonal.Dispose()
DdlPersonal.DataBind() DdlPersonal.DataBind()
CargaTipoTransaccion() CargaTipoTransaccion()
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then 'acumuladores
ChkMesSiguiente.Visible = True
End If
If UsuarioActual.Empresa.Funcionalidad(506) = "1" Then If UsuarioActual.Empresa.Funcionalidad(506) = "1" Then
CbPermitirExcedente.Visible = True CbPermitirExcedente.Visible = True
@@ -143,19 +140,10 @@ Partial Class Compras_ReembolsosComprobaciones
CbPermitirExcedente.Visible = False CbPermitirExcedente.Visible = False
End If End If
' If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then If UsuarioActual.CveEmpresa = 119 Then ChkReembolsarSinBancos.Visible = True
'rowComisiones.Visible = True
' End If
If UsuarioActual.CveEmpresa = 119 Then
ChkReembolsarSinBancos.Visible = True
End If
TxtFechaPrePoliza.Text = Date.Now.ToShortDateString TxtFechaPrePoliza.Text = Date.Now.ToShortDateString
'CargaCuentasDiferencia()
'TableDiferencia.Visible = False
End If End If
End Sub End Sub
@@ -176,7 +164,7 @@ Partial Class Compras_ReembolsosComprobaciones
DdlPersonal.Visible = True DdlPersonal.Visible = True
DdlPersonal.SelectedValue = "-2" DdlPersonal.SelectedValue = "-2"
If UsuarioActual.CveRol = 1 Then ChkAplicaViatico.Visible = True If UsuarioActual.CveRol = 1 Then ChkAplicaViatico.Visible = True
LtTituloPago.Text = "Viaticos - Personal:" LtTituloPago.Text = "Viáticos:"
'Valida Proceso 120 para ROL Administrador de obra - para FyE solo puede ver los del UsuarioActual 'Valida Proceso 120 para ROL Administrador de obra - para FyE solo puede ver los del UsuarioActual
If UsuarioActual.TienePermisoProceso(120) Then If UsuarioActual.TienePermisoProceso(120) Then
@@ -413,49 +401,38 @@ Partial Class Compras_ReembolsosComprobaciones
#Region " BTN GUARDAR " #Region " BTN GUARDAR "
Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
Dim ValFechaDocumento As Boolean = False Dim ValFechaDocumento As Boolean = False
Dim FoliosFechasValFechaDocumento As New StringBuilder Dim FoliosFechasValFechaDocumento As New StringBuilder
FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha de mes superior al mes del pago: <br/>") FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha de mes superior al mes del pago: <br/>")
For Each gvRowVal As GridViewRow In GvCxP.Rows For Each gvRowVal As GridViewRow In GvCxP.Rows
If gvRowVal.FCCheckBox("Chk").Checked Then If gvRowVal.FCCheckBox("Chk").Checked Then
Dim FechaFactura As Date = gvRowVal.DataKey("FechaCompra").ToDate Dim FechaFactura As Date = gvRowVal.DataKey("FechaCompra").ToDate
Dim FechaDocumento As Date Dim FechaDocumento As Date
If DDlCheques.SelectedValue.ToEntero = -1 Then If DDlCheques.SelectedValue.ToEntero = -1 Then
FechaDocumento = TxtFechaDocumento.Text.ToDate FechaDocumento = TxtFechaDocumento.Text.ToDate
Else Else
FechaDocumento = TxtFechaPrePoliza.Text.ToDate FechaDocumento = TxtFechaPrePoliza.Text.ToDate
End If End If
Dim AnioFactura As Integer = FechaFactura.Year Dim AnioFactura As Integer = FechaFactura.Year
Dim MesFactura As Integer = FechaFactura.Month Dim MesFactura As Integer = FechaFactura.Month
Dim AnioDocumento As Integer = FechaDocumento.Year Dim AnioDocumento As Integer = FechaDocumento.Year
Dim MesDocumento As Integer = FechaDocumento.Month Dim MesDocumento As Integer = FechaDocumento.Month
If AnioFactura > AnioDocumento Then If AnioFactura > AnioDocumento Then
FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") } <br/>") FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") } <br/>")
ValFechaDocumento = True ValFechaDocumento = True
ElseIf AnioFactura = AnioDocumento And MesFactura > MesDocumento Then ElseIf AnioFactura = AnioDocumento And MesFactura > MesDocumento Then
FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") } <br/>") FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") } <br/>")
ValFechaDocumento = True ValFechaDocumento = True
End If End If
End If End If
Next Next
'rmf. codigo temporal 'rmf. codigo temporal
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then If UsuarioActual.CveEmpresa.Contiene(13, 83) OrElse ChkMesSiguiente.Checked Then
ValFechaDocumento = False ValFechaDocumento = False
End If End If
@@ -535,8 +512,7 @@ Partial Class Compras_ReembolsosComprobaciones
If HdnCheque.Value.ToEntero > 0 AndAlso Not ChkReembolsarSinBancos.Checked Then If HdnCheque.Value.ToEntero > 0 AndAlso Not ChkReembolsarSinBancos.Checked Then
CveIERegistrado = DDlCheques.SelectedValue.ToEntero CveIERegistrado = DDlCheques.SelectedValue.ToEntero
If UsuarioActual.CveEmpresa.Contiene(119, 158) OrElse ChkMesSiguiente.Checked Then
If UsuarioActual.CveEmpresa.Contiene(119, 158) Then
CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones1", 9, TxtImporteVinculado.Text.ToDecimal, TxtImporteVinculado.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones1", 9, TxtImporteVinculado.Text.ToDecimal, TxtImporteVinculado.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveCajaChica > 0 Then If CveCajaChica > 0 Then
@@ -592,8 +568,6 @@ Partial Class Compras_ReembolsosComprobaciones
End If End If
End If End If
End If End If
ElseIf Not ChkReembolsarSinBancos.Checked Then ElseIf Not ChkReembolsarSinBancos.Checked Then
CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones4", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones4", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
@@ -747,8 +721,8 @@ Partial Class Compras_ReembolsosComprobaciones
CvePrePolizaPago = CvePrePolizaIERegistrado CvePrePolizaPago = CvePrePolizaIERegistrado
'SE USARA PARA PODER ELIMINAR UNA COMPROBACION ''SE USARA PARA PODER ELIMINAR UNA COMPROBACION
CvePrePolizaPagoOriginal = ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) CvePrePolizaPagoOriginal = -1 'ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
'registramos el nuevo IE 'registramos el nuevo IE
If CveCajaChica > 0 Then If CveCajaChica > 0 Then
@@ -779,7 +753,7 @@ Partial Class Compras_ReembolsosComprobaciones
MsgError = "Detalle" MsgError = "Detalle"
End If End If
If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso Not ChkMesSiguiente.Checked) Then
'Si es caja chica metemos el concepto 30, si es funcionario metemos 29 'Si es caja chica metemos el concepto 30, si es funcionario metemos 29
ImporteMovto += Pago.OtroGastoIngreso ' si ajuste, sedebe de aplicar en su contraparte ImporteMovto += Pago.OtroGastoIngreso ' si ajuste, sedebe de aplicar en su contraparte
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then
@@ -1178,16 +1152,16 @@ Partial Class Compras_ReembolsosComprobaciones
End If End If
If e.Row.RowIndex = 1 Then If e.Row.RowIndex = 1 Then
e.Row.Cells(0).Width = Unit.Pixel(20) e.Row.Cells(0).Width = Unit.Pixel(20)
e.Row.Cells(1).Width = Unit.Pixel(70) 'e.Row.Cells(1).Width = Unit.Pixel(70)
e.Row.Cells(2).Width = Unit.Pixel(250) 'e.Row.Cells(2).Width = Unit.Pixel(250)
e.Row.Cells(3).Width = Unit.Pixel(70) 'e.Row.Cells(3).Width = Unit.Pixel(70)
e.Row.Cells(4).Width = Unit.Pixel(80) 'e.Row.Cells(4).Width = Unit.Pixel(80)
e.Row.Cells(5).Width = Unit.Pixel(40) 'e.Row.Cells(5).Width = Unit.Pixel(40)
e.Row.Cells(6).Width = Unit.Pixel(80) 'e.Row.Cells(6).Width = Unit.Pixel(80)
e.Row.Cells(7).Width = Unit.Pixel(70) 'e.Row.Cells(7).Width = Unit.Pixel(70)
e.Row.Cells(8).Width = Unit.Pixel(70) 'e.Row.Cells(8).Width = Unit.Pixel(70)
e.Row.Cells(9).Width = Unit.Pixel(80) 'e.Row.Cells(9).Width = Unit.Pixel(80)
e.Row.Cells(15).Width = Unit.Pixel(80) 'e.Row.Cells(15).Width = Unit.Pixel(80)
End If End If
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right

View File

@@ -437,10 +437,17 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{ {
//ASIGNAMOS ESTATUS EMITIDA //ASIGNAMOS ESTATUS EMITIDA
CveEstatus = 3; CveEstatus = 3;
string Estatus = "Emitida";
//SI ES REFACTURACION, DEBE QUEDAR COMO CANCELACION PENDIENTE PARA ENVIAR LA CANCELACION DE NUEVO
if (EsRefacturacion)
{
CveEstatus = 23;
Estatus = "Cancelación pendiente";
}
var ObjVentas = new ClsVentas(); var ObjVentas = new ClsVentas();
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa)) if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
{ {
sb.Append("El estatus de la factura fue cambiado a 'Emitida'."); sb.Append($"El estatus de la factura fue cambiado a '{Estatus}'.");
} }
else else
{ {
@@ -452,10 +459,17 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{ {
//ASIGNAMOS ESTATUS EMITIDA //ASIGNAMOS ESTATUS EMITIDA
CveEstatus = 3; CveEstatus = 3;
string Estatus = "Emitida";
//SI ES REFACTURACION, DEBE QUEDAR COMO CANCELACION PENDIENTE PARA ENVIAR LA CANCELACION DE NUEVO
if (EsRefacturacion)
{
CveEstatus = 23;
Estatus = "Cancelación pendiente";
}
var ObjVentas = new ClsVentas(); var ObjVentas = new ClsVentas();
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa)) if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
{ {
sb.Append("El estatus de la factura fue cambiado a 'Emitida'."); sb.Append($"El estatus de la factura fue cambiado a '{Estatus}'.");
} }
else else
{ {

View File

@@ -11239,8 +11239,15 @@ Partial Class Ventas
Dim tTipoAmortizacion As Integer = If(DdlTipoAmortizacionAnticipo.SelectedValue = "2", 1, 2) Dim tTipoAmortizacion As Integer = If(DdlTipoAmortizacionAnticipo.SelectedValue = "2", 1, 2)
Dim ForzarAjuste As Boolean = False
DtImpuestos = CargaDtImpuestosNC(gvrt.DataKey("CveVenta").ToString().ToEntero(), gvrt.FCTextBox(String.Format("TxtAnticipo{0}", gvrt.RowIndex)).Text.ToDecimal, AplicaImpuestosLocales:=True, NCDescuento:=False, NivelTotal:=tTipoAmortizacion) 'EL IMPORTE DE NC NO PUEDE SER MAYOR AL DE LA FACTURA
If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso (tTipoAmortizacion = 1) Then
ForzarAjuste = True
End If
'SI LA APLICACION DE ANTICIPO SE HACE A NIVEL TOTAL, FORZAR EL AJUSTE POR REDONDEO
DtImpuestos = CargaDtImpuestosNC(gvrt.DataKey("CveVenta").ToString().ToEntero(), gvrt.FCTextBox(String.Format("TxtAnticipo{0}", gvrt.RowIndex)).Text.ToDecimal, AplicaImpuestosLocales:=True, NCDescuento:=False, NivelTotal:=tTipoAmortizacion, ForzarAjuste:=ForzarAjuste)
Dim query = From ddr In DtImpuestos Dim query = From ddr In DtImpuestos
Group By PorcentajeIVA = ddr("PorcentajeIVA").ToString().ToDecimal, Group By PorcentajeIVA = ddr("PorcentajeIVA").ToString().ToDecimal,
@@ -11251,9 +11258,9 @@ Partial Class Ventas
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal), Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal), ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA, ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA, ImporteRetIVA = x.Sum(Function(s) s("ImporteRetIVA").ToString().ToDecimal()).RoundSQL(2),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR, ImporteRetISR = x.Sum(Function(s) s("ImporteRetISR").ToString().ToDecimal()).RoundSQL(2),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS, ImporteIEPS = x.Sum(Function(s) s("ImporteIEPS").ToString().ToDecimal()).RoundSQL(2), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
PorcentajeIVA = PorcentajeIVA, PorcentajeIVA = PorcentajeIVA,
PorcentajeRetIVA = PorcentajeRetIVA, PorcentajeRetIVA = PorcentajeRetIVA,
PorcentajeRetISR = PorcentajeRetISR, PorcentajeRetISR = PorcentajeRetISR,
@@ -11303,13 +11310,13 @@ Partial Class Ventas
'**** IMPUESTOS LOCALES '**** IMPUESTOS LOCALES
factura.DtDetalle = tmpcon factura.DtDetalle = tmpcon
Dim TotalSubTotal As Decimal = tmpcon.SUM("TotalImporte").ToDecimal Dim TotalSubTotal As Decimal = tmpcon.SUMD("TotalImporte").RoundSQL(2)
Dim TotalDescuentos As Decimal = tmpcon.SUM("Descuento").ToDecimal Dim TotalDescuentos As Decimal = tmpcon.SUMD("Descuento")
Dim TotalIVA As Decimal = tmpcon.SUM("ImporteIVA").ToDecimal Dim TotalIVA As Decimal = tmpcon.SUMD("ImporteIVA")
Dim TotalIEPS As Decimal = tmpcon.SUM("ImporteIEPS").ToDecimal Dim TotalIEPS As Decimal = tmpcon.SUMD("ImporteIEPS")
Dim TotalRetIVA As Decimal = tmpcon.SUM("ImporteRetIVA").ToDecimal Dim TotalRetIVA As Decimal = tmpcon.SUMD("ImporteRetIVA")
Dim TotalRetISR As Decimal = tmpcon.SUM("ImporteRetISR").ToDecimal Dim TotalRetISR As Decimal = tmpcon.SUMD("ImporteRetISR")
Dim Total As Decimal = 0 Dim Total As Decimal = 0
Dim TotalImpuestosLocales As Decimal = factura.TotalImpuestoLocal.ToString().ToDecimal Dim TotalImpuestosLocales As Decimal = factura.TotalImpuestoLocal.ToString().ToDecimal
Total = (TotalSubTotal - TotalDescuentos + TotalIVA + TotalIEPS - TotalRetIVA - TotalRetISR - TotalImpuestosLocales) Total = (TotalSubTotal - TotalDescuentos + TotalIVA + TotalIEPS - TotalRetIVA - TotalRetISR - TotalImpuestosLocales)
@@ -11343,6 +11350,9 @@ Partial Class Ventas
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")
If DtVentasNC IsNot Nothing AndAlso DtVentasNC.Rows.Count > 0 Then
DtVentasNC.Rows.Clear()
End If
End If End If
End If End If
@@ -23659,8 +23669,9 @@ Partial Class Ventas
End If End If
End Using End Using
'SI TIENE UN ANTICIPO RELACIONADO O VIENE DE UNA REFACTURACION
If RowVentas IsNot Nothing Then If RowVentas IsNot Nothing Then
If RowVentas("TipoDocto").ToString().Contiene("Ing") AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then If RowVentas("TipoDocto").ToString().Contiene("Ing", "Ant") AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then
CargaInventario(Me.CveVenta) CargaInventario(Me.CveVenta)
End If End If
End If End If
@@ -29997,7 +30008,7 @@ Partial Class Ventas
Next Next
End Sub End Sub
Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1, Optional AplicaNCUsado As Boolean = False) As DataTable Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1, Optional AplicaNCUsado As Boolean = False, Optional ForzarAjuste As Boolean = False) As DataTable
Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0 Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0
Dim TmpDT As DataTable = Nothing Dim TmpDT As DataTable = Nothing
@@ -30115,6 +30126,24 @@ Partial Class Ventas
End If End If
End If End If
'SI LA DIFERENCIA ES MENOR O IGUAL A 1 CENTAVO, AJUSTAR EL TOTAL
If ForzarAjuste Then
'ASUSTO LA DIFERENCIA EN LOS IMPUESTOS
Dim difTmp As Decimal = Importe - importeNC
If Math.Abs(difTmp) > 0.00D AndAlso Math.Abs(difTmp) <= 0.01D Then
'SI TIENE IVA, AJUSTAR AQUI
If DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteIVA").ToString().ToDecimal() > 0 Then
Dim ImporteIVAAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteIVA").ToString().ToDecimal + difTmp
DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteIVA") = ImporteIVAAjustado
Else
Dim ImporteAjustado As Decimal = DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal").ToString().ToDecimal + difTmp
DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImporteTotal") = ImporteAjustado
DtImpuestosLocal.Rows(DtImpuestosLocal.Rows.Count - 1)("ImportePU") = ImporteAjustado
End If
End If
End If
If Not NCDescuento Then If Not NCDescuento Then
Me.TmpDT = TmpDT Me.TmpDT = TmpDT
End If End If