From c96a6ccf54a2b650b441e2b3469ae37456dfb937 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 18 Mar 2025 10:17:28 -0700 Subject: [PATCH 01/17] -- Ajustes DIOT 2025 --- Contabilidad/RepIVA.aspx | 10 +- Contabilidad/RepIVA.aspx.cs | 249 ++++++++++++++++++++++++++++-------- 2 files changed, 201 insertions(+), 58 deletions(-) diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index 3f452be28..243f59c2b 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -27,14 +27,16 @@ -
  • - Generar DIOT + Generar DIOT
  • - +
  • + Excel DIOT +
  • - + +
  • diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index ac8f7ced2..46981e57f 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -72,7 +72,8 @@ public partial class Contabilidad_RepIVA : ClsPaginas txtFechaI.Text = $"01/{FF.Month}/{FF.Year}"; txtFechaF.Text = FF.LastDayOfMonth().ToShortDateString(); - LnkAccionesDIOT.Visible = true; + LnkTxtDIOT.Visible = true; + LnkExcelDIOT.Visible = true; DdlCuenta.DataSource = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:UsuarioActual.CveEmpresa, CveTipoCuenta:2); DdlCuenta.DataBind(); @@ -276,7 +277,6 @@ public partial class Contabilidad_RepIVA : ClsPaginas //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); } - }else { Ruta = ModExtensiones.DirectorioBaseEmpresas + $@"Empresas\Grales\Formatos\{Formato}"; @@ -290,10 +290,6 @@ public partial class Contabilidad_RepIVA : ClsPaginas //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); ImprimirbytesPDF(ImprimirSubRepPDFCrystal(Ruta, Dt, para, new DataTable(), new DataTable(), "RepIEPSPorcentaje.rpt", "RepIVAPorcentaje.rpt", "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); } - - - - } Ruta.GuardaLogAD(); //ImprimirbytesPDF(ImprimirPDFCrystal(Ruta, Dt, para, "Reporte de IVA", Opcion), "Reporte de IVA", Opcion); @@ -334,7 +330,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas return Respuesta.ToString(); } - protected void LnkAccionesDIOT_Click(object sender, EventArgs e) + protected void LnkTxtDIOT_Click(object sender, EventArgs e) { ClsContabilidad Objconta = new ClsContabilidad(); @@ -380,7 +376,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas } else { - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 ").Rows) // and(IVA > 1 OR IEPS > 0) + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 ) ").Rows) // and(IVA > 1 OR IEPS > 0) { SBDIOT.AppendLine( Drow["TipoTercero"].ToString() + "|" + @@ -391,55 +387,56 @@ public partial class Contabilidad_RepIVA : ClsPaginas Drow["PaisResidenciaFiscal"].ToString() + "|" + Drow["Jurisdiccion"].ToString() + "|" + // 3.2 valor de los actos o actividades - LV0(Drow["ActosFN"].ToString()) + "|" + // actos norte - LV0(Drow["ActosDevFN"].ToString()) + "|" + // desc norte - LV0(Drow["ActosFS"].ToString()) + "|" + // actos sur - LV0(Drow["ActosDevFS"].ToString()) + "|" + // desc sur - LV0(Drow["Actos16"].ToString()) + "|" + // 16% - LV0(Drow["ActosDev16"].ToString()) + "|" + // desc 16% - LV0(Drow["ActosImp16"].ToString()) + "|" + // importacion 16% - LV0(Drow["ActosImpDev16"].ToString()) + "|" + // desc importacion 16% - LV0(Drow["ActosImpNotan16"].ToString()) + "|" + // importacion intangibles 16% - LV0(Drow["ActosImpNotanDev16"].ToString()) + "|" + // desc intangibles 16% + LV(Drow["ActosFN"].ToString()) + "|" + // actos norte + LV(Drow["ActosDevFN"].ToString()) + "|" + // desc norte + LV(Drow["ActosFS"].ToString()) + "|" + // actos sur + LV(Drow["ActosDevFS"].ToString()) + "|" + // desc sur + LV(Drow["Actos16"].ToString()) + "|" + // 16% + LV(Drow["ActosDev16"].ToString()) + "|" + // desc 16% + LV(Drow["ActosImp16"].ToString()) + "|" + // importacion 16% + LV(Drow["ActosImpDev16"].ToString()) + "|" + // desc importacion 16% + LV(Drow["ActosImpNotan16"].ToString()) + "|" + // importacion intangibles 16% + LV(Drow["ActosImpNotanDev16"].ToString()) + "|" + // desc intangibles 16% // 3.3 IVA Acreditable - LV0(Drow["AcredFN"].ToString()) + "|" + // actos norte - LV0(Drow["AcreNoFN"].ToString()) + "|" + // proporcion actos norte - LV0(Drow["AcredFS"].ToString()) + "|" + // actos sur - LV0(Drow["AcredNoFS"].ToString()) + "|" + // proporcion actos sur - LV0(Drow["Acred16"].ToString()) + "|" + // 16% - LV0(Drow["AcredIva16"].ToString()) + "|" + // proporcion 16% - LV0(Drow["AcredImp16"].ToString()) + "|" + // importacion 16% - LV0(Drow["AcredNoImp16"].ToString()) + "|" + // proporción importacion 16% - LV0(Drow["AcredImpIntan16"].ToString()) + "|" + // intangibles 16% - LV0(Drow["AcredNoImpIntan16"].ToString()) + "|" + // proporcion intangibles 16% + LV(Drow["AcredFN"].ToString()) + "|" + // actos norte + LV(Drow["AcreNoFN"].ToString()) + "|" + // proporcion actos norte + LV(Drow["AcredFS"].ToString()) + "|" + // actos sur + LV(Drow["AcredNoFS"].ToString()) + "|" + // proporcion actos sur + LV(Drow["Acred16"].ToString()) + "|" + // 16% + LV(Drow["AcredIva16"].ToString()) + "|" + // proporcion 16% + LV(Drow["AcredImp16"].ToString()) + "|" + // importacion 16% + LV(Drow["AcredNoImp16"].ToString()) + "|" + // proporción importacion 16% + LV(Drow["AcredImpIntan16"].ToString()) + "|" + // intangibles 16% + LV(Drow["AcredNoImpIntan16"].ToString()) + "|" + // proporcion intangibles 16% // 3.4 IVA NO Acreditable - LV0(Drow["NoAcredFN"].ToString()) + "|" + - LV0(Drow["NoAcredNoFN"].ToString()) + "|" + - LV0(Drow["NoAcredExentaFN"].ToString()) + "|" + - LV0(Drow["NoAcredNoObjetoFN"].ToString()) + "|" + - LV0(Drow["NoAcredFS"].ToString()) + "|" + - LV0(Drow["NoAcredNoFS"].ToString()) + "|" + - LV0(Drow["NoAcredExentaFS"].ToString()) + "|" + - LV0(Drow["NoAcredNoObjetoFS"].ToString()) + "|" + - LV0(Drow["NoAcred16"].ToString()) + "|" + - LV0(Drow["NoAcredNo16"].ToString()) + "|" + - LV0(Drow["NoAcredExenta16"].ToString()) + "|" + - LV0(Drow["NoAcredNoObjeto16"].ToString()) + "|" + - LV0(Drow["NoAcredIntan16"].ToString()) + "|" + - LV0(Drow["NoAcredIntanNo16"].ToString()) + "|" + - LV0(Drow["NoAcredIntanExenta16"].ToString()) + "|" + - LV0(Drow["NoAcredIntanNoObjeto16"].ToString()) + "|" + - LV0(Drow["NoAcredImp16"].ToString()) + "|" + - LV0(Drow["NoAcredImpNo16"].ToString()) + "|" + - LV0(Drow["NoAcredImpExenta16"].ToString()) + "|" + - LV0(Drow["NoAcredImpNoObjeto16"].ToString()) + "|" + + LV(Drow["NoAcredFN"].ToString()) + "|" + + LV(Drow["NoAcredNoFN"].ToString()) + "|" + + LV(Drow["NoAcredExentaFN"].ToString()) + "|" + + LV(Drow["NoAcredNoObjetoFN"].ToString()) + "|" + + LV(Drow["NoAcredFS"].ToString()) + "|" + + LV(Drow["NoAcredNoFS"].ToString()) + "|" + + LV(Drow["NoAcredExentaFS"].ToString()) + "|" + + LV(Drow["NoAcredNoObjetoFS"].ToString()) + "|" + + LV(Drow["NoAcred16"].ToString()) + "|" + + LV(Drow["NoAcredNo16"].ToString()) + "|" + + LV(Drow["NoAcredExenta16"].ToString()) + "|" + + LV(Drow["NoAcredNoObjeto16"].ToString()) + "|" + + + LV(Drow["NoAcredTan16"].ToString()) + "|" + + LV(Drow["NoAcredTanNo16"].ToString()) + "|" + + LV(Drow["NoAcredTanExenta16"].ToString()) + "|" + + LV(Drow["NoAcredTanNoObjeto16"].ToString()) + "|" + + LV(Drow["NoAcredImpIntan16"].ToString()) + "|" + + LV(Drow["NoAcredImpIntanNo16"].ToString()) + "|" + + LV(Drow["NoAcredImpIntanExenta16"].ToString()) + "|" + + LV(Drow["NoAcredImpIntanNoObjeto16"].ToString()) + "|" + // 3.5 datos adicionales - LV0(Drow["DAIvaRetenido"].ToString()) + "|" + // VA retenido por el contribuyente - LV0(Drow["DAIvaExentoImpo"].ToString()) + "|" + //Actos o actividades pagados en la importación de bienes y servicios por los que no se pagara el IVA (Exentos) - LV0(Drow["DAIvaExento"].ToString()) + "|" + // Actos o actividades pagados por los que no se pagará el IVA(Exentos) - LV0(Drow["DATasa0"].ToString()) + "|" + // Demás actos o actividades pagados a la tasa del 0% - LV0(Drow["DANoObjetoTN"].ToString()) + "|" + // Actos o actividades no objeto del IVA realizados en - LV0(Drow["DANoObjetoNoTN"].ToString()) + "|" + // Actos o actividades no objeto del IVA por no contar on establecimiento en territorio nacion + LV(Drow["DAIvaRetenido"].ToString()) + "|" + // VA retenido por el contribuyente + LV(Drow["DAIvaExentoImpo"].ToString()) + "|" + //Actos o actividades pagados en la importación de bienes y servicios por los que no se pagara el IVA (Exentos) + LV(Drow["DAIvaExento"].ToString()) + "|" + // Actos o actividades pagados por los que no se pagará el IVA(Exentos) + LV(Drow["DATasa0"].ToString()) + "|" + // Demás actos o actividades pagados a la tasa del 0% + LV(Drow["DANoObjetoTN"].ToString()) + "|" + // Actos o actividades no objeto del IVA realizados en + LV(Drow["DANoObjetoNoTN"].ToString()) + "|" + // Actos o actividades no objeto del IVA por no contar on establecimiento en territorio nacion (Drow["DAManifiesto"].ToString())); // Manifiesto que se dio efectos fiscales a los comprobantes que amparan las operaciones realizadas con el proveedor } @@ -678,4 +675,148 @@ public partial class Contabilidad_RepIVA : ClsPaginas } } + protected void LnkExcelDIOT_Click(object sender, EventArgs e) + { + ClsContabilidad Objconta = new ClsContabilidad(); + StringBuilder SBDIOT = new StringBuilder(); + int Conciliado = DdlTipoMovto.SelectedValue.ToEntero(); + + if (Objconta.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 2, UsuarioActual.CveUsuario, -1, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) + { + DataTable TmpDIOT = new DataTable("DIOT"); + TmpDIOT.Columns.Add("TipoTercero", typeof(string)); TmpDIOT.Columns.Add("TipoOperacion", typeof(string)); + TmpDIOT.Columns.Add("RFC_DIOT", typeof(string)); TmpDIOT.Columns.Add("NumeroIDFiscal", typeof(string)); + TmpDIOT.Columns.Add("NombreExtranjero", typeof(string)); TmpDIOT.Columns.Add("PaisResidenciaFiscal", typeof(string)); + TmpDIOT.Columns.Add("Jurisdiccion", typeof(string)); + + TmpDIOT.Columns.Add("ActosFN", typeof(string)); TmpDIOT.Columns.Add("ActosDevFN", typeof(string)); + TmpDIOT.Columns.Add("ActosFS", typeof(string)); TmpDIOT.Columns.Add("ActosDevFS", typeof(string)); + TmpDIOT.Columns.Add("Actos16", typeof(string)); TmpDIOT.Columns.Add("ActosDev16", typeof(string)); + TmpDIOT.Columns.Add("ActosImp16", typeof(string)); TmpDIOT.Columns.Add("ActosImpDev16", typeof(string)); + TmpDIOT.Columns.Add("ActosImpNotan16", typeof(string)); TmpDIOT.Columns.Add("ActosImpNotanDev16", typeof(string)); + + TmpDIOT.Columns.Add("AcredFN", typeof(string)); TmpDIOT.Columns.Add("AcreNoFN", typeof(string)); + TmpDIOT.Columns.Add("AcredFS", typeof(string)); TmpDIOT.Columns.Add("AcredNoFS", typeof(string)); + TmpDIOT.Columns.Add("Acred16", typeof(string)); TmpDIOT.Columns.Add("AcredIva16", typeof(string)); + TmpDIOT.Columns.Add("AcredImp16", typeof(string)); TmpDIOT.Columns.Add("AcredNoImp16", typeof(string)); + TmpDIOT.Columns.Add("AcredImpIntan16", typeof(string)); TmpDIOT.Columns.Add("AcredNoImpIntan16", typeof(string)); + + TmpDIOT.Columns.Add("NoAcredFN", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoFN", typeof(string)); + TmpDIOT.Columns.Add("NoAcredExentaFN", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoObjetoFN", typeof(string)); + TmpDIOT.Columns.Add("NoAcredFS", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoFS", typeof(string)); + TmpDIOT.Columns.Add("NoAcredExentaFS", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoObjetoFS", typeof(string)); + TmpDIOT.Columns.Add("NoAcred16", typeof(string)); TmpDIOT.Columns.Add("NoAcredNo16", typeof(string)); + + TmpDIOT.Columns.Add("NoAcredExenta16", typeof(string)); TmpDIOT.Columns.Add("NoAcredNoObjeto16", typeof(string)); + TmpDIOT.Columns.Add("NoAcredTan16", typeof(string)); TmpDIOT.Columns.Add("NoAcredTanNo16", typeof(string)); + TmpDIOT.Columns.Add("NoAcredTanExenta16", typeof(string)); TmpDIOT.Columns.Add("NoAcredTanNoObjeto16", typeof(string)); + TmpDIOT.Columns.Add("NoAcredImpIntan16", typeof(string)); TmpDIOT.Columns.Add("NoAcredImpIntanNo16", typeof(string)); + TmpDIOT.Columns.Add("NoAcredImpIntanExenta16", typeof(string)); TmpDIOT.Columns.Add("NoAcredImpIntanNoObjeto16", typeof(string)); + + TmpDIOT.Columns.Add("DAIvaRetenido", typeof(string)); TmpDIOT.Columns.Add("DAIvaExentoImpo", typeof(string)); + TmpDIOT.Columns.Add("DAIvaExento", typeof(string)); TmpDIOT.Columns.Add("DATasa0", typeof(string)); + TmpDIOT.Columns.Add("DANoObjetoTN", typeof(string)); TmpDIOT.Columns.Add("DANoObjetoNoTN", typeof(string)); + TmpDIOT.Columns.Add("DAManifiesto", typeof(string)); + + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 ) ").Rows) // and(IVA > 1 OR IEPS > 0) + { + DataRow dr = TmpDIOT.NewRow(); + + dr["TipoTercero"] = Drow["TipoTercero"].ToString(); + dr["TipoOperacion"] = Drow["TipoOperacion"].ToString(); + dr["RFC_DIOT"] = Drow["RFC_DIOT"].ToString(); + dr["NumeroIDFiscal"] = Drow["NumeroIDFiscal"].ToString(); + dr["NombreExtranjero"] = Drow["NombreExtranjero"].ToString(); + dr["PaisResidenciaFiscal"] = Drow["PaisResidenciaFiscal"].ToString(); + dr["Jurisdiccion"] = Drow["Jurisdiccion"].ToString(); + // 3.2 valor de los actos o actividades + dr["ActosFN"] = LV(Drow["ActosFN"].ToString()); // actos norte + dr["ActosDevFN"] = LV(Drow["ActosDevFN"].ToString()); // desc norte + dr["ActosFS"] = LV(Drow["ActosFS"].ToString()); // actos sur + dr["ActosDevFS"] = LV(Drow["ActosDevFS"].ToString()); // desc sur + dr["Actos16"] = LV(Drow["Actos16"].ToString()); // 16% + dr["ActosDev16"] = LV(Drow["ActosDev16"].ToString()); // desc 16% + dr["ActosImp16"] = LV(Drow["ActosImp16"].ToString()); // importacion 16% + dr["ActosImpDev16"] = LV(Drow["ActosImpDev16"].ToString()); // desc importacion 16% + dr["ActosImpNotan16"] = LV(Drow["ActosImpNotan16"].ToString()); // importacion intangibles 16% + dr["ActosImpNotanDev16"] = LV(Drow["ActosImpNotanDev16"].ToString()); // desc intangibles 16% + // 3.3 IVA Acreditable + dr["AcredFN"] = LV(Drow["AcredFN"].ToString()); // actos norte + dr["AcreNoFN"] = LV(Drow["AcreNoFN"].ToString()); // proporcion actos norte + dr["AcredFS"] = LV(Drow["AcredFS"].ToString()); // actos sur + dr["AcredNoFS"] = LV(Drow["AcredNoFS"].ToString()); // proporcion actos sur + dr["Acred16"] = LV(Drow["Acred16"].ToString()); // 16% + dr["AcredIva16"] = LV(Drow["AcredIva16"].ToString()); // proporcion 16% + dr["AcredImp16"] = LV(Drow["AcredImp16"].ToString()); // importacion 16% + dr["AcredNoImp16"] = LV(Drow["AcredNoImp16"].ToString()); // proporción importacion 16% + dr["AcredImpIntan16"] = LV(Drow["AcredImpIntan16"].ToString()); // intangibles 16% + dr["AcredNoImpIntan16"] = LV(Drow["AcredNoImpIntan16"].ToString()); // proporcion intangibles 16% + // 3.4 IVA NO Acreditable + dr["NoAcredFN"] = LV(Drow["NoAcredFN"].ToString()); + dr["NoAcredNoFN"] = LV(Drow["NoAcredNoFN"].ToString()); + dr["NoAcredExentaFN"] = LV(Drow["NoAcredExentaFN"].ToString()); + dr["NoAcredNoObjetoFN"] = LV(Drow["NoAcredNoObjetoFN"].ToString()); + dr["NoAcredFS"] = LV(Drow["NoAcredFS"].ToString()); + dr["NoAcredNoFS"] = LV(Drow["NoAcredNoFS"].ToString()); + dr["NoAcredExentaFS"] = LV(Drow["NoAcredExentaFS"].ToString()); + dr["NoAcredNoObjetoFS"] = LV(Drow["NoAcredNoObjetoFS"].ToString()); + dr["NoAcred16"] = LV(Drow["NoAcred16"].ToString()); + dr["NoAcredNo16"] = LV(Drow["NoAcredNo16"].ToString()); + + dr["NoAcredExenta16"] = LV(Drow["NoAcredExenta16"].ToString()); + dr["NoAcredNoObjeto16"] = LV(Drow["NoAcredNoObjeto16"].ToString()); + dr["NoAcredTan16"] = LV(Drow["NoAcredTan16"].ToString()); + dr["NoAcredTanNo16"] = LV(Drow["NoAcredTanNo16"].ToString()); + dr["NoAcredTanExenta16"] = LV(Drow["NoAcredTanExenta16"].ToString()); + dr["NoAcredTanNoObjeto16"] = LV(Drow["NoAcredTanNoObjeto16"].ToString()); + dr["NoAcredImpIntan16"] = LV(Drow["NoAcredImpIntan16"].ToString()); + dr["NoAcredImpIntanNo16"] = LV(Drow["NoAcredImpIntanNo16"].ToString()); + dr["NoAcredImpIntanExenta16"] = LV(Drow["NoAcredImpIntanExenta16"].ToString()); + dr["NoAcredImpIntanNoObjeto16"] = LV(Drow["NoAcredImpIntanNoObjeto16"].ToString()); + // 3.5 datos adicionales + dr["DAIvaRetenido"] = LV(Drow["DAIvaRetenido"].ToString()); // VA retenido por el contribuyente + dr["DAIvaExentoImpo"] = LV(Drow["DAIvaExentoImpo"].ToString()); //Actos o actividades pagados en la importación de bienes y servicios por los que no se pagara el IVA (Exentos) + dr["DAIvaExento"] = LV(Drow["DAIvaExento"].ToString()); // Actos o actividades pagados por los que no se pagará el IVA(Exentos) + dr["DATasa0"] = LV(Drow["DATasa0"].ToString()); // Demás actos o actividades pagados a la tasa del 0% + dr["DANoObjetoTN"] = LV(Drow["DANoObjetoTN"].ToString()); // Actos o actividades no objeto del IVA realizados en + dr["DANoObjetoNoTN"] = LV(Drow["DANoObjetoNoTN"].ToString()); // Actos o actividades no objeto del IVA por no contar on establecimiento en territorio nacion + dr["DAManifiesto"] = (Drow["DAManifiesto"].ToString()); // Manifiesto que se dio efectos fiscales a los comprobantes que amparan las operaciones realizadas con el proveedor + TmpDIOT.Rows.Add(dr); + } + Objconta.Dispose(); + TmpDIOT.Columns[0].ColumnName = "01- Tipo de tercero\r\n"; TmpDIOT.Columns[1].ColumnName = "02 -Tipo de operación\r\n"; + TmpDIOT.Columns[2].ColumnName = "03- RFC\r\n"; TmpDIOT.Columns[3].ColumnName = "04 - ID Fiscal"; + TmpDIOT.Columns[4].ColumnName = "05- Nombre del Extranjero\r\n"; TmpDIOT.Columns[5].ColumnName = "06 - País de residencia\r\n"; + TmpDIOT.Columns[6].ColumnName = "07- Jurisdicción Fiscal\r\n"; TmpDIOT.Columns[7].ColumnName = "08 - Actividades pagadas RFN\r\n"; + TmpDIOT.Columns[8].ColumnName = "09- Devoluciones, Descuentos y Bonificaciones RFN\r\n"; TmpDIOT.Columns[9].ColumnName = "10 - Actividades pagadas RFS\r\n"; + TmpDIOT.Columns[10].ColumnName = "11- Devoluciones, Descuentos y Bonificaciones RFS\r\n"; TmpDIOT.Columns[11].ColumnName = " 12 - Actividades pagadas Resto del país\r\n"; + TmpDIOT.Columns[12].ColumnName = "13- Devoluciones, Descuentos y Bonificaciones Resto del país\r\n"; TmpDIOT.Columns[13].ColumnName = "14 - Importaciones 16%\r\n"; + TmpDIOT.Columns[14].ColumnName = "15- Devoluciones, Descuentos y Bonificaciones en Importaciones\r\n"; TmpDIOT.Columns[15].ColumnName = "16 - Importaciones Intangibles 16%\r\n"; + TmpDIOT.Columns[16].ColumnName = "17- Devoluciones, Descuentos y Bonificaciones en Importaciones Intangibles\r\n"; TmpDIOT.Columns[17].ColumnName = "18 - IVA Acreditable Pagado Frontera Norte\r\n"; + + TmpDIOT.Columns[18].ColumnName = "19- Proporción de actividades pagadas Frontera Norte\r\n"; TmpDIOT.Columns[19].ColumnName = "20 - IVA Acreditable Pagado Frontera Sur\r\n"; + TmpDIOT.Columns[20].ColumnName = "21- Proporción de actividades pagadas Frontera Sur\r\n"; TmpDIOT.Columns[21].ColumnName = "22 - IVA Acreditable Pagado Resto del País\r\n"; + TmpDIOT.Columns[22].ColumnName = "23- Proporción de actividades pagadas Resto del País\r\n"; TmpDIOT.Columns[23].ColumnName = "24- IVA Acreditable Pagado Importación Tangibles\r\n"; + TmpDIOT.Columns[24].ColumnName = "25- Proporción de actividades pagadas Importación Tangibles \r\n"; TmpDIOT.Columns[25].ColumnName = "26- IVA Acreditable Pagado Importación Intangibles\r\n"; + TmpDIOT.Columns[26].ColumnName = "27- Proporción de actividades pagadas Importación Intangibles\r\n"; TmpDIOT.Columns[27].ColumnName = "28- IVA no acreditable - Proporción de actividades pagadas 16% RFN\r\n"; + + TmpDIOT.Columns[28].ColumnName = "29- IVA No Acreditable - Actividades que no cumplen requisitos fiscales RFN\r\n"; TmpDIOT.Columns[29].ColumnName = "30- IVA No Acreditable - Actividades Exentas RFN\r\n"; + TmpDIOT.Columns[30].ColumnName = "31 - IVA No Acreditable - Actividades No Objeto RFN\r\n"; TmpDIOT.Columns[31].ColumnName = "32 - IVA no acreditable - Proporción de actividades pagadas 16% RFS\r\n"; + TmpDIOT.Columns[32].ColumnName = "33 - IVA No Acreditable - Actividades que no cumplen requisitos fiscales RFS\r\n"; TmpDIOT.Columns[33].ColumnName = "34- IVA No Acreditable - Actividades Exentas RFS\r\n"; + TmpDIOT.Columns[34].ColumnName = "35 -IVA No Acreditable - Actividades No Objeto RFS\r\n"; TmpDIOT.Columns[35].ColumnName = "36 - IVA no acreditable - Proporción de actividades pagadas 16% Resto del país\r\n"; + TmpDIOT.Columns[36].ColumnName = "37- IVA No Acreditable - Actividades que no cumplen requisitos fiscales Resto del país\r\n"; TmpDIOT.Columns[37].ColumnName = "38 - IVA No Acreditable - Actividades Exentas Resto del país\r\n"; + + TmpDIOT.Columns[38].ColumnName = "39 - IVA No Acreditable - Actividades No Objeto Resto del país\r\n"; TmpDIOT.Columns[39].ColumnName = "40 - IVA no acreditable - Proporción de actividades pagadas 16% Importación Tangibles\r\n"; + TmpDIOT.Columns[40].ColumnName = "41 - IVA No Acreditable - Actividades que no cumplen requisitos fiscales Importación Tangibles\r\n"; TmpDIOT.Columns[41].ColumnName = "42 - IVA No Acreditable - Actividades Exentas Importación Tangibles\r\n"; + TmpDIOT.Columns[42].ColumnName = "43 - IVA No Acreditable - Actividades No Objeto Importación Tangibles\r\n"; TmpDIOT.Columns[43].ColumnName = "44 - IVA no acreditable - Proporción de actividades pagadas 16% Importación Intangibles\r\n"; + TmpDIOT.Columns[44].ColumnName = "45 - IVA No Acreditable - Actividades que no cumplen requisitos fiscales Importación Intangibles\r\n"; TmpDIOT.Columns[45].ColumnName = "46 - IVA No Acreditable - Actividades Exentas Importación Intangibles\r\n"; + TmpDIOT.Columns[46].ColumnName = "47 - IVA No Acreditable - Actividades No Objeto Importación Intangibles\r\n"; TmpDIOT.Columns[47].ColumnName = "48 - IVA Retenido POR el contribuyente\r\n"; + + TmpDIOT.Columns[48].ColumnName = "49 - Valor de los actos o actividades en la importación exentos\r\n"; TmpDIOT.Columns[49].ColumnName = "50 - Valor de actos o actividades exentos\r\n"; + TmpDIOT.Columns[50].ColumnName = "51 - Valor de actos o actividades 0%\r\n"; TmpDIOT.Columns[51].ColumnName = "52 -Valor de actos o actividades no objeto en territorio nacional\r\n"; + TmpDIOT.Columns[52].ColumnName = "53 - Valor de actos o actividades no objeto sin establecimiento en territorio nacional\r\n"; TmpDIOT.Columns[53].ColumnName = "54 - Efectos fiscales a los comprobantes de operaciones realizadas con el proveedor\r\n"; + + TmpDIOT.ExportToExcelG("DIOT_"+ txtFechaI.Text,"Reporte DIOT"); + } + } } \ No newline at end of file From 13bebac7bb1b1f5fdb507e605456d374e01520b3 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 18 Mar 2025 10:17:46 -0700 Subject: [PATCH 02/17] - --- OC/OC.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index d87a772b8..70d7c7c1e 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -9484,7 +9484,7 @@ Partial Class OC_OC Return False End If - If EsCancelacion AndAlso TxtFecha.Text.ToDate < "2025/01/01".ToDate Then 'si es cancelación, anterior al 2025, que no lo registre + If EsCancelacion AndAlso TxtFecha.Text.ToDate < "2024/06/01".ToDate Then 'si es cancelación, anterior al 2025, que no lo registre Return True End If From 9d4355431b72153506f492d0a79531545f2d045b Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 18 Mar 2025 18:44:48 -0700 Subject: [PATCH 03/17] - mejoras --- Contabilidad/RepIVA.aspx.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 46981e57f..83ff6f90c 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -376,7 +376,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas } else { - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 ) ").Rows) // and(IVA > 1 OR IEPS > 0) + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 ) ").Rows) // and(IVA > 1 OR IEPS > 0) { SBDIOT.AppendLine( Drow["TipoTercero"].ToString() + "|" + @@ -718,7 +718,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas TmpDIOT.Columns.Add("DANoObjetoTN", typeof(string)); TmpDIOT.Columns.Add("DANoObjetoNoTN", typeof(string)); TmpDIOT.Columns.Add("DAManifiesto", typeof(string)); - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 ) ").Rows) // and(IVA > 1 OR IEPS > 0) + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0) ").Rows) // and(IVA > 1 OR IEPS > 0) { DataRow dr = TmpDIOT.NewRow(); From 506f714b095c5f5fde8a493744979c293070a687 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 19 Mar 2025 13:52:05 -0700 Subject: [PATCH 04/17] -- mejora DIOT, --- Contabilidad/RepIVA.aspx.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 83ff6f90c..050e94adb 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -182,15 +182,15 @@ public partial class Contabilidad_RepIVA : ClsPaginas } if (e.Row.DBCampo("PorcentajeIVA").ToDecimal() > 0) { - Decimal SubTotal = (e.Row.DBCampo("SubTotal16").ToDecimal() != 0 ? e.Row.DBCampo("SubTotal16").ToDecimal() : (e.Row.DBCampo("SubTotal8").ToDecimal() != 0 ? e.Row.DBCampo("SubTotal8").ToDecimal() : (Decimal)0.0)); + // Decimal SubTotal = (e.Row.DBCampo("SubTotal16").ToDecimal() != 0 ? e.Row.DBCampo("SubTotal16").ToDecimal() : (e.Row.DBCampo("SubTotal8").ToDecimal() != 0 ? e.Row.DBCampo("SubTotal8").ToDecimal() : (Decimal)0.0)); - Decimal dif = Math.Round(SubTotal * e.Row.DBCampo("PorcentajeIVA").ToDecimal(), 2) - Math.Round(e.Row.DBCampo("IVA").ToDecimal(), 2); + Decimal dif = Math.Round(e.Row.DBCampo("SubTotal16").ToDecimal() * 0.16M, 2) + Math.Round(e.Row.DBCampo("SubTotal8").ToDecimal() * 0.08M , 2) - Math.Round(e.Row.DBCampo("IVA").ToDecimal(), 2); if (Math.Abs(dif) > 1) { e.Row.ForeColor = System.Drawing.Color.Red; e.Row.Cells[0].Text = e.Row.Cells[0].Text + "Err"; - e.Row.ToolTip = "Dif:" + dif.ToString() + "- Sub:" + SubTotal + " - IVA:" + e.Row.DBCampo("IVA"); + e.Row.ToolTip = "Dif:" + dif.ToString() + " - IVA:" + e.Row.DBCampo("IVA"); } } if (e.Row.DBCampo("IVA").ToDecimal() < 0 || e.Row.DBCampo("IEPS").ToDecimal() < 0 || e.Row.DBCampo("SubTotal16").ToDecimal() < 0 || e.Row.DBCampo("SubTotal8").ToDecimal() < 0 || e.Row.DBCampo("valorActosImp0").ToDecimal() < 0) @@ -376,7 +376,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas } else { - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 ) ").Rows) // and(IVA > 1 OR IEPS > 0) + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 OR DANoObjetoNoTN > 0) ").Rows) // and(IVA > 1 OR IEPS > 0) { SBDIOT.AppendLine( Drow["TipoTercero"].ToString() + "|" + @@ -718,7 +718,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas TmpDIOT.Columns.Add("DANoObjetoTN", typeof(string)); TmpDIOT.Columns.Add("DANoObjetoNoTN", typeof(string)); TmpDIOT.Columns.Add("DAManifiesto", typeof(string)); - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0) ").Rows) // and(IVA > 1 OR IEPS > 0) + foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 OR DANoObjetoNoTN > 0) ").Rows) // and(IVA > 1 OR IEPS > 0) { DataRow dr = TmpDIOT.NewRow(); From 5b6e36fde13315f591e847f3bb8ebc2a696438e8 Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 20 Mar 2025 18:03:24 -0700 Subject: [PATCH 05/17] - --- Contabilidad/RepGastosCC.aspx | 54 +++++++++++++++++++------------- Contabilidad/RepGastosCC.aspx.vb | 16 +++++----- 2 files changed, 41 insertions(+), 29 deletions(-) diff --git a/Contabilidad/RepGastosCC.aspx b/Contabilidad/RepGastosCC.aspx index b43b120a0..6e24f21bb 100644 --- a/Contabilidad/RepGastosCC.aspx +++ b/Contabilidad/RepGastosCC.aspx @@ -80,6 +80,10 @@ border: none; outline: 0; } + + .grid-column250 { + width: 250px; /* Define el ancho en píxeles */ + } @@ -89,27 +93,20 @@
  • - + - - <%-- - -
    - -
    -
    -
    --%> +
    -
    +
    "> @@ -150,13 +147,25 @@
    +
    +
    > +
    +
    + Tipo Movto +
    +
    + + + + + +
    - -
    + +
    -
    -
    +
    " style="display: inline-block; width: 150px;" /> @@ -165,14 +174,15 @@
    - - - - - - +
    +
    + + + + +
    +
    diff --git a/Contabilidad/RepGastosCC.aspx.vb b/Contabilidad/RepGastosCC.aspx.vb index 553e99dab..90d6291b3 100644 --- a/Contabilidad/RepGastosCC.aspx.vb +++ b/Contabilidad/RepGastosCC.aspx.vb @@ -35,13 +35,17 @@ Partial Class RepGastosCC Dim Obj As New ClsContabilidad If Obj.GetGastosRepCC(txtFechaI.Text.Trim.ToDate, txtFechaF.Text.Trim().ToDate, UsuarioActual.CveEmpresa) Then - GvDatos.DataSource = Obj.DtResultados - + Dim dt As DataTable = Obj.DtResultados + If DdlOpcionCuenta.SelectedValue = "2" Then + dt = dt.FiltraParametros("Total > 0") + ElseIf DdlOpcionCuenta.SelectedValue = "1" Then + dt = dt.FiltraParametros("isnull(Total,0) = 0") + End If + GvDatos.DataSource = dt End If Obj.Dispose() GvDatos.DataBind() - UPDatos.Update() End Sub #End Region @@ -68,7 +72,7 @@ Partial Class RepGastosCC ' e.Row.Cells(5).Text = e.Row.Cells(5).Text + "%" - e.Row.Cells(1).Width = 250 + e.Row.Cells(1).Width = 300 e.Row.Cells(0).Visible = False For Each Cells As TableCell In e.Row.Cells @@ -92,14 +96,12 @@ Partial Class RepGastosCC End If ElseIf e.Row.RowType = DataControlRowType.Header Then e.Row.Cells(0).Visible = False - + e.Row.Cells(1).CssClass = "grid-column250" End If End Sub #End Region - - #Region "PDF" 'Private Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click ' If DtVentas IsNot Nothing Then From bdf27e2dc905688e02f7d39013a48de0176a95e9 Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 20 Mar 2025 18:03:32 -0700 Subject: [PATCH 06/17] - --- Sistemas/CatSesiones.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sistemas/CatSesiones.aspx.vb b/Sistemas/CatSesiones.aspx.vb index 915212911..29c1f6564 100644 --- a/Sistemas/CatSesiones.aspx.vb +++ b/Sistemas/CatSesiones.aspx.vb @@ -268,7 +268,7 @@ Partial Class Sistemas_CatSesiones If ObjVentas.GetCondicionesEntrega(-1) Then Application("GlobalDTVtaCondicionesEntrega") = ObjVentas.DtResultados Else Application("GlobalDTVtaCondicionesEntrega") = Nothing ObjVentas.Dispose() - GlobalDTTipoVenta(-1) = Nothing + GlobalDTTipoVenta(UsuarioActual.CveEmpresa) = Nothing End Sub Private Sub CargaProductosServicios() From 39297d00b3c690e34afa418060e10ec807a4750b Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 21 Mar 2025 18:04:56 -0700 Subject: [PATCH 07/17] =?UTF-8?q?--=20acumular=20importes=20en=20un=20reng?= =?UTF-8?q?l=C3=B3n=20cuando=20es=20prov=20global?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Contabilidad/RepIVA.aspx.cs | 89 ++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 2 deletions(-) diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 050e94adb..a15292e63 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -376,7 +376,12 @@ public partial class Contabilidad_RepIVA : ClsPaginas } else { - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 OR DANoObjetoNoTN > 0) ").Rows) // and(IVA > 1 OR IEPS > 0) + DataTable dtt = new DataTable(); + dtt = Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 OR DANoObjetoNoTN > 0)"); + //acumula los prov, globales en un solo registro + dtt = AcumularYReemplazar(dtt); + + foreach (DataRow Drow in dtt.Rows) { SBDIOT.AppendLine( Drow["TipoTercero"].ToString() + "|" + @@ -475,6 +480,81 @@ public partial class Contabilidad_RepIVA : ClsPaginas Response.End(); } + static DataTable AcumularYReemplazar(DataTable dt) + { + if (dt.Rows.Count == 0) return dt; + + // 🔹 Crear una nueva fila con valores acumulados + DataRow nuevaFila = dt.NewRow(); + nuevaFila["TipoTercero"] = "15"; // Puedes definir un ID especial o NULL si no se usa. + nuevaFila["TipoOperacion"] = "87"; + nuevaFila["RFC_DIOT"] = "XAXX010101000"; + + var filasFiltradas = dt.AsEnumerable() + .Where(row => row.Field("TipoTercero") == "15") + .ToList(); + + // 🔹 Recorrer las filas y sumar valores + foreach (DataRow row in dt.FiltraParametros("TipoTercero = '15' ").Rows) + { + // 3.2 valor de los actos o actividades + nuevaFila["ActosFN"] = nuevaFila["ActosFN"].ToString().ToEntero() + row["ActosFN"].ToString().ToEntero(); // actos norte + nuevaFila["ActosFN"] = nuevaFila["ActosFN"].ToString().ToEntero() + row["ActosFN"].ToString().ToEntero(); + nuevaFila["ActosDevFN"] = nuevaFila["ActosDevFN"].ToString().ToEntero() + row["ActosDevFN"].ToString().ToEntero(); + nuevaFila["ActosFS"] = nuevaFila["ActosFS"].ToString().ToEntero() + row["ActosFS"].ToString().ToEntero(); + nuevaFila["ActosDevFS"] = nuevaFila["ActosDevFS"].ToString().ToEntero() + row["ActosDevFS"].ToString().ToEntero(); + nuevaFila["Actos16"] = nuevaFila["Actos16"].ToString().ToEntero() + row["Actos16"].ToString().ToEntero(); + nuevaFila["ActosDev16"] = nuevaFila["ActosDev16"].ToString().ToEntero() + row["ActosDev16"].ToString().ToEntero(); + nuevaFila["ActosImp16"] = nuevaFila["ActosImp16"].ToString().ToEntero() + row["ActosImp16"].ToString().ToEntero(); + nuevaFila["ActosImpDev16"] = nuevaFila["ActosImpDev16"].ToString().ToEntero() + row["ActosImpDev16"].ToString().ToEntero(); + nuevaFila["ActosImpNotan16"] = nuevaFila["ActosImpNotan16"].ToString().ToEntero() + row["ActosImpNotan16"].ToString().ToEntero(); + nuevaFila["ActosImpNotanDev16"] = nuevaFila["ActosImpNotanDev16"].ToString().ToEntero() + row["ActosImpNotanDev16"].ToString().ToEntero(); + + // 3.3 IVA Acreditable + nuevaFila["AcredFN"] = nuevaFila["AcredFN"].ToString().ToEntero() + row["AcredFN"].ToString().ToEntero(); + nuevaFila["AcreNoFN"] = nuevaFila["AcreNoFN"].ToString().ToEntero() + row["AcreNoFN"].ToString().ToEntero(); + nuevaFila["AcredFS"] = nuevaFila["AcredFS"].ToString().ToEntero() + row["AcredFS"].ToString().ToEntero(); + nuevaFila["AcredNoFS"] = nuevaFila["AcredNoFS"].ToString().ToEntero() + row["AcredNoFS"].ToString().ToEntero(); + nuevaFila["Acred16"] = nuevaFila["Acred16"].ToString().ToEntero() + row["Acred16"].ToString().ToEntero(); + nuevaFila["AcredIva16"] = nuevaFila["AcredIva16"].ToString().ToEntero() + row["AcredIva16"].ToString().ToEntero(); + nuevaFila["AcredImp16"] = nuevaFila["AcredImp16"].ToString().ToEntero() + row["AcredImp16"].ToString().ToEntero(); + nuevaFila["AcredNoImp16"] = nuevaFila["AcredNoImp16"].ToString().ToEntero() + row["AcredNoImp16"].ToString().ToEntero(); + nuevaFila["AcredImpIntan16"] = nuevaFila["AcredImpIntan16"].ToString().ToEntero() + row["AcredImpIntan16"].ToString().ToEntero(); + nuevaFila["AcredNoImpIntan16"] = nuevaFila["AcredNoImpIntan16"].ToString().ToEntero() + row["AcredNoImpIntan16"].ToString().ToEntero(); + + // 3.4 IVA NO Acreditable + nuevaFila["NoAcredFN"] = nuevaFila["NoAcredFN"].ToString().ToEntero() + row["NoAcredFN"].ToString().ToEntero(); + nuevaFila["NoAcredNoFN"] = nuevaFila["NoAcredNoFN"].ToString().ToEntero() + row["NoAcredNoFN"].ToString().ToEntero(); + nuevaFila["NoAcredExentaFN"] = nuevaFila["NoAcredExentaFN"].ToString().ToEntero() + row["NoAcredExentaFN"].ToString().ToEntero(); + nuevaFila["NoAcredNoObjetoFN"] = nuevaFila["NoAcredNoObjetoFN"].ToString().ToEntero() + row["NoAcredNoObjetoFN"].ToString().ToEntero(); + nuevaFila["NoAcredFS"] = nuevaFila["NoAcredFS"].ToString().ToEntero() + row["NoAcredFS"].ToString().ToEntero(); + nuevaFila["NoAcredNoFS"] = nuevaFila["NoAcredNoFS"].ToString().ToEntero() + row["NoAcredNoFS"].ToString().ToEntero(); + nuevaFila["NoAcredExentaFS"] = nuevaFila["NoAcredExentaFS"].ToString().ToEntero() + row["NoAcredExentaFS"].ToString().ToEntero(); + nuevaFila["NoAcredNoObjetoFS"] = nuevaFila["NoAcredNoObjetoFS"].ToString().ToEntero() + row["NoAcredNoObjetoFS"].ToString().ToEntero(); + nuevaFila["NoAcred16"] = nuevaFila["NoAcred16"].ToString().ToEntero() + row["NoAcred16"].ToString().ToEntero(); + nuevaFila["NoAcredNo16"] = nuevaFila["NoAcredNo16"].ToString().ToEntero() + row["NoAcredNo16"].ToString().ToEntero(); + nuevaFila["NoAcredExenta16"] = nuevaFila["NoAcredExenta16"].ToString().ToEntero() + row["NoAcredExenta16"].ToString().ToEntero(); + nuevaFila["NoAcredNoObjeto16"] = nuevaFila["NoAcredNoObjeto16"].ToString().ToEntero() + row["NoAcredNoObjeto16"].ToString().ToEntero(); + + // 3.5 Datos Adicionales + nuevaFila["DAIvaRetenido"] = nuevaFila["DAIvaRetenido"].ToString().ToEntero() + row["DAIvaRetenido"].ToString().ToEntero(); + nuevaFila["DAIvaExentoImpo"] = nuevaFila["DAIvaExentoImpo"].ToString().ToEntero() + row["DAIvaExentoImpo"].ToString().ToEntero(); + nuevaFila["DAIvaExento"] = nuevaFila["DAIvaExento"].ToString().ToEntero() + row["DAIvaExento"].ToString().ToEntero(); + nuevaFila["DATasa0"] = nuevaFila["DATasa0"].ToString().ToEntero() + row["DATasa0"].ToString().ToEntero(); + nuevaFila["DANoObjetoTN"] = nuevaFila["DANoObjetoTN"].ToString().ToEntero() + row["DANoObjetoTN"].ToString().ToEntero(); + nuevaFila["DANoObjetoNoTN"] = nuevaFila["DANoObjetoNoTN"].ToString().ToEntero() + row["DANoObjetoNoTN"].ToString().ToEntero(); + nuevaFila["DAManifiesto"] = "01"; + } + // 🔹 Eliminar filas originales filtradas + foreach (var row in filasFiltradas) + { + dt.Rows.Remove(row); + } + // 🔹 Agregar la nueva fila acumulada + dt.Rows.Add(nuevaFila); + return dt; + } + protected void LnkModalCompara_Click(object sender, EventArgs e) { @@ -718,7 +798,12 @@ public partial class Contabilidad_RepIVA : ClsPaginas TmpDIOT.Columns.Add("DANoObjetoTN", typeof(string)); TmpDIOT.Columns.Add("DANoObjetoNoTN", typeof(string)); TmpDIOT.Columns.Add("DAManifiesto", typeof(string)); - foreach (DataRow Drow in Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 OR DANoObjetoNoTN > 0) ").Rows) // and(IVA > 1 OR IEPS > 0) + DataTable dtt = new DataTable(); + dtt = Objconta.DtResultados.FiltraParametros("CveCompra is null and CveProveedor > 0 AND ( ActosFN > 0 OR ActosFS > 0 OR Actos16 > 0 OR ActosImp16 > 0 OR ActosImpNotan16 > 0 OR DATasa0 > 0 OR DANoObjetoTN > 0 OR DANoObjetoNoTN > 0)"); + //acumula los prov, globales en un solo registro + dtt = AcumularYReemplazar(dtt); + + foreach (DataRow Drow in dtt.Rows) // and(IVA > 1 OR IEPS > 0) { DataRow dr = TmpDIOT.NewRow(); From ede50c100478e774d2d4f2d5ed06b3388d82a8d4 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Sat, 22 Mar 2025 13:25:34 -0700 Subject: [PATCH 08/17] --FIX Rep traspaso solicitud --FIX tipo docto en ventas --- .../Grales/Formatos/RepTraspasoAlmacen.rdlc | 124 ++++++++++++++++-- Ventas/Ventas.aspx.vb | 10 +- 2 files changed, 120 insertions(+), 14 deletions(-) diff --git a/Empresas/Grales/Formatos/RepTraspasoAlmacen.rdlc b/Empresas/Grales/Formatos/RepTraspasoAlmacen.rdlc index 37dd8f1c3..c1ffcb13c 100644 --- a/Empresas/Grales/Formatos/RepTraspasoAlmacen.rdlc +++ b/Empresas/Grales/Formatos/RepTraspasoAlmacen.rdlc @@ -21,6 +21,10 @@ Cantidad System.Double + + CantidadOriginal + System.Decimal + UnidadMedida System.String @@ -93,32 +97,35 @@ 1.69333cm + + 1.29923cm + 1.16467cm - 1.51446cm + 1.17434cm 3.37414cm - 5.82471cm + 6.19513cm 1.53921cm - 1.57859cm + 1.86963cm - 2.32298cm + 2.02533cm 2.21787cm - 2.36613cm + 2.44551cm @@ -237,6 +244,62 @@ + + + + true + true + + + + + C.Orig. + + + + + + + Textbox23 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + Silver + 2pt + 2pt + 2pt + 2pt + + + + @@ -582,7 +645,7 @@ - Alm. Origen + Alm.Origen + + + + + + CantidadOriginal + + + =IIf(Fields!PS.Value = "", "#9cacc1", "NoColor") + 2pt + 2pt + 2pt + 2pt + + + + @@ -1004,6 +1104,7 @@ @@ -1152,6 +1253,7 @@ + @@ -1171,7 +1273,7 @@ DataSet1 0.17639cm 1.0148cm - 24.56252cm + 25.96481cm @@ -1182,7 +1284,7 @@ 0.67394in diff --git a/Compras/RepProductosServicios.aspx.vb b/Compras/RepProductosServicios.aspx.vb index 990ab0642..038eb11fa 100644 --- a/Compras/RepProductosServicios.aspx.vb +++ b/Compras/RepProductosServicios.aspx.vb @@ -146,7 +146,17 @@ Partial Class Compras_RepProductosServicios DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10")) DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11")) DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12")) - If UsuarioActual.Empresa.Funcionalidad(307) <> "" Then DdlGrupo.Items.Insert(10, New ListItem(UsuarioActual.Empresa.Funcionalidad(307), "1")) + + DdlGrupo.Items.Insert(10, New ListItem("Sucursal", "2")) + DdlGrupo.Items.Insert(11, New ListItem("Tipo de Gasto", "16")) + DdlGrupo.Items.Insert(12, New ListItem("Activo Fijo", "17")) + DdlGrupo.Items.Insert(13, New ListItem("Sub Tipo Activo Fijo", "18")) + DdlGrupo.Items.Insert(14, New ListItem("Tipo Activo Fijo", "19")) + DdlGrupo.Items.Insert(15, New ListItem("Tipo Documento", "20")) + + + + If UsuarioActual.Empresa.Funcionalidad(307) <> "" Then DdlGrupo.Items.Insert(16, New ListItem(UsuarioActual.Empresa.Funcionalidad(307), "1")) 'Agrega el grupo si es una empresa Agricola If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then @@ -209,7 +219,7 @@ Partial Class Compras_RepProductosServicios Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then - If DdlGrupo.SelectedValue.ToEntero < 13 Or DdlGrupo.SelectedValue.ToEntero = 15 Then + If DdlGrupo.SelectedValue.ToEntero < 13 Or DdlGrupo.SelectedValue.ToEntero = 15 Or (DdlGrupo.SelectedValue.ToEntero >= 16) Then If e.Row.DBCampo("GpoID") = "1" Then e.Row.Cells(0).Text = e.Row.DBCampo("Moneda") e.Row.CssClass = "Totales" @@ -256,11 +266,21 @@ Partial Class Compras_RepProductosServicios End If - Dim Liga = String.Format("/Compras/RepProductosServiciosDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveProveedor={5}&CveUsuario={6}&CveEstatusFactura={7}&FechaI={8}&FechaF={9}&CveProyecto={10}&CveSubProyecto={11}&CveCategoria={12}&CveClasificacion={13}&CvePS={14}&CveFamilia={15}&CveSubFamilia={16}&CveTipoAF={17}&CveSubTipoAF={18}&CveAF={19}&CveMoneda={20}&CveTipoGasto={21}&TipoCambio={22}&TCEspecifico={23}&Deducible={24}&CveCultivo={25}", + 'Dim Liga = String.Format("/Compras/RepProductosServiciosDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveProveedor={5}&CveUsuario={6}&CveEstatusFactura={7}&FechaI={8}&FechaF={9}&CveProyecto={10}&CveSubProyecto={11}&CveCategoria={12}" & + ' "&CveClasificacion={13}&CvePS={14}&CveFamilia={15}&CveSubFamilia={16}&CveTipoAF={17}&CveSubTipoAF={18}&CveAF={19}&CveMoneda={20}&CveTipoGasto={21}&TipoCambio={22}&TCEspecifico={23}&Deducible={24}&CveCultivo={25}" & + ' "", + ' DdlGrupo.SelectedValue, e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveUsuario"), + ' e.Row.DBCampo("CveEstatusFactura"), FechaI, FechaF, e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveCategoria"), e.Row.DBCampo("CveClasificacion"), + ' e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveFamilia"), e.Row.DBCampo("CveSubFamilia"), e.Row.DBCampo("CveTipoAF"), e.Row.DBCampo("CveSubTipoAF"), e.Row.DBCampo("CveAF"), e.Row.DBCampo("CveMoneda"), + ' DdlTipoGasto.GetSelectedValuesM, e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), DdlDeducible.SelectedValue.ToEntero, e.Row.DBCampo("CveCultivo")) + + Dim Liga = String.Format("/Compras/RepProductosServiciosDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveProveedor={5}&CveUsuario={6}&CveEstatusFactura={7}&FechaI={8}&FechaF={9}&CveProyecto={10}&CveSubProyecto={11}&CveCategoria={12}" & + "&CveClasificacion={13}&CvePS={14}&CveFamilia={15}&CveSubFamilia={16}&CveTipoAF={17}&CveSubTipoAF={18}&CveAF={19}&CveMoneda={20}&CveTipoGasto={21}&TipoCambio={22}&TCEspecifico={23}&Deducible={24}&CveCultivo={25}" & + "", DdlGrupo.SelectedValue, e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), FechaI, FechaF, e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveCategoria"), e.Row.DBCampo("CveClasificacion"), e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveFamilia"), e.Row.DBCampo("CveSubFamilia"), e.Row.DBCampo("CveTipoAF"), e.Row.DBCampo("CveSubTipoAF"), e.Row.DBCampo("CveAF"), e.Row.DBCampo("CveMoneda"), - DdlTipoGasto.GetSelectedValuesM, e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), DdlDeducible.SelectedValue.ToEntero, e.Row.DBCampo("CveCultivo")) + e.Row.DBCampo("CveTipoGasto"), e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), DdlDeducible.SelectedValue.ToEntero, e.Row.DBCampo("CveCultivo")) If Not e.Row.DBCampo("GpoID") = "1" Then diff --git a/Compras/RepProductosServiciosDetalle.aspx.vb b/Compras/RepProductosServiciosDetalle.aspx.vb index 2288c44b6..5f089a190 100644 --- a/Compras/RepProductosServiciosDetalle.aspx.vb +++ b/Compras/RepProductosServiciosDetalle.aspx.vb @@ -95,7 +95,9 @@ Partial Class Compras_RepProductosServiciosDetalle Usuario = If(Request("CveUsuario") IsNot Nothing AndAlso Request("CveUsuario").ToEntero() > 0, Request("CveUsuario").ToEntero(), -1).ToString Familia = If(Request("CveFamilia") IsNot Nothing AndAlso Request("CveFamilia").ToEntero() > -3, Request("CveFamilia").ToEntero(), -1).ToString SubFamilia = If(Request("CveSubFamilia") IsNot Nothing AndAlso Request("CveSubFamilia").ToEntero() > -3, Request("CveSubFamilia").ToEntero(), -1).ToString - ActivoFijo = If(Request("CveAF") IsNot Nothing AndAlso Request("CveAF").ToEntero() > 0, Request("CveAF").ToEntero(), -1).ToString + + ActivoFijo = If(Request("CveAF") IsNot Nothing AndAlso (Request("CveAF").ToEntero() > 0 Or Request("CveAF").ToEntero() = -2), Request("CveAF").ToEntero(), -1).ToString + CveMoneda = If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToEntero() > 0, Request("CveMoneda").ToEntero(), -1).ToString.ToEntero TipoDocto = If(Request("TipoDocto") IsNot Nothing, Request("TipoDocto").ToString, "-1").ToString Deducible = If(Request("Deducible") IsNot Nothing, Request("Deducible").ToString, "-1").ToString @@ -187,6 +189,7 @@ Partial Class Compras_RepProductosServiciosDetalle 'Carga Tipos de Gasto DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) DdlTipoGasto.DataBind() + DdlTipoGasto.Items.Add(New ListItem("Sin Asignar", "-2")) 'Cargo Categorias DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa) @@ -227,10 +230,12 @@ Partial Class Compras_RepProductosServiciosDetalle 'Carga Tipos AF DdlTipoAF.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa) DdlTipoAF.DataBind() + DdlTipoAF.Items.Add(New ListItem("Sin Asignar", "-2")) 'Carga SubTipos AF DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa) DdlSubTipoAF.DataBind() + DdlSubTipoAF.Items.Add(New ListItem("Sin Asignar", "-2")) 'Carga Grupos CargaGrupo() @@ -261,6 +266,13 @@ Partial Class Compras_RepProductosServiciosDetalle DdlGrupo.Items.Insert(9, New ListItem("Cultivo", "15")) End If + DdlGrupo.Items.Insert(10, New ListItem("Sucursal", "2")) + DdlGrupo.Items.Insert(11, New ListItem("Tipo de Gasto", "16")) + DdlGrupo.Items.Insert(12, New ListItem("Activo Fijo", "17")) + DdlGrupo.Items.Insert(13, New ListItem("Sub Tipo Activo Fijo", "18")) + DdlGrupo.Items.Insert(14, New ListItem("Tipo Activo Fijo", "19")) + DdlGrupo.Items.Insert(15, New ListItem("Tipo Documento", "20")) + DdlGrupo.DataBind() DdlGrupo.SelectedValueExist("8") End Sub diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index cb015e6f0..ef8415673 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -2,9 +2,11 @@ Option Explicit On Imports System.Data +Imports System.Data.SqlClient Imports System.IO Imports Extensiones Imports GemBox.Spreadsheet +Imports Microsoft.Owin.Security.Provider Imports Microsoft.Reporting.WebForms Partial Class Inventarios_RecepcionAlmacen @@ -2568,6 +2570,7 @@ Partial Class Inventarios_RecepcionAlmacen End If + Dim CveProveedorCompra As Integer = -1 Try 'RECARGA TC CUANDO ES RECEPCION CON OC Y DOLARES If CveOCSurtir > 0 And CveMoneda <> 1 Then @@ -3346,6 +3349,7 @@ Partial Class Inventarios_RecepcionAlmacen End If 'PREPOLIZA - SOLO CUANDO SEA RECEPCIÓN + If TipoMovimiento = 1 AndAlso Not ErrorMovInv Then If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then @@ -3372,6 +3376,7 @@ Partial Class Inventarios_RecepcionAlmacen 'Fecha = ObjCompras.DtResultados(0)("Fecha").ToString.ToDate Fecha = TxtFecha.Text.ToDate CveProveedor = ObjCompras.DtResultados(0)("CveProveedor").ToString.ToEntero + CveProveedorCompra = CveProveedor ProveedorNombre = ObjCompras.DtResultados(0)("RazonSocial").ToString SerieFolio = $"Compra: {ObjCompras.DtResultados(0)("SerieFolio").ToString}" CveConceptoContableCosto = 205 @@ -3663,6 +3668,12 @@ Partial Class Inventarios_RecepcionAlmacen RenombrarBitacoras() End If + If Not ErrorMovInv And CveProveedorCompra > 0 And CveCompraSurtir > 0 Then + If Not ActualizaFechaVencimientoCompra(CveCompraSurtir, CveProveedorCompra, ObjInventario.IniciaTransacSQL) Then + ErrorMovInv = True + End If + End If + 'FINAL If Not ErrorMovInv Then ObjInventario.Commit() ' aplica los movimientos insertados @@ -3764,6 +3775,31 @@ Partial Class Inventarios_RecepcionAlmacen If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose() End Sub + Private Function ActualizaFechaVencimientoCompra(CveCompra As Integer, CveProveedor As Integer, TransaccionSql As SqlTransaction) As Boolean + + Dim ErrorProceso As Boolean = False + + Dim objProveedores As New ClsCompProveedores(TransaccionSql) + Dim objCompras As New ClsCompras(TransaccionSql) + Dim CveTipoFechaVencimiento As Integer = 1 + + If objProveedores.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, CveProveedor, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then + CveTipoFechaVencimiento = objProveedores.CveTipoFechaVencimiento + Else + ErrorProceso = True + End If + + If CveTipoFechaVencimiento = 2 Then + If Not objCompras.UpdateFechaVencimientoCompra(CveCompra, TxtFecha.Text.ToDate, UsuarioActual.CveEmpresa) Then + ErrorProceso = True + End If + End If + + + Return If(ErrorProceso, False, True) + + End Function + Private Sub RenombrarBitacoras() Dim fechaActual As String = DateTime.Now.ToString("yyyyMMddHHmmss") diff --git a/OC/RepOC.aspx b/OC/RepOC.aspx index 465511b98..5d48cdaf7 100644 --- a/OC/RepOC.aspx +++ b/OC/RepOC.aspx @@ -265,7 +265,7 @@
    - +
    diff --git a/OC/RepOC.aspx.vb b/OC/RepOC.aspx.vb index 375bb8a6c..3c26e13b2 100644 --- a/OC/RepOC.aspx.vb +++ b/OC/RepOC.aspx.vb @@ -380,12 +380,16 @@ Partial Class RepOC FF = FF.AddDays(1) Dim OC As New ClsOC + + 'If(CheckNoCompleta.Checked, -1, UsuarioActual.CveUsuario), UsuarioActual.Empresa.CveEmpresa, If(DDlPS.SelectedValue = "", -1, DDlPS.SelectedValue.ToEntero), If(CheckNoCompleta.Checked, True, False), + + If OC.GetOrdenesCompraRep(DdlTipo.SelectedValue.ToString, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, DDlClasificacion.SelectedValue.ToEntero, - DdlEstatus.SelectedValue.ToEntero, FI, FF, -1, DdlProveedores.SelectedValue.ToEntero, If(txtFolio.Text.ToEntero = 0, -1, txtFolio.Text.ToEntero), ddlUsuario.SelectedValue.ToEntero, - If(CheckNoCompleta.Checked, -1, UsuarioActual.CveUsuario), UsuarioActual.Empresa.CveEmpresa, If(DDlPS.SelectedValue = "", -1, DDlPS.SelectedValue.ToEntero), If(CheckNoCompleta.Checked, True, False), - ddlclientes.SelectedValue.ToEntero, CveActivoFijo:=DdlActivoFijo.SelectedValue.ToEntero, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False), - CveUsuarioAutorizo:=DdlUsuarioAutorizo.SelectedValue.ToEntero(), CveUsuarioAsignado:=DdlUsuarioAsignado.SelectedValue.ToEntero(), EntregaDirecta:=DdlEntregaDirecta.SelectedValue.ToEntero(), - CveMoneda:=DdlMoneda.SelectedValue.ToEntero(), MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero, TieneAnticipo:=DdlTieneAnticipo.SelectedValue.ToEntero) Then + DdlEstatus.SelectedValue.ToEntero, FI, FF, -1, DdlProveedores.SelectedValue.ToEntero, If(txtFolio.Text.ToEntero = 0, -1, txtFolio.Text.ToEntero), ddlUsuario.SelectedValue.ToEntero, + UsuarioActual.CveUsuario, UsuarioActual.Empresa.CveEmpresa, If(DDlPS.SelectedValue = "", -1, DDlPS.SelectedValue.ToEntero), False, + ddlclientes.SelectedValue.ToEntero, CveActivoFijo:=DdlActivoFijo.SelectedValue.ToEntero, SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False), + CveUsuarioAutorizo:=DdlUsuarioAutorizo.SelectedValue.ToEntero(), CveUsuarioAsignado:=DdlUsuarioAsignado.SelectedValue.ToEntero(), EntregaDirecta:=DdlEntregaDirecta.SelectedValue.ToEntero(), + CveMoneda:=DdlMoneda.SelectedValue.ToEntero(), MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero, TieneAnticipo:=DdlTieneAnticipo.SelectedValue.ToEntero) Then GvConsultar.DataSource = OC.DtResultados DtOC = OC.DtResultados diff --git a/Ventas/RepRecuperacion.aspx b/Ventas/RepRecuperacion.aspx index 78b9ad4ce..7e66bf55e 100644 --- a/Ventas/RepRecuperacion.aspx +++ b/Ventas/RepRecuperacion.aspx @@ -53,22 +53,13 @@ height: 500px; } .select2-container--default .select2-selection--multiple .select2-selection__choice { - /*max-width: 150px;*/ /* Ajusta a tu gusto */ + max-width: calc(100% - 2em); text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } - /*.select2-selection__choice__remove{*/ - /* o absolute/fixed, según necesites */ - /*position: absolute; - z-index: 9999;*/ /* un valor alto para estar sobre los demás */ - /*} - .select2-search.select2-search--inline .select2-search__field .select2-selection__rendered .select2-container--default .select2-container--focus { - - position: absolute; - z-index: 1; - }*/ + From 234f6841dae68a661e5bf796f79ede93cd8c8639 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 24 Mar 2025 10:33:34 -0700 Subject: [PATCH 14/17] --FIX tmp dt --- Inventarios/RecepcionUsados.aspx.vb | 2 ++ Ventas/Clientes.aspx.vb | 4 +++- Ventas/ClientesAbonar.aspx.vb | 3 +++ Ventas/PV.aspx.vb | 3 ++- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb index 81945debf..bb513c8d4 100644 --- a/Inventarios/RecepcionUsados.aspx.vb +++ b/Inventarios/RecepcionUsados.aspx.vb @@ -2737,6 +2737,8 @@ Partial Class Inventarios_RecepcionUsados TmpDT.Columns.Add("EsCargo", GetType(Boolean)) TmpDT.Columns.Add("CvePromocionDetalle", GetType(Integer)) TmpDT.Columns("CvePromocionDetalle").DefaultValue = -1 + TmpDT.Columns.Add("CantidadConversion", GetType(Integer)) + TmpDT.Columns("CantidadConversion").DefaultValue = 0 Return TmpDT End Function diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 1fc4a2307..83b0ec778 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -9502,7 +9502,9 @@ Partial Class Clientes TmpDT.Columns.Add("CveTamaño", GetType(Integer)) TmpDT.Columns.Add("EsCargo", GetType(Boolean)) TmpDT.Columns.Add("CvePromocionDetalle", GetType(Integer)) - TmpDT.Columns("CvePromocionDetalle").DefaultValue = -1 + TmpDT.Columns("CvePromocionDetalle").DefaultValue = -1 + TmpDT.Columns.Add("CantidadConversion", GetType(Integer)) + TmpDT.Columns("CantidadConversion").DefaultValue = 0 Return TmpDT End Function diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 28c42cb46..84fda5282 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -2111,6 +2111,9 @@ Partial Class Ventas_ClientesAbonar TmpDT.Columns.Add("CodigoObjetoImpuesto", GetType(String)) TmpDT.Columns.Add("CvePromocionDetalle", GetType(Integer)) TmpDT.Columns("CvePromocionDetalle").DefaultValue = -1 + TmpDT.Columns.Add("CantidadConversion", GetType(Integer)) + TmpDT.Columns("CantidadConversion").DefaultValue = 0 + Return TmpDT End Function Private Function InicializaDTVentasNC() As DataTable diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 1c5944b5a..65cdb1650 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -4839,7 +4839,8 @@ Partial Class PV TmpDT.Columns.Add("CveMarca", GetType(Integer)) TmpDT.Columns.Add("CvePromocionDetalle", GetType(Integer)) TmpDT.Columns("CvePromocionDetalle").DefaultValue = -1 - + TmpDT.Columns.Add("CantidadConversion", GetType(Integer)) + TmpDT.Columns("CantidadConversion").DefaultValue = 0 End Sub From ba349c18fbc19d41cdf1d606be5f927cad8ddef1 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 24 Mar 2025 20:23:36 -0700 Subject: [PATCH 15/17] --FIX sub proyectos OC --- OC/OC.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 70d7c7c1e..112e913f1 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -2951,7 +2951,7 @@ Partial Class OC_OC TieneError = True End If - Dim tCveSubProyecto As Integer = UsuarioActual.CveSubProyecto + Dim tCveSubProyecto As Integer = -1 If ModalidadSubProyectoGeneral Then tCveSubProyecto = DdlSubProyectoGral.SelectedValue.ToEntero If tCveSubProyecto <= 0 Then From 6345d6826f58c61c24e052fd683d0ecf85fed358 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Tue, 25 Mar 2025 13:13:36 -0700 Subject: [PATCH 16/17] 183 Karedex Wish List para prueba --- Empresas/15/Formatos/Factura.rdlc | 4 +- Inventarios/Kardex.aspx | 26 +++++- Inventarios/Kardex.aspx.vb | 132 ++++++++++++++++++++++++++++++ 3 files changed, 159 insertions(+), 3 deletions(-) diff --git a/Empresas/15/Formatos/Factura.rdlc b/Empresas/15/Formatos/Factura.rdlc index 033714ae1..a897c6417 100644 --- a/Empresas/15/Formatos/Factura.rdlc +++ b/Empresas/15/Formatos/Factura.rdlc @@ -1424,10 +1424,10 @@ 4.82589cm - 2.5cm + 1.75917cm - 1.6882cm + 2.42903cm 2.33651cm diff --git a/Inventarios/Kardex.aspx b/Inventarios/Kardex.aspx index 9d18f43d3..08e58753a 100644 --- a/Inventarios/Kardex.aspx +++ b/Inventarios/Kardex.aspx @@ -425,7 +425,7 @@
    -
    +
    @@ -433,6 +433,30 @@
    + +
    + + +
    + + + +
    +
    + + + +
    + +
    + Agregar +
    +
    + +
    +
    +
    + diff --git a/Inventarios/Kardex.aspx.vb b/Inventarios/Kardex.aspx.vb index 1b63d5ca1..3f8c5340b 100644 --- a/Inventarios/Kardex.aspx.vb +++ b/Inventarios/Kardex.aspx.vb @@ -67,8 +67,15 @@ Partial Class Inventarios_Kardex If UsuarioActual.CveRol = 1 Then LblPS.ToolTip = ddlProducto2.SelectedValue lblAlm.InnerText = ddlProducto2.SelectedValue + + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then + DVWishList.Visible = True + End If + End If + + End If End Sub @@ -901,4 +908,129 @@ Partial Class Inventarios_Kardex End Sub + + Protected Sub LnkAgrgarWishList_Click(sender As Object, e As EventArgs) + AgregarAWishList() + End Sub + + Private Function AgregarAWishList() As Boolean + + Dim respuesta As Boolean = True + Dim CveAlmacen As Integer = -1 + Dim CvePS As Integer = ddlProducto2.SelectedValue.ToEntero + Dim almacenStr As String() = ddlAlmacen.GetSelectedValues().Split(","c) + Dim CveSubProyecto As Integer = -1 + Dim FolioOrdenCompra As String = "" + Dim CveOrdenCompra As Integer = -1 + Dim UltimoCosto As Decimal = 0D + Dim CveProveedorCompra As Integer = -1 + Dim Cantidad As Decimal = TxtCantidad.Text.ToDecimal + Dim PorcentajeIVA As Decimal = 0 + Dim PorcentajeIVASucursal As Decimal = 0 + Dim CveUnidadMedida As Integer = -1 + Dim RetISR As Decimal = 0 + Dim RetIVA As Decimal = 0 + Dim PorcentajeRetISR As Decimal = 0 + Dim PorcentajeRetIVA As Decimal = 0 + + + If Not Cantidad > 0 Then + Alert("Debe indicar una cantidad.", TipoMensaje.MsgAdvertencia) + Return False + End If + + If almacenStr.Length > 0 Then + CveAlmacen = almacenStr(0).ToEntero + End If + + If CveAlmacen > 0 Then + CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveSubProyecto").ToEntero + + If CveSubProyecto > 0 Then + Dim DRowSubProyecto As DataRow = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto).FiltroPrimero("") + If DRowSubProyecto IsNot Nothing Then + PorcentajeIVASucursal = DRowSubProyecto("IVA").ToString.ToDecimal + Else + Alert("No se encontro el subproyecto.", TipoMensaje.MsgAdvertencia) + Return False + End If + Else + Alert("No se encontro el subproyecto.", TipoMensaje.MsgAdvertencia) + Return False + End If + Else + Alert("Debe seleccionar un almacén.", TipoMensaje.MsgAdvertencia) + Return False + End If + + If CvePS > 0 Then + Dim DTRowPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("") + If DTRowPS IsNot Nothing Then + UltimoCosto = DTRowPS("UltimoCosto").ToString.ToDecimal + CveProveedorCompra = If(DTRowPS("CveProveedorCompra").ToString.ToEntero > 0, DTRowPS("CveProveedorCompra").ToString.ToEntero, -1) + CveUnidadMedida = DTRowPS("CveUnidadMedida").ToString.ToEntero + PorcentajeIVA = If(DTRowPS("IVA").ToString.ToEntero = -1, PorcentajeIVASucursal, 0) + PorcentajeRetISR = DTRowPS("RetISR").ToString.ToDecimal + PorcentajeRetIVA = DTRowPS("RetIVA").ToString.ToDecimal + End If + Else + Alert("Debe seleccionar un producto.", TipoMensaje.MsgAdvertencia) + Return False + End If + + Dim ObjOC As New ClsOC + ObjOC.IniciaTransacSQL() + + If ObjOC.GetOrdenesCompraRep("REQ", -1, CveSubProyecto, -1, 0, MinFecha, MaxFecha, -1, CveProveedorCompra, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) Then + If ObjOC.DtResultados IsNot Nothing AndAlso ObjOC.DtResultados.Rows.Count > 0 Then + CveOrdenCompra = ObjOC.DtResultados(0)("CveOrdenCompra").ToString.ToEntero + FolioOrdenCompra = ObjOC.DtResultados(0)("SerieFolio").ToString + End If + Else + respuesta = False + End If + + If respuesta AndAlso Not CveOrdenCompra > 0 Then + If ObjOC.AddOrdenCompra("REQ", CveSubProyecto, "Compra de Stock", "Compra de Stock", 1, NowADS, 1, 0, NowADS.ToString("dd/MM/yyyy"), "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveProveedorCompra, CveSubProyectoEntrega:=CveSubProyecto, PorcentajeIVA:=PorcentajeIVA) Then + CveOrdenCompra = ObjOC.CveOrdenCompra + FolioOrdenCompra = ObjOC.SerieFolio + Else + respuesta = False + End If + End If + + If respuesta AndAlso CveOrdenCompra > 0 Then + + Dim Total As Decimal = (Cantidad * UltimoCosto).RoundSQL + Dim IVA As Decimal = (Total * PorcentajeIVA).RoundSQL + RetIVA = IVA * PorcentajeRetIVA + RetISR = Total * PorcentajeRetISR + + If Not ObjOC.AddOrdenCompraDetalle(CveOrdenCompra, Cantidad, CveUnidadMedida, CvePS, UltimoCosto, CveSubProyecto, -1, "Obs", UsuarioActual.CveUsuario, + IVA:=IVA, RetIVA:=RetIVA, RetISR:=RetISR, Total:=Total, IVAPorcentaje:=PorcentajeIVA, RetIVAPorcentaje:=PorcentajeRetIVA, RetISRPorcentaje:=PorcentajeRetISR) Then + respuesta = False + End If + End If + + + If respuesta Then + Alert($"Producto agregado a la lista, requisición: {FolioOrdenCompra}.", TipoMensaje.ToastInformacion) + ObjOC.Commit() + TxtCantidad.Text = "" + UpAddWishList.Update() + Else + Alert("No se agrego el producto a la lista.", TipoMensaje.ToastAdventencia) + ObjOC.RollBack() + End If + + + ObjOC.Dispose() + + Return respuesta + + End Function + + End Class + + From a677d2466e8cf1041f8b3318f61c1e1942f3d58d Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 25 Mar 2025 22:46:20 -0700 Subject: [PATCH 17/17] --Cambios en aplicacion de NC --- App_Code/Modelos.vb | 169 ++++++++----------------------- Ventas/FacturacionGlobal.aspx.vb | 2 +- Ventas/Ventas.aspx.vb | 143 ++++---------------------- 3 files changed, 65 insertions(+), 249 deletions(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 069f2c634..53c73fd47 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -849,53 +849,6 @@ Namespace Modelos End If End If - 'SI ES REFACTURACION - 'Dim ObjNC As List(Of Object) = Nothing - 'If ErrorList.Count = 0 Then - ' If NuevaFactura = 1 AndAlso FacturaDevolucion IsNot Nothing Then - - ' ObjNC = GeneraNC(ObjVentas, ObjConta, ObjInventario, ObjContr, FacturaDevolucion, ObjBancos, ObjEventos) - - ' If ObjNC Is Nothing Then - ' ErrorList.Add("No se pudo Cancelar la Factura") - ' End If - - ' 'Esquema viejo, evitamos que aparezca por surtir - ' If ErrorList.Count = 0 Then - ' If Not ObjInventario.ActualizarEsDevolucionVenta(CveVenta, 2) Then - ' ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura") - ' End If - ' End If - - ' End If - 'End If - - 'SI ES amortizacion 3.3 - 'Dim Obj2 As New List(Of Object) - - 'If ErrorList.Count = 0 Then - ' ' cambiar la condicion para saber si hay seleccionado - ' If TieneAnticipo AndAlso Me.CveTipoAmortizacionAnticipo = 2 Then - - ' If TieneAnticipo Then - ' Try - ' 'DESCOMENTAR - ' If RegistrarNCAmortizacion(ObjVentas, ObjConta, ObjInventario, ObjContr, FacturaDevolucion, ObjBancos, Nothing, Nothing) Then - ' Obj2.Add(FacturaDevolucion) - ' End If - ' Catch ex As Exception - ' ErrorList.Add("No se pudo generarse la nota de crédito de amortización") - ' End Try - - - ' End If - - ' If Obj2 Is Nothing AndAlso Obj2.Count = 0 Then - ' ErrorList.Add("No se pudo generarse la nota de crédito de amortización") - ' End If - ' End If - 'End If - 'MARCA PARA NO SURTIR VENTA DE COTNRATO DE CONSIGNACION DE VENTA | [IPP] : PARCHE If ErrorList.Count = 0 Then If Me.CveVenta > 0 And Me.CveAlmacenExistenciasContrato > 0 And Me.TipoDocto = "Ing" Then @@ -1065,17 +1018,6 @@ Namespace Modelos SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, Me, CvePACEspecial:=CvePAC) - 'NOTA DE CREDITO - REFACTURADA - CASO ESPECIAL, TIMBRADO E IMPRESION - 'If Not IsNothing(Obj2) AndAlso Obj2.Count > 0 Then - ' 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 - ' If TieneAnticipo AndAlso CveTipoAmortizacionAnticipo = 2 Then - ' ofa.Timbre.CFDIRelacionados.UUID.Clear() - ' ofa.Timbre.CFDIRelacionados.UUID.Add(ObjTimbrado.UUID) - ' End If - ' ObjTimbrado.TimbrarFactura(UsuarioActual, ofa) - 'End If - If SeTimbro AndAlso Me.TipoDocto.Contiene("Ing") Then EstatusSMS = EnviarSMSTimbrado(ObjEventos) End If @@ -1085,14 +1027,6 @@ Namespace Modelos End If End If - - 'NOTA DE CREDITO DE REFACTURACION - 'If RefacturacionGeneroNC Then - ' If Not IsNothing(ObjNC) AndAlso ObjNC.Count > 0 Then - ' Dim ofa As Modelos.Factura = CType(ObjNC(0), Modelos.Factura) - ' SeTimbroNC = ObjTimbrado.TimbrarFactura(UsuarioActual, ofa) - ' End If - 'End If End If End If End If @@ -1337,7 +1271,7 @@ Namespace Modelos End Function - Private Shared Function CreaDTFactura() As DataTable + Public Shared Function CreaDTFactura() As DataTable Dim TmpDT As New DataTable TmpDT.Columns.Add("CveVenta", GetType(Integer)) TmpDT.Columns.Add("Consec", GetType(Integer)) @@ -1454,6 +1388,12 @@ Namespace Modelos TmpDT.Columns.Add("CantidadConversion", GetType(Decimal)) TmpDT.Columns("CantidadConversion").DefaultValue = 0 + 'COLUMNAS DE PV.aspx + TmpDT.Columns.Add("PUOriginal", GetType(Decimal)) + TmpDT.Columns.Add("ConsecPSPadre", GetType(Integer)) + TmpDT.Columns.Add("EliminarDB", GetType(Boolean)) + TmpDT.Columns("EliminarDB").DefaultValue = False + Return TmpDT End Function @@ -3111,7 +3051,7 @@ Namespace Modelos Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal() Pago.AplicaTraslado = False Pago.Referencia = DrPago("Folio").ToString() - Pago.CveVentaAmortizacion = DrPago("CveVenta").ToString().ToEntero() + Pago.CveVentaAmortizacion = DrPago("CveVentaNC").ToString().ToEntero() Pago.TipoPago = DrPago("TipoPago").ToString() Pago.CveClientePago = ObjFactura.CveCliente @@ -3132,11 +3072,10 @@ Namespace Modelos Dim DT As DataTable Dim CvePlantilaPoliza As Integer - Dim PorcentajeAmortizacion As Decimal = 0 - Dim sumaAmorticaciones As Decimal = 0 + Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

    " Dim idCuentaContabilizacion As Integer = 1 - Dim CveCuentaContabilizacion As Integer = 1 + Dim tipoCambio As Decimal Dim CuentasContablesInvalidas As New StringBuilder Dim CuentasContablesInvalidasSIG As New StringBuilder @@ -3764,13 +3703,13 @@ Namespace Modelos End If End If - 'PorcentajeAmortizacion = sumaAmorticaciones / TxtTotal.Text.ToDecimal importeMovimiento = 0 Case 91 'Amortizacion Nota de Credito Dim Contabilizable As Boolean = If(UsuarioActual.CveEmpresa = 119, False, True) - If ValorMultiplicador = -1 Then + 'CANCELACION + If Not ErrorPrepoliza AndAlso ValorMultiplicador = -1 Then Dim TipoCambioNC As Decimal = 1 If ObjFactura.CveMoneda = 2 Then @@ -3785,7 +3724,7 @@ Namespace Modelos End If End If - 'cuando es cancelación + 'CANCELA LA APLICACION DEL PAGO DE LA NC EN LA FACTURA APLICADA If ObjFactura.DtNCVinculadas IsNot Nothing Then For Each row2 As DataRow In ObjFactura.DtNCVinculadas.Rows @@ -3895,76 +3834,54 @@ Namespace Modelos End If End If - Else + + End If + + 'VENTA NUEVA + If Not ErrorPrepoliza AndAlso ValorMultiplicador = 1 AndAlso ObjFactura.CveTipoAmortizacionAnticipo = 4 Then + importeMovimiento = 0 + importeMX = 0 + If ObjFactura.DtAnticiposAplicados IsNot Nothing Then + Dim VentaActual As New ClsPaginas.Venta(ObjFactura, UsuarioActual) + For Each row2 As DataRow In ObjFactura.DtAnticiposAplicados.Rows If row2("CveConceptoContable").ToString().ToEntero = 12 Then - importeMovimiento = row2("Importe").ToString().ToDecimal() - sumaAmorticaciones += importeMovimiento - If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - CveSubProyectoContabilizar = CveSubProyectoVenta + importeMovimiento = row2("Importe").ToString().ToDecimal If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, - ConceptoContable, Referencia, Concepto, - CveVenta:=row2("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, - CveVentaAmortizacion:=ObjFactura.CveVenta, - ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), - CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - End If + 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 = row2("CveVenta").ToString().ToEntero() + Pago.TipoPago = "NC" + Pago.CveClientePago = ObjFactura.CveCliente + + ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(VentaActual, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=True) End If End If - 'SI ES PAGO CON DEVOLUCION - If Not ErrorPrepoliza AndAlso 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 - If ErrorPrepoliza Then Exit For End If - - Next End If - If Not ErrorPrepoliza AndAlso sumaAmorticaciones <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, sumaAmorticaciones, sumaAmorticaciones * tipoCambio, 251, Referencia, Concepto, - CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), - CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - Else - ObjFactura.SeGuardoPrePoliza = True - End If - End If - End If + importeMovimiento = 0 + importeMX = 0 Case 4 'Venta Clasificacion @@ -4318,7 +4235,7 @@ Namespace Modelos Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal() Pago.AplicaTraslado = False Pago.Referencia = DrPago("Folio").ToString() - Pago.CveVentaAmortizacion = -1 + Pago.CveVentaAmortizacion = DrPago("CveVentaNC").ToString().ToEntero() Pago.TipoPago = DrPago("TipoPago").ToString() Pago.CveClientePago = ObjFactura.CveCliente @@ -4370,7 +4287,7 @@ Namespace Modelos Pago.TCPago = DrPago("TipoCambio").ToString().ToDecimal() Pago.AplicaTraslado = False Pago.Referencia = DrPago("Folio").ToString() - Pago.CveVentaAmortizacion = DrPago("CveVenta").ToString().ToEntero() + Pago.CveVentaAmortizacion = DrPago("CveVentaNC").ToString().ToEntero() Pago.TipoPago = DrPago("TipoPago").ToString() Pago.CveClientePago = ObjFactura.CveCliente diff --git a/Ventas/FacturacionGlobal.aspx.vb b/Ventas/FacturacionGlobal.aspx.vb index efb8fb39f..4673a443c 100644 --- a/Ventas/FacturacionGlobal.aspx.vb +++ b/Ventas/FacturacionGlobal.aspx.vb @@ -242,7 +242,7 @@ Partial Class Ventas_FacturacionGlobal Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing Try - Retorno = ObjFactura.EmitirFactura(True) + Retorno = ObjFactura.EmitirFactura(True, Modulo:="FGlobal/GuardarVenta") If Retorno IsNot Nothing AndAlso Retorno.CveVenta > 0 Then SbAlert.AppendFormat("{0}", Retorno.Mensajes(Retorno.Mensajes.Count - 1)) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 49fa5e90a..bd1adab56 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -15313,8 +15313,7 @@ Partial Class Ventas Try Dim DT As DataTable Dim CvePlantilaPoliza As Integer - Dim PorcentajeAmortizacion As Decimal = 0 - Dim sumaAmorticaciones As Decimal = 0 + Dim ErrorPrepoliza As Boolean = False Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

    " Dim CveCuentaContabilizacion As Integer = 1 @@ -15891,133 +15890,46 @@ Partial Class Ventas End If End If - 'PorcentajeAmortizacion = sumaAmorticaciones / TxtTotal.Text.ToDecimal importeMovimiento = 0 Case 91 'Amortizacion Nota de Credito Dim Contabilizable As Boolean = If(UsuarioActual.CveEmpresa = 119, False, True) - If ValorMultiplicador = -1 Then - 'cuando es cancelación - For Each row2 As GridViewRow In GvNC.Rows - - If row2.DataKey("CveConceptoContable").ToString().ToEntero() = 91 Then - - importeMovimiento = row2.DataKey("Importe").ToDecimal * ValorMultiplicador - sumaAmorticaciones += importeMovimiento - If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - - CveSubProyectoContabilizar = CveSubProyectoVenta - - If importeMovimiento <> 0 Then - - Dim CveConceptoPagoNC As Integer = 251 - If ObjFactura.CveMoneda > 1 Then - CveConceptoPagoNC = 301 - End If - - If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, importeMovimiento * tipoCambio, CveConceptoPagoNC, Referencia, Concepto, CveVenta:=row2.DataKey("CveVentaNC").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, importeMovimiento, importeMovimiento * tipoCambio, 91, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=row2.DataKey("CveVentaNC").ToString().ToEntero(), ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - Exit For - End If - Else - ErrorPrepoliza = True - Exit For - End If - End If - End If - Next - - Else - - 'If DdlTipoAmortizacionAnticipo.SelectedValue <> "4" Then - - 'End If + If Not ErrorPrepoliza AndAlso ValorMultiplicador = 1 Then + Dim VentaRef As New ClsPaginas.Venta(ObjFactura, UsuarioActual) + importeMovimiento = 0 For Each row2 As GridViewRow In GVAnticipos.Rows If row2.DataKey("CveConceptoContable").ToString().ToEntero() = 12 Then If row2.FCCheckBox("Chk" & row2.RowIndex).Checked Then + importeMovimiento = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal - sumaAmorticaciones += importeMovimiento - If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - CveSubProyectoContabilizar = CveSubProyectoVenta - If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, ConceptoContable, Referencia, Concepto, CveVenta:=row2.DataKey("CveVenta").ToString().ToEntero(), CveCliente:=row2.DataKey("CveCliente").ToString().ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - End If - End If - End If + Dim Pago As New ClsPaginas.VentaPago + Pago.Fecha = Now + Pago.FechaDocumentoRelacionado = row2.DataKey("Fecha").ToString().ToDateTime() + Pago.ImportePagoVenta = importeMovimiento + Pago.ImportePago = importeMovimiento + Pago.CveIE = row2.DataKey("CveIE").ToString().ToEntero() + Pago.CveMonedaPago = row2.DataKey("CveMoneda").ToString().ToEntero() + Pago.TCPago = row2.DataKey("TipoCambioPago").ToString().ToDecimal() + Pago.AplicaTraslado = False + Pago.Referencia = row2.DataKey("Folio").ToString() + Pago.CveVentaAmortizacion = row2.DataKey("CveVenta").ToString().ToEntero() + Pago.TipoPago = "NC" + Pago.CveClientePago = ObjFactura.CveCliente + Pago.Referencia = Referencia - End If - - 'SI ES PAGO CON DEVOLUCION - If DdlTipoAmortizacionAnticipo.SelectedValue = "4" Then - If row2.DataKey("CveConceptoContable").ToString().ToEntero() = 277 Then - - If row2.FCCheckBox("Chk" & row2.RowIndex).Checked Then - importeMovimiento = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal() * Multiplicador - 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.DataKey("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.DataKey("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 + ErrorPrepoliza = ClsPaginas.AplicaPrePolizaPagoVenta(VentaRef, Pago, ObjFactura.CvePrePoliza, ObjConta, AplicarConceptoAplicacion:=True) End If + End If Next - If ObjFactura.AplicaDevolucion AndAlso ObjFactura.TipoDocto = "RNC" AndAlso CveVentaDevolucion > 0 Then - Dim importeMovimientoDev As Decimal = TxtTotal.Text.ToDecimal - importeMovimientoDev = If(SaldoVentaDevolucion < importeMovimientoDev, SaldoVentaDevolucion, importeMovimientoDev) - - importeMovimiento = importeMovimientoDev * Multiplicador - importeMX = importeMovimiento * tipoCambio - - If importeMovimiento <> 0 Then - If Not ErrorPrepoliza AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, 150, Referencia, Concepto, CveVenta:=CveVentaDevolucion, 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 Not ErrorPrepoliza AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento * -1, importeMX * -1, 277, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - End If - - If Not ErrorPrepoliza AndAlso Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento * -1, importeMX * -1, 278, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveVentaAmortizacion:=-1, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then - ErrorPrepoliza = True - End If - - If Not ErrorPrepoliza Then - Dim CveConceptoPagoNC As Integer = 251 - If ObjFactura.CveMoneda > 1 Then - CveConceptoPagoNC = 301 - End If - - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, importeMovimiento, importeMX, CveConceptoPagoNC, Referencia, Concepto, CveVenta:=CveVentaDevolucion, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - Else - ViewState("SeGuardoPrePoliza") = True - End If - End If - - End If - End If If UsuarioActual.Empresa.Funcionalidad(344) = "1" AndAlso ObjFactura.TipoDocto = "Egs" Then Dim ListaNC As List(Of Modelos.Factura) = Nothing @@ -16087,19 +15999,6 @@ Partial Class Ventas Next End If End If - If sumaAmorticaciones <> 0 Then - - Dim CveConceptoPagoNC As Integer = 251 - If ObjFactura.CveMoneda > 1 Then - CveConceptoPagoNC = 301 - End If - - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, sumaAmorticaciones, sumaAmorticaciones * tipoCambio, CveConceptoPagoNC, Referencia, Concepto, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then - ErrorPrepoliza = True - Else - ViewState("SeGuardoPrePoliza") = True - End If - End If End If importeMovimiento = 0