-- acumular importes en un renglón cuando es prov global
This commit is contained in:
@@ -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<string>("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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user